From c1c9bdeba95a4409caa50f6fdb19ae4259465bcc Mon Sep 17 00:00:00 2001 From: Zergity Date: Mon, 16 Sep 2019 14:06:12 +0700 Subject: [PATCH 1/7] params: params for CoLoa hardfork --- params/config.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/params/config.go b/params/config.go index 819e5ab87d39..333fd34fecbd 100644 --- a/params/config.go +++ b/params/config.go @@ -19,6 +19,7 @@ package params import ( "encoding/binary" "fmt" + "math" "math/big" "github.com/ethereum/go-ethereum/common" @@ -93,12 +94,12 @@ var ( ThangLongBlock: big.NewInt(15360000), ThangLongEpoch: 3000, // CoLoa hard-fork - CoLoaBlock: big.NewInt(30000000), + CoLoaBlock: new(big.Int).SetUint64(math.MaxUint64), LeakDuration: 1024, ApplicationConfirmation: 128, RandomSeedIteration: 20000000, // around 128 seconds PriceSamplingDuration: 7 * 24 * 60 * 60 / BlockSeconds, - PriceSamplingInterval: 10*60/BlockSeconds - 7, + PriceSamplingInterval: 10 * 60 / BlockSeconds, AbsorptionDuration: 7 * 24 * 60 * 60 / BlockSeconds / 2, AbsorptionExpiration: 7 * 24 * 60 * 60 / BlockSeconds, SlashingDuration: 7 * 24 * 60 * 60 / BlockSeconds / 2, @@ -151,6 +152,17 @@ var ( StakeLockHeight: 3000, ThangLongBlock: big.NewInt(300000), ThangLongEpoch: 300, + // CoLoa hard-fork + CoLoaBlock: new(big.Int).SetUint64(math.MaxUint64), + LeakDuration: MainnetChainConfig.Dccs.LeakDuration / 4, + ApplicationConfirmation: MainnetChainConfig.Dccs.ApplicationConfirmation / 4, + RandomSeedIteration: MainnetChainConfig.Dccs.RandomSeedIteration / 4, + PriceSamplingDuration: MainnetChainConfig.Dccs.PriceSamplingDuration / 4, + PriceSamplingInterval: MainnetChainConfig.Dccs.PriceSamplingInterval / 4, + AbsorptionDuration: MainnetChainConfig.Dccs.AbsorptionDuration / 4, + AbsorptionExpiration: MainnetChainConfig.Dccs.AbsorptionExpiration / 4, + SlashingDuration: MainnetChainConfig.Dccs.SlashingDuration / 4, + LockdownExpiration: MainnetChainConfig.Dccs.LockdownExpiration / 4, }, } From 5b29dbd9146d6465afbc7cbaf8b39c0afafb518d Mon Sep 17 00:00:00 2001 From: Zergity Date: Tue, 17 Sep 2019 10:14:14 +0700 Subject: [PATCH 2/7] contracts: reorder MNTY propose params --- contracts/nexty/endurio/Seigniorage.go | 20 +++--- .../endurio/src/tokens/VolatileToken.sol | 6 +- contracts/nexty/endurio/stable/StableToken.go | 12 ++-- .../nexty/endurio/volatile/VolatileToken.go | 66 +++++++++---------- 4 files changed, 52 insertions(+), 52 deletions(-) diff --git a/contracts/nexty/endurio/Seigniorage.go b/contracts/nexty/endurio/Seigniorage.go index eb36c695d458..b778231b8533 100644 --- a/contracts/nexty/endurio/Seigniorage.go +++ b/contracts/nexty/endurio/Seigniorage.go @@ -47,7 +47,7 @@ var AbsorbableFuncSigs = map[string]string{ } // AbsorbableBin is the compiled bytecode used for deploying new contracts. -var AbsorbableBin = "0x608060405262049d4060035560026003548161001757fe5b0460045534801561002757600080fd5b50604051611db4380380611db48339818101604052604081101561004a57600080fd5b508051602090910151801561005f5760038190555b600082116100705760028104610072565b815b6004555050611d2e806100866000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638aa3f897116100715780638aa3f897146101ba578063aa1c259c146101d9578063be91d72914610207578063ced4aac814610224578063ee1a68c614610264578063f318722b14610287576100b4565b806307c399a3146100b95780630d90b10a1461011357806343271d791461014a5780634ea097971461017157806369c07d31146101965780636e6452cb146101b2575b600080fd5b6100de600480360360408110156100cf57600080fd5b508035151590602001356102b3565b604080516001600160a01b03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101386004803603604081101561012957600080fd5b508035151590602001356102fa565b60408051918252519081900360200190f35b61016f6004803603604081101561016057600080fd5b50803515159060200135610322565b005b6101386004803603604081101561018757600080fd5b508035151590602001356103a8565b61019e6103cc565b604080519115158252519081900360200190f35b61019e6103d1565b610138600480360360208110156101d057600080fd5b503515156103d6565b61016f600480360360408110156101ef57600080fd5b506001600160a01b03813581169160200135166103f9565b61016f6004803603602081101561021d57600080fd5b5035610574565b610138600480360360a081101561023a57600080fd5b5080351515906001600160a01b036020820135169060408101359060608101359060800135610711565b61026c610779565b60408051921515835260208301919091528051918290030190f35b6101386004803603604081101561029d57600080fd5b506001600160a01b038135169060200135610823565b90151560009081526020818152604080832093835260029384019091529020805460018201549282015460038301546004909301546001600160a01b039092169490929190565b8115156000908152602081815260408083208484526002019091529020600301545b92915050565b8115156000908152602081815260408083208484526002810190925290912080546001600160a01b03163314610392576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037b93232b91036b0b5b2b960811b604482015290519081900360640190fd5b6103a2828463ffffffff61083616565b50505050565b90151560009081526020818152604080832093835260029093019052206004015490565b600081565b600181565b80151560009081526020819052604081206103f0816108f5565b9150505b919050565b6001546001600160a01b031615610457576040805162461bcd60e51b815260206004820152601960248201527f566f6c6174696c65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b6002546001600160a01b0316156104b5576040805162461bcd60e51b815260206004820152601960248201527f537461626c697a65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b600180546001600160a01b038085166001600160a01b03199283161790925560028054928416929091169190911790556104ef828261090e565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561053457600080fd5b505afa158015610548573d6000803e3d6000fd5b505050506040513d602081101561055e57600080fd5b5051905061056f8180600080610982565b505050565b33156105b8576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b6105c26005610a21565b156105cf576105cf610a3a565b6105d96009610a7e565b156105e6576105e6610a9b565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561062b57600080fd5b505afa15801561063f573d6000803e3d6000fd5b505050506040513d602081101561065557600080fd5b5051905081156106dd57610667610ba5565b1561067e576106798282600080610982565b61069b565b6106888183610bb7565b1561069b5761069b828260016000610982565b6106a56009610c65565b156106dd5760006106b68383610c81565b90506106c181610c9b565b80156106cf575060085460ff165b156106db57505061070e565b505b6106ee60058263ffffffff610dbd16565b1561070c5760006106fd610df2565b905061070881610ea7565b5050505b505b50565b841515600090815260208190526040812061072a611ca5565b506040805160a0810182526001600160a01b038816815260208101879052908101859052600060608201819052608082015261076d82828663ffffffff610f4e16565b98975050505050505050565b60075460009081906107905750600090508061081f565b600161081a600560020154600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e957600080fd5b505afa1580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051610c81565b915091505b9091565b600061082f8383610fc0565b9392505050565b6000818152600283016020526040902060010154156108e5578154600082815260028401602090815260408083208054600190910154825163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b1580156108b857600080fd5b505af11580156108cc573d6000803e3d6000fd5b505050506040513d60208110156108e257600080fd5b50505b61070c828263ffffffff61108d16565b6000808052600282016020526040902060040154919050565b60008080526020526109477fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5838363ffffffff6110ed16565b6001600090815260205261070c7fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d828463ffffffff6110ed16565b604080516080810182526003544301808252602082018690529181018690528215156060909101819052600591909155600684905560078590556008805460ff1916909117905560006109d58585610c81565b60408051828152602081018790528515158183015290519192507f0427b353dc7214e3d8c7f5039475a8e729f4d62922937381e304cd03becf66d2919081900360600190a15050505050565b6000610a2c8261129a565b801561031c57505054431190565b60006005819055600681905560078190556008805460ff191690556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b6000610a89826112a0565b801561031c5750506004015443101590565b610aa560096112a0565b610aae57610ba3565b600b5415610b3f57600154600954600b546040805163a9059cbb60e01b81526001600160a01b039384166004820152602481019290925251919092169163a9059cbb9160448083019260209291908290030181600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b505050506040513d6020811015610b3c57600080fd5b50505b600954604080516001600160a01b039092168252517f0be774851955c26a1d6a32b13b020663a069006b4a3b643ff0b809d3182605729181900360200190a1600980546001600160a01b03191690556000600a819055600b819055600c819055600d555b565b6000610bb16005610a21565b90505b90565b600082821415610bc95750600061031c565b6006546007541415610bdd5750600161031c565b82821115610c3157600654600754848403911015610c1357600654600754036002818381610c0757fe5b0410159250505061031c565b600754600654036002828281610c2557fe5b0411159250505061031c565b600654600754838503911115610c5357600754600654036002818381610c0757fe5b600654600754036002828281610c2557fe5b6000610c70826112a0565b801561031c57505060040154431090565b6000818311610c955782820360000361082f565b50900390565b6000610cae6009600101546000846112af565b610cba575060006103f4565b600c54600a546000919084830381610cce57fe5b0581610cd657fe5b04905080610ce2575060015b600b54811115610d005750600b54610cf8610a3a565b610d00610a9b565b600b805482900390556001546040805163117f5a5560e01b81526004810184905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015610d5657600080fd5b505af1158015610d6a573d6000803e3d6000fd5b5050600954604080516001600160a01b0390921682526020820185905280517fa69f22d963cb7981f842db8c1aafcc93d915ba2a95dcf26dcc333a9c2a09be26945091829003019150a150600192915050565b6000610dc88361129a565b8015610dd8575082600201548214155b801561082f575061082f83600101548385600201546112df565b600080610e09600560020154600560010154610c81565b600754600254604080516318160ddd60e01b81529051939450600093610e5993926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107e957600080fd5b9050610e67600082846112af565b610e7657600092505050610bb4565b60006004548381610e8357fe5b059050610e92600082846112af565b610ea057509150610bb49050565b9250505090565b6000806000806000808613610ebd576001610ec0565b60005b15158152602081019190915260400160002060025481546008549293506001600160a01b039081169116149060ff1615610f2757610f1c81610f018761130a565b600954859291906001600160a01b031663ffffffff61132016565b935093505050610f49565b610f4281610f348761130a565b84919063ffffffff6116d316565b9350935050505b915091565b600081815260028401602052604081205b6004015460008181526002860160205260409020909250610f86848263ffffffff6119a016565b15610f5f575b6003015460008181526002860160205260409020909250610fb3848263ffffffff6119a016565b610f8c5750909392505050565b60006002838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106110305780518252601f199092019160209182019101611011565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561106f573d6000803e3d6000fd5b5050506040513d602081101561108457600080fd5b50519392505050565b6000818152600292830160205260408082206004808201805460038085018054885286882090940182905583549187529486209094019390935593835280546001600160a01b031916815560018101839055909301819055908190559055565b818360000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808360010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060a00160405280306001600160a01b0316815260200160008152602001600081526020016000801b815260200160001960001b8152508360020160008060001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506040518060a00160405280306001600160a01b0316815260200160008152602001600181526020016000801b815260200160001960001b81525083600201600060001960001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050565b54151590565b546001600160a01b0316151590565b60008284131580156112c15750818313155b806112d757508284121580156112d75750818312155b949350505050565b60008284111580156112f15750818311155b806112d757508284101580156112d75750501115919050565b600080821361131c578160000361031c565b5090565b60008061133486868663ffffffff6116d316565b90925090506000808661134857838361134b565b82845b895460408051636eb1769f60e11b81526001600160a01b038a811660048301523060248301529151949650929450169163dd62ed3e91604480820192602092909190829003018186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d60208110156113cb57600080fd5b5051821180159061145357508754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561142357600080fd5b505afa158015611437573d6000803e3d6000fd5b505050506040513d602081101561144d57600080fd5b50518211155b156116c8578754604080516334902c6160e11b815290516001600160a01b03909216916323b872dd918891849163692058c29160048083019260209291908290030181600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018690525160648083019260209291908290030181600087803b15801561152a57600080fd5b505af115801561153e573d6000803e3d6000fd5b505050506040513d602081101561155457600080fd5b505087546040805163117f5a5560e01b81526004810185905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b1580156115a257600080fd5b505af11580156115b6573d6000803e3d6000fd5b50505060018901546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561160857600080fd5b505af115801561161c573d6000803e3d6000fd5b5050505060018801546040805163a9059cbb60e01b81526001600160a01b038881166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561167857600080fd5b505af115801561168c573d6000803e3d6000fd5b505050506040513d60208110156116a257600080fd5b508790506116b057806116b2565b815b83019250866116c157816116c3565b805b840193505b505094509492505050565b60008060006116e1866108f5565b90505b60001981148015906116f557508382105b156119975760008181526002870160205260408120908661171a578160020154611720565b81600101545b9050600087611733578260010154611739565b82600201545b90508661174c868463ffffffff6119be16565b1161183b57885460018401546040805163117f5a5560e01b81526004810192909252516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b50505060018a015460028501546040805163bdfde91160e01b81526004810192909252516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561180d57600080fd5b505af1158015611821573d6000803e3d6000fd5b5050505060048301546118348a86611a18565b935061196b565b600061184d888763ffffffff611a9d16565b9050828183028161185a57fe5b04915080925060008961186d578261186f565b835b905060008a61187e5784611880565b835b8c546040805163117f5a5560e01b81526004810186905290519293506001600160a01b039091169163117f5a559160248082019260009290919082900301818387803b1580156118cf57600080fd5b505af11580156118e3573d6000803e3d6000fd5b50505060018d01546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561193557600080fd5b505af1158015611949573d6000803e3d6000fd5b5061196292508e9150899050848463ffffffff611af416565b50600019955050505b61197b858363ffffffff6119be16565b945061198d868263ffffffff6119be16565b95505050506116e4565b50935093915050565b60408201516001820154600290920154602090930151910291021190565b60008282018381101561082f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818152600280840160205260409091200154156108e557600182015460008281526002808501602090815260408084208054930154815163a9059cbb60e01b81526001600160a01b03948516600482015260248101919091529051929094169363a9059cbb93604480830194928390030190829087803b1580156108b857600080fd5b600082821115610c95576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b60008381526002850160205260409020611b0d816112a0565b611b50576040805162461bcd60e51b815260206004820152600f60248201526e1bdc99195c881b9bdd08195e1a5cdd608a1b604482015290519081900360640190fd5b8060010154831115611ba9576040805162461bcd60e51b815260206004820152601a60248201527f66696c6c206d6f7265207468616e206861766520616d6f756e74000000000000604482015290519081900360640190fd5b6001810154611bbe908463ffffffff611a9d16565b60018201556002810154821015611bdf576002810180548390039055611be7565b600060028201555b600185015481546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b505050506040513d6020811015611c6b57600080fd5b50611c77905081611c8c565b1561070857610708858563ffffffff61083616565b600081600101546000148061031c575050600201541590565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091529056fea265627a7a72315820bd5cb9a0dce5aafe04a75cfee63f6add1ab7deaa9fc541560e808ab903d35dad64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var AbsorbableBin = "0x608060405262049d4060035560026003548161001757fe5b0460045534801561002757600080fd5b50604051611db4380380611db48339818101604052604081101561004a57600080fd5b508051602090910151801561005f5760038190555b600082116100705760028104610072565b815b6004555050611d2e806100866000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638aa3f897116100715780638aa3f897146101ba578063aa1c259c146101d9578063be91d72914610207578063ced4aac814610224578063ee1a68c614610264578063f318722b14610287576100b4565b806307c399a3146100b95780630d90b10a1461011357806343271d791461014a5780634ea097971461017157806369c07d31146101965780636e6452cb146101b2575b600080fd5b6100de600480360360408110156100cf57600080fd5b508035151590602001356102b3565b604080516001600160a01b03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101386004803603604081101561012957600080fd5b508035151590602001356102fa565b60408051918252519081900360200190f35b61016f6004803603604081101561016057600080fd5b50803515159060200135610322565b005b6101386004803603604081101561018757600080fd5b508035151590602001356103a8565b61019e6103cc565b604080519115158252519081900360200190f35b61019e6103d1565b610138600480360360208110156101d057600080fd5b503515156103d6565b61016f600480360360408110156101ef57600080fd5b506001600160a01b03813581169160200135166103f9565b61016f6004803603602081101561021d57600080fd5b5035610574565b610138600480360360a081101561023a57600080fd5b5080351515906001600160a01b036020820135169060408101359060608101359060800135610711565b61026c610779565b60408051921515835260208301919091528051918290030190f35b6101386004803603604081101561029d57600080fd5b506001600160a01b038135169060200135610823565b90151560009081526020818152604080832093835260029384019091529020805460018201549282015460038301546004909301546001600160a01b039092169490929190565b8115156000908152602081815260408083208484526002019091529020600301545b92915050565b8115156000908152602081815260408083208484526002810190925290912080546001600160a01b03163314610392576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037b93232b91036b0b5b2b960811b604482015290519081900360640190fd5b6103a2828463ffffffff61083616565b50505050565b90151560009081526020818152604080832093835260029093019052206004015490565b600081565b600181565b80151560009081526020819052604081206103f0816108f5565b9150505b919050565b6001546001600160a01b031615610457576040805162461bcd60e51b815260206004820152601960248201527f566f6c6174696c65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b6002546001600160a01b0316156104b5576040805162461bcd60e51b815260206004820152601960248201527f537461626c697a65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b600180546001600160a01b038085166001600160a01b03199283161790925560028054928416929091169190911790556104ef828261090e565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561053457600080fd5b505afa158015610548573d6000803e3d6000fd5b505050506040513d602081101561055e57600080fd5b5051905061056f8180600080610982565b505050565b33156105b8576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b6105c26005610a21565b156105cf576105cf610a3a565b6105d96009610a7e565b156105e6576105e6610a9b565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561062b57600080fd5b505afa15801561063f573d6000803e3d6000fd5b505050506040513d602081101561065557600080fd5b5051905081156106dd57610667610ba5565b1561067e576106798282600080610982565b61069b565b6106888183610bb7565b1561069b5761069b828260016000610982565b6106a56009610c65565b156106dd5760006106b68383610c81565b90506106c181610c9b565b80156106cf575060085460ff165b156106db57505061070e565b505b6106ee60058263ffffffff610dbd16565b1561070c5760006106fd610df2565b905061070881610ea7565b5050505b505b50565b841515600090815260208190526040812061072a611ca5565b506040805160a0810182526001600160a01b038816815260208101879052908101859052600060608201819052608082015261076d82828663ffffffff610f4e16565b98975050505050505050565b60075460009081906107905750600090508061081f565b600161081a600560020154600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e957600080fd5b505afa1580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051610c81565b915091505b9091565b600061082f8383610fc0565b9392505050565b6000818152600283016020526040902060010154156108e5578154600082815260028401602090815260408083208054600190910154825163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b1580156108b857600080fd5b505af11580156108cc573d6000803e3d6000fd5b505050506040513d60208110156108e257600080fd5b50505b61070c828263ffffffff61108d16565b6000808052600282016020526040902060040154919050565b60008080526020526109477fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5838363ffffffff6110ed16565b6001600090815260205261070c7fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d828463ffffffff6110ed16565b604080516080810182526003544301808252602082018690529181018690528215156060909101819052600591909155600684905560078590556008805460ff1916909117905560006109d58585610c81565b60408051828152602081018790528515158183015290519192507f0427b353dc7214e3d8c7f5039475a8e729f4d62922937381e304cd03becf66d2919081900360600190a15050505050565b6000610a2c8261129a565b801561031c57505054431190565b60006005819055600681905560078190556008805460ff191690556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b6000610a89826112a0565b801561031c5750506004015443101590565b610aa560096112a0565b610aae57610ba3565b600b5415610b3f57600154600954600b546040805163a9059cbb60e01b81526001600160a01b039384166004820152602481019290925251919092169163a9059cbb9160448083019260209291908290030181600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b505050506040513d6020811015610b3c57600080fd5b50505b600954604080516001600160a01b039092168252517f0be774851955c26a1d6a32b13b020663a069006b4a3b643ff0b809d3182605729181900360200190a1600980546001600160a01b03191690556000600a819055600b819055600c819055600d555b565b6000610bb16005610a21565b90505b90565b600082821415610bc95750600061031c565b6006546007541415610bdd5750600161031c565b82821115610c3157600654600754848403911015610c1357600654600754036002818381610c0757fe5b0410159250505061031c565b600754600654036002828281610c2557fe5b0411159250505061031c565b600654600754838503911115610c5357600754600654036002818381610c0757fe5b600654600754036002828281610c2557fe5b6000610c70826112a0565b801561031c57505060040154431090565b6000818311610c955782820360000361082f565b50900390565b6000610cae6009600101546000846112af565b610cba575060006103f4565b600c54600a546000919084830381610cce57fe5b0581610cd657fe5b04905080610ce2575060015b600b54811115610d005750600b54610cf8610a3a565b610d00610a9b565b600b805482900390556001546040805163117f5a5560e01b81526004810184905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015610d5657600080fd5b505af1158015610d6a573d6000803e3d6000fd5b5050600954604080516001600160a01b0390921682526020820185905280517fa69f22d963cb7981f842db8c1aafcc93d915ba2a95dcf26dcc333a9c2a09be26945091829003019150a150600192915050565b6000610dc88361129a565b8015610dd8575082600201548214155b801561082f575061082f83600101548385600201546112df565b600080610e09600560020154600560010154610c81565b600754600254604080516318160ddd60e01b81529051939450600093610e5993926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107e957600080fd5b9050610e67600082846112af565b610e7657600092505050610bb4565b60006004548381610e8357fe5b059050610e92600082846112af565b610ea057509150610bb49050565b9250505090565b6000806000806000808613610ebd576001610ec0565b60005b15158152602081019190915260400160002060025481546008549293506001600160a01b039081169116149060ff1615610f2757610f1c81610f018761130a565b600954859291906001600160a01b031663ffffffff61132016565b935093505050610f49565b610f4281610f348761130a565b84919063ffffffff6116d316565b9350935050505b915091565b600081815260028401602052604081205b6004015460008181526002860160205260409020909250610f86848263ffffffff6119a016565b15610f5f575b6003015460008181526002860160205260409020909250610fb3848263ffffffff6119a016565b610f8c5750909392505050565b60006002838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106110305780518252601f199092019160209182019101611011565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561106f573d6000803e3d6000fd5b5050506040513d602081101561108457600080fd5b50519392505050565b6000818152600292830160205260408082206004808201805460038085018054885286882090940182905583549187529486209094019390935593835280546001600160a01b031916815560018101839055909301819055908190559055565b818360000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808360010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060a00160405280306001600160a01b0316815260200160008152602001600081526020016000801b815260200160001960001b8152508360020160008060001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506040518060a00160405280306001600160a01b0316815260200160008152602001600181526020016000801b815260200160001960001b81525083600201600060001960001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050565b54151590565b546001600160a01b0316151590565b60008284131580156112c15750818313155b806112d757508284121580156112d75750818312155b949350505050565b60008284111580156112f15750818311155b806112d757508284101580156112d75750501115919050565b600080821361131c578160000361031c565b5090565b60008061133486868663ffffffff6116d316565b90925090506000808661134857838361134b565b82845b895460408051636eb1769f60e11b81526001600160a01b038a811660048301523060248301529151949650929450169163dd62ed3e91604480820192602092909190829003018186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d60208110156113cb57600080fd5b5051821180159061145357508754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561142357600080fd5b505afa158015611437573d6000803e3d6000fd5b505050506040513d602081101561144d57600080fd5b50518211155b156116c8578754604080516334902c6160e11b815290516001600160a01b03909216916323b872dd918891849163692058c29160048083019260209291908290030181600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018690525160648083019260209291908290030181600087803b15801561152a57600080fd5b505af115801561153e573d6000803e3d6000fd5b505050506040513d602081101561155457600080fd5b505087546040805163117f5a5560e01b81526004810185905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b1580156115a257600080fd5b505af11580156115b6573d6000803e3d6000fd5b50505060018901546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561160857600080fd5b505af115801561161c573d6000803e3d6000fd5b5050505060018801546040805163a9059cbb60e01b81526001600160a01b038881166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561167857600080fd5b505af115801561168c573d6000803e3d6000fd5b505050506040513d60208110156116a257600080fd5b508790506116b057806116b2565b815b83019250866116c157816116c3565b805b840193505b505094509492505050565b60008060006116e1866108f5565b90505b60001981148015906116f557508382105b156119975760008181526002870160205260408120908661171a578160020154611720565b81600101545b9050600087611733578260010154611739565b82600201545b90508661174c868463ffffffff6119be16565b1161183b57885460018401546040805163117f5a5560e01b81526004810192909252516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b50505060018a015460028501546040805163bdfde91160e01b81526004810192909252516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561180d57600080fd5b505af1158015611821573d6000803e3d6000fd5b5050505060048301546118348a86611a18565b935061196b565b600061184d888763ffffffff611a9d16565b9050828183028161185a57fe5b04915080925060008961186d578261186f565b835b905060008a61187e5784611880565b835b8c546040805163117f5a5560e01b81526004810186905290519293506001600160a01b039091169163117f5a559160248082019260009290919082900301818387803b1580156118cf57600080fd5b505af11580156118e3573d6000803e3d6000fd5b50505060018d01546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561193557600080fd5b505af1158015611949573d6000803e3d6000fd5b5061196292508e9150899050848463ffffffff611af416565b50600019955050505b61197b858363ffffffff6119be16565b945061198d868263ffffffff6119be16565b95505050506116e4565b50935093915050565b60408201516001820154600290920154602090930151910291021190565b60008282018381101561082f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818152600280840160205260409091200154156108e557600182015460008281526002808501602090815260408084208054930154815163a9059cbb60e01b81526001600160a01b03948516600482015260248101919091529051929094169363a9059cbb93604480830194928390030190829087803b1580156108b857600080fd5b600082821115610c95576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b60008381526002850160205260409020611b0d816112a0565b611b50576040805162461bcd60e51b815260206004820152600f60248201526e1bdc99195c881b9bdd08195e1a5cdd608a1b604482015290519081900360640190fd5b8060010154831115611ba9576040805162461bcd60e51b815260206004820152601a60248201527f66696c6c206d6f7265207468616e206861766520616d6f756e74000000000000604482015290519081900360640190fd5b6001810154611bbe908463ffffffff611a9d16565b60018201556002810154821015611bdf576002810180548390039055611be7565b600060028201555b600185015481546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b505050506040513d6020811015611c6b57600080fd5b50611c77905081611c8c565b1561070857610708858563ffffffff61083616565b600081600101546000148061031c575050600201541590565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091529056fea265627a7a72315820f6e8e9047de4b91e0af3162f46718d10c615451cd8e64e4644b8d2a0f3dc3dbc64736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployAbsorbable deploys a new Ethereum contract, binding an instance of Absorbable to it. func DeployAbsorbable(auth *bind.TransactOpts, backend bind.ContractBackend, absorptionDuration *big.Int, absorptionExpiration *big.Int) (common.Address, *types.Transaction, *Absorbable, error) { @@ -1722,7 +1722,7 @@ func (_IToken *ITokenFilterer) ParseTransfer(log types.Log) (*ITokenTransfer, er const MathABI = "[]" // MathBin is the compiled bytecode used for deploying new contracts. -var MathBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158202067d74be9693dccfb5092e213752d561001c5bd0146fffb46f731c3b64cd7dd64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var MathBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820c24bc37edf60c0d419ecc8f8373f9365a2958db8eddf59031522bbbe32c6b18d64736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployMath deploys a new Ethereum contract, binding an instance of Math to it. func DeployMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Math, error) { @@ -1898,7 +1898,7 @@ var OrderbookFuncSigs = map[string]string{ } // OrderbookBin is the compiled bytecode used for deploying new contracts. -var OrderbookBin = "0x608060405234801561001057600080fd5b50610954806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636e6452cb116100665780636e6452cb1461019c5780638aa3f897146101a4578063aa1c259c146101c3578063ced4aac8146101f1578063f318722b146102315761009e565b806307c399a3146100a35780630d90b10a146100fd57806343271d79146101345780634ea097971461015b57806369c07d3114610180575b600080fd5b6100c8600480360360408110156100b957600080fd5b5080351515906020013561025d565b604080516001600160a01b03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101226004803603604081101561011357600080fd5b508035151590602001356102a4565b60408051918252519081900360200190f35b6101596004803603604081101561014a57600080fd5b508035151590602001356102c8565b005b6101226004803603604081101561017157600080fd5b5080351515906020013561034e565b610188610372565b604080519115158252519081900360200190f35b610188610377565b610122600480360360208110156101ba57600080fd5b5035151561037c565b610159600480360360408110156101d957600080fd5b506001600160a01b038135811691602001351661039d565b610122600480360360a081101561020757600080fd5b5080351515906001600160a01b036020820135169060408101359060608101359060800135610415565b6101226004803603604081101561024757600080fd5b506001600160a01b03813516906020013561047d565b90151560009081526020818152604080832093835260029384019091529020805460018201549282015460038301546004909301546001600160a01b039092169490929190565b90151560009081526020818152604080832093835260029093019052206003015490565b8115156000908152602081815260408083208484526002810190925290912080546001600160a01b03163314610338576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037b93232b91036b0b5b2b960811b604482015290519081900360640190fd5b610348828463ffffffff61048916565b50505050565b90151560009081526020818152604080832093835260029093019052206004015490565b600081565b600181565b801515600090815260208190526040812061039681610548565b9392505050565b60008080526020526103d67fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5838363ffffffff61056116565b600160009081526020526104117fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d828463ffffffff61056116565b5050565b841515600090815260208190526040812061042e6108cb565b506040805160a0810182526001600160a01b038816815260208101879052908101859052600060608201819052608082015261047182828663ffffffff61070e16565b98975050505050505050565b60006103968383610780565b600081815260028301602052604090206001015415610538578154600082815260028401602090815260408083208054600190910154825163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b15801561050b57600080fd5b505af115801561051f573d6000803e3d6000fd5b505050506040513d602081101561053557600080fd5b50505b610411828263ffffffff61084d16565b6000808052600282016020526040902060040154919050565b818360000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808360010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060a00160405280306001600160a01b0316815260200160008152602001600081526020016000801b815260200160001960001b8152508360020160008060001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506040518060a00160405280306001600160a01b0316815260200160008152602001600181526020016000801b815260200160001960001b81525083600201600060001960001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050565b600081815260028401602052604081205b6004015460008181526002860160205260409020909250610746848263ffffffff6108ad16565b1561071f575b6003015460008181526002860160205260409020909250610773848263ffffffff6108ad16565b61074c5750909392505050565b60006002838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106107f05780518252601f1990920191602091820191016107d1565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561082f573d6000803e3d6000fd5b5050506040513d602081101561084457600080fd5b50519392505050565b6000818152600292830160205260408082206004808201805460038085018054885286882090940182905583549187529486209094019390935593835280546001600160a01b031916815560018101839055909301819055908190559055565b60408201516001820154600290920154602090930151910291021190565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091529056fea265627a7a723158204d4174cfc2c2e6cda61c5dbba1e477ba8cd81b9850516fa421c14aeaaf98a9b164736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var OrderbookBin = "0x608060405234801561001057600080fd5b50610954806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636e6452cb116100665780636e6452cb1461019c5780638aa3f897146101a4578063aa1c259c146101c3578063ced4aac8146101f1578063f318722b146102315761009e565b806307c399a3146100a35780630d90b10a146100fd57806343271d79146101345780634ea097971461015b57806369c07d3114610180575b600080fd5b6100c8600480360360408110156100b957600080fd5b5080351515906020013561025d565b604080516001600160a01b03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101226004803603604081101561011357600080fd5b508035151590602001356102a4565b60408051918252519081900360200190f35b6101596004803603604081101561014a57600080fd5b508035151590602001356102c8565b005b6101226004803603604081101561017157600080fd5b5080351515906020013561034e565b610188610372565b604080519115158252519081900360200190f35b610188610377565b610122600480360360208110156101ba57600080fd5b5035151561037c565b610159600480360360408110156101d957600080fd5b506001600160a01b038135811691602001351661039d565b610122600480360360a081101561020757600080fd5b5080351515906001600160a01b036020820135169060408101359060608101359060800135610415565b6101226004803603604081101561024757600080fd5b506001600160a01b03813516906020013561047d565b90151560009081526020818152604080832093835260029384019091529020805460018201549282015460038301546004909301546001600160a01b039092169490929190565b90151560009081526020818152604080832093835260029093019052206003015490565b8115156000908152602081815260408083208484526002810190925290912080546001600160a01b03163314610338576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037b93232b91036b0b5b2b960811b604482015290519081900360640190fd5b610348828463ffffffff61048916565b50505050565b90151560009081526020818152604080832093835260029093019052206004015490565b600081565b600181565b801515600090815260208190526040812061039681610548565b9392505050565b60008080526020526103d67fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5838363ffffffff61056116565b600160009081526020526104117fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d828463ffffffff61056116565b5050565b841515600090815260208190526040812061042e6108cb565b506040805160a0810182526001600160a01b038816815260208101879052908101859052600060608201819052608082015261047182828663ffffffff61070e16565b98975050505050505050565b60006103968383610780565b600081815260028301602052604090206001015415610538578154600082815260028401602090815260408083208054600190910154825163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b15801561050b57600080fd5b505af115801561051f573d6000803e3d6000fd5b505050506040513d602081101561053557600080fd5b50505b610411828263ffffffff61084d16565b6000808052600282016020526040902060040154919050565b818360000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808360010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060a00160405280306001600160a01b0316815260200160008152602001600081526020016000801b815260200160001960001b8152508360020160008060001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506040518060a00160405280306001600160a01b0316815260200160008152602001600181526020016000801b815260200160001960001b81525083600201600060001960001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050565b600081815260028401602052604081205b6004015460008181526002860160205260409020909250610746848263ffffffff6108ad16565b1561071f575b6003015460008181526002860160205260409020909250610773848263ffffffff6108ad16565b61074c5750909392505050565b60006002838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106107f05780518252601f1990920191602091820191016107d1565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561082f573d6000803e3d6000fd5b5050506040513d602081101561084457600080fd5b50519392505050565b6000818152600292830160205260408082206004808201805460038085018054885286882090940182905583549187529486209094019390935593835280546001600160a01b031916815560018101839055909301819055908190559055565b60408201516001820154600290920154602090930151910291021190565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091529056fea265627a7a72315820996e459a83d4d12c199196e1088ae12e740c0229c1c83b493dae055131c2521664736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployOrderbook deploys a new Ethereum contract, binding an instance of Orderbook to it. func DeployOrderbook(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Orderbook, error) { @@ -2342,7 +2342,7 @@ var PreemptivableFuncSigs = map[string]string{ } // PreemptivableBin is the compiled bytecode used for deploying new contracts. -var PreemptivableBin = "0x608060405262049d406003556002600354816200001857fe5b0460045562127500600e556002600e54816200003057fe5b04600f55600060105560006011553480156200004b57600080fd5b50604051620038cb380380620038cb833981810160405260808110156200007157600080fd5b508051602082015160408301516060909301519192909183838015620000975760038190555b60008211620000aa5760028104620000ac565b815b60045550508015620000be57600e8190555b60008211620000db576002600e5481620000d457fe5b04620000dd565b815b600f55505050506137d780620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063aa1c259c116100a2578063c0ee0b8a11610071578063c0ee0b8a14610308578063c7f758a81461038d578063ced4aac8146103e7578063ee1a68c614610427578063f318722b1461044a57610116565b8063aa1c259c14610287578063bd041c4d146102b5578063be91d729146102e3578063c08cc02d1461030057610116565b80634ea09797116100e95780634ea09797146101f957806369c07d311461021e5780636e6452cb1461023a57806374a8f103146102425780638aa3f8971461026857610116565b806307c399a31461011b5780630d90b10a1461017557806343271d79146101ac5780634def5645146101d3575b600080fd5b6101406004803603604081101561013157600080fd5b50803515159060200135610476565b604080516001600160a01b03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b61019a6004803603604081101561018b57600080fd5b508035151590602001356104bd565b60408051918252519081900360200190f35b6101d1600480360360408110156101c257600080fd5b508035151590602001356104e5565b005b61019a600480360360208110156101e957600080fd5b50356001600160a01b031661056b565b61019a6004803603604081101561020f57600080fd5b50803515159060200135610593565b6102266105b7565b604080519115158252519081900360200190f35b6102266105bc565b6101d16004803603602081101561025857600080fd5b50356001600160a01b03166105c1565b61019a6004803603602081101561027e57600080fd5b50351515610764565b6101d16004803603604081101561029d57600080fd5b506001600160a01b038135811691602001351661077e565b6101d1600480360360408110156102cb57600080fd5b506001600160a01b03813516906020013515156108f9565b6101d1600480360360208110156102f957600080fd5b5035610973565b61019a610a11565b6101d16004803603606081101561031e57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561034e57600080fd5b82018360208201111561036057600080fd5b8035906020019184600183028401116401000000008311171561038257600080fd5b509092509050610a23565b6103aa600480360360208110156103a357600080fd5b5035610b46565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b61019a600480360360a08110156103fd57600080fd5b5080351515906001600160a01b036020820135169060408101359060608101359060800135610b9a565b61042f610c02565b60408051921515835260208301919091528051918290030190f35b61019a6004803603604081101561046057600080fd5b506001600160a01b038135169060200135610cac565b90151560009081526020818152604080832093835260029384019091529020805460018201549282015460038301546004909301546001600160a01b039092169490929190565b8115156000908152602081815260408083208484526002019091529020600301545b92915050565b8115156000908152602081815260408083208484526002810190925290912080546001600160a01b03163314610555576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037b93232b91036b0b5b2b960811b604482015290519081900360640190fd5b610565828463ffffffff610cbf16565b50505050565b60008061057f60128463ffffffff610d8216565b905061058a81610dc4565b9150505b919050565b90151560009081526020818152604080832093835260029093019052206004015490565b600081565b600181565b60006105d460128363ffffffff610d8216565b80549091506001600160a01b03838116911614610638576040805162461bcd60e51b815260206004820152601e60248201527f6f6e6c79206d616b65722063616e207265766f6b652070726f706f73616c0000604482015290519081900360640190fd5b601480546001810180835560009290925260068301805490916003027fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec019061068490829084906134c7565b5050600154835460028501546040805163a9059cbb60e01b81526001600160a01b03938416600482015260248101929092525191909216935063a9059cbb925060448083019260209291908290030181600087803b1580156106e557600080fd5b505af11580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b50610723905060128363ffffffff610eaa16565b50604080516001600160a01b038416815290517f9f77920c3de8baaa98d273e8aa75fae382aaa9f7f60f38979137853e5b73ea2c9181900360200190a15050565b801515600090815260208190526040812061058a81610ef2565b6001546001600160a01b0316156107dc576040805162461bcd60e51b815260206004820152601960248201527f566f6c6174696c65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b6002546001600160a01b03161561083a576040805162461bcd60e51b815260206004820152601960248201527f537461626c697a65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b600180546001600160a01b038085166001600160a01b03199283161790925560028054928416929091169190911790556108748282610f0b565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156108b957600080fd5b505afa1580156108cd573d6000803e3d6000fd5b505050506040513d60208110156108e357600080fd5b505190506108f48180600080610f5b565b505050565b61090a60128363ffffffff610ffa16565b61094e576040805162461bcd60e51b815260206004820152601060248201526f1b9bc81cdd58da081c1c9bdc1bdcd85b60821b604482015290519081900360640190fd5b600061096160128463ffffffff610d8216565b90506108f4818363ffffffff61101b16565b33156109b7576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b60005b6014548110156109ef576109e7601482815481106109d457fe5b906000526020600020906003020161102f565b6001016109ba565b506109fc60146000613513565b610a0461109c565b50610a0e81611110565b50565b6000610a1d60126112ab565b90505b90565b608081148015610a3d57506001546001600160a01b031633145b15610ae057610a5360128563ffffffff610ffa16565b15610a9e576040805162461bcd60e51b8152602060048201526016602482015275185b1c9958591e481a185cc818481c1c9bdc1bdcd85b60521b604482015290519081900360640190fd5b60008060008085856080811015610ab457600080fd5b50803594506020810135935060400135915060009050610ad788858986866112af565b50505050610565565b600080806060841415610b145784846060811015610afd57600080fd5b508035935060208101359250604001359050610b30565b84846040811015610b2457600080fd5b50803593506020013591505b610b3d878488858561148c565b50505050505050565b6000808080808080610b5f60128963ffffffff6114e716565b805460028201546001830154600384015460048501546005909501546001600160a01b039094169d929c50909a509850919650945092505050565b8415156000908152602081905260408120610bb3613534565b506040805160a0810182526001600160a01b0388168152602081018790529081018590526000606082018190526080820152610bf682828663ffffffff6114f816565b98975050505050505050565b6007546000908190610c1957506000905080610ca8565b6001610ca3600560020154600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7257600080fd5b505afa158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b505161156a565b915091505b9091565b6000610cb88383611584565b9392505050565b600081815260028301602052604090206001015415610d6e578154600082815260028401602090815260408083208054600190910154825163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b505050506040513d6020811015610d6b57600080fd5b50505b610d7e828263ffffffff61165116565b5050565b6001600160a01b03811660009081526001830160205260408120548354849160001901908110610dae57fe5b9060005260206000209060090201905092915050565b600080805b610dd5846006016112ab565b811015610ea357600080610df2600687018463ffffffff6116b116565b600154604080516370a0823160e01b81526001600160a01b03808616600483015291519496509294506000939116916370a08231916024808301926020929190829003018186803b158015610e4657600080fd5b505afa158015610e5a573d6000803e3d6000fd5b505050506040513d6020811015610e7057600080fd5b50516001600160a01b038416310190508115610e8f5793840193610e95565b80850394505b505050806001019050610dc9565b5092915050565b6001600160a01b038116600090815260018301602052604081205480610ed45760009150506104df565b610ee884600019830163ffffffff6116f016565b5060019392505050565b6000808052600282016020526040902060040154919050565b6000808052602052610f3260008051602061375d833981519152838363ffffffff6118a616565b60016000908152602052610d7e60008051602061373d833981519152828463ffffffff6118a616565b604080516080810182526003544301808252602082018690529181018690528215156060909101819052600591909155600684905560078590556008805460ff191690911790556000610fae858561156a565b60408051828152602081018790528515158183015290519192507f0427b353dc7214e3d8c7f5039475a8e729f4d62922937381e304cd03becf66d2919081900360600190a15050505050565b6001600160a01b031660009081526001919091016020526040902054151590565b6108f460068301338363ffffffff611a5316565b60005b815481101561109057600082600001828154811061104c57fe5b60009182526020808320909101546001600160a01b03168252600185810182526040808420849055600287019092529120805460ff19169055919091019050611032565b50610a0e816000613562565b60006110a86009611b6f565b156110b557506000610a20565b6000806110c0611b8b565b90925090506001600160a01b0382166110de57600092505050610a20565b60006110f160128463ffffffff610d8216565b90506110fc81611c3c565b6111068183611dc5565b6001935050505090565b3315611154576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b61115e6005611e08565b1561116b5761116b611e21565b6111756009611e65565b1561118257611182611e82565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d60208110156111f157600080fd5b50519050811561127957611203611f8c565b1561121a576112158282600080610f5b565b611237565b6112248183611f98565b1561123757611237828260016000610f5b565b6112416009611b6f565b15611279576000611252838361156a565b905061125d81612046565b801561126b575060085460ff165b15611277575050610a0e565b505b61128a60058263ffffffff61216816565b15610d7e57600061129961219d565b90506112a481612252565b5050505050565b5490565b6003601154816112bb57fe5b04601154038311611303576040805162461bcd60e51b815260206004820152600d60248201526c7374616b6520746f6f206c6f7760981b604482015290519081900360640190fd5b61130b613580565b8215611381576003600f548161131d57fe5b04600f54018311611375576040805162461bcd60e51b815260206004820181905260248201527f736c617368696e67206475726174696f6e20706172616d20746f6f206c6f6e67604482015290519081900360640190fd5b6060810183905261138a565b600f5460608201525b81156113ea576003600e548161139c57fe5b04600e540382106113de5760405162461bcd60e51b815260040180806020018281038252602181526020018061371c6021913960400191505060405180910390fd5b608081018290526113f3565b600e5460808201525b6001600160a01b038616815260208101859052604081018490524360a082015261142460128263ffffffff6122f916565b50606080820151608080840151604080516001600160a01b038c168152602081018b90528082018a90529485019390935290830152517f56e25d1b63c01627fcd54936462c97aeb9a18352bf0ed161e8141a33cfd795ca9181900360a00190a1505050505050565b600061149733612446565b905060006114ae828888888863ffffffff61252916565b90506114c182828563ffffffff6126c116565b506114dd816114cf336126ff565b84919063ffffffff6127b916565b5050505050505050565b6000826000018281548110610dae57fe5b600081815260028401602052604081205b6004015460008181526002860160205260409020909250611530848263ffffffff61294f16565b15611509575b600301546000818152600286016020526040902090925061155d848263ffffffff61294f16565b6115365750909392505050565b600081831161157e57828203600003610cb8565b50900390565b60006002838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106115f45780518252601f1990920191602091820191016115d5565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611633573d6000803e3d6000fd5b5050506040513d602081101561164857600080fd5b50519392505050565b6000818152600292830160205260408082206004808201805460038085018054885286882090940182905583549187529486209094019390935593835280546001600160a01b031916815560018101839055909301819055908190559055565b600080806116c5858563ffffffff61296d16565b6001600160a01b038116600090815260028701602052604090205490935060ff169150509250929050565b81600101600083600001838154811061170557fe5b600091825260208083206009909202909101546001600160a01b03168352820192909252604001812055815460001901811461182e5781548290600019810190811061174d57fe5b906000526020600020906009020182600001828154811061176a57fe5b60009182526020909120825460099092020180546001600160a01b0319166001600160a01b0390921691909117815560018083015490820155600280830154908201556003808301549082015560048083015490820155600580830154908201556006808301805490918301906117e490829084906134c7565b5050509050508060010182600101600084600001848154811061180357fe5b600091825260208083206009909202909101546001600160a01b031683528201929092526040019020555b81548290600019810190811061184057fe5b60009182526020822060099091020180546001600160a01b031916815560018101829055600281018290556003810182905560048101829055600581018290559060068201816118908282613562565b5050835491506108f490508360001983016135cb565b818360000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808360010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060a00160405280306001600160a01b0316815260200160008152602001600081526020016000801b815260200160001960001b8152508360020160008060001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506040518060a00160405280306001600160a01b0316815260200160008152602001600181526020016000801b815260200160001960001b81525083600201600060001960001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050565b6001600160a01b03821660009081526002840160209081526040808320805460ff19168515151790556001860190915281205480611ad6575050825460018082018086556000868152602080822090940180546001600160a01b0319166001600160a01b0388169081179091558152828701909352604090922091909155610cb8565b8454811180611b145750836001600160a01b0316856000016001830381548110611afc57fe5b6000918252602090912001546001600160a01b031614155b15611b64575050825460018082018086556000868152602080822090940180546001600160a01b0319166001600160a01b0388169081179091558152828701909352604090922091909155610cb8565b506000949350505050565b6000611b7a8261299a565b80156104df57505060040154431090565b6000806000600360105481611b9c57fe5b60105491900490039050600080805b611bb560126112ab565b811015611c32576000611bcf60128363ffffffff6114e716565b90506004600e5481611bdd57fe5b04816005015443031015611bf15750611c2a565b6000611bfc826129a9565b905085811215611c0d575050611c2a565b84811315611c275781549094506001600160a01b03169250835b50505b600101611bab565b5093509150509091565b611c488160060161102f565b6040805160a08101825282546001600160a01b039081168083526001850154602084018190526002860154948401859052600386015460608501819052600487015443016080909501859052600980546001600160a01b031916909317909255600a55600b93909355600c92909255600d558154611ccf916012911663ffffffff610eaa16565b50600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015611d1557600080fd5b505afa158015611d29573d6000803e3d6000fd5b505050506040513d6020811015611d3f57600080fd5b5051600a54909150600090611d559083906129e0565b9050611d648183600180610f5b565b600954600b54600c54600d54604080516001600160a01b0390951685526020850193909352838301919091526060830152517f8427e4488966b7bd3193a4617993e5e6b9186f0c4b2c303cc6178f4e33b77d089181900360800190a1505050565b60108054909101600190811c909155600282015460118054909101821c90556004820154600e8054909101821c9055600390910154600f805490910190911c9055565b6000611e13826129fc565b80156104df57505054431190565b60006005819055600681905560078190556008805460ff191690556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b6000611e708261299a565b80156104df5750506004015443101590565b611e8c600961299a565b611e9557611f8a565b600b5415611f2657600154600954600b546040805163a9059cbb60e01b81526001600160a01b039384166004820152602481019290925251919092169163a9059cbb9160448083019260209291908290030181600087803b158015611ef957600080fd5b505af1158015611f0d573d6000803e3d6000fd5b505050506040513d6020811015611f2357600080fd5b50505b600954604080516001600160a01b039092168252517f0be774851955c26a1d6a32b13b020663a069006b4a3b643ff0b809d3182605729181900360200190a1600980546001600160a01b03191690556000600a819055600b819055600c819055600d555b565b6000610a1d6005611e08565b600082821415611faa575060006104df565b6006546007541415611fbe575060016104df565b8282111561201257600654600754848403911015611ff457600654600754036002818381611fe857fe5b041015925050506104df565b60075460065403600282828161200657fe5b041115925050506104df565b60065460075483850391111561203457600754600654036002818381611fe857fe5b60065460075403600282828161200657fe5b6000612059600960010154600084612a02565b6120655750600061058e565b600c54600a54600091908483038161207957fe5b058161208157fe5b0490508061208d575060015b600b548111156120ab5750600b546120a3611e21565b6120ab611e82565b600b805482900390556001546040805163117f5a5560e01b81526004810184905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b15801561210157600080fd5b505af1158015612115573d6000803e3d6000fd5b5050600954604080516001600160a01b0390921682526020820185905280517fa69f22d963cb7981f842db8c1aafcc93d915ba2a95dcf26dcc333a9c2a09be26945091829003019150a150600192915050565b6000612173836129fc565b8015612183575082600201548214155b8015610cb85750610cb88360010154838560020154612a32565b6000806121b460056002015460056001015461156a565b600754600254604080516318160ddd60e01b8152905193945060009361220493926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610c7257600080fd5b905061221260008284612a02565b61222157600092505050610a20565b6000600454838161222e57fe5b05905061223d60008284612a02565b61224b57509150610a209050565b9250505090565b600080600080600080861361226857600161226b565b60005b15158152602081019190915260400160002060025481546008549293506001600160a01b039081169116149060ff16156122d2576122c7816122ac87612a5d565b600954859291906001600160a01b031663ffffffff612a7316565b9350935050506122f4565b6122ed816122df87612a5d565b84919063ffffffff612e2616565b9350935050505b915091565b80516001600160a01b031660009081526001830160205260408120548015612368576040805162461bcd60e51b815260206004820152601c60248201527f6d616b657220616c72656164792068617320612070726f706f73616c00000000604482015290519081900360640190fd5b835460018082018087556000878152602090819020875160099095020180546001600160a01b0319166001600160a01b03909516949094178455868101519284019290925560408601516002840155606086015160038401556080860151600484015560a0860151600584015560c08601518051805192948894909360068501926123f79284929101906135f7565b505086516001600160a01b03166000908152600189016020526040902084905550508554919250859160001984019150811061242f57fe5b906000526020600020906009020191505092915050565b6000808052602081905260008051602061375d833981519152546001600160a01b03838116911614156124905750600080805260205260008051602061375d83398151915261058e565b6001600090815260205260008051602061373d833981519152546001600160a01b03838116911614156124dc57506001600090815260205260008051602061373d83398151915261058e565b6040805162461bcd60e51b815260206004820152601760248201527f6e6f206f7264657220626f6f6b20666f7220746f6b656e000000000000000000604482015290519081900360640190fd5b6000808311801561253a5750600082115b612578576040805162461bcd60e51b815260206004820152600a6024820152691e995c9bc81a5b9c1d5d60b21b604482015290519081900360640190fd5b600160801b8310801561258e5750600160801b82105b6125d2576040805162461bcd60e51b815260206004820152601060248201526f1a5b9c1d5d081bdd995c881b1a5b5a5d60821b604482015290519081900360640190fd5b60006125de8686611584565b600081815260028901602052604090209091506125fa8161299a565b15612641576040805162461bcd60e51b81526020600482015260126024820152716f7264657220696e6465782065786973747360701b604482015290519081900360640190fd5b506040805160a0810182526001600160a01b03978816815260208082019687528183019586526000606083018181526080840182815286835260029c8d01909352939020915182546001600160a01b0319169916989098178155945160018601559251968401969096555051600382015591516004909201919091555090565b60008281526002840160205260408120816126e386838663ffffffff6130f316565b90506126f686868363ffffffff61316516565b95945050505050565b600080805260208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb6546001600160a01b038381169116141561275b5750600080805260205260008051602061375d83398151915261058e565b600160009081526020527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7e546001600160a01b03838116911614156124dc57506001600090815260205260008051602061373d83398151915261058e565b60008281526002840160205260408120816127d384610ef2565b90505b60001981146126f6576127e8826131a0565b156127f2576126f6565b600081815260028086016020908152604092839020835160a08101855286546001600160a01b031681526001870154928101929092529185015492810192909252600384015460608301526004840154608083015290612858908263ffffffff6131b916565b61286257506126f6565b806002015483600101541015612913576000816002015482600101548560010154028161288b57fe5b04905081600101548111156128d9576040805162461bcd60e51b815260206004820152600f60248201526e66696c6c61626c65203e206861766560881b604482015290519081900360640190fd5b60018401546128f39087908590849063ffffffff6131d816565b600184015461290c90899089908463ffffffff6131d816565b50506126f6565b6002810154600182015461293191899189919063ffffffff6131d816565b6004810154612946868463ffffffff61337016565b91506127d69050565b60408201516001820154600290920154602090930151910291021190565b600082600001828154811061297e57fe5b6000918252602090912001546001600160a01b03169392505050565b546001600160a01b0316151590565b6000806129b583610dc4565b9050600081136129c957600091505061058e565b6129d283610dc4565b836002015402915050919050565b6000808212156129f75781600003830390506104df565b500190565b54151590565b6000828413158015612a145750818313155b80612a2a5750828412158015612a2a5750818312155b949350505050565b6000828411158015612a445750818311155b80612a2a5750828410158015612a2a5750501115919050565b6000808213612a6f57816000036104df565b5090565b600080612a8786868663ffffffff612e2616565b909250905060008086612a9b578383612a9e565b82845b895460408051636eb1769f60e11b81526001600160a01b038a811660048301523060248301529151949650929450169163dd62ed3e91604480820192602092909190829003018186803b158015612af457600080fd5b505afa158015612b08573d6000803e3d6000fd5b505050506040513d6020811015612b1e57600080fd5b50518211801590612ba657508754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015612b7657600080fd5b505afa158015612b8a573d6000803e3d6000fd5b505050506040513d6020811015612ba057600080fd5b50518211155b15612e1b578754604080516334902c6160e11b815290516001600160a01b03909216916323b872dd918891849163692058c29160048083019260209291908290030181600087803b158015612bfa57600080fd5b505af1158015612c0e573d6000803e3d6000fd5b505050506040513d6020811015612c2457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018690525160648083019260209291908290030181600087803b158015612c7d57600080fd5b505af1158015612c91573d6000803e3d6000fd5b505050506040513d6020811015612ca757600080fd5b505087546040805163117f5a5560e01b81526004810185905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015612cf557600080fd5b505af1158015612d09573d6000803e3d6000fd5b50505060018901546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b158015612d5b57600080fd5b505af1158015612d6f573d6000803e3d6000fd5b5050505060018801546040805163a9059cbb60e01b81526001600160a01b038881166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015612dcb57600080fd5b505af1158015612ddf573d6000803e3d6000fd5b505050506040513d6020811015612df557600080fd5b50879050612e035780612e05565b815b8301925086612e145781612e16565b805b840193505b505094509492505050565b6000806000612e3486610ef2565b90505b6000198114801590612e4857508382105b156130ea57600081815260028701602052604081209086612e6d578160020154612e73565b81600101545b9050600087612e86578260010154612e8c565b82600201545b905086612e9f868463ffffffff6133f516565b11612f8e57885460018401546040805163117f5a5560e01b81526004810192909252516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015612ef557600080fd5b505af1158015612f09573d6000803e3d6000fd5b50505060018a015460028501546040805163bdfde91160e01b81526004810192909252516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b158015612f6057600080fd5b505af1158015612f74573d6000803e3d6000fd5b505050506004830154612f878a86613370565b93506130be565b6000612fa0888763ffffffff61344f16565b90508281830281612fad57fe5b049150809250600089612fc05782612fc2565b835b905060008a612fd15784612fd3565b835b8c546040805163117f5a5560e01b81526004810186905290519293506001600160a01b039091169163117f5a559160248082019260009290919082900301818387803b15801561302257600080fd5b505af1158015613036573d6000803e3d6000fd5b50505060018d01546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561308857600080fd5b505af115801561309c573d6000803e3d6000fd5b506130b592508e9150899050848463ffffffff6131d816565b50600019955050505b6130ce858363ffffffff6133f516565b94506130e0868263ffffffff6133f516565b9550505050612e37565b50935093915050565b600081815260028401602052604081205b600401546000818152600286016020526040902090925061312b848263ffffffff6134a616565b15613104575b6003015460008181526002860160205260409020909250613158848263ffffffff6134a616565b6131315750909392505050565b600081815260029093016020526040808420600490810180548587528387206003808201879055930181905586529185200183905592529055565b60008160010154600014806104df575050600201541590565b6040820151600282015460019092015460209093015191029102101590565b600083815260028501602052604090206131f18161299a565b613234576040805162461bcd60e51b815260206004820152600f60248201526e1bdc99195c881b9bdd08195e1a5cdd608a1b604482015290519081900360640190fd5b806001015483111561328d576040805162461bcd60e51b815260206004820152601a60248201527f66696c6c206d6f7265207468616e206861766520616d6f756e74000000000000604482015290519081900360640190fd5b60018101546132a2908463ffffffff61344f16565b600182015560028101548210156132c35760028101805483900390556132cb565b600060028201555b600185015481546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561332557600080fd5b505af1158015613339573d6000803e3d6000fd5b505050506040513d602081101561334f57600080fd5b5061335b9050816131a0565b156112a4576112a4858563ffffffff610cbf16565b600081815260028084016020526040909120015415610d6e57600182015460008281526002808501602090815260408084208054930154815163a9059cbb60e01b81526001600160a01b03948516600482015260248101919091529051929094169363a9059cbb93604480830194928390030190829087803b158015610d4157600080fd5b600082820183811015610cb8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282111561157e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b60008260020154826001015402826002015484600101540211905092915050565b8280548282559060005260206000209081019282156135075760005260206000209182015b828111156135075782548255916001019190600101906134ec565b50612a6f92915061364c565b5080546000825560030290600052602060002090810190610a0e9190613670565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5080546000825590600052602060002090810190610a0e9190613693565b6040518060e0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016135c66136ad565b905290565b8154818355818111156108f4576009028160090283600052602060002091820191016108f491906136c0565b828054828255906000526020600020908101928215613507579160200282015b8281111561350757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613617565b610a2091905b80821115612a6f5780546001600160a01b0319168155600101613652565b610a2091905b80821115612a6f57600061368a8282613562565b50600301613676565b610a2091905b80821115612a6f5760008155600101613699565b6040518060200160405280606081525090565b610a2091905b80821115612a6f5780546001600160a01b03191681556000600182018190556002820181905560038201819055600482018190556005820181905560068201816137108282613562565b5050506009016136c656fe6c6f636b646f776e206475726174696f6e20706172616d20746f6f2073686f7274ada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5a265627a7a723158202d6a6ed195f91630d6517dfd73057ea7dcf243b7a15c3b36a2287cb5f50abc4d64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var PreemptivableBin = "0x608060405262049d406003556002600354816200001857fe5b0460045562127500600e556002600e54816200003057fe5b04600f55600060105560006011553480156200004b57600080fd5b50604051620038cb380380620038cb833981810160405260808110156200007157600080fd5b508051602082015160408301516060909301519192909183838015620000975760038190555b60008211620000aa5760028104620000ac565b815b60045550508015620000be57600e8190555b60008211620000db576002600e5481620000d457fe5b04620000dd565b815b600f55505050506137d780620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063aa1c259c116100a2578063c0ee0b8a11610071578063c0ee0b8a14610308578063c7f758a81461038d578063ced4aac8146103e7578063ee1a68c614610427578063f318722b1461044a57610116565b8063aa1c259c14610287578063bd041c4d146102b5578063be91d729146102e3578063c08cc02d1461030057610116565b80634ea09797116100e95780634ea09797146101f957806369c07d311461021e5780636e6452cb1461023a57806374a8f103146102425780638aa3f8971461026857610116565b806307c399a31461011b5780630d90b10a1461017557806343271d79146101ac5780634def5645146101d3575b600080fd5b6101406004803603604081101561013157600080fd5b50803515159060200135610476565b604080516001600160a01b03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b61019a6004803603604081101561018b57600080fd5b508035151590602001356104bd565b60408051918252519081900360200190f35b6101d1600480360360408110156101c257600080fd5b508035151590602001356104e5565b005b61019a600480360360208110156101e957600080fd5b50356001600160a01b031661056b565b61019a6004803603604081101561020f57600080fd5b50803515159060200135610593565b6102266105b7565b604080519115158252519081900360200190f35b6102266105bc565b6101d16004803603602081101561025857600080fd5b50356001600160a01b03166105c1565b61019a6004803603602081101561027e57600080fd5b50351515610764565b6101d16004803603604081101561029d57600080fd5b506001600160a01b038135811691602001351661077e565b6101d1600480360360408110156102cb57600080fd5b506001600160a01b03813516906020013515156108f9565b6101d1600480360360208110156102f957600080fd5b5035610973565b61019a610a11565b6101d16004803603606081101561031e57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561034e57600080fd5b82018360208201111561036057600080fd5b8035906020019184600183028401116401000000008311171561038257600080fd5b509092509050610a23565b6103aa600480360360208110156103a357600080fd5b5035610b46565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b61019a600480360360a08110156103fd57600080fd5b5080351515906001600160a01b036020820135169060408101359060608101359060800135610b9a565b61042f610c02565b60408051921515835260208301919091528051918290030190f35b61019a6004803603604081101561046057600080fd5b506001600160a01b038135169060200135610cac565b90151560009081526020818152604080832093835260029384019091529020805460018201549282015460038301546004909301546001600160a01b039092169490929190565b8115156000908152602081815260408083208484526002019091529020600301545b92915050565b8115156000908152602081815260408083208484526002810190925290912080546001600160a01b03163314610555576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037b93232b91036b0b5b2b960811b604482015290519081900360640190fd5b610565828463ffffffff610cbf16565b50505050565b60008061057f60128463ffffffff610d8216565b905061058a81610dc4565b9150505b919050565b90151560009081526020818152604080832093835260029093019052206004015490565b600081565b600181565b60006105d460128363ffffffff610d8216565b80549091506001600160a01b03838116911614610638576040805162461bcd60e51b815260206004820152601e60248201527f6f6e6c79206d616b65722063616e207265766f6b652070726f706f73616c0000604482015290519081900360640190fd5b601480546001810180835560009290925260068301805490916003027fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec019061068490829084906134c7565b5050600154835460028501546040805163a9059cbb60e01b81526001600160a01b03938416600482015260248101929092525191909216935063a9059cbb925060448083019260209291908290030181600087803b1580156106e557600080fd5b505af11580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b50610723905060128363ffffffff610eaa16565b50604080516001600160a01b038416815290517f9f77920c3de8baaa98d273e8aa75fae382aaa9f7f60f38979137853e5b73ea2c9181900360200190a15050565b801515600090815260208190526040812061058a81610ef2565b6001546001600160a01b0316156107dc576040805162461bcd60e51b815260206004820152601960248201527f566f6c6174696c65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b6002546001600160a01b03161561083a576040805162461bcd60e51b815260206004820152601960248201527f537461626c697a65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b600180546001600160a01b038085166001600160a01b03199283161790925560028054928416929091169190911790556108748282610f0b565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156108b957600080fd5b505afa1580156108cd573d6000803e3d6000fd5b505050506040513d60208110156108e357600080fd5b505190506108f48180600080610f5b565b505050565b61090a60128363ffffffff610ffa16565b61094e576040805162461bcd60e51b815260206004820152601060248201526f1b9bc81cdd58da081c1c9bdc1bdcd85b60821b604482015290519081900360640190fd5b600061096160128463ffffffff610d8216565b90506108f4818363ffffffff61101b16565b33156109b7576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b60005b6014548110156109ef576109e7601482815481106109d457fe5b906000526020600020906003020161102f565b6001016109ba565b506109fc60146000613513565b610a0461109c565b50610a0e81611110565b50565b6000610a1d60126112ab565b90505b90565b608081148015610a3d57506001546001600160a01b031633145b15610ae057610a5360128563ffffffff610ffa16565b15610a9e576040805162461bcd60e51b8152602060048201526016602482015275185b1c9958591e481a185cc818481c1c9bdc1bdcd85b60521b604482015290519081900360640190fd5b60008060008085856080811015610ab457600080fd5b50803594506020810135935060400135915060009050610ad788858986866112af565b50505050610565565b600080806060841415610b145784846060811015610afd57600080fd5b508035935060208101359250604001359050610b30565b84846040811015610b2457600080fd5b50803593506020013591505b610b3d878488858561148c565b50505050505050565b6000808080808080610b5f60128963ffffffff6114e716565b805460028201546001830154600384015460048501546005909501546001600160a01b039094169d929c50909a509850919650945092505050565b8415156000908152602081905260408120610bb3613534565b506040805160a0810182526001600160a01b0388168152602081018790529081018590526000606082018190526080820152610bf682828663ffffffff6114f816565b98975050505050505050565b6007546000908190610c1957506000905080610ca8565b6001610ca3600560020154600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7257600080fd5b505afa158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b505161156a565b915091505b9091565b6000610cb88383611584565b9392505050565b600081815260028301602052604090206001015415610d6e578154600082815260028401602090815260408083208054600190910154825163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b505050506040513d6020811015610d6b57600080fd5b50505b610d7e828263ffffffff61165116565b5050565b6001600160a01b03811660009081526001830160205260408120548354849160001901908110610dae57fe5b9060005260206000209060090201905092915050565b600080805b610dd5846006016112ab565b811015610ea357600080610df2600687018463ffffffff6116b116565b600154604080516370a0823160e01b81526001600160a01b03808616600483015291519496509294506000939116916370a08231916024808301926020929190829003018186803b158015610e4657600080fd5b505afa158015610e5a573d6000803e3d6000fd5b505050506040513d6020811015610e7057600080fd5b50516001600160a01b038416310190508115610e8f5793840193610e95565b80850394505b505050806001019050610dc9565b5092915050565b6001600160a01b038116600090815260018301602052604081205480610ed45760009150506104df565b610ee884600019830163ffffffff6116f016565b5060019392505050565b6000808052600282016020526040902060040154919050565b6000808052602052610f3260008051602061375d833981519152838363ffffffff6118a616565b60016000908152602052610d7e60008051602061373d833981519152828463ffffffff6118a616565b604080516080810182526003544301808252602082018690529181018690528215156060909101819052600591909155600684905560078590556008805460ff191690911790556000610fae858561156a565b60408051828152602081018790528515158183015290519192507f0427b353dc7214e3d8c7f5039475a8e729f4d62922937381e304cd03becf66d2919081900360600190a15050505050565b6001600160a01b031660009081526001919091016020526040902054151590565b6108f460068301338363ffffffff611a5316565b60005b815481101561109057600082600001828154811061104c57fe5b60009182526020808320909101546001600160a01b03168252600185810182526040808420849055600287019092529120805460ff19169055919091019050611032565b50610a0e816000613562565b60006110a86009611b6f565b156110b557506000610a20565b6000806110c0611b8b565b90925090506001600160a01b0382166110de57600092505050610a20565b60006110f160128463ffffffff610d8216565b90506110fc81611c3c565b6111068183611dc5565b6001935050505090565b3315611154576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b61115e6005611e08565b1561116b5761116b611e21565b6111756009611e65565b1561118257611182611e82565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d60208110156111f157600080fd5b50519050811561127957611203611f8c565b1561121a576112158282600080610f5b565b611237565b6112248183611f98565b1561123757611237828260016000610f5b565b6112416009611b6f565b15611279576000611252838361156a565b905061125d81612046565b801561126b575060085460ff165b15611277575050610a0e565b505b61128a60058263ffffffff61216816565b15610d7e57600061129961219d565b90506112a481612252565b5050505050565b5490565b6003601154816112bb57fe5b04601154038311611303576040805162461bcd60e51b815260206004820152600d60248201526c7374616b6520746f6f206c6f7760981b604482015290519081900360640190fd5b61130b613580565b8215611381576003600f548161131d57fe5b04600f54018311611375576040805162461bcd60e51b815260206004820181905260248201527f736c617368696e67206475726174696f6e20706172616d20746f6f206c6f6e67604482015290519081900360640190fd5b6060810183905261138a565b600f5460608201525b81156113ea576003600e548161139c57fe5b04600e540382106113de5760405162461bcd60e51b815260040180806020018281038252602181526020018061371c6021913960400191505060405180910390fd5b608081018290526113f3565b600e5460808201525b6001600160a01b038616815260208101859052604081018490524360a082015261142460128263ffffffff6122f916565b50606080820151608080840151604080516001600160a01b038c168152602081018b90528082018a90529485019390935290830152517f56e25d1b63c01627fcd54936462c97aeb9a18352bf0ed161e8141a33cfd795ca9181900360a00190a1505050505050565b600061149733612446565b905060006114ae828888888863ffffffff61252916565b90506114c182828563ffffffff6126c116565b506114dd816114cf336126ff565b84919063ffffffff6127b916565b5050505050505050565b6000826000018281548110610dae57fe5b600081815260028401602052604081205b6004015460008181526002860160205260409020909250611530848263ffffffff61294f16565b15611509575b600301546000818152600286016020526040902090925061155d848263ffffffff61294f16565b6115365750909392505050565b600081831161157e57828203600003610cb8565b50900390565b60006002838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106115f45780518252601f1990920191602091820191016115d5565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611633573d6000803e3d6000fd5b5050506040513d602081101561164857600080fd5b50519392505050565b6000818152600292830160205260408082206004808201805460038085018054885286882090940182905583549187529486209094019390935593835280546001600160a01b031916815560018101839055909301819055908190559055565b600080806116c5858563ffffffff61296d16565b6001600160a01b038116600090815260028701602052604090205490935060ff169150509250929050565b81600101600083600001838154811061170557fe5b600091825260208083206009909202909101546001600160a01b03168352820192909252604001812055815460001901811461182e5781548290600019810190811061174d57fe5b906000526020600020906009020182600001828154811061176a57fe5b60009182526020909120825460099092020180546001600160a01b0319166001600160a01b0390921691909117815560018083015490820155600280830154908201556003808301549082015560048083015490820155600580830154908201556006808301805490918301906117e490829084906134c7565b5050509050508060010182600101600084600001848154811061180357fe5b600091825260208083206009909202909101546001600160a01b031683528201929092526040019020555b81548290600019810190811061184057fe5b60009182526020822060099091020180546001600160a01b031916815560018101829055600281018290556003810182905560048101829055600581018290559060068201816118908282613562565b5050835491506108f490508360001983016135cb565b818360000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808360010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060a00160405280306001600160a01b0316815260200160008152602001600081526020016000801b815260200160001960001b8152508360020160008060001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506040518060a00160405280306001600160a01b0316815260200160008152602001600181526020016000801b815260200160001960001b81525083600201600060001960001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050565b6001600160a01b03821660009081526002840160209081526040808320805460ff19168515151790556001860190915281205480611ad6575050825460018082018086556000868152602080822090940180546001600160a01b0319166001600160a01b0388169081179091558152828701909352604090922091909155610cb8565b8454811180611b145750836001600160a01b0316856000016001830381548110611afc57fe5b6000918252602090912001546001600160a01b031614155b15611b64575050825460018082018086556000868152602080822090940180546001600160a01b0319166001600160a01b0388169081179091558152828701909352604090922091909155610cb8565b506000949350505050565b6000611b7a8261299a565b80156104df57505060040154431090565b6000806000600360105481611b9c57fe5b60105491900490039050600080805b611bb560126112ab565b811015611c32576000611bcf60128363ffffffff6114e716565b90506004600e5481611bdd57fe5b04816005015443031015611bf15750611c2a565b6000611bfc826129a9565b905085811215611c0d575050611c2a565b84811315611c275781549094506001600160a01b03169250835b50505b600101611bab565b5093509150509091565b611c488160060161102f565b6040805160a08101825282546001600160a01b039081168083526001850154602084018190526002860154948401859052600386015460608501819052600487015443016080909501859052600980546001600160a01b031916909317909255600a55600b93909355600c92909255600d558154611ccf916012911663ffffffff610eaa16565b50600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015611d1557600080fd5b505afa158015611d29573d6000803e3d6000fd5b505050506040513d6020811015611d3f57600080fd5b5051600a54909150600090611d559083906129e0565b9050611d648183600180610f5b565b600954600b54600c54600d54604080516001600160a01b0390951685526020850193909352838301919091526060830152517f8427e4488966b7bd3193a4617993e5e6b9186f0c4b2c303cc6178f4e33b77d089181900360800190a1505050565b60108054909101600190811c909155600282015460118054909101821c90556004820154600e8054909101821c9055600390910154600f805490910190911c9055565b6000611e13826129fc565b80156104df57505054431190565b60006005819055600681905560078190556008805460ff191690556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b6000611e708261299a565b80156104df5750506004015443101590565b611e8c600961299a565b611e9557611f8a565b600b5415611f2657600154600954600b546040805163a9059cbb60e01b81526001600160a01b039384166004820152602481019290925251919092169163a9059cbb9160448083019260209291908290030181600087803b158015611ef957600080fd5b505af1158015611f0d573d6000803e3d6000fd5b505050506040513d6020811015611f2357600080fd5b50505b600954604080516001600160a01b039092168252517f0be774851955c26a1d6a32b13b020663a069006b4a3b643ff0b809d3182605729181900360200190a1600980546001600160a01b03191690556000600a819055600b819055600c819055600d555b565b6000610a1d6005611e08565b600082821415611faa575060006104df565b6006546007541415611fbe575060016104df565b8282111561201257600654600754848403911015611ff457600654600754036002818381611fe857fe5b041015925050506104df565b60075460065403600282828161200657fe5b041115925050506104df565b60065460075483850391111561203457600754600654036002818381611fe857fe5b60065460075403600282828161200657fe5b6000612059600960010154600084612a02565b6120655750600061058e565b600c54600a54600091908483038161207957fe5b058161208157fe5b0490508061208d575060015b600b548111156120ab5750600b546120a3611e21565b6120ab611e82565b600b805482900390556001546040805163117f5a5560e01b81526004810184905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b15801561210157600080fd5b505af1158015612115573d6000803e3d6000fd5b5050600954604080516001600160a01b0390921682526020820185905280517fa69f22d963cb7981f842db8c1aafcc93d915ba2a95dcf26dcc333a9c2a09be26945091829003019150a150600192915050565b6000612173836129fc565b8015612183575082600201548214155b8015610cb85750610cb88360010154838560020154612a32565b6000806121b460056002015460056001015461156a565b600754600254604080516318160ddd60e01b8152905193945060009361220493926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610c7257600080fd5b905061221260008284612a02565b61222157600092505050610a20565b6000600454838161222e57fe5b05905061223d60008284612a02565b61224b57509150610a209050565b9250505090565b600080600080600080861361226857600161226b565b60005b15158152602081019190915260400160002060025481546008549293506001600160a01b039081169116149060ff16156122d2576122c7816122ac87612a5d565b600954859291906001600160a01b031663ffffffff612a7316565b9350935050506122f4565b6122ed816122df87612a5d565b84919063ffffffff612e2616565b9350935050505b915091565b80516001600160a01b031660009081526001830160205260408120548015612368576040805162461bcd60e51b815260206004820152601c60248201527f6d616b657220616c72656164792068617320612070726f706f73616c00000000604482015290519081900360640190fd5b835460018082018087556000878152602090819020875160099095020180546001600160a01b0319166001600160a01b03909516949094178455868101519284019290925560408601516002840155606086015160038401556080860151600484015560a0860151600584015560c08601518051805192948894909360068501926123f79284929101906135f7565b505086516001600160a01b03166000908152600189016020526040902084905550508554919250859160001984019150811061242f57fe5b906000526020600020906009020191505092915050565b6000808052602081905260008051602061375d833981519152546001600160a01b03838116911614156124905750600080805260205260008051602061375d83398151915261058e565b6001600090815260205260008051602061373d833981519152546001600160a01b03838116911614156124dc57506001600090815260205260008051602061373d83398151915261058e565b6040805162461bcd60e51b815260206004820152601760248201527f6e6f206f7264657220626f6f6b20666f7220746f6b656e000000000000000000604482015290519081900360640190fd5b6000808311801561253a5750600082115b612578576040805162461bcd60e51b815260206004820152600a6024820152691e995c9bc81a5b9c1d5d60b21b604482015290519081900360640190fd5b600160801b8310801561258e5750600160801b82105b6125d2576040805162461bcd60e51b815260206004820152601060248201526f1a5b9c1d5d081bdd995c881b1a5b5a5d60821b604482015290519081900360640190fd5b60006125de8686611584565b600081815260028901602052604090209091506125fa8161299a565b15612641576040805162461bcd60e51b81526020600482015260126024820152716f7264657220696e6465782065786973747360701b604482015290519081900360640190fd5b506040805160a0810182526001600160a01b03978816815260208082019687528183019586526000606083018181526080840182815286835260029c8d01909352939020915182546001600160a01b0319169916989098178155945160018601559251968401969096555051600382015591516004909201919091555090565b60008281526002840160205260408120816126e386838663ffffffff6130f316565b90506126f686868363ffffffff61316516565b95945050505050565b600080805260208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb6546001600160a01b038381169116141561275b5750600080805260205260008051602061375d83398151915261058e565b600160009081526020527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7e546001600160a01b03838116911614156124dc57506001600090815260205260008051602061373d83398151915261058e565b60008281526002840160205260408120816127d384610ef2565b90505b60001981146126f6576127e8826131a0565b156127f2576126f6565b600081815260028086016020908152604092839020835160a08101855286546001600160a01b031681526001870154928101929092529185015492810192909252600384015460608301526004840154608083015290612858908263ffffffff6131b916565b61286257506126f6565b806002015483600101541015612913576000816002015482600101548560010154028161288b57fe5b04905081600101548111156128d9576040805162461bcd60e51b815260206004820152600f60248201526e66696c6c61626c65203e206861766560881b604482015290519081900360640190fd5b60018401546128f39087908590849063ffffffff6131d816565b600184015461290c90899089908463ffffffff6131d816565b50506126f6565b6002810154600182015461293191899189919063ffffffff6131d816565b6004810154612946868463ffffffff61337016565b91506127d69050565b60408201516001820154600290920154602090930151910291021190565b600082600001828154811061297e57fe5b6000918252602090912001546001600160a01b03169392505050565b546001600160a01b0316151590565b6000806129b583610dc4565b9050600081136129c957600091505061058e565b6129d283610dc4565b836002015402915050919050565b6000808212156129f75781600003830390506104df565b500190565b54151590565b6000828413158015612a145750818313155b80612a2a5750828412158015612a2a5750818312155b949350505050565b6000828411158015612a445750818311155b80612a2a5750828410158015612a2a5750501115919050565b6000808213612a6f57816000036104df565b5090565b600080612a8786868663ffffffff612e2616565b909250905060008086612a9b578383612a9e565b82845b895460408051636eb1769f60e11b81526001600160a01b038a811660048301523060248301529151949650929450169163dd62ed3e91604480820192602092909190829003018186803b158015612af457600080fd5b505afa158015612b08573d6000803e3d6000fd5b505050506040513d6020811015612b1e57600080fd5b50518211801590612ba657508754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015612b7657600080fd5b505afa158015612b8a573d6000803e3d6000fd5b505050506040513d6020811015612ba057600080fd5b50518211155b15612e1b578754604080516334902c6160e11b815290516001600160a01b03909216916323b872dd918891849163692058c29160048083019260209291908290030181600087803b158015612bfa57600080fd5b505af1158015612c0e573d6000803e3d6000fd5b505050506040513d6020811015612c2457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018690525160648083019260209291908290030181600087803b158015612c7d57600080fd5b505af1158015612c91573d6000803e3d6000fd5b505050506040513d6020811015612ca757600080fd5b505087546040805163117f5a5560e01b81526004810185905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015612cf557600080fd5b505af1158015612d09573d6000803e3d6000fd5b50505060018901546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b158015612d5b57600080fd5b505af1158015612d6f573d6000803e3d6000fd5b5050505060018801546040805163a9059cbb60e01b81526001600160a01b038881166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015612dcb57600080fd5b505af1158015612ddf573d6000803e3d6000fd5b505050506040513d6020811015612df557600080fd5b50879050612e035780612e05565b815b8301925086612e145781612e16565b805b840193505b505094509492505050565b6000806000612e3486610ef2565b90505b6000198114801590612e4857508382105b156130ea57600081815260028701602052604081209086612e6d578160020154612e73565b81600101545b9050600087612e86578260010154612e8c565b82600201545b905086612e9f868463ffffffff6133f516565b11612f8e57885460018401546040805163117f5a5560e01b81526004810192909252516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015612ef557600080fd5b505af1158015612f09573d6000803e3d6000fd5b50505060018a015460028501546040805163bdfde91160e01b81526004810192909252516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b158015612f6057600080fd5b505af1158015612f74573d6000803e3d6000fd5b505050506004830154612f878a86613370565b93506130be565b6000612fa0888763ffffffff61344f16565b90508281830281612fad57fe5b049150809250600089612fc05782612fc2565b835b905060008a612fd15784612fd3565b835b8c546040805163117f5a5560e01b81526004810186905290519293506001600160a01b039091169163117f5a559160248082019260009290919082900301818387803b15801561302257600080fd5b505af1158015613036573d6000803e3d6000fd5b50505060018d01546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561308857600080fd5b505af115801561309c573d6000803e3d6000fd5b506130b592508e9150899050848463ffffffff6131d816565b50600019955050505b6130ce858363ffffffff6133f516565b94506130e0868263ffffffff6133f516565b9550505050612e37565b50935093915050565b600081815260028401602052604081205b600401546000818152600286016020526040902090925061312b848263ffffffff6134a616565b15613104575b6003015460008181526002860160205260409020909250613158848263ffffffff6134a616565b6131315750909392505050565b600081815260029093016020526040808420600490810180548587528387206003808201879055930181905586529185200183905592529055565b60008160010154600014806104df575050600201541590565b6040820151600282015460019092015460209093015191029102101590565b600083815260028501602052604090206131f18161299a565b613234576040805162461bcd60e51b815260206004820152600f60248201526e1bdc99195c881b9bdd08195e1a5cdd608a1b604482015290519081900360640190fd5b806001015483111561328d576040805162461bcd60e51b815260206004820152601a60248201527f66696c6c206d6f7265207468616e206861766520616d6f756e74000000000000604482015290519081900360640190fd5b60018101546132a2908463ffffffff61344f16565b600182015560028101548210156132c35760028101805483900390556132cb565b600060028201555b600185015481546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561332557600080fd5b505af1158015613339573d6000803e3d6000fd5b505050506040513d602081101561334f57600080fd5b5061335b9050816131a0565b156112a4576112a4858563ffffffff610cbf16565b600081815260028084016020526040909120015415610d6e57600182015460008281526002808501602090815260408084208054930154815163a9059cbb60e01b81526001600160a01b03948516600482015260248101919091529051929094169363a9059cbb93604480830194928390030190829087803b158015610d4157600080fd5b600082820183811015610cb8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282111561157e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b60008260020154826001015402826002015484600101540211905092915050565b8280548282559060005260206000209081019282156135075760005260206000209182015b828111156135075782548255916001019190600101906134ec565b50612a6f92915061364c565b5080546000825560030290600052602060002090810190610a0e9190613670565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5080546000825590600052602060002090810190610a0e9190613693565b6040518060e0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016135c66136ad565b905290565b8154818355818111156108f4576009028160090283600052602060002091820191016108f491906136c0565b828054828255906000526020600020908101928215613507579160200282015b8281111561350757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613617565b610a2091905b80821115612a6f5780546001600160a01b0319168155600101613652565b610a2091905b80821115612a6f57600061368a8282613562565b50600301613676565b610a2091905b80821115612a6f5760008155600101613699565b6040518060200160405280606081525090565b610a2091905b80821115612a6f5780546001600160a01b03191681556000600182018190556002820181905560038201819055600482018190556005820181905560068201816137108282613562565b5050506009016136c656fe6c6f636b646f776e206475726174696f6e20706172616d20746f6f2073686f7274ada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5a265627a7a723158209c59d9a7c4ffc0c2bcff0f8c160a9e1823c204a95e96f4276e278e0b2a1d13c364736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployPreemptivable deploys a new Ethereum contract, binding an instance of Preemptivable to it. func DeployPreemptivable(auth *bind.TransactOpts, backend bind.ContractBackend, absorptionDuration *big.Int, absorptionExpiration *big.Int, initialSlashingDuration *big.Int, initialLockdownExpiration *big.Int) (common.Address, *types.Transaction, *Preemptivable, error) { @@ -3922,7 +3922,7 @@ func (_Preemptivable *PreemptivableFilterer) ParseUnlock(log types.Log) (*Preemp const SafeMathABI = "[]" // SafeMathBin is the compiled bytecode used for deploying new contracts. -var SafeMathBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820b569b43828e96bc07c92a9db70da0302765f2b82ee389e40e8f04c6dd3f37c6e64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var SafeMathBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820c324cf30ee48c5910d286e2940b80e2d12dac521ff0472103054d9fd9b64d61864736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it. func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { @@ -4106,7 +4106,7 @@ var SeigniorageFuncSigs = map[string]string{ } // SeigniorageBin is the compiled bytecode used for deploying new contracts. -var SeigniorageBin = "0x608060405262049d406003556002600354816200001857fe5b0460045562127500600e556002600e54816200003057fe5b04600f55600060105560006011553480156200004b57600080fd5b50604051620038d3380380620038d3833981810160405260808110156200007157600080fd5b508051602082015160408301516060909301519192909183838383838380156200009b5760038190555b60008211620000ae5760028104620000b0565b815b60045550508015620000c257600e8190555b60008211620000df576002600e5481620000d857fe5b04620000e1565b815b600f5550505050505050506137d780620000fc6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063aa1c259c116100a2578063c0ee0b8a11610071578063c0ee0b8a14610308578063c7f758a81461038d578063ced4aac8146103e7578063ee1a68c614610427578063f318722b1461044a57610116565b8063aa1c259c14610287578063bd041c4d146102b5578063be91d729146102e3578063c08cc02d1461030057610116565b80634ea09797116100e95780634ea09797146101f957806369c07d311461021e5780636e6452cb1461023a57806374a8f103146102425780638aa3f8971461026857610116565b806307c399a31461011b5780630d90b10a1461017557806343271d79146101ac5780634def5645146101d3575b600080fd5b6101406004803603604081101561013157600080fd5b50803515159060200135610476565b604080516001600160a01b03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b61019a6004803603604081101561018b57600080fd5b508035151590602001356104bd565b60408051918252519081900360200190f35b6101d1600480360360408110156101c257600080fd5b508035151590602001356104e5565b005b61019a600480360360208110156101e957600080fd5b50356001600160a01b031661056b565b61019a6004803603604081101561020f57600080fd5b50803515159060200135610593565b6102266105b7565b604080519115158252519081900360200190f35b6102266105bc565b6101d16004803603602081101561025857600080fd5b50356001600160a01b03166105c1565b61019a6004803603602081101561027e57600080fd5b50351515610764565b6101d16004803603604081101561029d57600080fd5b506001600160a01b038135811691602001351661077e565b6101d1600480360360408110156102cb57600080fd5b506001600160a01b03813516906020013515156108f9565b6101d1600480360360208110156102f957600080fd5b5035610973565b61019a610a11565b6101d16004803603606081101561031e57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561034e57600080fd5b82018360208201111561036057600080fd5b8035906020019184600183028401116401000000008311171561038257600080fd5b509092509050610a23565b6103aa600480360360208110156103a357600080fd5b5035610b46565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b61019a600480360360a08110156103fd57600080fd5b5080351515906001600160a01b036020820135169060408101359060608101359060800135610b9a565b61042f610c02565b60408051921515835260208301919091528051918290030190f35b61019a6004803603604081101561046057600080fd5b506001600160a01b038135169060200135610cac565b90151560009081526020818152604080832093835260029384019091529020805460018201549282015460038301546004909301546001600160a01b039092169490929190565b8115156000908152602081815260408083208484526002019091529020600301545b92915050565b8115156000908152602081815260408083208484526002810190925290912080546001600160a01b03163314610555576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037b93232b91036b0b5b2b960811b604482015290519081900360640190fd5b610565828463ffffffff610cbf16565b50505050565b60008061057f60128463ffffffff610d8216565b905061058a81610dc4565b9150505b919050565b90151560009081526020818152604080832093835260029093019052206004015490565b600081565b600181565b60006105d460128363ffffffff610d8216565b80549091506001600160a01b03838116911614610638576040805162461bcd60e51b815260206004820152601e60248201527f6f6e6c79206d616b65722063616e207265766f6b652070726f706f73616c0000604482015290519081900360640190fd5b601480546001810180835560009290925260068301805490916003027fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec019061068490829084906134c7565b5050600154835460028501546040805163a9059cbb60e01b81526001600160a01b03938416600482015260248101929092525191909216935063a9059cbb925060448083019260209291908290030181600087803b1580156106e557600080fd5b505af11580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b50610723905060128363ffffffff610eaa16565b50604080516001600160a01b038416815290517f9f77920c3de8baaa98d273e8aa75fae382aaa9f7f60f38979137853e5b73ea2c9181900360200190a15050565b801515600090815260208190526040812061058a81610ef2565b6001546001600160a01b0316156107dc576040805162461bcd60e51b815260206004820152601960248201527f566f6c6174696c65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b6002546001600160a01b03161561083a576040805162461bcd60e51b815260206004820152601960248201527f537461626c697a65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b600180546001600160a01b038085166001600160a01b03199283161790925560028054928416929091169190911790556108748282610f0b565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156108b957600080fd5b505afa1580156108cd573d6000803e3d6000fd5b505050506040513d60208110156108e357600080fd5b505190506108f48180600080610f5b565b505050565b61090a60128363ffffffff610ffa16565b61094e576040805162461bcd60e51b815260206004820152601060248201526f1b9bc81cdd58da081c1c9bdc1bdcd85b60821b604482015290519081900360640190fd5b600061096160128463ffffffff610d8216565b90506108f4818363ffffffff61101b16565b33156109b7576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b60005b6014548110156109ef576109e7601482815481106109d457fe5b906000526020600020906003020161102f565b6001016109ba565b506109fc60146000613513565b610a0461109c565b50610a0e81611110565b50565b6000610a1d60126112ab565b90505b90565b608081148015610a3d57506001546001600160a01b031633145b15610ae057610a5360128563ffffffff610ffa16565b15610a9e576040805162461bcd60e51b8152602060048201526016602482015275185b1c9958591e481a185cc818481c1c9bdc1bdcd85b60521b604482015290519081900360640190fd5b60008060008085856080811015610ab457600080fd5b50803594506020810135935060400135915060009050610ad788858986866112af565b50505050610565565b600080806060841415610b145784846060811015610afd57600080fd5b508035935060208101359250604001359050610b30565b84846040811015610b2457600080fd5b50803593506020013591505b610b3d878488858561148c565b50505050505050565b6000808080808080610b5f60128963ffffffff6114e716565b805460028201546001830154600384015460048501546005909501546001600160a01b039094169d929c50909a509850919650945092505050565b8415156000908152602081905260408120610bb3613534565b506040805160a0810182526001600160a01b0388168152602081018790529081018590526000606082018190526080820152610bf682828663ffffffff6114f816565b98975050505050505050565b6007546000908190610c1957506000905080610ca8565b6001610ca3600560020154600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7257600080fd5b505afa158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b505161156a565b915091505b9091565b6000610cb88383611584565b9392505050565b600081815260028301602052604090206001015415610d6e578154600082815260028401602090815260408083208054600190910154825163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b505050506040513d6020811015610d6b57600080fd5b50505b610d7e828263ffffffff61165116565b5050565b6001600160a01b03811660009081526001830160205260408120548354849160001901908110610dae57fe5b9060005260206000209060090201905092915050565b600080805b610dd5846006016112ab565b811015610ea357600080610df2600687018463ffffffff6116b116565b600154604080516370a0823160e01b81526001600160a01b03808616600483015291519496509294506000939116916370a08231916024808301926020929190829003018186803b158015610e4657600080fd5b505afa158015610e5a573d6000803e3d6000fd5b505050506040513d6020811015610e7057600080fd5b50516001600160a01b038416310190508115610e8f5793840193610e95565b80850394505b505050806001019050610dc9565b5092915050565b6001600160a01b038116600090815260018301602052604081205480610ed45760009150506104df565b610ee884600019830163ffffffff6116f016565b5060019392505050565b6000808052600282016020526040902060040154919050565b6000808052602052610f3260008051602061375d833981519152838363ffffffff6118a616565b60016000908152602052610d7e60008051602061373d833981519152828463ffffffff6118a616565b604080516080810182526003544301808252602082018690529181018690528215156060909101819052600591909155600684905560078590556008805460ff191690911790556000610fae858561156a565b60408051828152602081018790528515158183015290519192507f0427b353dc7214e3d8c7f5039475a8e729f4d62922937381e304cd03becf66d2919081900360600190a15050505050565b6001600160a01b031660009081526001919091016020526040902054151590565b6108f460068301338363ffffffff611a5316565b60005b815481101561109057600082600001828154811061104c57fe5b60009182526020808320909101546001600160a01b03168252600185810182526040808420849055600287019092529120805460ff19169055919091019050611032565b50610a0e816000613562565b60006110a86009611b6f565b156110b557506000610a20565b6000806110c0611b8b565b90925090506001600160a01b0382166110de57600092505050610a20565b60006110f160128463ffffffff610d8216565b90506110fc81611c3c565b6111068183611dc5565b6001935050505090565b3315611154576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b61115e6005611e08565b1561116b5761116b611e21565b6111756009611e65565b1561118257611182611e82565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d60208110156111f157600080fd5b50519050811561127957611203611f8c565b1561121a576112158282600080610f5b565b611237565b6112248183611f98565b1561123757611237828260016000610f5b565b6112416009611b6f565b15611279576000611252838361156a565b905061125d81612046565b801561126b575060085460ff165b15611277575050610a0e565b505b61128a60058263ffffffff61216816565b15610d7e57600061129961219d565b90506112a481612252565b5050505050565b5490565b6003601154816112bb57fe5b04601154038311611303576040805162461bcd60e51b815260206004820152600d60248201526c7374616b6520746f6f206c6f7760981b604482015290519081900360640190fd5b61130b613580565b8215611381576003600f548161131d57fe5b04600f54018311611375576040805162461bcd60e51b815260206004820181905260248201527f736c617368696e67206475726174696f6e20706172616d20746f6f206c6f6e67604482015290519081900360640190fd5b6060810183905261138a565b600f5460608201525b81156113ea576003600e548161139c57fe5b04600e540382106113de5760405162461bcd60e51b815260040180806020018281038252602181526020018061371c6021913960400191505060405180910390fd5b608081018290526113f3565b600e5460808201525b6001600160a01b038616815260208101859052604081018490524360a082015261142460128263ffffffff6122f916565b50606080820151608080840151604080516001600160a01b038c168152602081018b90528082018a90529485019390935290830152517f56e25d1b63c01627fcd54936462c97aeb9a18352bf0ed161e8141a33cfd795ca9181900360a00190a1505050505050565b600061149733612446565b905060006114ae828888888863ffffffff61252916565b90506114c182828563ffffffff6126c116565b506114dd816114cf336126ff565b84919063ffffffff6127b916565b5050505050505050565b6000826000018281548110610dae57fe5b600081815260028401602052604081205b6004015460008181526002860160205260409020909250611530848263ffffffff61294f16565b15611509575b600301546000818152600286016020526040902090925061155d848263ffffffff61294f16565b6115365750909392505050565b600081831161157e57828203600003610cb8565b50900390565b60006002838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106115f45780518252601f1990920191602091820191016115d5565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611633573d6000803e3d6000fd5b5050506040513d602081101561164857600080fd5b50519392505050565b6000818152600292830160205260408082206004808201805460038085018054885286882090940182905583549187529486209094019390935593835280546001600160a01b031916815560018101839055909301819055908190559055565b600080806116c5858563ffffffff61296d16565b6001600160a01b038116600090815260028701602052604090205490935060ff169150509250929050565b81600101600083600001838154811061170557fe5b600091825260208083206009909202909101546001600160a01b03168352820192909252604001812055815460001901811461182e5781548290600019810190811061174d57fe5b906000526020600020906009020182600001828154811061176a57fe5b60009182526020909120825460099092020180546001600160a01b0319166001600160a01b0390921691909117815560018083015490820155600280830154908201556003808301549082015560048083015490820155600580830154908201556006808301805490918301906117e490829084906134c7565b5050509050508060010182600101600084600001848154811061180357fe5b600091825260208083206009909202909101546001600160a01b031683528201929092526040019020555b81548290600019810190811061184057fe5b60009182526020822060099091020180546001600160a01b031916815560018101829055600281018290556003810182905560048101829055600581018290559060068201816118908282613562565b5050835491506108f490508360001983016135cb565b818360000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808360010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060a00160405280306001600160a01b0316815260200160008152602001600081526020016000801b815260200160001960001b8152508360020160008060001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506040518060a00160405280306001600160a01b0316815260200160008152602001600181526020016000801b815260200160001960001b81525083600201600060001960001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050565b6001600160a01b03821660009081526002840160209081526040808320805460ff19168515151790556001860190915281205480611ad6575050825460018082018086556000868152602080822090940180546001600160a01b0319166001600160a01b0388169081179091558152828701909352604090922091909155610cb8565b8454811180611b145750836001600160a01b0316856000016001830381548110611afc57fe5b6000918252602090912001546001600160a01b031614155b15611b64575050825460018082018086556000868152602080822090940180546001600160a01b0319166001600160a01b0388169081179091558152828701909352604090922091909155610cb8565b506000949350505050565b6000611b7a8261299a565b80156104df57505060040154431090565b6000806000600360105481611b9c57fe5b60105491900490039050600080805b611bb560126112ab565b811015611c32576000611bcf60128363ffffffff6114e716565b90506004600e5481611bdd57fe5b04816005015443031015611bf15750611c2a565b6000611bfc826129a9565b905085811215611c0d575050611c2a565b84811315611c275781549094506001600160a01b03169250835b50505b600101611bab565b5093509150509091565b611c488160060161102f565b6040805160a08101825282546001600160a01b039081168083526001850154602084018190526002860154948401859052600386015460608501819052600487015443016080909501859052600980546001600160a01b031916909317909255600a55600b93909355600c92909255600d558154611ccf916012911663ffffffff610eaa16565b50600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015611d1557600080fd5b505afa158015611d29573d6000803e3d6000fd5b505050506040513d6020811015611d3f57600080fd5b5051600a54909150600090611d559083906129e0565b9050611d648183600180610f5b565b600954600b54600c54600d54604080516001600160a01b0390951685526020850193909352838301919091526060830152517f8427e4488966b7bd3193a4617993e5e6b9186f0c4b2c303cc6178f4e33b77d089181900360800190a1505050565b60108054909101600190811c909155600282015460118054909101821c90556004820154600e8054909101821c9055600390910154600f805490910190911c9055565b6000611e13826129fc565b80156104df57505054431190565b60006005819055600681905560078190556008805460ff191690556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b6000611e708261299a565b80156104df5750506004015443101590565b611e8c600961299a565b611e9557611f8a565b600b5415611f2657600154600954600b546040805163a9059cbb60e01b81526001600160a01b039384166004820152602481019290925251919092169163a9059cbb9160448083019260209291908290030181600087803b158015611ef957600080fd5b505af1158015611f0d573d6000803e3d6000fd5b505050506040513d6020811015611f2357600080fd5b50505b600954604080516001600160a01b039092168252517f0be774851955c26a1d6a32b13b020663a069006b4a3b643ff0b809d3182605729181900360200190a1600980546001600160a01b03191690556000600a819055600b819055600c819055600d555b565b6000610a1d6005611e08565b600082821415611faa575060006104df565b6006546007541415611fbe575060016104df565b8282111561201257600654600754848403911015611ff457600654600754036002818381611fe857fe5b041015925050506104df565b60075460065403600282828161200657fe5b041115925050506104df565b60065460075483850391111561203457600754600654036002818381611fe857fe5b60065460075403600282828161200657fe5b6000612059600960010154600084612a02565b6120655750600061058e565b600c54600a54600091908483038161207957fe5b058161208157fe5b0490508061208d575060015b600b548111156120ab5750600b546120a3611e21565b6120ab611e82565b600b805482900390556001546040805163117f5a5560e01b81526004810184905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b15801561210157600080fd5b505af1158015612115573d6000803e3d6000fd5b5050600954604080516001600160a01b0390921682526020820185905280517fa69f22d963cb7981f842db8c1aafcc93d915ba2a95dcf26dcc333a9c2a09be26945091829003019150a150600192915050565b6000612173836129fc565b8015612183575082600201548214155b8015610cb85750610cb88360010154838560020154612a32565b6000806121b460056002015460056001015461156a565b600754600254604080516318160ddd60e01b8152905193945060009361220493926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610c7257600080fd5b905061221260008284612a02565b61222157600092505050610a20565b6000600454838161222e57fe5b05905061223d60008284612a02565b61224b57509150610a209050565b9250505090565b600080600080600080861361226857600161226b565b60005b15158152602081019190915260400160002060025481546008549293506001600160a01b039081169116149060ff16156122d2576122c7816122ac87612a5d565b600954859291906001600160a01b031663ffffffff612a7316565b9350935050506122f4565b6122ed816122df87612a5d565b84919063ffffffff612e2616565b9350935050505b915091565b80516001600160a01b031660009081526001830160205260408120548015612368576040805162461bcd60e51b815260206004820152601c60248201527f6d616b657220616c72656164792068617320612070726f706f73616c00000000604482015290519081900360640190fd5b835460018082018087556000878152602090819020875160099095020180546001600160a01b0319166001600160a01b03909516949094178455868101519284019290925560408601516002840155606086015160038401556080860151600484015560a0860151600584015560c08601518051805192948894909360068501926123f79284929101906135f7565b505086516001600160a01b03166000908152600189016020526040902084905550508554919250859160001984019150811061242f57fe5b906000526020600020906009020191505092915050565b6000808052602081905260008051602061375d833981519152546001600160a01b03838116911614156124905750600080805260205260008051602061375d83398151915261058e565b6001600090815260205260008051602061373d833981519152546001600160a01b03838116911614156124dc57506001600090815260205260008051602061373d83398151915261058e565b6040805162461bcd60e51b815260206004820152601760248201527f6e6f206f7264657220626f6f6b20666f7220746f6b656e000000000000000000604482015290519081900360640190fd5b6000808311801561253a5750600082115b612578576040805162461bcd60e51b815260206004820152600a6024820152691e995c9bc81a5b9c1d5d60b21b604482015290519081900360640190fd5b600160801b8310801561258e5750600160801b82105b6125d2576040805162461bcd60e51b815260206004820152601060248201526f1a5b9c1d5d081bdd995c881b1a5b5a5d60821b604482015290519081900360640190fd5b60006125de8686611584565b600081815260028901602052604090209091506125fa8161299a565b15612641576040805162461bcd60e51b81526020600482015260126024820152716f7264657220696e6465782065786973747360701b604482015290519081900360640190fd5b506040805160a0810182526001600160a01b03978816815260208082019687528183019586526000606083018181526080840182815286835260029c8d01909352939020915182546001600160a01b0319169916989098178155945160018601559251968401969096555051600382015591516004909201919091555090565b60008281526002840160205260408120816126e386838663ffffffff6130f316565b90506126f686868363ffffffff61316516565b95945050505050565b600080805260208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb6546001600160a01b038381169116141561275b5750600080805260205260008051602061375d83398151915261058e565b600160009081526020527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7e546001600160a01b03838116911614156124dc57506001600090815260205260008051602061373d83398151915261058e565b60008281526002840160205260408120816127d384610ef2565b90505b60001981146126f6576127e8826131a0565b156127f2576126f6565b600081815260028086016020908152604092839020835160a08101855286546001600160a01b031681526001870154928101929092529185015492810192909252600384015460608301526004840154608083015290612858908263ffffffff6131b916565b61286257506126f6565b806002015483600101541015612913576000816002015482600101548560010154028161288b57fe5b04905081600101548111156128d9576040805162461bcd60e51b815260206004820152600f60248201526e66696c6c61626c65203e206861766560881b604482015290519081900360640190fd5b60018401546128f39087908590849063ffffffff6131d816565b600184015461290c90899089908463ffffffff6131d816565b50506126f6565b6002810154600182015461293191899189919063ffffffff6131d816565b6004810154612946868463ffffffff61337016565b91506127d69050565b60408201516001820154600290920154602090930151910291021190565b600082600001828154811061297e57fe5b6000918252602090912001546001600160a01b03169392505050565b546001600160a01b0316151590565b6000806129b583610dc4565b9050600081136129c957600091505061058e565b6129d283610dc4565b836002015402915050919050565b6000808212156129f75781600003830390506104df565b500190565b54151590565b6000828413158015612a145750818313155b80612a2a5750828412158015612a2a5750818312155b949350505050565b6000828411158015612a445750818311155b80612a2a5750828410158015612a2a5750501115919050565b6000808213612a6f57816000036104df565b5090565b600080612a8786868663ffffffff612e2616565b909250905060008086612a9b578383612a9e565b82845b895460408051636eb1769f60e11b81526001600160a01b038a811660048301523060248301529151949650929450169163dd62ed3e91604480820192602092909190829003018186803b158015612af457600080fd5b505afa158015612b08573d6000803e3d6000fd5b505050506040513d6020811015612b1e57600080fd5b50518211801590612ba657508754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015612b7657600080fd5b505afa158015612b8a573d6000803e3d6000fd5b505050506040513d6020811015612ba057600080fd5b50518211155b15612e1b578754604080516334902c6160e11b815290516001600160a01b03909216916323b872dd918891849163692058c29160048083019260209291908290030181600087803b158015612bfa57600080fd5b505af1158015612c0e573d6000803e3d6000fd5b505050506040513d6020811015612c2457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018690525160648083019260209291908290030181600087803b158015612c7d57600080fd5b505af1158015612c91573d6000803e3d6000fd5b505050506040513d6020811015612ca757600080fd5b505087546040805163117f5a5560e01b81526004810185905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015612cf557600080fd5b505af1158015612d09573d6000803e3d6000fd5b50505060018901546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b158015612d5b57600080fd5b505af1158015612d6f573d6000803e3d6000fd5b5050505060018801546040805163a9059cbb60e01b81526001600160a01b038881166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015612dcb57600080fd5b505af1158015612ddf573d6000803e3d6000fd5b505050506040513d6020811015612df557600080fd5b50879050612e035780612e05565b815b8301925086612e145781612e16565b805b840193505b505094509492505050565b6000806000612e3486610ef2565b90505b6000198114801590612e4857508382105b156130ea57600081815260028701602052604081209086612e6d578160020154612e73565b81600101545b9050600087612e86578260010154612e8c565b82600201545b905086612e9f868463ffffffff6133f516565b11612f8e57885460018401546040805163117f5a5560e01b81526004810192909252516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015612ef557600080fd5b505af1158015612f09573d6000803e3d6000fd5b50505060018a015460028501546040805163bdfde91160e01b81526004810192909252516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b158015612f6057600080fd5b505af1158015612f74573d6000803e3d6000fd5b505050506004830154612f878a86613370565b93506130be565b6000612fa0888763ffffffff61344f16565b90508281830281612fad57fe5b049150809250600089612fc05782612fc2565b835b905060008a612fd15784612fd3565b835b8c546040805163117f5a5560e01b81526004810186905290519293506001600160a01b039091169163117f5a559160248082019260009290919082900301818387803b15801561302257600080fd5b505af1158015613036573d6000803e3d6000fd5b50505060018d01546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561308857600080fd5b505af115801561309c573d6000803e3d6000fd5b506130b592508e9150899050848463ffffffff6131d816565b50600019955050505b6130ce858363ffffffff6133f516565b94506130e0868263ffffffff6133f516565b9550505050612e37565b50935093915050565b600081815260028401602052604081205b600401546000818152600286016020526040902090925061312b848263ffffffff6134a616565b15613104575b6003015460008181526002860160205260409020909250613158848263ffffffff6134a616565b6131315750909392505050565b600081815260029093016020526040808420600490810180548587528387206003808201879055930181905586529185200183905592529055565b60008160010154600014806104df575050600201541590565b6040820151600282015460019092015460209093015191029102101590565b600083815260028501602052604090206131f18161299a565b613234576040805162461bcd60e51b815260206004820152600f60248201526e1bdc99195c881b9bdd08195e1a5cdd608a1b604482015290519081900360640190fd5b806001015483111561328d576040805162461bcd60e51b815260206004820152601a60248201527f66696c6c206d6f7265207468616e206861766520616d6f756e74000000000000604482015290519081900360640190fd5b60018101546132a2908463ffffffff61344f16565b600182015560028101548210156132c35760028101805483900390556132cb565b600060028201555b600185015481546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561332557600080fd5b505af1158015613339573d6000803e3d6000fd5b505050506040513d602081101561334f57600080fd5b5061335b9050816131a0565b156112a4576112a4858563ffffffff610cbf16565b600081815260028084016020526040909120015415610d6e57600182015460008281526002808501602090815260408084208054930154815163a9059cbb60e01b81526001600160a01b03948516600482015260248101919091529051929094169363a9059cbb93604480830194928390030190829087803b158015610d4157600080fd5b600082820183811015610cb8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282111561157e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b60008260020154826001015402826002015484600101540211905092915050565b8280548282559060005260206000209081019282156135075760005260206000209182015b828111156135075782548255916001019190600101906134ec565b50612a6f92915061364c565b5080546000825560030290600052602060002090810190610a0e9190613670565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5080546000825590600052602060002090810190610a0e9190613693565b6040518060e0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016135c66136ad565b905290565b8154818355818111156108f4576009028160090283600052602060002091820191016108f491906136c0565b828054828255906000526020600020908101928215613507579160200282015b8281111561350757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613617565b610a2091905b80821115612a6f5780546001600160a01b0319168155600101613652565b610a2091905b80821115612a6f57600061368a8282613562565b50600301613676565b610a2091905b80821115612a6f5760008155600101613699565b6040518060200160405280606081525090565b610a2091905b80821115612a6f5780546001600160a01b03191681556000600182018190556002820181905560038201819055600482018190556005820181905560068201816137108282613562565b5050506009016136c656fe6c6f636b646f776e206475726174696f6e20706172616d20746f6f2073686f7274ada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5a265627a7a72315820d819e05be244a30d4c371ed0145aef4c778ed9931757db02fc8488dde1a5135a64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var SeigniorageBin = "0x608060405262049d406003556002600354816200001857fe5b0460045562127500600e556002600e54816200003057fe5b04600f55600060105560006011553480156200004b57600080fd5b50604051620038d3380380620038d3833981810160405260808110156200007157600080fd5b508051602082015160408301516060909301519192909183838383838380156200009b5760038190555b60008211620000ae5760028104620000b0565b815b60045550508015620000c257600e8190555b60008211620000df576002600e5481620000d857fe5b04620000e1565b815b600f5550505050505050506137d780620000fc6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063aa1c259c116100a2578063c0ee0b8a11610071578063c0ee0b8a14610308578063c7f758a81461038d578063ced4aac8146103e7578063ee1a68c614610427578063f318722b1461044a57610116565b8063aa1c259c14610287578063bd041c4d146102b5578063be91d729146102e3578063c08cc02d1461030057610116565b80634ea09797116100e95780634ea09797146101f957806369c07d311461021e5780636e6452cb1461023a57806374a8f103146102425780638aa3f8971461026857610116565b806307c399a31461011b5780630d90b10a1461017557806343271d79146101ac5780634def5645146101d3575b600080fd5b6101406004803603604081101561013157600080fd5b50803515159060200135610476565b604080516001600160a01b03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b61019a6004803603604081101561018b57600080fd5b508035151590602001356104bd565b60408051918252519081900360200190f35b6101d1600480360360408110156101c257600080fd5b508035151590602001356104e5565b005b61019a600480360360208110156101e957600080fd5b50356001600160a01b031661056b565b61019a6004803603604081101561020f57600080fd5b50803515159060200135610593565b6102266105b7565b604080519115158252519081900360200190f35b6102266105bc565b6101d16004803603602081101561025857600080fd5b50356001600160a01b03166105c1565b61019a6004803603602081101561027e57600080fd5b50351515610764565b6101d16004803603604081101561029d57600080fd5b506001600160a01b038135811691602001351661077e565b6101d1600480360360408110156102cb57600080fd5b506001600160a01b03813516906020013515156108f9565b6101d1600480360360208110156102f957600080fd5b5035610973565b61019a610a11565b6101d16004803603606081101561031e57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561034e57600080fd5b82018360208201111561036057600080fd5b8035906020019184600183028401116401000000008311171561038257600080fd5b509092509050610a23565b6103aa600480360360208110156103a357600080fd5b5035610b46565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b61019a600480360360a08110156103fd57600080fd5b5080351515906001600160a01b036020820135169060408101359060608101359060800135610b9a565b61042f610c02565b60408051921515835260208301919091528051918290030190f35b61019a6004803603604081101561046057600080fd5b506001600160a01b038135169060200135610cac565b90151560009081526020818152604080832093835260029384019091529020805460018201549282015460038301546004909301546001600160a01b039092169490929190565b8115156000908152602081815260408083208484526002019091529020600301545b92915050565b8115156000908152602081815260408083208484526002810190925290912080546001600160a01b03163314610555576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037b93232b91036b0b5b2b960811b604482015290519081900360640190fd5b610565828463ffffffff610cbf16565b50505050565b60008061057f60128463ffffffff610d8216565b905061058a81610dc4565b9150505b919050565b90151560009081526020818152604080832093835260029093019052206004015490565b600081565b600181565b60006105d460128363ffffffff610d8216565b80549091506001600160a01b03838116911614610638576040805162461bcd60e51b815260206004820152601e60248201527f6f6e6c79206d616b65722063616e207265766f6b652070726f706f73616c0000604482015290519081900360640190fd5b601480546001810180835560009290925260068301805490916003027fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec019061068490829084906134c7565b5050600154835460028501546040805163a9059cbb60e01b81526001600160a01b03938416600482015260248101929092525191909216935063a9059cbb925060448083019260209291908290030181600087803b1580156106e557600080fd5b505af11580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b50610723905060128363ffffffff610eaa16565b50604080516001600160a01b038416815290517f9f77920c3de8baaa98d273e8aa75fae382aaa9f7f60f38979137853e5b73ea2c9181900360200190a15050565b801515600090815260208190526040812061058a81610ef2565b6001546001600160a01b0316156107dc576040805162461bcd60e51b815260206004820152601960248201527f566f6c6174696c65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b6002546001600160a01b03161561083a576040805162461bcd60e51b815260206004820152601960248201527f537461626c697a65546f6b656e20616c72656164792073657400000000000000604482015290519081900360640190fd5b600180546001600160a01b038085166001600160a01b03199283161790925560028054928416929091169190911790556108748282610f0b565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156108b957600080fd5b505afa1580156108cd573d6000803e3d6000fd5b505050506040513d60208110156108e357600080fd5b505190506108f48180600080610f5b565b505050565b61090a60128363ffffffff610ffa16565b61094e576040805162461bcd60e51b815260206004820152601060248201526f1b9bc81cdd58da081c1c9bdc1bdcd85b60821b604482015290519081900360640190fd5b600061096160128463ffffffff610d8216565b90506108f4818363ffffffff61101b16565b33156109b7576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b60005b6014548110156109ef576109e7601482815481106109d457fe5b906000526020600020906003020161102f565b6001016109ba565b506109fc60146000613513565b610a0461109c565b50610a0e81611110565b50565b6000610a1d60126112ab565b90505b90565b608081148015610a3d57506001546001600160a01b031633145b15610ae057610a5360128563ffffffff610ffa16565b15610a9e576040805162461bcd60e51b8152602060048201526016602482015275185b1c9958591e481a185cc818481c1c9bdc1bdcd85b60521b604482015290519081900360640190fd5b60008060008085856080811015610ab457600080fd5b50803594506020810135935060400135915060009050610ad788858986866112af565b50505050610565565b600080806060841415610b145784846060811015610afd57600080fd5b508035935060208101359250604001359050610b30565b84846040811015610b2457600080fd5b50803593506020013591505b610b3d878488858561148c565b50505050505050565b6000808080808080610b5f60128963ffffffff6114e716565b805460028201546001830154600384015460048501546005909501546001600160a01b039094169d929c50909a509850919650945092505050565b8415156000908152602081905260408120610bb3613534565b506040805160a0810182526001600160a01b0388168152602081018790529081018590526000606082018190526080820152610bf682828663ffffffff6114f816565b98975050505050505050565b6007546000908190610c1957506000905080610ca8565b6001610ca3600560020154600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7257600080fd5b505afa158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b505161156a565b915091505b9091565b6000610cb88383611584565b9392505050565b600081815260028301602052604090206001015415610d6e578154600082815260028401602090815260408083208054600190910154825163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b505050506040513d6020811015610d6b57600080fd5b50505b610d7e828263ffffffff61165116565b5050565b6001600160a01b03811660009081526001830160205260408120548354849160001901908110610dae57fe5b9060005260206000209060090201905092915050565b600080805b610dd5846006016112ab565b811015610ea357600080610df2600687018463ffffffff6116b116565b600154604080516370a0823160e01b81526001600160a01b03808616600483015291519496509294506000939116916370a08231916024808301926020929190829003018186803b158015610e4657600080fd5b505afa158015610e5a573d6000803e3d6000fd5b505050506040513d6020811015610e7057600080fd5b50516001600160a01b038416310190508115610e8f5793840193610e95565b80850394505b505050806001019050610dc9565b5092915050565b6001600160a01b038116600090815260018301602052604081205480610ed45760009150506104df565b610ee884600019830163ffffffff6116f016565b5060019392505050565b6000808052600282016020526040902060040154919050565b6000808052602052610f3260008051602061375d833981519152838363ffffffff6118a616565b60016000908152602052610d7e60008051602061373d833981519152828463ffffffff6118a616565b604080516080810182526003544301808252602082018690529181018690528215156060909101819052600591909155600684905560078590556008805460ff191690911790556000610fae858561156a565b60408051828152602081018790528515158183015290519192507f0427b353dc7214e3d8c7f5039475a8e729f4d62922937381e304cd03becf66d2919081900360600190a15050505050565b6001600160a01b031660009081526001919091016020526040902054151590565b6108f460068301338363ffffffff611a5316565b60005b815481101561109057600082600001828154811061104c57fe5b60009182526020808320909101546001600160a01b03168252600185810182526040808420849055600287019092529120805460ff19169055919091019050611032565b50610a0e816000613562565b60006110a86009611b6f565b156110b557506000610a20565b6000806110c0611b8b565b90925090506001600160a01b0382166110de57600092505050610a20565b60006110f160128463ffffffff610d8216565b90506110fc81611c3c565b6111068183611dc5565b6001935050505090565b3315611154576040805162461bcd60e51b815260206004820152600e60248201526d636f6e73656e737573206f6e6c7960901b604482015290519081900360640190fd5b61115e6005611e08565b1561116b5761116b611e21565b6111756009611e65565b1561118257611182611e82565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d60208110156111f157600080fd5b50519050811561127957611203611f8c565b1561121a576112158282600080610f5b565b611237565b6112248183611f98565b1561123757611237828260016000610f5b565b6112416009611b6f565b15611279576000611252838361156a565b905061125d81612046565b801561126b575060085460ff165b15611277575050610a0e565b505b61128a60058263ffffffff61216816565b15610d7e57600061129961219d565b90506112a481612252565b5050505050565b5490565b6003601154816112bb57fe5b04601154038311611303576040805162461bcd60e51b815260206004820152600d60248201526c7374616b6520746f6f206c6f7760981b604482015290519081900360640190fd5b61130b613580565b8215611381576003600f548161131d57fe5b04600f54018311611375576040805162461bcd60e51b815260206004820181905260248201527f736c617368696e67206475726174696f6e20706172616d20746f6f206c6f6e67604482015290519081900360640190fd5b6060810183905261138a565b600f5460608201525b81156113ea576003600e548161139c57fe5b04600e540382106113de5760405162461bcd60e51b815260040180806020018281038252602181526020018061371c6021913960400191505060405180910390fd5b608081018290526113f3565b600e5460808201525b6001600160a01b038616815260208101859052604081018490524360a082015261142460128263ffffffff6122f916565b50606080820151608080840151604080516001600160a01b038c168152602081018b90528082018a90529485019390935290830152517f56e25d1b63c01627fcd54936462c97aeb9a18352bf0ed161e8141a33cfd795ca9181900360a00190a1505050505050565b600061149733612446565b905060006114ae828888888863ffffffff61252916565b90506114c182828563ffffffff6126c116565b506114dd816114cf336126ff565b84919063ffffffff6127b916565b5050505050505050565b6000826000018281548110610dae57fe5b600081815260028401602052604081205b6004015460008181526002860160205260409020909250611530848263ffffffff61294f16565b15611509575b600301546000818152600286016020526040902090925061155d848263ffffffff61294f16565b6115365750909392505050565b600081831161157e57828203600003610cb8565b50900390565b60006002838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106115f45780518252601f1990920191602091820191016115d5565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611633573d6000803e3d6000fd5b5050506040513d602081101561164857600080fd5b50519392505050565b6000818152600292830160205260408082206004808201805460038085018054885286882090940182905583549187529486209094019390935593835280546001600160a01b031916815560018101839055909301819055908190559055565b600080806116c5858563ffffffff61296d16565b6001600160a01b038116600090815260028701602052604090205490935060ff169150509250929050565b81600101600083600001838154811061170557fe5b600091825260208083206009909202909101546001600160a01b03168352820192909252604001812055815460001901811461182e5781548290600019810190811061174d57fe5b906000526020600020906009020182600001828154811061176a57fe5b60009182526020909120825460099092020180546001600160a01b0319166001600160a01b0390921691909117815560018083015490820155600280830154908201556003808301549082015560048083015490820155600580830154908201556006808301805490918301906117e490829084906134c7565b5050509050508060010182600101600084600001848154811061180357fe5b600091825260208083206009909202909101546001600160a01b031683528201929092526040019020555b81548290600019810190811061184057fe5b60009182526020822060099091020180546001600160a01b031916815560018101829055600281018290556003810182905560048101829055600581018290559060068201816118908282613562565b5050835491506108f490508360001983016135cb565b818360000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808360010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060a00160405280306001600160a01b0316815260200160008152602001600081526020016000801b815260200160001960001b8152508360020160008060001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506040518060a00160405280306001600160a01b0316815260200160008152602001600181526020016000801b815260200160001960001b81525083600201600060001960001b815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050565b6001600160a01b03821660009081526002840160209081526040808320805460ff19168515151790556001860190915281205480611ad6575050825460018082018086556000868152602080822090940180546001600160a01b0319166001600160a01b0388169081179091558152828701909352604090922091909155610cb8565b8454811180611b145750836001600160a01b0316856000016001830381548110611afc57fe5b6000918252602090912001546001600160a01b031614155b15611b64575050825460018082018086556000868152602080822090940180546001600160a01b0319166001600160a01b0388169081179091558152828701909352604090922091909155610cb8565b506000949350505050565b6000611b7a8261299a565b80156104df57505060040154431090565b6000806000600360105481611b9c57fe5b60105491900490039050600080805b611bb560126112ab565b811015611c32576000611bcf60128363ffffffff6114e716565b90506004600e5481611bdd57fe5b04816005015443031015611bf15750611c2a565b6000611bfc826129a9565b905085811215611c0d575050611c2a565b84811315611c275781549094506001600160a01b03169250835b50505b600101611bab565b5093509150509091565b611c488160060161102f565b6040805160a08101825282546001600160a01b039081168083526001850154602084018190526002860154948401859052600386015460608501819052600487015443016080909501859052600980546001600160a01b031916909317909255600a55600b93909355600c92909255600d558154611ccf916012911663ffffffff610eaa16565b50600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015611d1557600080fd5b505afa158015611d29573d6000803e3d6000fd5b505050506040513d6020811015611d3f57600080fd5b5051600a54909150600090611d559083906129e0565b9050611d648183600180610f5b565b600954600b54600c54600d54604080516001600160a01b0390951685526020850193909352838301919091526060830152517f8427e4488966b7bd3193a4617993e5e6b9186f0c4b2c303cc6178f4e33b77d089181900360800190a1505050565b60108054909101600190811c909155600282015460118054909101821c90556004820154600e8054909101821c9055600390910154600f805490910190911c9055565b6000611e13826129fc565b80156104df57505054431190565b60006005819055600681905560078190556008805460ff191690556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b6000611e708261299a565b80156104df5750506004015443101590565b611e8c600961299a565b611e9557611f8a565b600b5415611f2657600154600954600b546040805163a9059cbb60e01b81526001600160a01b039384166004820152602481019290925251919092169163a9059cbb9160448083019260209291908290030181600087803b158015611ef957600080fd5b505af1158015611f0d573d6000803e3d6000fd5b505050506040513d6020811015611f2357600080fd5b50505b600954604080516001600160a01b039092168252517f0be774851955c26a1d6a32b13b020663a069006b4a3b643ff0b809d3182605729181900360200190a1600980546001600160a01b03191690556000600a819055600b819055600c819055600d555b565b6000610a1d6005611e08565b600082821415611faa575060006104df565b6006546007541415611fbe575060016104df565b8282111561201257600654600754848403911015611ff457600654600754036002818381611fe857fe5b041015925050506104df565b60075460065403600282828161200657fe5b041115925050506104df565b60065460075483850391111561203457600754600654036002818381611fe857fe5b60065460075403600282828161200657fe5b6000612059600960010154600084612a02565b6120655750600061058e565b600c54600a54600091908483038161207957fe5b058161208157fe5b0490508061208d575060015b600b548111156120ab5750600b546120a3611e21565b6120ab611e82565b600b805482900390556001546040805163117f5a5560e01b81526004810184905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b15801561210157600080fd5b505af1158015612115573d6000803e3d6000fd5b5050600954604080516001600160a01b0390921682526020820185905280517fa69f22d963cb7981f842db8c1aafcc93d915ba2a95dcf26dcc333a9c2a09be26945091829003019150a150600192915050565b6000612173836129fc565b8015612183575082600201548214155b8015610cb85750610cb88360010154838560020154612a32565b6000806121b460056002015460056001015461156a565b600754600254604080516318160ddd60e01b8152905193945060009361220493926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610c7257600080fd5b905061221260008284612a02565b61222157600092505050610a20565b6000600454838161222e57fe5b05905061223d60008284612a02565b61224b57509150610a209050565b9250505090565b600080600080600080861361226857600161226b565b60005b15158152602081019190915260400160002060025481546008549293506001600160a01b039081169116149060ff16156122d2576122c7816122ac87612a5d565b600954859291906001600160a01b031663ffffffff612a7316565b9350935050506122f4565b6122ed816122df87612a5d565b84919063ffffffff612e2616565b9350935050505b915091565b80516001600160a01b031660009081526001830160205260408120548015612368576040805162461bcd60e51b815260206004820152601c60248201527f6d616b657220616c72656164792068617320612070726f706f73616c00000000604482015290519081900360640190fd5b835460018082018087556000878152602090819020875160099095020180546001600160a01b0319166001600160a01b03909516949094178455868101519284019290925560408601516002840155606086015160038401556080860151600484015560a0860151600584015560c08601518051805192948894909360068501926123f79284929101906135f7565b505086516001600160a01b03166000908152600189016020526040902084905550508554919250859160001984019150811061242f57fe5b906000526020600020906009020191505092915050565b6000808052602081905260008051602061375d833981519152546001600160a01b03838116911614156124905750600080805260205260008051602061375d83398151915261058e565b6001600090815260205260008051602061373d833981519152546001600160a01b03838116911614156124dc57506001600090815260205260008051602061373d83398151915261058e565b6040805162461bcd60e51b815260206004820152601760248201527f6e6f206f7264657220626f6f6b20666f7220746f6b656e000000000000000000604482015290519081900360640190fd5b6000808311801561253a5750600082115b612578576040805162461bcd60e51b815260206004820152600a6024820152691e995c9bc81a5b9c1d5d60b21b604482015290519081900360640190fd5b600160801b8310801561258e5750600160801b82105b6125d2576040805162461bcd60e51b815260206004820152601060248201526f1a5b9c1d5d081bdd995c881b1a5b5a5d60821b604482015290519081900360640190fd5b60006125de8686611584565b600081815260028901602052604090209091506125fa8161299a565b15612641576040805162461bcd60e51b81526020600482015260126024820152716f7264657220696e6465782065786973747360701b604482015290519081900360640190fd5b506040805160a0810182526001600160a01b03978816815260208082019687528183019586526000606083018181526080840182815286835260029c8d01909352939020915182546001600160a01b0319169916989098178155945160018601559251968401969096555051600382015591516004909201919091555090565b60008281526002840160205260408120816126e386838663ffffffff6130f316565b90506126f686868363ffffffff61316516565b95945050505050565b600080805260208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb6546001600160a01b038381169116141561275b5750600080805260205260008051602061375d83398151915261058e565b600160009081526020527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7e546001600160a01b03838116911614156124dc57506001600090815260205260008051602061373d83398151915261058e565b60008281526002840160205260408120816127d384610ef2565b90505b60001981146126f6576127e8826131a0565b156127f2576126f6565b600081815260028086016020908152604092839020835160a08101855286546001600160a01b031681526001870154928101929092529185015492810192909252600384015460608301526004840154608083015290612858908263ffffffff6131b916565b61286257506126f6565b806002015483600101541015612913576000816002015482600101548560010154028161288b57fe5b04905081600101548111156128d9576040805162461bcd60e51b815260206004820152600f60248201526e66696c6c61626c65203e206861766560881b604482015290519081900360640190fd5b60018401546128f39087908590849063ffffffff6131d816565b600184015461290c90899089908463ffffffff6131d816565b50506126f6565b6002810154600182015461293191899189919063ffffffff6131d816565b6004810154612946868463ffffffff61337016565b91506127d69050565b60408201516001820154600290920154602090930151910291021190565b600082600001828154811061297e57fe5b6000918252602090912001546001600160a01b03169392505050565b546001600160a01b0316151590565b6000806129b583610dc4565b9050600081136129c957600091505061058e565b6129d283610dc4565b836002015402915050919050565b6000808212156129f75781600003830390506104df565b500190565b54151590565b6000828413158015612a145750818313155b80612a2a5750828412158015612a2a5750818312155b949350505050565b6000828411158015612a445750818311155b80612a2a5750828410158015612a2a5750501115919050565b6000808213612a6f57816000036104df565b5090565b600080612a8786868663ffffffff612e2616565b909250905060008086612a9b578383612a9e565b82845b895460408051636eb1769f60e11b81526001600160a01b038a811660048301523060248301529151949650929450169163dd62ed3e91604480820192602092909190829003018186803b158015612af457600080fd5b505afa158015612b08573d6000803e3d6000fd5b505050506040513d6020811015612b1e57600080fd5b50518211801590612ba657508754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015612b7657600080fd5b505afa158015612b8a573d6000803e3d6000fd5b505050506040513d6020811015612ba057600080fd5b50518211155b15612e1b578754604080516334902c6160e11b815290516001600160a01b03909216916323b872dd918891849163692058c29160048083019260209291908290030181600087803b158015612bfa57600080fd5b505af1158015612c0e573d6000803e3d6000fd5b505050506040513d6020811015612c2457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018690525160648083019260209291908290030181600087803b158015612c7d57600080fd5b505af1158015612c91573d6000803e3d6000fd5b505050506040513d6020811015612ca757600080fd5b505087546040805163117f5a5560e01b81526004810185905290516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015612cf557600080fd5b505af1158015612d09573d6000803e3d6000fd5b50505060018901546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b158015612d5b57600080fd5b505af1158015612d6f573d6000803e3d6000fd5b5050505060018801546040805163a9059cbb60e01b81526001600160a01b038881166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015612dcb57600080fd5b505af1158015612ddf573d6000803e3d6000fd5b505050506040513d6020811015612df557600080fd5b50879050612e035780612e05565b815b8301925086612e145781612e16565b805b840193505b505094509492505050565b6000806000612e3486610ef2565b90505b6000198114801590612e4857508382105b156130ea57600081815260028701602052604081209086612e6d578160020154612e73565b81600101545b9050600087612e86578260010154612e8c565b82600201545b905086612e9f868463ffffffff6133f516565b11612f8e57885460018401546040805163117f5a5560e01b81526004810192909252516001600160a01b039092169163117f5a559160248082019260009290919082900301818387803b158015612ef557600080fd5b505af1158015612f09573d6000803e3d6000fd5b50505060018a015460028501546040805163bdfde91160e01b81526004810192909252516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b158015612f6057600080fd5b505af1158015612f74573d6000803e3d6000fd5b505050506004830154612f878a86613370565b93506130be565b6000612fa0888763ffffffff61344f16565b90508281830281612fad57fe5b049150809250600089612fc05782612fc2565b835b905060008a612fd15784612fd3565b835b8c546040805163117f5a5560e01b81526004810186905290519293506001600160a01b039091169163117f5a559160248082019260009290919082900301818387803b15801561302257600080fd5b505af1158015613036573d6000803e3d6000fd5b50505060018d01546040805163bdfde91160e01b81526004810185905290516001600160a01b03909216925063bdfde91191602480830192600092919082900301818387803b15801561308857600080fd5b505af115801561309c573d6000803e3d6000fd5b506130b592508e9150899050848463ffffffff6131d816565b50600019955050505b6130ce858363ffffffff6133f516565b94506130e0868263ffffffff6133f516565b9550505050612e37565b50935093915050565b600081815260028401602052604081205b600401546000818152600286016020526040902090925061312b848263ffffffff6134a616565b15613104575b6003015460008181526002860160205260409020909250613158848263ffffffff6134a616565b6131315750909392505050565b600081815260029093016020526040808420600490810180548587528387206003808201879055930181905586529185200183905592529055565b60008160010154600014806104df575050600201541590565b6040820151600282015460019092015460209093015191029102101590565b600083815260028501602052604090206131f18161299a565b613234576040805162461bcd60e51b815260206004820152600f60248201526e1bdc99195c881b9bdd08195e1a5cdd608a1b604482015290519081900360640190fd5b806001015483111561328d576040805162461bcd60e51b815260206004820152601a60248201527f66696c6c206d6f7265207468616e206861766520616d6f756e74000000000000604482015290519081900360640190fd5b60018101546132a2908463ffffffff61344f16565b600182015560028101548210156132c35760028101805483900390556132cb565b600060028201555b600185015481546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561332557600080fd5b505af1158015613339573d6000803e3d6000fd5b505050506040513d602081101561334f57600080fd5b5061335b9050816131a0565b156112a4576112a4858563ffffffff610cbf16565b600081815260028084016020526040909120015415610d6e57600182015460008281526002808501602090815260408084208054930154815163a9059cbb60e01b81526001600160a01b03948516600482015260248101919091529051929094169363a9059cbb93604480830194928390030190829087803b158015610d4157600080fd5b600082820183811015610cb8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282111561157e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b60008260020154826001015402826002015484600101540211905092915050565b8280548282559060005260206000209081019282156135075760005260206000209182015b828111156135075782548255916001019190600101906134ec565b50612a6f92915061364c565b5080546000825560030290600052602060002090810190610a0e9190613670565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5080546000825590600052602060002090810190610a0e9190613693565b6040518060e0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016135c66136ad565b905290565b8154818355818111156108f4576009028160090283600052602060002091820191016108f491906136c0565b828054828255906000526020600020908101928215613507579160200282015b8281111561350757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613617565b610a2091905b80821115612a6f5780546001600160a01b0319168155600101613652565b610a2091905b80821115612a6f57600061368a8282613562565b50600301613676565b610a2091905b80821115612a6f5760008155600101613699565b6040518060200160405280606081525090565b610a2091905b80821115612a6f5780546001600160a01b03191681556000600182018190556002820181905560038201819055600482018190556005820181905560068201816137108282613562565b5050506009016136c656fe6c6f636b646f776e206475726174696f6e20706172616d20746f6f2073686f7274ada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5a265627a7a72315820174d34b030744fa1706a2f78ad651b672b7b6e37381af4a4e35de85dd226eac964736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeploySeigniorage deploys a new Ethereum contract, binding an instance of Seigniorage to it. func DeploySeigniorage(auth *bind.TransactOpts, backend bind.ContractBackend, absorptionDuration *big.Int, absorptionExpiration *big.Int, initialSlashingDuration *big.Int, initialLockdownExpiration *big.Int) (common.Address, *types.Transaction, *Seigniorage, error) { @@ -5686,7 +5686,7 @@ func (_Seigniorage *SeigniorageFilterer) ParseUnlock(log types.Log) (*Seigniorag const AbsnABI = "[]" // AbsnBin is the compiled bytecode used for deploying new contracts. -var AbsnBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820e1d94a72d3b954a069e1797a1a4fb8ceb5262f0281a0dc88e4a11ed520b0154e64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var AbsnBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820f28e176ccc1afaf2e89d8031fd869ff16b2ae8339d4a63d4281fb5be528a641f64736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployAbsn deploys a new Ethereum contract, binding an instance of Absn to it. func DeployAbsn(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Absn, error) { @@ -5848,7 +5848,7 @@ func (_Absn *AbsnTransactorRaw) Transact(opts *bind.TransactOpts, method string, const DexABI = "[]" // DexBin is the compiled bytecode used for deploying new contracts. -var DexBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158204a4cb6d2b0254358ee3a280c32747535cb28ed79e1cbc844aaf30169abab6ae464736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var DexBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582025afe7d4910f30fc09dc1c1cc484cf1efe075dfb6686189312a15e1e451ec25b64736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployDex deploys a new Ethereum contract, binding an instance of Dex to it. func DeployDex(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Dex, error) { @@ -6010,7 +6010,7 @@ func (_Dex *DexTransactorRaw) Transact(opts *bind.TransactOpts, method string, p const MapABI = "[]" // MapBin is the compiled bytecode used for deploying new contracts. -var MapBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158200aa5259bb6a65d33871cb47e2a42ee3c661131c31369c34c703e69edb1d0712264736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var MapBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158209cde40156fd567d5a4642933c37374875231f1d7172dc9124b918b4165fbd86864736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployMap deploys a new Ethereum contract, binding an instance of Map to it. func DeployMap(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Map, error) { @@ -6172,7 +6172,7 @@ func (_Map *MapTransactorRaw) Transact(opts *bind.TransactOpts, method string, p const UtilABI = "[]" // UtilBin is the compiled bytecode used for deploying new contracts. -var UtilBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158205642d6735af2bacfdf426b49c2e2596bf9ae6a8c47e4a61cb3efeaae9a0eeade64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var UtilBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820d3acecab5ef47662777c905040437a4ee0b13cdc78a33a1145d8d0f350d9f44664736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployUtil deploys a new Ethereum contract, binding an instance of Util to it. func DeployUtil(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Util, error) { diff --git a/contracts/nexty/endurio/src/tokens/VolatileToken.sol b/contracts/nexty/endurio/src/tokens/VolatileToken.sol index 06453ce607f7..1cc68e2fc7b8 100644 --- a/contracts/nexty/endurio/src/tokens/VolatileToken.sol +++ b/contracts/nexty/endurio/src/tokens/VolatileToken.sol @@ -101,8 +101,8 @@ contract VolatileToken is ERC223 { // deposit and propose() function depositAndPropose( - uint stake, // staked amount of VolatileToken int amount, // absorption amount of StablizeToken + uint stake, // staked amount of VolatileToken uint slashingDuration, uint lockdownExpiration ) @@ -110,14 +110,14 @@ contract VolatileToken is ERC223 { payable { depositTo(msg.sender); - propose(stake, amount, slashingDuration, lockdownExpiration); + propose(amount, stake, slashingDuration, lockdownExpiration); } // propose a new pre-emptive absorption // with verbose data = (amount, slashingDuration, lockdownExpiration); function propose( - uint stake, // staked amount of VolatileToken int amount, // absorption amount of StablizeToken + uint stake, // staked amount of VolatileToken uint slashingDuration, uint lockdownExpiration ) diff --git a/contracts/nexty/endurio/stable/StableToken.go b/contracts/nexty/endurio/stable/StableToken.go index 64912421a14f..5c3a2f866814 100644 --- a/contracts/nexty/endurio/stable/StableToken.go +++ b/contracts/nexty/endurio/stable/StableToken.go @@ -214,7 +214,7 @@ var ERC20FuncSigs = map[string]string{ } // ERC20Bin is the compiled bytecode used for deploying new contracts. -var ERC20Bin = "0x608060405234801561001057600080fd5b50610708806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d561020b565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610211565b6100b96004803603604081101561013357600080fd5b506001600160a01b038135169060200135610268565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102a4565b6100b96004803603604081101561018557600080fd5b506001600160a01b0381351690602001356102bf565b6100b9600480360360408110156101b157600080fd5b506001600160a01b0381351690602001356102fb565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610308565b6000610202338484610333565b50600192915050565b60025490565b600061021e84848461041f565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461025e918691610259908663ffffffff61056116565b610333565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff6105be16565b6001600160a01b031660009081526020819052604090205490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff61056116565b600061020233848461041f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103785760405162461bcd60e51b815260040180806020018281038252602481526020018061068a6024913960400191505060405180910390fd5b6001600160a01b0382166103bd5760405162461bcd60e51b81526004018080602001828103825260228152602001806106436022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104645760405162461bcd60e51b81526004018080602001828103825260258152602001806106656025913960400191505060405180910390fd5b6001600160a01b0382166104a95760405162461bcd60e51b81526004018080602001828103825260238152602001806106206023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546104d2908263ffffffff61056116565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610507908263ffffffff6105be16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105b8576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610618576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820b4f550881192e587bd58e87df73c2e75a5cf3d0a426abca672670f1d952a6c7964736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var ERC20Bin = "0x608060405234801561001057600080fd5b50610708806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d561020b565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610211565b6100b96004803603604081101561013357600080fd5b506001600160a01b038135169060200135610268565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102a4565b6100b96004803603604081101561018557600080fd5b506001600160a01b0381351690602001356102bf565b6100b9600480360360408110156101b157600080fd5b506001600160a01b0381351690602001356102fb565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610308565b6000610202338484610333565b50600192915050565b60025490565b600061021e84848461041f565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461025e918691610259908663ffffffff61056116565b610333565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff6105be16565b6001600160a01b031660009081526020819052604090205490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff61056116565b600061020233848461041f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103785760405162461bcd60e51b815260040180806020018281038252602481526020018061068a6024913960400191505060405180910390fd5b6001600160a01b0382166103bd5760405162461bcd60e51b81526004018080602001828103825260228152602001806106436022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104645760405162461bcd60e51b81526004018080602001828103825260258152602001806106656025913960400191505060405180910390fd5b6001600160a01b0382166104a95760405162461bcd60e51b81526004018080602001828103825260238152602001806106206023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546104d2908263ffffffff61056116565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610507908263ffffffff6105be16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105b8576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610618576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582028d078244f5693693a9cc442061a8faae5a089295a373e0b6934d16d927251cd64736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployERC20 deploys a new Ethereum contract, binding an instance of ERC20 to it. func DeployERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20, error) { @@ -886,7 +886,7 @@ var ERC223FuncSigs = map[string]string{ } // ERC223Bin is the compiled bytecode used for deploying new contracts. -var ERC223Bin = "0x608060405234801561001057600080fd5b50611020806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063bdfde91111610071578063bdfde911146102a5578063be45fd62146102c2578063c4d66de81461037d578063dd62ed3e146103a3578063f2fde38b146103d15761010b565b80638da5cb5b1461023d5780638f32d59b14610245578063a457c2d71461024d578063a9059cbb146102795761010b565b806339509351116100de57806339509351146101bf578063692058c2146101eb57806370a082311461020f578063715018a6146102355761010b565b8063095ea7b314610110578063117f5a551461015057806318160ddd1461016f57806323b872dd14610189575b600080fd5b61013c6004803603604081101561012657600080fd5b506001600160a01b0381351690602001356103f7565b604080519115158252519081900360200190f35b61016d6004803603602081101561016657600080fd5b503561040d565b005b610177610432565b60408051918252519081900360200190f35b61013c6004803603606081101561019f57600080fd5b506001600160a01b03813581169160208101359091169060400135610438565b61013c600480360360408110156101d557600080fd5b506001600160a01b038135169060200135610490565b6101f36104cc565b604080516001600160a01b039092168252519081900360200190f35b6101776004803603602081101561022557600080fd5b50356001600160a01b03166104db565b61016d6104f6565b6101f3610551565b61013c610560565b61013c6004803603604081101561026357600080fd5b506001600160a01b038135169060200135610571565b61013c6004803603604081101561028f57600080fd5b506001600160a01b0381351690602001356105ad565b61016d600480360360208110156102bb57600080fd5b50356105ba565b61013c600480360360608110156102d857600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561030857600080fd5b82018360208201111561031a57600080fd5b8035906020019184600183028401116401000000008311171561033c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105dc945050505050565b61016d6004803603602081101561039357600080fd5b50356001600160a01b0316610609565b610177600480360360408110156103b957600080fd5b506001600160a01b03813581169160200135166106fb565b61016d600480360360208110156103e757600080fd5b50356001600160a01b0316610726565b6000610404338484610740565b50600192915050565b610415610560565b61041e57600080fd5b61042f6104296104cc565b8261082c565b50565b60025490565b6000610445848484610905565b6001600160a01b038416600090815260016020908152604080832033808552925290912054610485918691610480908663ffffffff610a4716565b610740565b5060015b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610404918590610480908663ffffffff610aa416565b60006104d6610551565b905090565b6001600160a01b031660009081526020819052604090205490565b6104fe610560565b61050757600080fd5b6036546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603680546001600160a01b0319169055565b6036546001600160a01b031690565b6036546001600160a01b0316331490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610404918590610480908663ffffffff610a4716565b6000610404338484610905565b6105c2610560565b6105cb57600080fd5b61042f6105d66104cc565b82610afe565b60006105e784610bee565b156105fe576105f7848484610bf4565b9050610489565b6105f7848484610d9e565b600354610100900460ff16806106225750610622610e73565b80610630575060035460ff16155b61066b5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f2e602e913960400191505060405180910390fd5b600354610100900460ff16158015610696576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156106f7576003805461ff00191690555b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61072e610560565b61073757600080fd5b61042f81610e79565b6001600160a01b0383166107855760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa26024913960400191505060405180910390fd5b6001600160a01b0382166107ca5760405162461bcd60e51b8152600401808060200182810382526022815260200180610f0c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0382166108715760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5c6021913960400191505060405180910390fd5b600254610884908263ffffffff610a4716565b6002556001600160a01b0382166000908152602081905260409020546108b0908263ffffffff610a4716565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b03831661094a5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7d6025913960400191505060405180910390fd5b6001600160a01b03821661098f5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ee96023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546109b8908263ffffffff610a4716565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546109ed908263ffffffff610aa416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610a9e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610489576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216610b59576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610b6c908263ffffffff610aa416565b6002556001600160a01b038216600090815260208190526040902054610b98908263ffffffff610aa416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3b151590565b6000610c00338461082c565b610c0a8484610afe565b60405163607705c560e11b815233600482018181526024830186905260606044840190815285516064850152855188946001600160a01b0386169463c0ee0b8a9490938a938a9360840190602085019080838360005b83811015610c78578181015183820152602001610c60565b50505050905090810190601f168015610ca55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b50505050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d58578181015183820152602001610d40565b50505050905090810190601f168015610d855780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b6000610daa338461082c565b610db48484610afe565b836001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e2e578181015183820152602001610e16565b50505050905090810190601f168015610e5b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b303b1590565b6001600160a01b038116610e8c57600080fd5b6036546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603680546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723158208f70838a9b1fae4484238435159959782e4b60311fb076d312d692e689b8c94d64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var ERC223Bin = "0x608060405234801561001057600080fd5b50611020806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063bdfde91111610071578063bdfde911146102a5578063be45fd62146102c2578063c4d66de81461037d578063dd62ed3e146103a3578063f2fde38b146103d15761010b565b80638da5cb5b1461023d5780638f32d59b14610245578063a457c2d71461024d578063a9059cbb146102795761010b565b806339509351116100de57806339509351146101bf578063692058c2146101eb57806370a082311461020f578063715018a6146102355761010b565b8063095ea7b314610110578063117f5a551461015057806318160ddd1461016f57806323b872dd14610189575b600080fd5b61013c6004803603604081101561012657600080fd5b506001600160a01b0381351690602001356103f7565b604080519115158252519081900360200190f35b61016d6004803603602081101561016657600080fd5b503561040d565b005b610177610432565b60408051918252519081900360200190f35b61013c6004803603606081101561019f57600080fd5b506001600160a01b03813581169160208101359091169060400135610438565b61013c600480360360408110156101d557600080fd5b506001600160a01b038135169060200135610490565b6101f36104cc565b604080516001600160a01b039092168252519081900360200190f35b6101776004803603602081101561022557600080fd5b50356001600160a01b03166104db565b61016d6104f6565b6101f3610551565b61013c610560565b61013c6004803603604081101561026357600080fd5b506001600160a01b038135169060200135610571565b61013c6004803603604081101561028f57600080fd5b506001600160a01b0381351690602001356105ad565b61016d600480360360208110156102bb57600080fd5b50356105ba565b61013c600480360360608110156102d857600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561030857600080fd5b82018360208201111561031a57600080fd5b8035906020019184600183028401116401000000008311171561033c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105dc945050505050565b61016d6004803603602081101561039357600080fd5b50356001600160a01b0316610609565b610177600480360360408110156103b957600080fd5b506001600160a01b03813581169160200135166106fb565b61016d600480360360208110156103e757600080fd5b50356001600160a01b0316610726565b6000610404338484610740565b50600192915050565b610415610560565b61041e57600080fd5b61042f6104296104cc565b8261082c565b50565b60025490565b6000610445848484610905565b6001600160a01b038416600090815260016020908152604080832033808552925290912054610485918691610480908663ffffffff610a4716565b610740565b5060015b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610404918590610480908663ffffffff610aa416565b60006104d6610551565b905090565b6001600160a01b031660009081526020819052604090205490565b6104fe610560565b61050757600080fd5b6036546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603680546001600160a01b0319169055565b6036546001600160a01b031690565b6036546001600160a01b0316331490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610404918590610480908663ffffffff610a4716565b6000610404338484610905565b6105c2610560565b6105cb57600080fd5b61042f6105d66104cc565b82610afe565b60006105e784610bee565b156105fe576105f7848484610bf4565b9050610489565b6105f7848484610d9e565b600354610100900460ff16806106225750610622610e73565b80610630575060035460ff16155b61066b5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f2e602e913960400191505060405180910390fd5b600354610100900460ff16158015610696576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156106f7576003805461ff00191690555b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61072e610560565b61073757600080fd5b61042f81610e79565b6001600160a01b0383166107855760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa26024913960400191505060405180910390fd5b6001600160a01b0382166107ca5760405162461bcd60e51b8152600401808060200182810382526022815260200180610f0c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0382166108715760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5c6021913960400191505060405180910390fd5b600254610884908263ffffffff610a4716565b6002556001600160a01b0382166000908152602081905260409020546108b0908263ffffffff610a4716565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b03831661094a5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7d6025913960400191505060405180910390fd5b6001600160a01b03821661098f5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ee96023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546109b8908263ffffffff610a4716565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546109ed908263ffffffff610aa416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610a9e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610489576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216610b59576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610b6c908263ffffffff610aa416565b6002556001600160a01b038216600090815260208190526040902054610b98908263ffffffff610aa416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3b151590565b6000610c00338461082c565b610c0a8484610afe565b60405163607705c560e11b815233600482018181526024830186905260606044840190815285516064850152855188946001600160a01b0386169463c0ee0b8a9490938a938a9360840190602085019080838360005b83811015610c78578181015183820152602001610c60565b50505050905090810190601f168015610ca55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b50505050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d58578181015183820152602001610d40565b50505050905090810190601f168015610d855780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b6000610daa338461082c565b610db48484610afe565b836001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e2e578181015183820152602001610e16565b50505050905090810190601f168015610e5b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b303b1590565b6001600160a01b038116610e8c57600080fd5b6036546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603680546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582066f26b787f0542f3b702fb8ce7420a86efa4fc85b53cdddf2a3de98805c6587064736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployERC223 deploys a new Ethereum contract, binding an instance of ERC223 to it. func DeployERC223(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC223, error) { @@ -2649,7 +2649,7 @@ func (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, er const InitializableABI = "[]" // InitializableBin is the compiled bytecode used for deploying new contracts. -var InitializableBin = "0x6080604052348015600f57600080fd5b50606480601d6000396000f3fe6080604052600080fdfea265627a7a72315820c10e280b8a7fa8443011c1af5e482a28a694a717388c57f56f7e20fb164a419b64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var InitializableBin = "0x6080604052348015600f57600080fd5b50606480601d6000396000f3fe6080604052600080fdfea265627a7a72315820ea57e02b5074cc74d91624d0942e9fede3eade219812c66da9c8ca460c40646264736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployInitializable deploys a new Ethereum contract, binding an instance of Initializable to it. func DeployInitializable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Initializable, error) { @@ -2820,7 +2820,7 @@ var OwnableFuncSigs = map[string]string{ } // OwnableBin is the compiled bytecode used for deploying new contracts. -var OwnableBin = "0x608060405234801561001057600080fd5b5061037a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b146100665780638f32d59b1461008a578063c4d66de8146100a6578063f2fde38b146100cc575b600080fd5b6100646100f2565b005b61006e61014d565b604080516001600160a01b039092168252519081900360200190f35b61009261015c565b604080519115158252519081900360200190f35b610064600480360360208110156100bc57600080fd5b50356001600160a01b031661016d565b610064600480360360208110156100e257600080fd5b50356001600160a01b031661025f565b6100fa61015c565b61010357600080fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b600054610100900460ff1680610186575061018661027c565b80610194575060005460ff16155b6101cf5760405162461bcd60e51b815260040180806020018281038252602e8152602001806102f2602e913960400191505060405180910390fd5b600054610100900460ff161580156101fa576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3801561025b576000805461ff00191690555b5050565b61026761015c565b61027057600080fd5b61027981610282565b50565b303b1590565b6001600160a01b03811661029557600080fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b039290921691909117905556fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820ee94901f53b5b02edae94adad9d0d4698234d27c538e1bd1a6eff0f12096179864736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var OwnableBin = "0x608060405234801561001057600080fd5b5061037a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b146100665780638f32d59b1461008a578063c4d66de8146100a6578063f2fde38b146100cc575b600080fd5b6100646100f2565b005b61006e61014d565b604080516001600160a01b039092168252519081900360200190f35b61009261015c565b604080519115158252519081900360200190f35b610064600480360360208110156100bc57600080fd5b50356001600160a01b031661016d565b610064600480360360208110156100e257600080fd5b50356001600160a01b031661025f565b6100fa61015c565b61010357600080fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b600054610100900460ff1680610186575061018661027c565b80610194575060005460ff16155b6101cf5760405162461bcd60e51b815260040180806020018281038252602e8152602001806102f2602e913960400191505060405180910390fd5b600054610100900460ff161580156101fa576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3801561025b576000805461ff00191690555b5050565b61026761015c565b61027057600080fd5b61027981610282565b50565b303b1590565b6001600160a01b03811661029557600080fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b039290921691909117905556fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820725f3bbef311adbb63f426cb8cec883209cd1389028ef9afc59068a0a15f076064736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployOwnable deploys a new Ethereum contract, binding an instance of Ownable to it. func DeployOwnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Ownable, error) { @@ -3249,7 +3249,7 @@ func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*Owna const SafeMathABI = "[]" // SafeMathBin is the compiled bytecode used for deploying new contracts. -var SafeMathBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820b569b43828e96bc07c92a9db70da0302765f2b82ee389e40e8f04c6dd3f37c6e64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var SafeMathBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820c324cf30ee48c5910d286e2940b80e2d12dac521ff0472103054d9fd9b64d61864736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it. func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { @@ -3436,7 +3436,7 @@ var StableTokenFuncSigs = map[string]string{ } // StableTokenBin is the compiled bytecode used for deploying new contracts. -var StableTokenBin = "0x60806040523480156200001157600080fd5b506040516200161738038062001617833981810160405260608110156200003757600080fd5b5080516020820151604090920151909190801562000069576200006982620f424083026001600160e01b036200008616565b6200007d836001600160e01b03620001a116565b50505062000340565b6001600160a01b038216620000fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200011881600254620002be60201b62000d1d1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200014b91839062000d1d620002be821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600354610100900460ff1680620001c65750620001c66001600160e01b036200033a16565b80620001d5575060035460ff16155b6200022c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180620015e9602e913960400191505060405180910390fd5b600354610100900460ff1615801562000258576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015620002ba576003805461ff00191690555b5050565b6000828201838110156200033357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b303b1590565b61129980620003506000396000f3fe60806040526004361061012a5760003560e01c80637ca3c7c7116100ab578063a9059cbb1161006f578063a9059cbb1461040a578063bdfde91114610443578063be45fd621461046d578063c4d66de814610535578063dd62ed3e14610568578063f2fde38b146105a35761012a565b80637ca3c7c7146103635780638da5cb5b146103925780638f32d59b146103a757806395d89b41146103bc578063a457c2d7146103d15761012a565b8063313ce567116100f2578063313ce5671461029c57806339509351146102b1578063692058c2146102ea57806370a082311461031b578063715018a61461034e5761012a565b806306fdde031461012f578063095ea7b3146101b9578063117f5a551461020657806318160ddd1461023257806323b872dd14610259575b600080fd5b34801561013b57600080fd5b506101446105d6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101f2600480360360408110156101dc57600080fd5b506001600160a01b038135169060200135610605565b604080519115158252519081900360200190f35b34801561021257600080fd5b506102306004803603602081101561022957600080fd5b503561061b565b005b34801561023e57600080fd5b50610247610640565b60408051918252519081900360200190f35b34801561026557600080fd5b506101f26004803603606081101561027c57600080fd5b506001600160a01b03813581169160208101359091169060400135610646565b3480156102a857600080fd5b5061024761069e565b3480156102bd57600080fd5b506101f2600480360360408110156102d457600080fd5b506001600160a01b0381351690602001356106a3565b3480156102f657600080fd5b506102ff6106df565b604080516001600160a01b039092168252519081900360200190f35b34801561032757600080fd5b506102476004803603602081101561033e57600080fd5b50356001600160a01b03166106ee565b34801561035a57600080fd5b50610230610709565b6102306004803603608081101561037957600080fd5b5080359060208101359060408101359060600135610764565b34801561039e57600080fd5b506102ff6107a9565b3480156103b357600080fd5b506101f26107b8565b3480156103c857600080fd5b506101446107c9565b3480156103dd57600080fd5b506101f2600480360360408110156103f457600080fd5b506001600160a01b0381351690602001356107ea565b34801561041657600080fd5b506101f26004803603604081101561042d57600080fd5b506001600160a01b038135169060200135610826565b34801561044f57600080fd5b506102306004803603602081101561046657600080fd5b5035610833565b34801561047957600080fd5b506101f26004803603606081101561049057600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104c057600080fd5b8201836020820111156104d257600080fd5b803590602001918460018302840111640100000000831117156104f457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610855945050505050565b34801561054157600080fd5b506102306004803603602081101561055857600080fd5b50356001600160a01b0316610882565b34801561057457600080fd5b506102476004803603604081101561058b57600080fd5b506001600160a01b0381358116916020013516610974565b3480156105af57600080fd5b50610230600480360360208110156105c657600080fd5b50356001600160a01b031661099f565b604051806040016040528060138152602001722732bc3a3c9029ba30b13632902237b63630b960691b81525081565b60006106123384846109b9565b50600192915050565b6106236107b8565b61062c57600080fd5b61063d6106376106df565b82610aa5565b50565b60025490565b6000610653848484610b7e565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461069391869161068e908663ffffffff610cc016565b6109b9565b5060015b9392505050565b600681565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161061291859061068e908663ffffffff610d1d16565b60006106e96107a9565b905090565b6001600160a01b031660009081526020819052604090205490565b6107116107b8565b61071a57600080fd5b6036546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603680546001600160a01b0319169055565b604080516020810186905280820184905260608181018490528251808303909101815260809091019091526107a161079a6107a9565b8583610855565b505050505050565b6036546001600160a01b031690565b6036546001600160a01b0316331490565b60405180604001604052806005815260200164139155d4d160da1b81525081565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161061291859061068e908663ffffffff610cc016565b6000610612338484610b7e565b61083b6107b8565b61084457600080fd5b61063d61084f6106df565b82610d77565b600061086084610e67565b1561087757610870848484610e6d565b9050610697565b610870848484611017565b600354610100900460ff168061089b575061089b6110ec565b806108a9575060035460ff16155b6108e45760405162461bcd60e51b815260040180806020018281038252602e8152602001806111a7602e913960400191505060405180910390fd5b600354610100900460ff1615801561090f576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015610970576003805461ff00191690555b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6109a76107b8565b6109b057600080fd5b61063d816110f2565b6001600160a01b0383166109fe5760405162461bcd60e51b815260040180806020018281038252602481526020018061121b6024913960400191505060405180910390fd5b6001600160a01b038216610a435760405162461bcd60e51b81526004018080602001828103825260228152602001806111856022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216610aea5760405162461bcd60e51b81526004018080602001828103825260218152602001806111d56021913960400191505060405180910390fd5b600254610afd908263ffffffff610cc016565b6002556001600160a01b038216600090815260208190526040902054610b29908263ffffffff610cc016565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b038316610bc35760405162461bcd60e51b81526004018080602001828103825260258152602001806111f66025913960400191505060405180910390fd5b6001600160a01b038216610c085760405162461bcd60e51b81526004018080602001828103825260238152602001806111626023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610c31908263ffffffff610cc016565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c66908263ffffffff610d1d16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610d17576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610697576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216610dd2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610de5908263ffffffff610d1d16565b6002556001600160a01b038216600090815260208190526040902054610e11908263ffffffff610d1d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3b151590565b6000610e793384610aa5565b610e838484610d77565b60405163607705c560e11b815233600482018181526024830186905260606044840190815285516064850152855188946001600160a01b0386169463c0ee0b8a9490938a938a9360840190602085019080838360005b83811015610ef1578181015183820152602001610ed9565b50505050905090810190601f168015610f1e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610f3f57600080fd5b505af1158015610f53573d6000803e3d6000fd5b50505050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610fd1578181015183820152602001610fb9565b50505050905090810190601f168015610ffe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60006110233384610aa5565b61102d8484610d77565b836001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110a757818101518382015260200161108f565b50505050905090810190601f1680156110d45780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b303b1590565b6001600160a01b03811661110557600080fd5b6036546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603680546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723158206f89f4c93ff05b336ca269d922bea47dfd30f9d4f87da61042dda421c960693a64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564" +var StableTokenBin = "0x60806040523480156200001157600080fd5b506040516200161738038062001617833981810160405260608110156200003757600080fd5b5080516020820151604090920151909190801562000069576200006982620f424083026001600160e01b036200008616565b6200007d836001600160e01b03620001a116565b50505062000340565b6001600160a01b038216620000fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200011881600254620002be60201b62000d1d1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200014b91839062000d1d620002be821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600354610100900460ff1680620001c65750620001c66001600160e01b036200033a16565b80620001d5575060035460ff16155b6200022c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180620015e9602e913960400191505060405180910390fd5b600354610100900460ff1615801562000258576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015620002ba576003805461ff00191690555b5050565b6000828201838110156200033357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b303b1590565b61129980620003506000396000f3fe60806040526004361061012a5760003560e01c80637ca3c7c7116100ab578063a9059cbb1161006f578063a9059cbb1461040a578063bdfde91114610443578063be45fd621461046d578063c4d66de814610535578063dd62ed3e14610568578063f2fde38b146105a35761012a565b80637ca3c7c7146103635780638da5cb5b146103925780638f32d59b146103a757806395d89b41146103bc578063a457c2d7146103d15761012a565b8063313ce567116100f2578063313ce5671461029c57806339509351146102b1578063692058c2146102ea57806370a082311461031b578063715018a61461034e5761012a565b806306fdde031461012f578063095ea7b3146101b9578063117f5a551461020657806318160ddd1461023257806323b872dd14610259575b600080fd5b34801561013b57600080fd5b506101446105d6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101f2600480360360408110156101dc57600080fd5b506001600160a01b038135169060200135610605565b604080519115158252519081900360200190f35b34801561021257600080fd5b506102306004803603602081101561022957600080fd5b503561061b565b005b34801561023e57600080fd5b50610247610640565b60408051918252519081900360200190f35b34801561026557600080fd5b506101f26004803603606081101561027c57600080fd5b506001600160a01b03813581169160208101359091169060400135610646565b3480156102a857600080fd5b5061024761069e565b3480156102bd57600080fd5b506101f2600480360360408110156102d457600080fd5b506001600160a01b0381351690602001356106a3565b3480156102f657600080fd5b506102ff6106df565b604080516001600160a01b039092168252519081900360200190f35b34801561032757600080fd5b506102476004803603602081101561033e57600080fd5b50356001600160a01b03166106ee565b34801561035a57600080fd5b50610230610709565b6102306004803603608081101561037957600080fd5b5080359060208101359060408101359060600135610764565b34801561039e57600080fd5b506102ff6107a9565b3480156103b357600080fd5b506101f26107b8565b3480156103c857600080fd5b506101446107c9565b3480156103dd57600080fd5b506101f2600480360360408110156103f457600080fd5b506001600160a01b0381351690602001356107ea565b34801561041657600080fd5b506101f26004803603604081101561042d57600080fd5b506001600160a01b038135169060200135610826565b34801561044f57600080fd5b506102306004803603602081101561046657600080fd5b5035610833565b34801561047957600080fd5b506101f26004803603606081101561049057600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104c057600080fd5b8201836020820111156104d257600080fd5b803590602001918460018302840111640100000000831117156104f457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610855945050505050565b34801561054157600080fd5b506102306004803603602081101561055857600080fd5b50356001600160a01b0316610882565b34801561057457600080fd5b506102476004803603604081101561058b57600080fd5b506001600160a01b0381358116916020013516610974565b3480156105af57600080fd5b50610230600480360360208110156105c657600080fd5b50356001600160a01b031661099f565b604051806040016040528060138152602001722732bc3a3c9029ba30b13632902237b63630b960691b81525081565b60006106123384846109b9565b50600192915050565b6106236107b8565b61062c57600080fd5b61063d6106376106df565b82610aa5565b50565b60025490565b6000610653848484610b7e565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461069391869161068e908663ffffffff610cc016565b6109b9565b5060015b9392505050565b600681565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161061291859061068e908663ffffffff610d1d16565b60006106e96107a9565b905090565b6001600160a01b031660009081526020819052604090205490565b6107116107b8565b61071a57600080fd5b6036546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603680546001600160a01b0319169055565b604080516020810186905280820184905260608181018490528251808303909101815260809091019091526107a161079a6107a9565b8583610855565b505050505050565b6036546001600160a01b031690565b6036546001600160a01b0316331490565b60405180604001604052806005815260200164139155d4d160da1b81525081565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161061291859061068e908663ffffffff610cc016565b6000610612338484610b7e565b61083b6107b8565b61084457600080fd5b61063d61084f6106df565b82610d77565b600061086084610e67565b1561087757610870848484610e6d565b9050610697565b610870848484611017565b600354610100900460ff168061089b575061089b6110ec565b806108a9575060035460ff16155b6108e45760405162461bcd60e51b815260040180806020018281038252602e8152602001806111a7602e913960400191505060405180910390fd5b600354610100900460ff1615801561090f576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015610970576003805461ff00191690555b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6109a76107b8565b6109b057600080fd5b61063d816110f2565b6001600160a01b0383166109fe5760405162461bcd60e51b815260040180806020018281038252602481526020018061121b6024913960400191505060405180910390fd5b6001600160a01b038216610a435760405162461bcd60e51b81526004018080602001828103825260228152602001806111856022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216610aea5760405162461bcd60e51b81526004018080602001828103825260218152602001806111d56021913960400191505060405180910390fd5b600254610afd908263ffffffff610cc016565b6002556001600160a01b038216600090815260208190526040902054610b29908263ffffffff610cc016565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b038316610bc35760405162461bcd60e51b81526004018080602001828103825260258152602001806111f66025913960400191505060405180910390fd5b6001600160a01b038216610c085760405162461bcd60e51b81526004018080602001828103825260238152602001806111626023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610c31908263ffffffff610cc016565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c66908263ffffffff610d1d16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610d17576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610697576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216610dd2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610de5908263ffffffff610d1d16565b6002556001600160a01b038216600090815260208190526040902054610e11908263ffffffff610d1d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3b151590565b6000610e793384610aa5565b610e838484610d77565b60405163607705c560e11b815233600482018181526024830186905260606044840190815285516064850152855188946001600160a01b0386169463c0ee0b8a9490938a938a9360840190602085019080838360005b83811015610ef1578181015183820152602001610ed9565b50505050905090810190601f168015610f1e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610f3f57600080fd5b505af1158015610f53573d6000803e3d6000fd5b50505050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610fd1578181015183820152602001610fb9565b50505050905090810190601f168015610ffe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60006110233384610aa5565b61102d8484610d77565b836001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110a757818101518382015260200161108f565b50505050905090810190601f1680156110d45780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b303b1590565b6001600160a01b03811661110557600080fd5b6036546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603680546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723158209ebb91a2f69479d8956724b3f30a9b9badc660b3b8c86cf2966714ebc331b7cc64736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564" // DeployStableToken deploys a new Ethereum contract, binding an instance of StableToken to it. func DeployStableToken(auth *bind.TransactOpts, backend bind.ContractBackend, orderbook common.Address, prefundAddress common.Address, prefundAmount *big.Int) (common.Address, *types.Transaction, *StableToken, error) { diff --git a/contracts/nexty/endurio/volatile/VolatileToken.go b/contracts/nexty/endurio/volatile/VolatileToken.go index d7a52d21056a..fb194bc312e3 100644 --- a/contracts/nexty/endurio/volatile/VolatileToken.go +++ b/contracts/nexty/endurio/volatile/VolatileToken.go @@ -214,7 +214,7 @@ var ERC20FuncSigs = map[string]string{ } // ERC20Bin is the compiled bytecode used for deploying new contracts. -var ERC20Bin = "0x608060405234801561001057600080fd5b50610708806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d561020b565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610211565b6100b96004803603604081101561013357600080fd5b506001600160a01b038135169060200135610268565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102a4565b6100b96004803603604081101561018557600080fd5b506001600160a01b0381351690602001356102bf565b6100b9600480360360408110156101b157600080fd5b506001600160a01b0381351690602001356102fb565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610308565b6000610202338484610333565b50600192915050565b60025490565b600061021e84848461041f565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461025e918691610259908663ffffffff61056116565b610333565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff6105be16565b6001600160a01b031660009081526020819052604090205490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff61056116565b600061020233848461041f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103785760405162461bcd60e51b815260040180806020018281038252602481526020018061068a6024913960400191505060405180910390fd5b6001600160a01b0382166103bd5760405162461bcd60e51b81526004018080602001828103825260228152602001806106436022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104645760405162461bcd60e51b81526004018080602001828103825260258152602001806106656025913960400191505060405180910390fd5b6001600160a01b0382166104a95760405162461bcd60e51b81526004018080602001828103825260238152602001806106206023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546104d2908263ffffffff61056116565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610507908263ffffffff6105be16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105b8576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610618576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820b4f550881192e587bd58e87df73c2e75a5cf3d0a426abca672670f1d952a6c7964736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var ERC20Bin = "0x608060405234801561001057600080fd5b50610708806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d561020b565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610211565b6100b96004803603604081101561013357600080fd5b506001600160a01b038135169060200135610268565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102a4565b6100b96004803603604081101561018557600080fd5b506001600160a01b0381351690602001356102bf565b6100b9600480360360408110156101b157600080fd5b506001600160a01b0381351690602001356102fb565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610308565b6000610202338484610333565b50600192915050565b60025490565b600061021e84848461041f565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461025e918691610259908663ffffffff61056116565b610333565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff6105be16565b6001600160a01b031660009081526020819052604090205490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff61056116565b600061020233848461041f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103785760405162461bcd60e51b815260040180806020018281038252602481526020018061068a6024913960400191505060405180910390fd5b6001600160a01b0382166103bd5760405162461bcd60e51b81526004018080602001828103825260228152602001806106436022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104645760405162461bcd60e51b81526004018080602001828103825260258152602001806106656025913960400191505060405180910390fd5b6001600160a01b0382166104a95760405162461bcd60e51b81526004018080602001828103825260238152602001806106206023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546104d2908263ffffffff61056116565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610507908263ffffffff6105be16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105b8576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610618576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582028d078244f5693693a9cc442061a8faae5a089295a373e0b6934d16d927251cd64736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployERC20 deploys a new Ethereum contract, binding an instance of ERC20 to it. func DeployERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20, error) { @@ -886,7 +886,7 @@ var ERC223FuncSigs = map[string]string{ } // ERC223Bin is the compiled bytecode used for deploying new contracts. -var ERC223Bin = "0x608060405234801561001057600080fd5b50611020806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063bdfde91111610071578063bdfde911146102a5578063be45fd62146102c2578063c4d66de81461037d578063dd62ed3e146103a3578063f2fde38b146103d15761010b565b80638da5cb5b1461023d5780638f32d59b14610245578063a457c2d71461024d578063a9059cbb146102795761010b565b806339509351116100de57806339509351146101bf578063692058c2146101eb57806370a082311461020f578063715018a6146102355761010b565b8063095ea7b314610110578063117f5a551461015057806318160ddd1461016f57806323b872dd14610189575b600080fd5b61013c6004803603604081101561012657600080fd5b506001600160a01b0381351690602001356103f7565b604080519115158252519081900360200190f35b61016d6004803603602081101561016657600080fd5b503561040d565b005b610177610432565b60408051918252519081900360200190f35b61013c6004803603606081101561019f57600080fd5b506001600160a01b03813581169160208101359091169060400135610438565b61013c600480360360408110156101d557600080fd5b506001600160a01b038135169060200135610490565b6101f36104cc565b604080516001600160a01b039092168252519081900360200190f35b6101776004803603602081101561022557600080fd5b50356001600160a01b03166104db565b61016d6104f6565b6101f3610551565b61013c610560565b61013c6004803603604081101561026357600080fd5b506001600160a01b038135169060200135610571565b61013c6004803603604081101561028f57600080fd5b506001600160a01b0381351690602001356105ad565b61016d600480360360208110156102bb57600080fd5b50356105ba565b61013c600480360360608110156102d857600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561030857600080fd5b82018360208201111561031a57600080fd5b8035906020019184600183028401116401000000008311171561033c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105dc945050505050565b61016d6004803603602081101561039357600080fd5b50356001600160a01b0316610609565b610177600480360360408110156103b957600080fd5b506001600160a01b03813581169160200135166106fb565b61016d600480360360208110156103e757600080fd5b50356001600160a01b0316610726565b6000610404338484610740565b50600192915050565b610415610560565b61041e57600080fd5b61042f6104296104cc565b8261082c565b50565b60025490565b6000610445848484610905565b6001600160a01b038416600090815260016020908152604080832033808552925290912054610485918691610480908663ffffffff610a4716565b610740565b5060015b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610404918590610480908663ffffffff610aa416565b60006104d6610551565b905090565b6001600160a01b031660009081526020819052604090205490565b6104fe610560565b61050757600080fd5b6036546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603680546001600160a01b0319169055565b6036546001600160a01b031690565b6036546001600160a01b0316331490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610404918590610480908663ffffffff610a4716565b6000610404338484610905565b6105c2610560565b6105cb57600080fd5b61042f6105d66104cc565b82610afe565b60006105e784610bee565b156105fe576105f7848484610bf4565b9050610489565b6105f7848484610d9e565b600354610100900460ff16806106225750610622610e73565b80610630575060035460ff16155b61066b5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f2e602e913960400191505060405180910390fd5b600354610100900460ff16158015610696576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156106f7576003805461ff00191690555b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61072e610560565b61073757600080fd5b61042f81610e79565b6001600160a01b0383166107855760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa26024913960400191505060405180910390fd5b6001600160a01b0382166107ca5760405162461bcd60e51b8152600401808060200182810382526022815260200180610f0c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0382166108715760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5c6021913960400191505060405180910390fd5b600254610884908263ffffffff610a4716565b6002556001600160a01b0382166000908152602081905260409020546108b0908263ffffffff610a4716565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b03831661094a5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7d6025913960400191505060405180910390fd5b6001600160a01b03821661098f5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ee96023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546109b8908263ffffffff610a4716565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546109ed908263ffffffff610aa416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610a9e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610489576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216610b59576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610b6c908263ffffffff610aa416565b6002556001600160a01b038216600090815260208190526040902054610b98908263ffffffff610aa416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3b151590565b6000610c00338461082c565b610c0a8484610afe565b60405163607705c560e11b815233600482018181526024830186905260606044840190815285516064850152855188946001600160a01b0386169463c0ee0b8a9490938a938a9360840190602085019080838360005b83811015610c78578181015183820152602001610c60565b50505050905090810190601f168015610ca55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b50505050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d58578181015183820152602001610d40565b50505050905090810190601f168015610d855780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b6000610daa338461082c565b610db48484610afe565b836001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e2e578181015183820152602001610e16565b50505050905090810190601f168015610e5b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b303b1590565b6001600160a01b038116610e8c57600080fd5b6036546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603680546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723158208f70838a9b1fae4484238435159959782e4b60311fb076d312d692e689b8c94d64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var ERC223Bin = "0x608060405234801561001057600080fd5b50611020806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063bdfde91111610071578063bdfde911146102a5578063be45fd62146102c2578063c4d66de81461037d578063dd62ed3e146103a3578063f2fde38b146103d15761010b565b80638da5cb5b1461023d5780638f32d59b14610245578063a457c2d71461024d578063a9059cbb146102795761010b565b806339509351116100de57806339509351146101bf578063692058c2146101eb57806370a082311461020f578063715018a6146102355761010b565b8063095ea7b314610110578063117f5a551461015057806318160ddd1461016f57806323b872dd14610189575b600080fd5b61013c6004803603604081101561012657600080fd5b506001600160a01b0381351690602001356103f7565b604080519115158252519081900360200190f35b61016d6004803603602081101561016657600080fd5b503561040d565b005b610177610432565b60408051918252519081900360200190f35b61013c6004803603606081101561019f57600080fd5b506001600160a01b03813581169160208101359091169060400135610438565b61013c600480360360408110156101d557600080fd5b506001600160a01b038135169060200135610490565b6101f36104cc565b604080516001600160a01b039092168252519081900360200190f35b6101776004803603602081101561022557600080fd5b50356001600160a01b03166104db565b61016d6104f6565b6101f3610551565b61013c610560565b61013c6004803603604081101561026357600080fd5b506001600160a01b038135169060200135610571565b61013c6004803603604081101561028f57600080fd5b506001600160a01b0381351690602001356105ad565b61016d600480360360208110156102bb57600080fd5b50356105ba565b61013c600480360360608110156102d857600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561030857600080fd5b82018360208201111561031a57600080fd5b8035906020019184600183028401116401000000008311171561033c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105dc945050505050565b61016d6004803603602081101561039357600080fd5b50356001600160a01b0316610609565b610177600480360360408110156103b957600080fd5b506001600160a01b03813581169160200135166106fb565b61016d600480360360208110156103e757600080fd5b50356001600160a01b0316610726565b6000610404338484610740565b50600192915050565b610415610560565b61041e57600080fd5b61042f6104296104cc565b8261082c565b50565b60025490565b6000610445848484610905565b6001600160a01b038416600090815260016020908152604080832033808552925290912054610485918691610480908663ffffffff610a4716565b610740565b5060015b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610404918590610480908663ffffffff610aa416565b60006104d6610551565b905090565b6001600160a01b031660009081526020819052604090205490565b6104fe610560565b61050757600080fd5b6036546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603680546001600160a01b0319169055565b6036546001600160a01b031690565b6036546001600160a01b0316331490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610404918590610480908663ffffffff610a4716565b6000610404338484610905565b6105c2610560565b6105cb57600080fd5b61042f6105d66104cc565b82610afe565b60006105e784610bee565b156105fe576105f7848484610bf4565b9050610489565b6105f7848484610d9e565b600354610100900460ff16806106225750610622610e73565b80610630575060035460ff16155b61066b5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f2e602e913960400191505060405180910390fd5b600354610100900460ff16158015610696576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156106f7576003805461ff00191690555b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61072e610560565b61073757600080fd5b61042f81610e79565b6001600160a01b0383166107855760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa26024913960400191505060405180910390fd5b6001600160a01b0382166107ca5760405162461bcd60e51b8152600401808060200182810382526022815260200180610f0c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0382166108715760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5c6021913960400191505060405180910390fd5b600254610884908263ffffffff610a4716565b6002556001600160a01b0382166000908152602081905260409020546108b0908263ffffffff610a4716565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b03831661094a5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7d6025913960400191505060405180910390fd5b6001600160a01b03821661098f5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ee96023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546109b8908263ffffffff610a4716565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546109ed908263ffffffff610aa416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610a9e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610489576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216610b59576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610b6c908263ffffffff610aa416565b6002556001600160a01b038216600090815260208190526040902054610b98908263ffffffff610aa416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3b151590565b6000610c00338461082c565b610c0a8484610afe565b60405163607705c560e11b815233600482018181526024830186905260606044840190815285516064850152855188946001600160a01b0386169463c0ee0b8a9490938a938a9360840190602085019080838360005b83811015610c78578181015183820152602001610c60565b50505050905090810190601f168015610ca55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b50505050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d58578181015183820152602001610d40565b50505050905090810190601f168015610d855780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b6000610daa338461082c565b610db48484610afe565b836001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e2e578181015183820152602001610e16565b50505050905090810190601f168015610e5b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b303b1590565b6001600160a01b038116610e8c57600080fd5b6036546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603680546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582066f26b787f0542f3b702fb8ce7420a86efa4fc85b53cdddf2a3de98805c6587064736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployERC223 deploys a new Ethereum contract, binding an instance of ERC223 to it. func DeployERC223(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC223, error) { @@ -2649,7 +2649,7 @@ func (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, er const InitializableABI = "[]" // InitializableBin is the compiled bytecode used for deploying new contracts. -var InitializableBin = "0x6080604052348015600f57600080fd5b50606480601d6000396000f3fe6080604052600080fdfea265627a7a72315820c10e280b8a7fa8443011c1af5e482a28a694a717388c57f56f7e20fb164a419b64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var InitializableBin = "0x6080604052348015600f57600080fd5b50606480601d6000396000f3fe6080604052600080fdfea265627a7a72315820ea57e02b5074cc74d91624d0942e9fede3eade219812c66da9c8ca460c40646264736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployInitializable deploys a new Ethereum contract, binding an instance of Initializable to it. func DeployInitializable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Initializable, error) { @@ -2820,7 +2820,7 @@ var OwnableFuncSigs = map[string]string{ } // OwnableBin is the compiled bytecode used for deploying new contracts. -var OwnableBin = "0x608060405234801561001057600080fd5b5061037a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b146100665780638f32d59b1461008a578063c4d66de8146100a6578063f2fde38b146100cc575b600080fd5b6100646100f2565b005b61006e61014d565b604080516001600160a01b039092168252519081900360200190f35b61009261015c565b604080519115158252519081900360200190f35b610064600480360360208110156100bc57600080fd5b50356001600160a01b031661016d565b610064600480360360208110156100e257600080fd5b50356001600160a01b031661025f565b6100fa61015c565b61010357600080fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b600054610100900460ff1680610186575061018661027c565b80610194575060005460ff16155b6101cf5760405162461bcd60e51b815260040180806020018281038252602e8152602001806102f2602e913960400191505060405180910390fd5b600054610100900460ff161580156101fa576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3801561025b576000805461ff00191690555b5050565b61026761015c565b61027057600080fd5b61027981610282565b50565b303b1590565b6001600160a01b03811661029557600080fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b039290921691909117905556fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820ee94901f53b5b02edae94adad9d0d4698234d27c538e1bd1a6eff0f12096179864736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var OwnableBin = "0x608060405234801561001057600080fd5b5061037a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b146100665780638f32d59b1461008a578063c4d66de8146100a6578063f2fde38b146100cc575b600080fd5b6100646100f2565b005b61006e61014d565b604080516001600160a01b039092168252519081900360200190f35b61009261015c565b604080519115158252519081900360200190f35b610064600480360360208110156100bc57600080fd5b50356001600160a01b031661016d565b610064600480360360208110156100e257600080fd5b50356001600160a01b031661025f565b6100fa61015c565b61010357600080fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b600054610100900460ff1680610186575061018661027c565b80610194575060005460ff16155b6101cf5760405162461bcd60e51b815260040180806020018281038252602e8152602001806102f2602e913960400191505060405180910390fd5b600054610100900460ff161580156101fa576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3801561025b576000805461ff00191690555b5050565b61026761015c565b61027057600080fd5b61027981610282565b50565b303b1590565b6001600160a01b03811661029557600080fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b039290921691909117905556fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820725f3bbef311adbb63f426cb8cec883209cd1389028ef9afc59068a0a15f076064736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeployOwnable deploys a new Ethereum contract, binding an instance of Ownable to it. func DeployOwnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Ownable, error) { @@ -3249,7 +3249,7 @@ func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*Owna const SafeMathABI = "[]" // SafeMathBin is the compiled bytecode used for deploying new contracts. -var SafeMathBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820b569b43828e96bc07c92a9db70da0302765f2b82ee389e40e8f04c6dd3f37c6e64736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058" +var SafeMathBin = "0x607b6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820c324cf30ee48c5910d286e2940b80e2d12dac521ff0472103054d9fd9b64d61864736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058" // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it. func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { @@ -3408,7 +3408,7 @@ func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method } // VolatileTokenABI is the input ABI used to generate the binding from. -const VolatileTokenABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"orderbook\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"prefundAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"prefundAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"slashingDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockdownExpiration\",\"type\":\"uint256\"}],\"name\":\"depositAndPropose\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"index\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"haveAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"wantAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assistingID\",\"type\":\"bytes32\"}],\"name\":\"depositAndTrade\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"dexBurn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"dexMint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"slashingDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockdownExpiration\",\"type\":\"uint256\"}],\"name\":\"propose\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"index\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"haveAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"wantAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assistingID\",\"type\":\"bytes32\"}],\"name\":\"trade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"addresspayable\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"withdrawTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" +const VolatileTokenABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"orderbook\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"prefundAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"prefundAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slashingDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockdownExpiration\",\"type\":\"uint256\"}],\"name\":\"depositAndPropose\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"index\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"haveAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"wantAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assistingID\",\"type\":\"bytes32\"}],\"name\":\"depositAndTrade\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"dexBurn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"dexMint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slashingDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockdownExpiration\",\"type\":\"uint256\"}],\"name\":\"propose\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"index\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"haveAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"wantAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assistingID\",\"type\":\"bytes32\"}],\"name\":\"trade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"addresspayable\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"withdrawTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // VolatileTokenFuncSigs maps the 4-byte function signature to its string representation. var VolatileTokenFuncSigs = map[string]string{ @@ -3418,7 +3418,7 @@ var VolatileTokenFuncSigs = map[string]string{ "313ce567": "decimals()", "a457c2d7": "decreaseAllowance(address,uint256)", "d0e30db0": "deposit()", - "5fed4359": "depositAndPropose(uint256,int256,uint256,uint256)", + "f255606e": "depositAndPropose(int256,uint256,uint256,uint256)", "37a7113d": "depositAndTrade(bytes32,uint256,uint256,bytes32)", "b760faf9": "depositTo(address)", "692058c2": "dex()", @@ -3429,7 +3429,7 @@ var VolatileTokenFuncSigs = map[string]string{ "8f32d59b": "isOwner()", "06fdde03": "name()", "8da5cb5b": "owner()", - "65bfd044": "propose(uint256,int256,uint256,uint256)", + "8137d318": "propose(int256,uint256,uint256,uint256)", "715018a6": "renounceOwnership()", "95d89b41": "symbol()", "18160ddd": "totalSupply()", @@ -3443,7 +3443,7 @@ var VolatileTokenFuncSigs = map[string]string{ } // VolatileTokenBin is the compiled bytecode used for deploying new contracts. -var VolatileTokenBin = "0x60806040523480156200001157600080fd5b50604051620018c5380380620018c5833981810160405260608110156200003757600080fd5b508051602082015160409092015190919080156200007057620000708269d3c21bcecceda100000083026001600160e01b036200008d16565b62000084836001600160e01b03620001a816565b50505062000347565b6001600160a01b0382166200010357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200011f81600254620002c560201b62000fc41790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200015291839062000fc4620002c5821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600354610100900460ff1680620001cd5750620001cd6001600160e01b036200034116565b80620001dc575060035460ff16155b62000233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018062001897602e913960400191505060405180910390fd5b600354610100900460ff161580156200025f576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015620002c1576003805461ff00191690555b5050565b6000828201838110156200033a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b303b1590565b61154080620003576000396000f3fe6080604052600436106101b75760003560e01c80637ca3c7c7116100ec578063bdfde9111161008a578063c86283c811610064578063c86283c8146106ec578063d0e30db014610725578063dd62ed3e1461072d578063f2fde38b14610768576101b7565b8063bdfde911146105c7578063be45fd62146105f1578063c4d66de8146106b9576101b7565b806395d89b41116100c657806395d89b411461051a578063a457c2d71461052f578063a9059cbb14610568578063b760faf9146105a1576101b7565b80637ca3c7c7146104b45780638da5cb5b146104f05780638f32d59b14610505576101b7565b806337a7113d1161015957806365bfd0441161013357806365bfd044146103ff578063692058c21461043b57806370a082311461046c578063715018a61461049f576101b7565b806337a7113d1461036857806339509351146103975780635fed4359146103d0576101b7565b806318160ddd1161019557806318160ddd146102bf57806323b872dd146102e65780632e1a7d4d14610329578063313ce56714610353576101b7565b806306fdde03146101bc578063095ea7b314610246578063117f5a5514610293575b600080fd5b3480156101c857600080fd5b506101d161079b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025257600080fd5b5061027f6004803603604081101561026957600080fd5b506001600160a01b0381351690602001356107bf565b604080519115158252519081900360200190f35b34801561029f57600080fd5b506102bd600480360360208110156102b657600080fd5b50356107d5565b005b3480156102cb57600080fd5b506102d46107fa565b60408051918252519081900360200190f35b3480156102f257600080fd5b5061027f6004803603606081101561030957600080fd5b506001600160a01b03813581169160208101359091169060400135610800565b34801561033557600080fd5b5061027f6004803603602081101561034c57600080fd5b5035610858565b34801561035f57600080fd5b506102d461086a565b6102bd6004803603608081101561037e57600080fd5b508035906020810135906040810135906060013561086f565b3480156103a357600080fd5b5061027f600480360360408110156103ba57600080fd5b506001600160a01b03813516906020013561088b565b6102bd600480360360808110156103e657600080fd5b50803590602081013590604081013590606001356108c7565b34801561040b57600080fd5b506102bd6004803603608081101561042257600080fd5b50803590602081013590604081013590606001356108d9565b34801561044757600080fd5b50610450610928565b604080516001600160a01b039092168252519081900360200190f35b34801561047857600080fd5b506102d46004803603602081101561048f57600080fd5b50356001600160a01b0316610937565b3480156104ab57600080fd5b506102bd610952565b3480156104c057600080fd5b506102bd600480360360808110156104d757600080fd5b50803590602081013590604081013590606001356109ad565b3480156104fc57600080fd5b506104506109ea565b34801561051157600080fd5b5061027f6109f9565b34801561052657600080fd5b506101d1610a0a565b34801561053b57600080fd5b5061027f6004803603604081101561055257600080fd5b506001600160a01b038135169060200135610a2a565b34801561057457600080fd5b5061027f6004803603604081101561058b57600080fd5b506001600160a01b038135169060200135610a66565b61027f600480360360208110156105b757600080fd5b50356001600160a01b0316610a73565b3480156105d357600080fd5b506102bd600480360360208110156105ea57600080fd5b5035610a80565b3480156105fd57600080fd5b5061027f6004803603606081101561061457600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561064457600080fd5b82018360208201111561065657600080fd5b8035906020019184600183028401116401000000008311171561067857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aa2945050505050565b3480156106c557600080fd5b506102bd600480360360208110156106dc57600080fd5b50356001600160a01b0316610acf565b3480156106f857600080fd5b5061027f6004803603604081101561070f57600080fd5b50803590602001356001600160a01b0316610bc1565b61027f610c0c565b34801561073957600080fd5b506102d46004803603604081101561075057600080fd5b506001600160a01b0381358116916020013516610c1b565b34801561077457600080fd5b506102bd6004803603602081101561078b57600080fd5b50356001600160a01b0316610c46565b604051806040016040528060088152602001674d656761204e545960c01b81525081565b60006107cc338484610c60565b50600192915050565b6107dd6109f9565b6107e657600080fd5b6107f76107f1610928565b82610d4c565b50565b60025490565b600061080d848484610e25565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461084d918691610848908663ffffffff610f6716565b610c60565b5060015b9392505050565b60006108648233610bc1565b50919050565b601881565b61087833610a73565b50610885848484846109ad565b50505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107cc918590610848908663ffffffff610fc416565b6108d033610a73565b50610885848484845b60408051602081018590528082018490526060810183905260006080808301919091528251808303909101815260a0909101909152610920610919610928565b8683610aa2565b505050505050565b60006109326109ea565b905090565b6001600160a01b031660009081526020819052604090205490565b61095a6109f9565b61096357600080fd5b6036546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603680546001600160a01b0319169055565b604080516020810186905280820184905260608181018490528251808303909101815260809091019091526109206109e3610928565b8583610aa2565b6036546001600160a01b031690565b6036546001600160a01b0316331490565b604051806040016040528060048152602001634d4e545960e01b81525081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107cc918590610848908663ffffffff610f6716565b60006107cc338484610e25565b6000346107cc838261101e565b610a886109f9565b610a9157600080fd5b6107f7610a9c610928565b8261101e565b6000610aad8461110e565b15610ac457610abd848484611114565b9050610851565b610abd8484846112be565b600354610100900460ff1680610ae85750610ae8611393565b80610af6575060035460ff16155b610b315760405162461bcd60e51b815260040180806020018281038252602e81526020018061144e602e913960400191505060405180910390fd5b600354610100900460ff16158015610b5c576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015610bbd576003805461ff00191690555b5050565b600033610bce8185610d4c565b6040516001600160a01b0384169085156108fc029086906000818181858888f19350505050158015610c04573d6000803e3d6000fd5b505092915050565b6000610c1733610a73565b5090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610c4e6109f9565b610c5757600080fd5b6107f781611399565b6001600160a01b038316610ca55760405162461bcd60e51b81526004018080602001828103825260248152602001806114c26024913960400191505060405180910390fd5b6001600160a01b038216610cea5760405162461bcd60e51b815260040180806020018281038252602281526020018061142c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216610d915760405162461bcd60e51b815260040180806020018281038252602181526020018061147c6021913960400191505060405180910390fd5b600254610da4908263ffffffff610f6716565b6002556001600160a01b038216600090815260208190526040902054610dd0908263ffffffff610f6716565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b038316610e6a5760405162461bcd60e51b815260040180806020018281038252602581526020018061149d6025913960400191505060405180910390fd5b6001600160a01b038216610eaf5760405162461bcd60e51b81526004018080602001828103825260238152602001806114096023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610ed8908263ffffffff610f6716565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610f0d908263ffffffff610fc416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610fbe576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610851576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216611079576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b60025461108c908263ffffffff610fc416565b6002556001600160a01b0382166000908152602081905260409020546110b8908263ffffffff610fc416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3b151590565b60006111203384610d4c565b61112a848461101e565b60405163607705c560e11b815233600482018181526024830186905260606044840190815285516064850152855188946001600160a01b0386169463c0ee0b8a9490938a938a9360840190602085019080838360005b83811015611198578181015183820152602001611180565b50505050905090810190601f1680156111c55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156111e657600080fd5b505af11580156111fa573d6000803e3d6000fd5b50505050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611278578181015183820152602001611260565b50505050905090810190601f1680156112a55780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60006112ca3384610d4c565b6112d4848461101e565b836001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561134e578181015183820152602001611336565b50505050905090810190601f16801561137b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b303b1590565b6001600160a01b0381166113ac57600080fd5b6036546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603680546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820a4e20c6a5dd85988042eab171c39b5e4269c91e085b44823dfd04ea610eb30f864736f6c637828302e352e31322d646576656c6f702e323031392e392e31332b636f6d6d69742e32643630316134660058436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564" +var VolatileTokenBin = "0x60806040523480156200001157600080fd5b50604051620018c2380380620018c2833981810160405260608110156200003757600080fd5b508051602082015160409092015190919080156200007057620000708269d3c21bcecceda100000083026001600160e01b036200008d16565b62000084836001600160e01b03620001a816565b50505062000347565b6001600160a01b0382166200010357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200011f81600254620002c560201b62000fc11790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200015291839062000fc1620002c5821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600354610100900460ff1680620001cd5750620001cd6001600160e01b036200034116565b80620001dc575060035460ff16155b62000233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018062001894602e913960400191505060405180910390fd5b600354610100900460ff161580156200025f576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015620002c1576003805461ff00191690555b5050565b6000828201838110156200033a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b303b1590565b61153d80620003576000396000f3fe6080604052600436106101b75760003560e01c80638da5cb5b116100ec578063be45fd621161008a578063d0e30db011610064578063d0e30db0146106f6578063dd62ed3e146106fe578063f255606e14610739578063f2fde38b14610768576101b7565b8063be45fd62146105c2578063c4d66de81461068a578063c86283c8146106bd576101b7565b8063a457c2d7116100c6578063a457c2d714610500578063a9059cbb14610539578063b760faf914610572578063bdfde91114610598576101b7565b80638da5cb5b146104c15780638f32d59b146104d657806395d89b41146104eb576101b7565b806337a7113d1161015957806370a082311161013357806370a0823114610401578063715018a6146104345780637ca3c7c7146104495780638137d31814610485576101b7565b806337a7113d146103685780633950935114610397578063692058c2146103d0576101b7565b806318160ddd1161019557806318160ddd146102bf57806323b872dd146102e65780632e1a7d4d14610329578063313ce56714610353576101b7565b806306fdde03146101bc578063095ea7b314610246578063117f5a5514610293575b600080fd5b3480156101c857600080fd5b506101d161079b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025257600080fd5b5061027f6004803603604081101561026957600080fd5b506001600160a01b0381351690602001356107bf565b604080519115158252519081900360200190f35b34801561029f57600080fd5b506102bd600480360360208110156102b657600080fd5b50356107d5565b005b3480156102cb57600080fd5b506102d46107fa565b60408051918252519081900360200190f35b3480156102f257600080fd5b5061027f6004803603606081101561030957600080fd5b506001600160a01b03813581169160208101359091169060400135610800565b34801561033557600080fd5b5061027f6004803603602081101561034c57600080fd5b5035610858565b34801561035f57600080fd5b506102d461086a565b6102bd6004803603608081101561037e57600080fd5b508035906020810135906040810135906060013561086f565b3480156103a357600080fd5b5061027f600480360360408110156103ba57600080fd5b506001600160a01b03813516906020013561088b565b3480156103dc57600080fd5b506103e56108c7565b604080516001600160a01b039092168252519081900360200190f35b34801561040d57600080fd5b506102d46004803603602081101561042457600080fd5b50356001600160a01b03166108d6565b34801561044057600080fd5b506102bd6108f1565b34801561045557600080fd5b506102bd6004803603608081101561046c57600080fd5b508035906020810135906040810135906060013561094c565b34801561049157600080fd5b506102bd600480360360808110156104a857600080fd5b5080359060208101359060408101359060600135610991565b3480156104cd57600080fd5b506103e56109d1565b3480156104e257600080fd5b5061027f6109e0565b3480156104f757600080fd5b506101d16109f1565b34801561050c57600080fd5b5061027f6004803603604081101561052357600080fd5b506001600160a01b038135169060200135610a11565b34801561054557600080fd5b5061027f6004803603604081101561055c57600080fd5b506001600160a01b038135169060200135610a4d565b61027f6004803603602081101561058857600080fd5b50356001600160a01b0316610a5a565b3480156105a457600080fd5b506102bd600480360360208110156105bb57600080fd5b5035610a67565b3480156105ce57600080fd5b5061027f600480360360608110156105e557600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561061557600080fd5b82018360208201111561062757600080fd5b8035906020019184600183028401116401000000008311171561064957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a89945050505050565b34801561069657600080fd5b506102bd600480360360208110156106ad57600080fd5b50356001600160a01b0316610ab6565b3480156106c957600080fd5b5061027f600480360360408110156106e057600080fd5b50803590602001356001600160a01b0316610ba8565b61027f610bf3565b34801561070a57600080fd5b506102d46004803603604081101561072157600080fd5b506001600160a01b0381358116916020013516610c02565b6102bd6004803603608081101561074f57600080fd5b5080359060208101359060408101359060600135610c2d565b34801561077457600080fd5b506102bd6004803603602081101561078b57600080fd5b50356001600160a01b0316610c43565b604051806040016040528060088152602001674d656761204e545960c01b81525081565b60006107cc338484610c5d565b50600192915050565b6107dd6109e0565b6107e657600080fd5b6107f76107f16108c7565b82610d49565b50565b60025490565b600061080d848484610e22565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461084d918691610848908663ffffffff610f6416565b610c5d565b5060015b9392505050565b60006108648233610ba8565b50919050565b601881565b61087833610a5a565b506108858484848461094c565b50505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107cc918590610848908663ffffffff610fc116565b60006108d16109d1565b905090565b6001600160a01b031660009081526020819052604090205490565b6108f96109e0565b61090257600080fd5b6036546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603680546001600160a01b0319169055565b604080516020810186905280820184905260608181018490528251808303909101815260809091019091526109896109826108c7565b8583610a89565b505050505050565b60408051602081018690528082018490526060810183905260006080808301919091528251808303909101815260a09091019091526109896109826108c7565b6036546001600160a01b031690565b6036546001600160a01b0316331490565b604051806040016040528060048152602001634d4e545960e01b81525081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107cc918590610848908663ffffffff610f6416565b60006107cc338484610e22565b6000346107cc838261101b565b610a6f6109e0565b610a7857600080fd5b6107f7610a836108c7565b8261101b565b6000610a948461110b565b15610aab57610aa4848484611111565b9050610851565b610aa48484846112bb565b600354610100900460ff1680610acf5750610acf611390565b80610add575060035460ff16155b610b185760405162461bcd60e51b815260040180806020018281038252602e81526020018061144b602e913960400191505060405180910390fd5b600354610100900460ff16158015610b43576003805460ff1961ff0019909116610100171660011790555b603680546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015610ba4576003805461ff00191690555b5050565b600033610bb58185610d49565b6040516001600160a01b0384169085156108fc029086906000818181858888f19350505050158015610beb573d6000803e3d6000fd5b505092915050565b6000610bfe33610a5a565b5090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610c3633610a5a565b5061088584848484610991565b610c4b6109e0565b610c5457600080fd5b6107f781611396565b6001600160a01b038316610ca25760405162461bcd60e51b81526004018080602001828103825260248152602001806114bf6024913960400191505060405180910390fd5b6001600160a01b038216610ce75760405162461bcd60e51b81526004018080602001828103825260228152602001806114296022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216610d8e5760405162461bcd60e51b81526004018080602001828103825260218152602001806114796021913960400191505060405180910390fd5b600254610da1908263ffffffff610f6416565b6002556001600160a01b038216600090815260208190526040902054610dcd908263ffffffff610f6416565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b038316610e675760405162461bcd60e51b815260040180806020018281038252602581526020018061149a6025913960400191505060405180910390fd5b6001600160a01b038216610eac5760405162461bcd60e51b81526004018080602001828103825260238152602001806114066023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610ed5908263ffffffff610f6416565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610f0a908263ffffffff610fc116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610fbb576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610851576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216611076576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611089908263ffffffff610fc116565b6002556001600160a01b0382166000908152602081905260409020546110b5908263ffffffff610fc116565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3b151590565b600061111d3384610d49565b611127848461101b565b60405163607705c560e11b815233600482018181526024830186905260606044840190815285516064850152855188946001600160a01b0386169463c0ee0b8a9490938a938a9360840190602085019080838360005b8381101561119557818101518382015260200161117d565b50505050905090810190601f1680156111c25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156111e357600080fd5b505af11580156111f7573d6000803e3d6000fd5b50505050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561127557818101518382015260200161125d565b50505050905090810190601f1680156112a25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60006112c73384610d49565b6112d1848461101b565b836001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561134b578181015183820152602001611333565b50505050905090810190601f1680156113785780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b303b1590565b6001600160a01b0381166113a957600080fd5b6036546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603680546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820cbabef3b89730c31d198ba993b109a81b580c6fde8682b3c2a2fe4495e12a82a64736f6c637828302e352e31322d646576656c6f702e323031392e392e31362b636f6d6d69742e35346439333664640058436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564" // DeployVolatileToken deploys a new Ethereum contract, binding an instance of VolatileToken to it. func DeployVolatileToken(auth *bind.TransactOpts, backend bind.ContractBackend, orderbook common.Address, prefundAddress common.Address, prefundAmount *big.Int) (common.Address, *types.Transaction, *VolatileToken, error) { @@ -3898,25 +3898,25 @@ func (_VolatileToken *VolatileTokenTransactorSession) Deposit() (*types.Transact return _VolatileToken.Contract.Deposit(&_VolatileToken.TransactOpts) } -// DepositAndPropose is a paid mutator transaction binding the contract method 0x5fed4359. +// DepositAndPropose is a paid mutator transaction binding the contract method 0xf255606e. // -// Solidity: function depositAndPropose(uint256 stake, int256 amount, uint256 slashingDuration, uint256 lockdownExpiration) returns() -func (_VolatileToken *VolatileTokenTransactor) DepositAndPropose(opts *bind.TransactOpts, stake *big.Int, amount *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { - return _VolatileToken.contract.Transact(opts, "depositAndPropose", stake, amount, slashingDuration, lockdownExpiration) +// Solidity: function depositAndPropose(int256 amount, uint256 stake, uint256 slashingDuration, uint256 lockdownExpiration) returns() +func (_VolatileToken *VolatileTokenTransactor) DepositAndPropose(opts *bind.TransactOpts, amount *big.Int, stake *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { + return _VolatileToken.contract.Transact(opts, "depositAndPropose", amount, stake, slashingDuration, lockdownExpiration) } -// DepositAndPropose is a paid mutator transaction binding the contract method 0x5fed4359. +// DepositAndPropose is a paid mutator transaction binding the contract method 0xf255606e. // -// Solidity: function depositAndPropose(uint256 stake, int256 amount, uint256 slashingDuration, uint256 lockdownExpiration) returns() -func (_VolatileToken *VolatileTokenSession) DepositAndPropose(stake *big.Int, amount *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { - return _VolatileToken.Contract.DepositAndPropose(&_VolatileToken.TransactOpts, stake, amount, slashingDuration, lockdownExpiration) +// Solidity: function depositAndPropose(int256 amount, uint256 stake, uint256 slashingDuration, uint256 lockdownExpiration) returns() +func (_VolatileToken *VolatileTokenSession) DepositAndPropose(amount *big.Int, stake *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { + return _VolatileToken.Contract.DepositAndPropose(&_VolatileToken.TransactOpts, amount, stake, slashingDuration, lockdownExpiration) } -// DepositAndPropose is a paid mutator transaction binding the contract method 0x5fed4359. +// DepositAndPropose is a paid mutator transaction binding the contract method 0xf255606e. // -// Solidity: function depositAndPropose(uint256 stake, int256 amount, uint256 slashingDuration, uint256 lockdownExpiration) returns() -func (_VolatileToken *VolatileTokenTransactorSession) DepositAndPropose(stake *big.Int, amount *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { - return _VolatileToken.Contract.DepositAndPropose(&_VolatileToken.TransactOpts, stake, amount, slashingDuration, lockdownExpiration) +// Solidity: function depositAndPropose(int256 amount, uint256 stake, uint256 slashingDuration, uint256 lockdownExpiration) returns() +func (_VolatileToken *VolatileTokenTransactorSession) DepositAndPropose(amount *big.Int, stake *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { + return _VolatileToken.Contract.DepositAndPropose(&_VolatileToken.TransactOpts, amount, stake, slashingDuration, lockdownExpiration) } // DepositAndTrade is a paid mutator transaction binding the contract method 0x37a7113d. @@ -4045,25 +4045,25 @@ func (_VolatileToken *VolatileTokenTransactorSession) Initialize(sender common.A return _VolatileToken.Contract.Initialize(&_VolatileToken.TransactOpts, sender) } -// Propose is a paid mutator transaction binding the contract method 0x65bfd044. +// Propose is a paid mutator transaction binding the contract method 0x8137d318. // -// Solidity: function propose(uint256 stake, int256 amount, uint256 slashingDuration, uint256 lockdownExpiration) returns() -func (_VolatileToken *VolatileTokenTransactor) Propose(opts *bind.TransactOpts, stake *big.Int, amount *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { - return _VolatileToken.contract.Transact(opts, "propose", stake, amount, slashingDuration, lockdownExpiration) +// Solidity: function propose(int256 amount, uint256 stake, uint256 slashingDuration, uint256 lockdownExpiration) returns() +func (_VolatileToken *VolatileTokenTransactor) Propose(opts *bind.TransactOpts, amount *big.Int, stake *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { + return _VolatileToken.contract.Transact(opts, "propose", amount, stake, slashingDuration, lockdownExpiration) } -// Propose is a paid mutator transaction binding the contract method 0x65bfd044. +// Propose is a paid mutator transaction binding the contract method 0x8137d318. // -// Solidity: function propose(uint256 stake, int256 amount, uint256 slashingDuration, uint256 lockdownExpiration) returns() -func (_VolatileToken *VolatileTokenSession) Propose(stake *big.Int, amount *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { - return _VolatileToken.Contract.Propose(&_VolatileToken.TransactOpts, stake, amount, slashingDuration, lockdownExpiration) +// Solidity: function propose(int256 amount, uint256 stake, uint256 slashingDuration, uint256 lockdownExpiration) returns() +func (_VolatileToken *VolatileTokenSession) Propose(amount *big.Int, stake *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { + return _VolatileToken.Contract.Propose(&_VolatileToken.TransactOpts, amount, stake, slashingDuration, lockdownExpiration) } -// Propose is a paid mutator transaction binding the contract method 0x65bfd044. +// Propose is a paid mutator transaction binding the contract method 0x8137d318. // -// Solidity: function propose(uint256 stake, int256 amount, uint256 slashingDuration, uint256 lockdownExpiration) returns() -func (_VolatileToken *VolatileTokenTransactorSession) Propose(stake *big.Int, amount *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { - return _VolatileToken.Contract.Propose(&_VolatileToken.TransactOpts, stake, amount, slashingDuration, lockdownExpiration) +// Solidity: function propose(int256 amount, uint256 stake, uint256 slashingDuration, uint256 lockdownExpiration) returns() +func (_VolatileToken *VolatileTokenTransactorSession) Propose(amount *big.Int, stake *big.Int, slashingDuration *big.Int, lockdownExpiration *big.Int) (*types.Transaction, error) { + return _VolatileToken.Contract.Propose(&_VolatileToken.TransactOpts, amount, stake, slashingDuration, lockdownExpiration) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. From 4e5af0bdbfd934500057ad55f1adc2352486aa07 Mon Sep 17 00:00:00 2001 From: Zergity Date: Tue, 17 Sep 2019 10:14:56 +0700 Subject: [PATCH 3/7] params: use shorter consensus contract addresses --- params/config.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/params/config.go b/params/config.go index 333fd34fecbd..f73fc4b053fd 100644 --- a/params/config.go +++ b/params/config.go @@ -45,9 +45,9 @@ var ( ExecAddress = common.HexToAddress("0xcccccccccccccccccccccccccccccccccccccccc") TokenAddress = common.HexToAddress("0x2c783ad80ff980ec75468477e3dd9f86123ecbda") // NTF token contract address // CoLoa contract addresses - SeigniorageAddress = common.HexToAddress("0x0000000000000000000000000000000000123456") // Seigniorage contract address - VolatileTokenAddress = common.HexToAddress("0x0000000000000000000000000000000001234567") // MNTY token contract address - StableTokenAddress = common.HexToAddress("0x0000000000000000000000000000000012345678") // NUSD token contract address + SeigniorageAddress = common.HexToAddress("0x23456") // Seigniorage contract address + VolatileTokenAddress = common.HexToAddress("0x34567") // MNTY token contract address + StableTokenAddress = common.HexToAddress("0x45678") // NUSD token contract address ) // TrustedCheckpoints associates each known checkpoint with the genesis hash of From e750ff2ec979a10c8b012ffaeb5d0a5da2d04372 Mon Sep 17 00:00:00 2001 From: Zergity Date: Tue, 17 Sep 2019 10:30:35 +0700 Subject: [PATCH 4/7] multi: no point letting governance contract address configurable --- cmd/puppeth/wizard_genesis.go | 17 ++--------------- consensus/dccs/1_dccs.go | 12 ++++++------ consensus/dccs/2_dccs.go | 2 +- consensus/dccs/2_logfilter.go | 3 ++- consensus/dccs/dccs.go | 4 ++-- params/config.go | 12 +++--------- 6 files changed, 16 insertions(+), 34 deletions(-) diff --git a/cmd/puppeth/wizard_genesis.go b/cmd/puppeth/wizard_genesis.go index 5a239fc842f6..ba93eb027faf 100644 --- a/cmd/puppeth/wizard_genesis.go +++ b/cmd/puppeth/wizard_genesis.go @@ -114,9 +114,8 @@ func (w *wizard) makeGenesis() { genesis.GasLimit = 42000000 genesis.Difficulty = big.NewInt(1) genesis.Config.Dccs = ¶ms.DccsConfig{ - Period: 2, - Epoch: 30000, - Contract: common.HexToAddress("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"), + Period: 2, + Epoch: 30000, // Stake params StakeRequire: 100, StakeLockHeight: 24 * 60 * 60 / 2, @@ -178,12 +177,6 @@ func (w *wizard) makeGenesis() { fmt.Printf("How many blocks should epoch take after the Thang Long hardfork? (default = %v)\n", genesis.Config.Dccs.ThangLongEpoch) genesis.Config.Dccs.ThangLongEpoch = uint64(w.readDefaultInt(int(genesis.Config.Dccs.ThangLongEpoch))) - fmt.Println() - fmt.Printf("Which nexty governance smart contract address? (default = %v)\n", genesis.Config.Dccs.Contract.Hex()) - if address := w.readAddress(); address != nil { - genesis.Config.Dccs.Contract = *address - } - fmt.Println() fmt.Printf("How many NTF is required to join sealing? (default = %v)\n", genesis.Config.Dccs.StakeRequire) genesis.Config.Dccs.StakeRequire = uint64(w.readDefaultInt(int(genesis.Config.Dccs.StakeRequire))) @@ -390,12 +383,6 @@ func (w *wizard) manageGenesis() { fmt.Println() fmt.Printf("Which block should ThangLong come into effect? (default = %v)\n", w.conf.Genesis.Config.Dccs.ThangLongBlock) w.conf.Genesis.Config.Dccs.ThangLongBlock = w.readDefaultBigInt(w.conf.Genesis.Config.Dccs.ThangLongBlock) - - fmt.Println() - fmt.Printf("Which nexty governance smart contract address? (default = %v)\n", w.conf.Genesis.Config.Dccs.Contract.Hex()) - if address := w.readAddress(); address != nil { - w.conf.Genesis.Config.Dccs.Contract = *address - } } out, _ := json.MarshalIndent(w.conf.Genesis.Config, "", " ") diff --git a/consensus/dccs/1_dccs.go b/consensus/dccs/1_dccs.go index abd0c29f0a76..27af9909b59b 100644 --- a/consensus/dccs/1_dccs.go +++ b/consensus/dccs/1_dccs.go @@ -227,13 +227,13 @@ func (d *Dccs) getStateSnapshot(chain consensus.ChainReader, header *types.Heade log.Trace("Snapshot state not available", "number", number, "err", err) return nil, errSnapshotNotAvailable } - size := state.GetCodeSize(chain.Config().Dccs.Contract) + size := state.GetCodeSize(params.GovernanceAddress) if size <= 0 || state.Error() != nil { log.Trace("Snapshot contract state not available", "number", number, "err", state.Error()) return nil, errSnapshotNotAvailable } index := common.BigToHash(common.Big0) - result := state.GetState(chain.Config().Dccs.Contract, index) + result := state.GetState(params.GovernanceAddress, index) var length int64 if (result == common.Hash{}) { length = 0 @@ -245,7 +245,7 @@ func (d *Dccs) getStateSnapshot(chain consensus.ChainReader, header *types.Heade key := crypto.Keccak256Hash(hexutil.MustDecode(index.String())) for i := 0; i < len(signers); i++ { log.Trace("key hash", "key", key) - singer := state.GetState(chain.Config().Dccs.Contract, key) + singer := state.GetState(params.GovernanceAddress, key) signers[i] = common.HexToAddress(singer.Hex()) key = key.Plus() } @@ -441,7 +441,7 @@ func (d *Dccs) prepareBeneficiary(header *types.Header, chain consensus.ChainRea if err != nil { log.Error("Chain state not available", "number", number, "err", err) } else if state != nil { - hash := state.GetState(chain.Config().Dccs.Contract, key) + hash := state.GetState(params.GovernanceAddress, key) if (hash != common.Hash{}) { header.Coinbase = common.HexToAddress(hash.Hex()) return @@ -461,7 +461,7 @@ func (d *Dccs) prepareBeneficiary(header *types.Header, chain consensus.ChainRea return } - hash := state.GetState(chain.Config().Dccs.Contract, key) + hash := state.GetState(params.GovernanceAddress, key) if (hash != common.Hash{}) { header.Coinbase = common.HexToAddress(hash.Hex()) } @@ -743,7 +743,7 @@ func deployConsensusContracts(state *state.StateDB, chainConfig *params.ChainCon return err } // Deploy or update - deployContract(state, chainConfig.Dccs.Contract, code, storage, true) + deployContract(state, params.GovernanceAddress, code, storage, true) } return nil diff --git a/consensus/dccs/2_dccs.go b/consensus/dccs/2_dccs.go index d5ece86d2d3b..3051c2136586 100644 --- a/consensus/dccs/2_dccs.go +++ b/consensus/dccs/2_dccs.go @@ -406,7 +406,7 @@ func (c *Context) prepareBeneficiary2(header *types.Header) { // try the current active state first state, err := c.chain.State() if err == nil && state != nil { - hash := state.GetState(c.chain.Config().Dccs.Contract, key) + hash := state.GetState(params.GovernanceAddress, key) if (hash != common.Hash{}) { header.Coinbase = common.HexToAddress(hash.Hex()) return diff --git a/consensus/dccs/2_logfilter.go b/consensus/dccs/2_logfilter.go index f147cfbbefe4..a5d7a2d04b27 100644 --- a/consensus/dccs/2_logfilter.go +++ b/consensus/dccs/2_logfilter.go @@ -27,6 +27,7 @@ import ( "github.com/ethereum/go-ethereum/eth/filters" "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/rpc" ) @@ -76,7 +77,7 @@ var _ filters.SimpleBackend = (*logFilterBackend)(nil) // the requests kept as is. func (c *Context) fetchSealerApplications(header *types.Header) ([]SealerApplication, error) { logs, err := filters.BlockLogs(header, - []common.Address{c.engine.config.Contract}, + []common.Address{params.GovernanceAddress}, [][]common.Hash{{joinedTopic, leftTopic}}, &logFilterBackend{ chain: c.chain, diff --git a/consensus/dccs/dccs.go b/consensus/dccs/dccs.go index d3d263e13679..21b160369284 100644 --- a/consensus/dccs/dccs.go +++ b/consensus/dccs/dccs.go @@ -351,14 +351,14 @@ func (d *Dccs) FinalizeAndAssemble(chain consensus.ChainReader, header *types.He // with. func (d *Dccs) Authorize(signer common.Address, signFn SignerFn, state *state.StateDB, header *types.Header) { if d.config.IsThangLong(header.Number) { - size := state.GetCodeSize(d.config.Contract) + size := state.GetCodeSize(params.GovernanceAddress) log.Info("smart contract size", "size", size) if size > 0 && state.Error() == nil { // Get token holder from coinbase index := common.BigToHash(common.Big1).String()[2:] coinbase := "0x000000000000000000000000" + signer.String()[2:] key := crypto.Keccak256Hash(hexutil.MustDecode(coinbase + index)) - result := state.GetState(d.config.Contract, key) + result := state.GetState(params.GovernanceAddress, key) if (result == common.Hash{}) { log.Warn("Validator is not in activation sealer set") diff --git a/params/config.go b/params/config.go index f73fc4b053fd..8ba96bd0c5d6 100644 --- a/params/config.go +++ b/params/config.go @@ -44,6 +44,7 @@ var ( ZeroAddress = common.HexToAddress("0x0000000000000000000000000000000000000000") ExecAddress = common.HexToAddress("0xcccccccccccccccccccccccccccccccccccccccc") TokenAddress = common.HexToAddress("0x2c783ad80ff980ec75468477e3dd9f86123ecbda") // NTF token contract address + GovernanceAddress = common.HexToAddress("0x12345") // CoLoa contract addresses SeigniorageAddress = common.HexToAddress("0x23456") // Seigniorage contract address VolatileTokenAddress = common.HexToAddress("0x34567") // MNTY token contract address @@ -86,8 +87,6 @@ var ( Dccs: &DccsConfig{ Period: BlockSeconds, Epoch: 30000, - // Governance contract - Contract: common.HexToAddress("0x0000000000000000000000000000000000012345"), // ThangLong hard-fork StakeRequire: 50000, StakeLockHeight: 30000, @@ -145,8 +144,6 @@ var ( Dccs: &DccsConfig{ Period: 2, Epoch: 30000, - // Governance contract - Contract: common.HexToAddress("0x0000000000000000000000000000000000012345"), // ThangLong hard-fork StakeRequire: 500, StakeLockHeight: 3000, @@ -305,7 +302,7 @@ var ( // // This configuration is intentionally not using keyed fields to force anyone // adding flags to the config to also have to set these fields. - AllDccsProtocolChanges = &ChainConfig{big.NewInt(1337), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, nil, nil, nil, &DccsConfig{Period: 0, Epoch: 30000, ThangLongBlock: big.NewInt(0), ThangLongEpoch: 3000, Contract: common.HexToAddress("0x0")}} + AllDccsProtocolChanges = &ChainConfig{big.NewInt(1337), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, nil, nil, nil, &DccsConfig{Period: 0, Epoch: 30000, ThangLongBlock: big.NewInt(0), ThangLongEpoch: 3000}} TestChainConfig = &ChainConfig{big.NewInt(1), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, nil, new(EthashConfig), nil, nil} TestRules = TestChainConfig.Rules(new(big.Int)) @@ -409,8 +406,6 @@ func (c *CliqueConfig) String() string { type DccsConfig struct { Period uint64 `json:"period"` // Number of seconds between blocks to enforce Epoch uint64 `json:"epoch"` // Epoch length to reset votes and checkpoint - // governance smart contract address - Contract common.Address `json:"contract,omitempty"` // Governance contract stake params StakeRequire uint64 `json:"stakeRequire"` // stake requirement StakeLockHeight uint64 `json:"stakeLockHeight"` // lock time (in blocks) after leaving @@ -471,10 +466,9 @@ func (c *DccsConfig) Snapshot(number uint64) uint64 { // String implements the stringer interface, returning the consensus engine details. func (c *DccsConfig) String() string { - return fmt.Sprintf("dccs {ThangLong: %v Epoch: %v Contract: %v CoLoa: %v LeakDuration: %v ApplicationConfirmation: %v RandomSeedIteration: %v PriceSamplingDuration: %v PriceSamplingInterval: %v AbsorptionDuration: %v AbsorptionExpiration: %v SlashingDuration: %v LockdownExpiration: %v}", + return fmt.Sprintf("dccs {ThangLong: %v Epoch: %v CoLoa: %v LeakDuration: %v ApplicationConfirmation: %v RandomSeedIteration: %v PriceSamplingDuration: %v PriceSamplingInterval: %v AbsorptionDuration: %v AbsorptionExpiration: %v SlashingDuration: %v LockdownExpiration: %v}", c.ThangLongBlock, c.ThangLongEpoch, - c.Contract.String(), c.CoLoaBlock, c.LeakDuration, c.ApplicationConfirmation, From 3421399f9a4fd786f4025a7317ac7c7b2229bd2f Mon Sep 17 00:00:00 2001 From: Zergity Date: Tue, 17 Sep 2019 11:08:20 +0700 Subject: [PATCH 5/7] consensus/dccs: median price calculated from the parent instead of cannonical block --- consensus/dccs/2_dccs.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/consensus/dccs/2_dccs.go b/consensus/dccs/2_dccs.go index 3051c2136586..74f29f96fe76 100644 --- a/consensus/dccs/2_dccs.go +++ b/consensus/dccs/2_dccs.go @@ -539,7 +539,7 @@ func (c *Context) initialize2(header *types.Header, state *state.StateDB) (types return nil, nil, nil } - medianPrice, err := c.CalcMedianPrice(header.Number.Uint64() - params.CanonicalDepth) + medianPrice, err := c.CalcMedianPrice(header.Number.Uint64() - 1) if err != nil { log.Trace("Failed to calculate canonical median price", "err", err, "number", header.Number) } From 65de077911b642784d36deafe07a3b9c16030995 Mon Sep 17 00:00:00 2001 From: Zergity Date: Tue, 17 Sep 2019 11:08:52 +0700 Subject: [PATCH 6/7] consensus/dccs: don't treat not a price block as error --- consensus/dccs/2_price.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/consensus/dccs/2_price.go b/consensus/dccs/2_price.go index 5061b3c52ccd..17591fded8c5 100644 --- a/consensus/dccs/2_price.go +++ b/consensus/dccs/2_price.go @@ -107,7 +107,7 @@ func (a ByPrice) Swap(i, j int) { a[i], a[j] = a[j], a[i] } func (c *Context) CalcMedianPrice(number uint64) (*Price, error) { if !c.engine.config.IsPriceBlock(number) { // not a price block - return nil, errors.New("Not a price block") + return nil, nil } if number > c.chain.CurrentHeader().Number.Uint64() { return nil, errors.New("Block number too high") From a7ed89253779aa6a480a10fe76a04730f3ada15e Mon Sep 17 00:00:00 2001 From: Zergity Date: Tue, 17 Sep 2019 11:19:47 +0700 Subject: [PATCH 7/7] cmd/puppeth: prefund 1 billion coin only --- cmd/puppeth/wizard_genesis.go | 2 +- common/big.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cmd/puppeth/wizard_genesis.go b/cmd/puppeth/wizard_genesis.go index ba93eb027faf..a0b4ff551953 100644 --- a/cmd/puppeth/wizard_genesis.go +++ b/cmd/puppeth/wizard_genesis.go @@ -260,7 +260,7 @@ func (w *wizard) makeGenesis() { // Read the address of the account to fund if address := w.readAddress(); address != nil { genesis.Alloc[*address] = core.GenesisAccount{ - Balance: new(big.Int).Lsh(big.NewInt(1), 256-7), // 2^256 / 128 (allow many pre-funds without balance overflows) + Balance: common.Big1e27, } continue } diff --git a/common/big.go b/common/big.go index 2d7fa1a792f0..6122822f4198 100644 --- a/common/big.go +++ b/common/big.go @@ -31,6 +31,7 @@ var ( Big1000 = big.NewInt(1000) Big1e12 = big.NewInt(1e12) Big1e24 = new(big.Int).Mul(Big1e12, Big1e12) + Big1e27 = new(big.Int).Mul(Big1e24, Big1000) ) var (