Lorentz::Contract::Originate
Use .yaml files to specify:
- users
- contract originations
- transactions
in a declarative manner, a la Makefile's.
For example:
config:
base-config: &base-config
tezos_client_path:
"tezos-client -A rpcalpha.tzbeta.net -P 443 -S"
user_address:
tz1R3vJ5TV8Y5pVj8dicBR23Zv8JArusDkYr
param_path:
/Users/michaelklein/Coding/forwarder-contract
stack_path:
/Users/michaelklein/Coding/forwarder-contract/stack
do:
- user:
name:
Alice
address:
tz1R3vJ5TV8Y5pVj8dicBR23Zv8JArusDkYr
- originate: &originate-forwarder
alias: ValidatedForwarder1
config: $base-config
command: dstoken-forwarder-contract print-validated-expiring --central-wallet tz1R3vJ5TV8Y5pVj8dicBR23Zv8JArusDkYr --dstoken-address tz1R3vJ5TV8Y5pVj8dicBR23Zv8JArusDkYr
storage_command: dstoken-forwarder-contract initial-storage-validated-expiring
initial_storage:
dstoken-address: $Alice
whitelisted-investors: '"[\"alice\"]"'
token-limit: 10
expiration-date: "$(date -u -d '9:00 next Fri' +%FT%T.%NZ)"
burn_cap: '1.644'
- run: &validate-forwarder
alias: RejectsNonWhitelistedUser
config: $base-config
contract: ValidatedForwarder1
command: dstoken-forwarder-contract validate-transfer
parameters:
received-amount: 3
from-user: "bob"
burn_cap: '0.000001'
expect_failure: trueInstallation
Add this line to your application's Gemfile:
gem 'lorentz-contract-originate'And then execute:
$ bundle
Or install it yourself as:
$ gem install lorentz-contract-originate
Usage
❯❯❯ bundle exec ruby exe/lorentz-contract-originate.rb test.yamlDevelopment
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/tqtezos/lorentz-contract-originate.
License
The gem is available as open source under the terms of the MIT License.