VDB-205 Fix external configuration values (#121)

* Updated loading config from /Users/konstantinzolotarev/.vulcanizedb for addreses

* Updated contract addresses loading from env variables.

* Implement getter chain for addresses, configs and transformers

Solves the issue with declaring stuff as vars when the environment file hasn't been loaded yet. Instead, this data is fetched dynamically when the root commands are called.

* Update test data to use constant Kovan addresses

* Decouple integration tests from config file IO

* Add ABI to environment file, convert getter chains for related values

* Decouple tests suites from ABI config file IO

* Add startingBlock to environment and implement getter chain

* Exit when called without config file

* Add missing deployment blocks to staging.toml

* Remove comment
This commit is contained in:
Konstantin Zolotarev
2019-01-23 19:44:09 +01:00
committed by Edvard Hübinette
parent c24a073ff7
commit 65cb6e9092
97 changed files with 1051 additions and 651 deletions
-14
View File
@@ -1,14 +0,0 @@
package constants
var (
CatABI = `[{"constant":true,"inputs":[],"name":"vat","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x36569e77"},{"constant":true,"inputs":[],"name":"vow","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x626cb3c5"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"flips","outputs":[{"name":"ilk","type":"bytes32"},{"name":"urn","type":"bytes32"},{"name":"ink","type":"uint256"},{"name":"tab","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70d9235a"},{"constant":true,"inputs":[],"name":"nflip","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x76181a51"},{"constant":true,"inputs":[],"name":"live","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x957aa58c"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"wards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbf353dbb"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"ilks","outputs":[{"name":"flip","type":"address"},{"name":"chop","type":"uint256"},{"name":"lump","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd9638d36"},{"constant":true,"inputs":[],"name":"pit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf03c7c6e"},{"inputs":[{"name":"vat_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"ilk","type":"bytes32"},{"indexed":true,"name":"urn","type":"bytes32"},{"indexed":false,"name":"ink","type":"uint256"},{"indexed":false,"name":"art","type":"uint256"},{"indexed":false,"name":"tab","type":"uint256"},{"indexed":false,"name":"flip","type":"uint256"},{"indexed":false,"name":"iArt","type":"uint256"}],"name":"Bite","type":"event","signature":"0x99b5620489b6ef926d4518936cfec15d305452712b88bd59da2d9c10fb0953e8"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event","signature":"0x644843f351d3fba4abcd60109eaff9f54bac8fb8ccf0bab941009c21df21cf31"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x65fae35e"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9c52a7f1"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"},{"name":"what","type":"bytes32"},{"name":"data","type":"uint256"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1a0b287e"},{"constant":false,"inputs":[{"name":"what","type":"bytes32"},{"name":"data","type":"address"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd4e8be83"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"},{"name":"what","type":"bytes32"},{"name":"flip","type":"address"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xebecb39d"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"},{"name":"urn","type":"bytes32"}],"name":"bite","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x72f7b593"},{"constant":false,"inputs":[{"name":"n","type":"uint256"},{"name":"wad","type":"uint256"}],"name":"flip","outputs":[{"name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe6f95917"}]`
DripABI = `[{"constant":true,"inputs":[],"name":"vat","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x36569e77"},{"constant":true,"inputs":[],"name":"repo","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x56ff3122"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"wards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbf353dbb"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"ilks","outputs":[{"name":"vow","type":"bytes32"},{"name":"tax","type":"uint256"},{"name":"rho","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd9638d36"},{"inputs":[{"name":"vat_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event","signature":"0x644843f351d3fba4abcd60109eaff9f54bac8fb8ccf0bab941009c21df21cf31"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x65fae35e"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9c52a7f1"},{"constant":true,"inputs":[],"name":"era","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x143e55e0"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"},{"name":"vow","type":"bytes32"},{"name":"tax","type":"uint256"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1a0b287e"},{"constant":false,"inputs":[{"name":"what","type":"bytes32"},{"name":"data","type":"uint256"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x29ae8114"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"}],"name":"drip","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x44e2a5a8"}]`
FlapperABI = `[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bids","outputs":[{"name":"bid","type":"uint256"},{"name":"lot","type":"uint256"},{"name":"guy","type":"address"},{"name":"tic","type":"uint48"},{"name":"end","type":"uint48"},{"name":"gal","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ttl","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gem","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beg","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tau","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kicks","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dai","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"dai_","type":"address"},{"name":"gem_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"lot","type":"uint256"},{"indexed":false,"name":"bid","type":"uint256"},{"indexed":false,"name":"gal","type":"address"},{"indexed":false,"name":"end","type":"uint48"}],"name":"Kick","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"constant":false,"inputs":[{"name":"gal","type":"address"},{"name":"lot","type":"uint256"},{"name":"bid","type":"uint256"}],"name":"kick","outputs":[{"name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"lot","type":"uint256"},{"name":"bid","type":"uint256"}],"name":"tend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"deal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]`
FlipperABI = `[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bids","outputs":[{"name":"bid","type":"uint256"},{"name":"lot","type":"uint256"},{"name":"guy","type":"address"},{"name":"tic","type":"uint48"},{"name":"end","type":"uint48"},{"name":"urn","type":"bytes32"},{"name":"gal","type":"address"},{"name":"tab","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4423c5f1"},{"constant":true,"inputs":[],"name":"ttl","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4e8b1dd5"},{"constant":true,"inputs":[],"name":"gem","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7bd2bea7"},{"constant":true,"inputs":[],"name":"beg","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7d780d82"},{"constant":true,"inputs":[],"name":"tau","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcfc4af55"},{"constant":true,"inputs":[],"name":"kicks","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcfdd3302"},{"constant":true,"inputs":[],"name":"dai","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf4b9fa75"},{"inputs":[{"name":"dai_","type":"address"},{"name":"gem_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"lot","type":"uint256"},{"indexed":false,"name":"bid","type":"uint256"},{"indexed":false,"name":"gal","type":"address"},{"indexed":false,"name":"end","type":"uint48"},{"indexed":true,"name":"urn","type":"bytes32"},{"indexed":false,"name":"tab","type":"uint256"}],"name":"Kick","type":"event","signature":"0xbac86238bdba81d21995024470425ecb370078fa62b7271b90cf28cbd1e3e87e"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event","signature":"0x644843f351d3fba4abcd60109eaff9f54bac8fb8ccf0bab941009c21df21cf31"},{"constant":true,"inputs":[],"name":"era","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x143e55e0"},{"constant":false,"inputs":[{"name":"urn","type":"bytes32"},{"name":"gal","type":"address"},{"name":"tab","type":"uint256"},{"name":"lot","type":"uint256"},{"name":"bid","type":"uint256"}],"name":"kick","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xeae19d9e"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"tick","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xfc7b6aee"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"lot","type":"uint256"},{"name":"bid","type":"uint256"}],"name":"tend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4b43ed12"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"lot","type":"uint256"},{"name":"bid","type":"uint256"}],"name":"dent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5ff3a382"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"deal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc959c42b"}]`
FlopperABI = `[{"constant":true,"inputs":[],"name":"era","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bids","outputs":[{"name":"bid","type":"uint256"},{"name":"lot","type":"uint256"},{"name":"guy","type":"address"},{"name":"tic","type":"uint48"},{"name":"end","type":"uint48"},{"name":"vow","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ttl","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"lot","type":"uint256"},{"name":"bid","type":"uint256"}],"name":"dent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gem","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beg","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gal","type":"address"},{"name":"lot","type":"uint256"},{"name":"bid","type":"uint256"}],"name":"kick","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"wards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"deal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tau","outputs":[{"name":"","type":"uint48"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kicks","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dai","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"dai_","type":"address"},{"name":"gem_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"lot","type":"uint256"},{"indexed":false,"name":"bid","type":"uint256"},{"indexed":false,"name":"gal","type":"address"},{"indexed":false,"name":"end","type":"uint48"}],"name":"Kick","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"}]`
MedianizerABI = `[{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"bytes32"}],"name":"poke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"poke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"compute","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wat","type":"address"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wat","type":"address"}],"name":"unset","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"indexes","outputs":[{"name":"","type":"bytes12"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"next","outputs":[{"name":"","type":"bytes12"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"read","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"peek","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes12"}],"name":"values","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"min_","type":"uint96"}],"name":"setMin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"void","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"pos","type":"bytes12"},{"name":"wat","type":"address"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pos","type":"bytes12"}],"name":"unset","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"next_","type":"bytes12"}],"name":"setNext","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"min","outputs":[{"name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"val","type":"bytes32"}],"name":"LogValue","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"}]]`
// TODO: replace with updated ABI when contract is deployed (with no pit file stability fee method + modified Frob event)
PitABI = `[{"constant":true,"inputs":[],"name":"vat","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x36569e77"},{"constant":true,"inputs":[],"name":"live","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x957aa58c"},{"constant":true,"inputs":[],"name":"drip","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9f678cca"},{"constant":true,"inputs":[],"name":"Line","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbabe8a3f"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"wards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbf353dbb"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"ilks","outputs":[{"name":"spot","type":"uint256"},{"name":"line","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd9638d36"},{"inputs":[{"name":"vat_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"ilk","type":"bytes32"},{"indexed":true,"name":"urn","type":"bytes32"},{"indexed":false,"name":"ink","type":"uint256"},{"indexed":false,"name":"art","type":"uint256"},{"indexed":false,"name":"dink","type":"int256"},{"indexed":false,"name":"dart","type":"int256"},{"indexed":false,"name":"iArt","type":"uint256"}],"name":"Frob","type":"event","signature":"0xb2afa28318bcc689926b52835d844de174ef8de97e982a85c0199d584920791b"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event","signature":"0x644843f351d3fba4abcd60109eaff9f54bac8fb8ccf0bab941009c21df21cf31"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x65fae35e"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9c52a7f1"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"},{"name":"what","type":"bytes32"},{"name":"data","type":"uint256"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1a0b287e"},{"constant":false,"inputs":[{"name":"what","type":"bytes32"},{"name":"data","type":"uint256"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x29ae8114"},{"constant":false,"inputs":[{"name":"what","type":"bytes32"},{"name":"data","type":"address"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd4e8be83"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"},{"name":"dink","type":"int256"},{"name":"dart","type":"int256"}],"name":"frob","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5a984ded"}]`
VatABI = `[{"constant":true,"inputs":[],"name":"debt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0dca59c1"},{"constant":true,"inputs":[{"name":"","type":"bytes32"},{"name":"","type":"bytes32"}],"name":"urns","outputs":[{"name":"ink","type":"uint256"},{"name":"art","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x26e27482"},{"constant":true,"inputs":[],"name":"vice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2d61a355"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"sin","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa60f1d3e"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"wards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbf353dbb"},{"constant":true,"inputs":[{"name":"","type":"bytes32"},{"name":"","type":"bytes32"}],"name":"gem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc0912683"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"ilks","outputs":[{"name":"take","type":"uint256"},{"name":"rate","type":"uint256"},{"name":"Ink","type":"uint256"},{"name":"Art","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd9638d36"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"dai","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf53e4e69"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":true,"name":"too","type":"bytes32"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"Note","type":"event","signature":"0x8c2dbbc2b33ffaa77c104b777e574a8a4ff79829dfee8b66f4dc63e3f8067152"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x65fae35e"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9c52a7f1"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"}],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3b663195"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"},{"name":"guy","type":"bytes32"},{"name":"rad","type":"int256"}],"name":"slip","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x42066cbb"},{"constant":false,"inputs":[{"name":"ilk","type":"bytes32"},{"name":"src","type":"bytes32"},{"name":"dst","type":"bytes32"},{"name":"rad","type":"int256"}],"name":"flux","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa6e41821"},{"constant":false,"inputs":[{"name":"src","type":"bytes32"},{"name":"dst","type":"bytes32"},{"name":"rad","type":"int256"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x78f19470"},{"constant":false,"inputs":[{"name":"i","type":"bytes32"},{"name":"u","type":"bytes32"},{"name":"v","type":"bytes32"},{"name":"w","type":"bytes32"},{"name":"dink","type":"int256"},{"name":"dart","type":"int256"}],"name":"tune","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5dd6471a"},{"constant":false,"inputs":[{"name":"i","type":"bytes32"},{"name":"u","type":"bytes32"},{"name":"v","type":"bytes32"},{"name":"w","type":"bytes32"},{"name":"dink","type":"int256"},{"name":"dart","type":"int256"}],"name":"grab","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3690ae4c"},{"constant":false,"inputs":[{"name":"u","type":"bytes32"},{"name":"v","type":"bytes32"},{"name":"rad","type":"int256"}],"name":"heal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x990a5f63"},{"constant":false,"inputs":[{"name":"i","type":"bytes32"},{"name":"u","type":"bytes32"},{"name":"rate","type":"int256"}],"name":"fold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe6a6a64d"},{"constant":false,"inputs":[{"name":"i","type":"bytes32"},{"name":"u","type":"bytes32"},{"name":"take","type":"int256"}],"name":"toll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x09b7a0b5"}]`
VowABI = `[{"constant":true,"inputs":[],"name":"Awe","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Joy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"flap","outputs":[{"name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"kiss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"what","type":"bytes32"},{"name":"data","type":"uint256"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"Ash","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"era","type":"uint48"}],"name":"flog","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vat","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Woe","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wait","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tab","type":"uint256"}],"name":"fess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"row","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint48"}],"name":"sin","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"flop","outputs":[{"name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"wards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Sin","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"what","type":"bytes32"},{"name":"addr","type":"address"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cow","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"heal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"}]`
)
@@ -1,26 +0,0 @@
package constants
import "github.com/spf13/viper"
func getContractValue(key string, fallback string) string {
value := viper.GetString(key)
if value == "" {
return fallback
}
return value
}
var (
// temporary addresses from Kovan deployment
CatContractAddress = getContractValue("contract.cat", "0x2f34f22a00ee4b7a8f8bbc4eaee1658774c624e0")
DripContractAddress = getContractValue("contract.drip", "0x891c04639a5edcae088e546fa125b5d7fb6a2b9d")
FlapperContractAddress = getContractValue("contract.mcd_flap", "0x8868BAd8e74FcA4505676D1B5B21EcC23328d132") // MCD FLAP Contract
FlipperContractAddress = getContractValue("contract.eth_flip", "0x32D496Ad866D110060866B7125981C73642cc509") // ETH FLIP Contract
FlopperContractAddress = getContractValue("contract.mcd_flop", "0x6191C9b0086c2eBF92300cC507009b53996FbFFa") // MCD FLOP Contract
PepContractAddress = getContractValue("contract.pep", "0xB1997239Cfc3d15578A3a09730f7f84A90BB4975")
PipContractAddress = getContractValue("contract.pip", "0x9FfFE440258B79c5d6604001674A4722FfC0f7Bc")
PitContractAddress = getContractValue("contract.pit", "0xe7cf3198787c9a4daac73371a38f29aaeeced87e")
RepContractAddress = getContractValue("contract.rep", "0xf88bBDc1E2718F8857F30A180076ec38d53cf296")
VatContractAddress = getContractValue("contract.vat", "0xcd726790550afcd77e9a7a47e86a3f9010af126b")
VowContractAddress = getContractValue("contract.vow", "0x3728e9777B2a0a611ee0F89e00E01044ce4736d1")
)
@@ -18,6 +18,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/vulcanize/vulcanizedb/pkg/transformers/shared/constants"
"github.com/vulcanize/vulcanizedb/pkg/transformers/test_data"
)
var _ = Describe("Event signature generator", func() {
@@ -93,7 +94,7 @@ var _ = Describe("Event signature generator", func() {
Describe("from the cat contract", func() {
It("gets the file method signature", func() {
expected := "file(bytes32,bytes32,address)"
actual := constants.GetSolidityMethodSignature(constants.CatABI, "file")
actual := constants.GetSolidityMethodSignature(test_data.KovanCatABI, "file")
Expect(expected).To(Equal(actual))
})
@@ -102,14 +103,14 @@ var _ = Describe("Event signature generator", func() {
Describe("from the drip contract", func() {
It("gets the drip method signature", func() {
expected := "drip(bytes32)"
actual := constants.GetSolidityMethodSignature(constants.DripABI, "drip")
actual := constants.GetSolidityMethodSignature(test_data.KovanDripABI, "drip")
Expect(expected).To(Equal(actual))
})
It("gets the file method signature", func() {
expected := "file(bytes32,uint256)"
actual := constants.GetSolidityMethodSignature(constants.DripABI, "file")
actual := constants.GetSolidityMethodSignature(test_data.KovanDripABI, "file")
Expect(expected).To(Equal(actual))
})
@@ -118,21 +119,21 @@ var _ = Describe("Event signature generator", func() {
Describe("from the flipper contract", func() {
It("gets the deal method signature", func() {
expected := "deal(uint256)"
actual := constants.GetSolidityMethodSignature(constants.FlipperABI, "deal")
actual := constants.GetSolidityMethodSignature(test_data.KovanFlipperABI, "deal")
Expect(expected).To(Equal(actual))
})
It("gets the dent method signature", func() {
expected := "dent(uint256,uint256,uint256)"
actual := constants.GetSolidityMethodSignature(constants.FlipperABI, "dent")
actual := constants.GetSolidityMethodSignature(test_data.KovanFlipperABI, "dent")
Expect(expected).To(Equal(actual))
})
It("gets the tend method signature", func() {
expected := "tend(uint256,uint256,uint256)"
actual := constants.GetSolidityMethodSignature(constants.FlipperABI, "tend")
actual := constants.GetSolidityMethodSignature(test_data.KovanFlipperABI, "tend")
Expect(expected).To(Equal(actual))
})
@@ -141,7 +142,7 @@ var _ = Describe("Event signature generator", func() {
Describe("from the pit contract", func() {
It("gets the file method signature", func() {
expected := "file(bytes32,address)"
actual := constants.GetSolidityMethodSignature(constants.PitABI, "file")
actual := constants.GetSolidityMethodSignature(test_data.KovanPitABI, "file")
Expect(expected).To(Equal(actual))
})
@@ -150,63 +151,63 @@ var _ = Describe("Event signature generator", func() {
Describe("from the vat contract", func() {
It("gets the init method signature", func() {
expected := "init(bytes32)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "init")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "init")
Expect(expected).To(Equal(actual))
})
It("gets the heal method signature", func() {
expected := "heal(bytes32,bytes32,int256)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "heal")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "heal")
Expect(expected).To(Equal(actual))
})
It("gets the fold method signature", func() {
expected := "fold(bytes32,bytes32,int256)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "fold")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "fold")
Expect(expected).To(Equal(actual))
})
It("gets the flux method signature", func() {
expected := "flux(bytes32,bytes32,bytes32,int256)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "flux")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "flux")
Expect(expected).To(Equal(actual))
})
It("gets the grab method signature", func() {
expected := "grab(bytes32,bytes32,bytes32,bytes32,int256,int256)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "grab")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "grab")
Expect(expected).To(Equal(actual))
})
It("gets the move method signature", func() {
expected := "move(bytes32,bytes32,int256)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "move")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "move")
Expect(expected).To(Equal(actual))
})
It("gets the slip method signature", func() {
expected := "slip(bytes32,bytes32,int256)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "slip")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "slip")
Expect(expected).To(Equal(actual))
})
It("gets the toll method signature", func() {
expected := "toll(bytes32,bytes32,int256)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "toll")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "toll")
Expect(expected).To(Equal(actual))
})
It("gets the tune method signature", func() {
expected := "tune(bytes32,bytes32,bytes32,bytes32,int256,int256)"
actual := constants.GetSolidityMethodSignature(constants.VatABI, "tune")
actual := constants.GetSolidityMethodSignature(test_data.KovanVatABI, "tune")
Expect(expected).To(Equal(actual))
})
@@ -215,7 +216,7 @@ var _ = Describe("Event signature generator", func() {
Describe("from the vow contract", func() {
It("gets the flog method signature", func() {
expected := "flog(uint48)"
actual := constants.GetSolidityMethodSignature(constants.VowABI, "flog")
actual := constants.GetSolidityMethodSignature(test_data.KovanVowABI, "flog")
Expect(expected).To(Equal(actual))
})
@@ -225,42 +226,42 @@ var _ = Describe("Event signature generator", func() {
Describe("it handles events", func() {
It("gets the Bite event signature", func() {
expected := "Bite(bytes32,bytes32,uint256,uint256,uint256,uint256,uint256)"
actual := constants.GetSolidityMethodSignature(constants.CatABI, "Bite")
actual := constants.GetSolidityMethodSignature(test_data.KovanCatABI, "Bite")
Expect(expected).To(Equal(actual))
})
It("gets the flap Kick event signature", func() {
expected := "Kick(uint256,uint256,uint256,address,uint48)"
actual := constants.GetSolidityMethodSignature(constants.FlapperABI, "Kick")
actual := constants.GetSolidityMethodSignature(test_data.KovanFlapperABI, "Kick")
Expect(expected).To(Equal(actual))
})
It("gets the flip Kick event signature", func() {
expected := "Kick(uint256,uint256,uint256,address,uint48,bytes32,uint256)"
actual := constants.GetSolidityMethodSignature(constants.FlipperABI, "Kick")
actual := constants.GetSolidityMethodSignature(test_data.KovanFlipperABI, "Kick")
Expect(expected).To(Equal(actual))
})
It("gets the flop Kick event signature", func() {
expected := "Kick(uint256,uint256,uint256,address,uint48)"
actual := constants.GetSolidityMethodSignature(constants.FlopperABI, "Kick")
actual := constants.GetSolidityMethodSignature(test_data.KovanFlopperABI, "Kick")
Expect(expected).To(Equal(actual))
})
It("gets the pit frob event signature", func() {
expected := "Frob(bytes32,bytes32,uint256,uint256,int256,int256,uint256)"
actual := constants.GetSolidityMethodSignature(constants.PitABI, "Frob")
actual := constants.GetSolidityMethodSignature(test_data.KovanPitABI, "Frob")
Expect(expected).To(Equal(actual))
})
It("gets the log value method signature", func() {
expected := "LogValue(bytes32)"
actual := constants.GetSolidityMethodSignature(constants.MedianizerABI, "LogValue")
actual := constants.GetSolidityMethodSignature(test_data.KovanMedianizerABI, "LogValue")
Expect(expected).To(Equal(actual))
})
@@ -0,0 +1,78 @@
package constants
import (
"fmt"
"github.com/spf13/viper"
)
var initialized = false
func initConfig() {
if initialized {
return
}
if err := viper.ReadInConfig(); err == nil {
fmt.Printf("Using config file: %s\n\n", viper.ConfigFileUsed())
} else {
panic(fmt.Sprintf("Could not find environment file: %v", err))
}
initialized = true
}
func getEnvironmentString(key string) string {
initConfig()
value := viper.GetString(key)
if value == "" {
panic(fmt.Sprintf("No environment configuration variable set for key: \"%v\"", key))
}
return value
}
func getEnvironmentInt64(key string) int64 {
initConfig()
value := viper.GetInt64(key)
if value == -1 {
panic(fmt.Sprintf("No environment configuration variable set for key: \"%v\"", key))
}
return value
}
// Getters for contract addresses from environment files
func CatContractAddress() string { return getEnvironmentString("contract.address.cat") }
func DripContractAddress() string { return getEnvironmentString("contract.address.drip") }
func FlapperContractAddress() string { return getEnvironmentString("contract.address.mcd_flap") }
func FlipperContractAddress() string { return getEnvironmentString("contract.address.eth_flip") }
func FlopperContractAddress() string { return getEnvironmentString("contract.address.mcd_flop") }
func PepContractAddress() string { return getEnvironmentString("contract.address.pep") }
func PipContractAddress() string { return getEnvironmentString("contract.address.pip") }
func PitContractAddress() string { return getEnvironmentString("contract.address.pit") }
func RepContractAddress() string { return getEnvironmentString("contract.address.rep") }
func VatContractAddress() string { return getEnvironmentString("contract.address.vat") }
func VowContractAddress() string { return getEnvironmentString("contract.address.vow") }
func CatABI() string { return getEnvironmentString("contract.abi.cat") }
func DripABI() string { return getEnvironmentString("contract.abi.drip") }
func FlapperABI() string { return getEnvironmentString("contract.abi.mcd_flap") }
func FlipperABI() string { return getEnvironmentString("contract.abi.eth_flip") }
func FlopperABI() string { return getEnvironmentString("contract.abi.mcd_flop") }
func MedianizerABI() string { return getEnvironmentString("contract.abi.medianizer") }
func PitABI() string { return getEnvironmentString("contract.abi.pit") }
func VatABI() string { return getEnvironmentString("contract.abi.vat") }
func VowABI() string { return getEnvironmentString("contract.abi.vow") }
func CatDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.cat") }
func DripDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.drip") }
func FlapperDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.mcd_flap") }
func FlipperDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.eth_flip") }
func FlopperDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.mcd_flop") }
func PepDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.pep") }
func PipDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.pip") }
func PitDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.pit") }
func RepDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.rep") }
func VatDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.vat") }
func VowDeploymentBlock() int64 { return getEnvironmentInt64("contract.deployment-block.vow") }
func MedianizerDeploymentBlock() int64 {
return getEnvironmentInt64("contract.deployment-block.medianizer")
}
+1 -1
View File
@@ -1,6 +1,6 @@
package constants
var (
const (
BiteLabel = "bite"
CatFileChopLumpLabel = "catFileChopLump"
CatFileFlipLabel = "catFileFlip"
+29 -31
View File
@@ -1,33 +1,31 @@
package constants
var (
//TODO: get cat, pit, and drip file method signatures directly from the ABI
biteMethod = GetSolidityMethodSignature(CatABI, "Bite")
catFileChopLumpMethod = "file(bytes32,bytes32,uint256)"
catFileFlipMethod = GetSolidityMethodSignature(CatABI, "file")
catFilePitVowMethod = "file(bytes32,address)"
dealMethod = GetSolidityMethodSignature(FlipperABI, "deal")
dentMethod = GetSolidityMethodSignature(FlipperABI, "dent")
dripDripMethod = GetSolidityMethodSignature(DripABI, "drip")
dripFileIlkMethod = "file(bytes32,bytes32,uint256)"
dripFileRepoMethod = GetSolidityMethodSignature(DripABI, "file")
dripFileVowMethod = "file(bytes32,bytes32)"
flapKickMethod = GetSolidityMethodSignature(FlapperABI, "Kick")
flipKickMethod = GetSolidityMethodSignature(FlipperABI, "Kick")
flopKickMethod = GetSolidityMethodSignature(FlopperABI, "Kick")
frobMethod = GetSolidityMethodSignature(PitABI, "Frob")
logValueMethod = GetSolidityMethodSignature(MedianizerABI, "LogValue")
pitFileDebtCeilingMethod = "file(bytes32,uint256)"
pitFileIlkMethod = "file(bytes32,bytes32,uint256)"
tendMethod = GetSolidityMethodSignature(FlipperABI, "tend")
vatFluxMethod = GetSolidityMethodSignature(VatABI, "flux")
vatFoldMethod = GetSolidityMethodSignature(VatABI, "fold")
vatGrabMethod = GetSolidityMethodSignature(VatABI, "grab")
vatHealMethod = GetSolidityMethodSignature(VatABI, "heal")
vatInitMethod = GetSolidityMethodSignature(VatABI, "init")
vatMoveMethod = GetSolidityMethodSignature(VatABI, "move")
vatSlipMethod = GetSolidityMethodSignature(VatABI, "slip")
vatTollMethod = GetSolidityMethodSignature(VatABI, "toll")
vatTuneMethod = GetSolidityMethodSignature(VatABI, "tune")
vowFlogMethod = GetSolidityMethodSignature(VowABI, "flog")
)
//TODO: get cat, pit, and drip file method signatures directly from the ABI
func biteMethod() string { return GetSolidityMethodSignature(CatABI(), "Bite") }
func catFileChopLumpMethod() string { return "file(bytes32,bytes32,uint256)" }
func catFileFlipMethod() string { return GetSolidityMethodSignature(CatABI(), "file") }
func catFilePitVowMethod() string { return "file(bytes32,address)" }
func dealMethod() string { return GetSolidityMethodSignature(FlipperABI(), "deal") }
func dentMethod() string { return GetSolidityMethodSignature(FlipperABI(), "dent") }
func dripDripMethod() string { return GetSolidityMethodSignature(DripABI(), "drip") }
func dripFileIlkMethod() string { return "file(bytes32,bytes32,uint256)" }
func dripFileRepoMethod() string { return GetSolidityMethodSignature(DripABI(), "file") }
func dripFileVowMethod() string { return "file(bytes32,bytes32)" }
func flapKickMethod() string { return GetSolidityMethodSignature(FlapperABI(), "Kick") }
func flipKickMethod() string { return GetSolidityMethodSignature(FlipperABI(), "Kick") }
func flopKickMethod() string { return GetSolidityMethodSignature(FlopperABI(), "Kick") }
func frobMethod() string { return GetSolidityMethodSignature(PitABI(), "Frob") }
func logValueMethod() string { return GetSolidityMethodSignature(MedianizerABI(), "LogValue") }
func pitFileDebtCeilingMethod() string { return "file(bytes32,uint256)" }
func pitFileIlkMethod() string { return "file(bytes32,bytes32,uint256)" }
func tendMethod() string { return GetSolidityMethodSignature(FlipperABI(), "tend") }
func vatFluxMethod() string { return GetSolidityMethodSignature(VatABI(), "flux") }
func vatFoldMethod() string { return GetSolidityMethodSignature(VatABI(), "fold") }
func vatGrabMethod() string { return GetSolidityMethodSignature(VatABI(), "grab") }
func vatHealMethod() string { return GetSolidityMethodSignature(VatABI(), "heal") }
func vatInitMethod() string { return GetSolidityMethodSignature(VatABI(), "init") }
func vatMoveMethod() string { return GetSolidityMethodSignature(VatABI(), "move") }
func vatSlipMethod() string { return GetSolidityMethodSignature(VatABI(), "slip") }
func vatTollMethod() string { return GetSolidityMethodSignature(VatABI(), "toll") }
func vatTuneMethod() string { return GetSolidityMethodSignature(VatABI(), "tune") }
func vowFlogMethod() string { return GetSolidityMethodSignature(VowABI(), "flog") }
+28 -30
View File
@@ -1,32 +1,30 @@
package constants
var (
BiteSignature = GetEventSignature(biteMethod)
CatFileChopLumpSignature = GetLogNoteSignature(catFileChopLumpMethod)
CatFileFlipSignature = GetLogNoteSignature(catFileFlipMethod)
CatFilePitVowSignature = GetLogNoteSignature(catFilePitVowMethod)
DealSignature = GetLogNoteSignature(dealMethod)
DentFunctionSignature = GetLogNoteSignature(dentMethod)
DripDripSignature = GetLogNoteSignature(dripDripMethod)
DripFileIlkSignature = GetLogNoteSignature(dripFileIlkMethod)
DripFileRepoSignature = GetLogNoteSignature(dripFileRepoMethod)
DripFileVowSignature = GetLogNoteSignature(dripFileVowMethod)
FlapKickSignature = GetEventSignature(flapKickMethod)
FlipKickSignature = GetEventSignature(flipKickMethod)
FlopKickSignature = GetEventSignature(flopKickMethod)
FrobSignature = GetEventSignature(frobMethod)
LogValueSignature = GetEventSignature(logValueMethod)
PitFileDebtCeilingSignature = GetLogNoteSignature(pitFileDebtCeilingMethod)
PitFileIlkSignature = GetLogNoteSignature(pitFileIlkMethod)
TendFunctionSignature = GetLogNoteSignature(tendMethod)
VatFluxSignature = GetLogNoteSignature(vatFluxMethod)
VatFoldSignature = GetLogNoteSignature(vatFoldMethod)
VatGrabSignature = GetLogNoteSignature(vatGrabMethod)
VatHealSignature = GetLogNoteSignature(vatHealMethod)
VatInitSignature = GetLogNoteSignature(vatInitMethod)
VatMoveSignature = GetLogNoteSignature(vatMoveMethod)
VatSlipSignature = GetLogNoteSignature(vatSlipMethod)
VatTollSignature = GetLogNoteSignature(vatTollMethod)
VatTuneSignature = GetLogNoteSignature(vatTuneMethod)
VowFlogSignature = GetLogNoteSignature(vowFlogMethod)
)
func GetBiteSignature() string { return GetEventSignature(biteMethod()) }
func GetCatFileChopLumpSignature() string { return GetLogNoteSignature(catFileChopLumpMethod()) }
func GetCatFileFlipSignature() string { return GetLogNoteSignature(catFileFlipMethod()) }
func GetCatFilePitVowSignature() string { return GetLogNoteSignature(catFilePitVowMethod()) }
func GetDealSignature() string { return GetLogNoteSignature(dealMethod()) }
func GetDentFunctionSignature() string { return GetLogNoteSignature(dentMethod()) }
func GetDripDripSignature() string { return GetLogNoteSignature(dripDripMethod()) }
func GetDripFileIlkSignature() string { return GetLogNoteSignature(dripFileIlkMethod()) }
func GetDripFileRepoSignature() string { return GetLogNoteSignature(dripFileRepoMethod()) }
func GetDripFileVowSignature() string { return GetLogNoteSignature(dripFileVowMethod()) }
func GetFlapKickSignature() string { return GetEventSignature(flapKickMethod()) }
func GetFlipKickSignature() string { return GetEventSignature(flipKickMethod()) }
func GetFlopKickSignature() string { return GetEventSignature(flopKickMethod()) }
func GetFrobSignature() string { return GetEventSignature(frobMethod()) }
func GetLogValueSignature() string { return GetEventSignature(logValueMethod()) }
func GetPitFileDebtCeilingSignature() string { return GetLogNoteSignature(pitFileDebtCeilingMethod()) }
func GetPitFileIlkSignature() string { return GetLogNoteSignature(pitFileIlkMethod()) }
func GetTendFunctionSignature() string { return GetLogNoteSignature(tendMethod()) }
func GetVatFluxSignature() string { return GetLogNoteSignature(vatFluxMethod()) }
func GetVatFoldSignature() string { return GetLogNoteSignature(vatFoldMethod()) }
func GetVatGrabSignature() string { return GetLogNoteSignature(vatGrabMethod()) }
func GetVatHealSignature() string { return GetLogNoteSignature(vatHealMethod()) }
func GetVatInitSignature() string { return GetLogNoteSignature(vatInitMethod()) }
func GetVatMoveSignature() string { return GetLogNoteSignature(vatMoveMethod()) }
func GetVatSlipSignature() string { return GetLogNoteSignature(vatSlipMethod()) }
func GetVatTollSignature() string { return GetLogNoteSignature(vatTollMethod()) }
func GetVatTuneSignature() string { return GetLogNoteSignature(vatTuneMethod()) }
func GetVowFlogSignature() string { return GetLogNoteSignature(vowFlogMethod()) }
+13
View File
@@ -78,3 +78,16 @@ func convert(conversion string, value string, precision int) string {
}
return result.Text('f', precision)
}
func MinInt64(ints []int64) (min int64) {
if len(ints) == 0 {
return 0
}
min = ints[0]
for _, i := range ints {
if i < min {
min = i
}
}
return
}