erc20-demurrage-token

ERC20 token with redistributed continual demurrage
Log | Files | Refs | README

commit ee871730dcf65538f925f752ba39fef9e0d6f27e
parent 31faa783469df0e2e064a1f1be77e6e95fa0037e
Author: lash <dev@holbrook.no>
Date:   Fri, 27 May 2022 12:53:11 +0000

Remove unneeded demurragestart item

Diffstat:
Mpython/erc20_demurrage_token/data/DemurrageTokenSingleNocap.bin | 4++--
Mpython/erc20_demurrage_token/data/DemurrageTokenSingleNocap.json | 2+-
Msolidity/DemurrageTokenSingleNocap.sol | 4----
3 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/python/erc20_demurrage_token/data/DemurrageTokenSingleNocap.bin b/python/erc20_demurrage_token/data/DemurrageTokenSingleNocap.bin @@ -1 +1 @@ -61010060405264e8d4a510006a52b7d2dcc80cd2e40000006200002391906200043e565b6080908152503480156200003657600080fd5b50604051620034ae380380620034ae83398181016040528101906200005c91906200075d565b33600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555085600790805190602001906200012f92919062000355565b5084600890805190602001906200014892919062000355565b508360ff166009819055504260048190555060045460a08181525050603c826200017391906200043e565b60c0818152505060646a52b7d2dcc80cd2e400000062000194919062000837565b600260006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600381905550826fffffffffffffffffffffffffffffffff1660e0818152505060006200026f6000600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1660006001620002e8640100000000026401000000009004565b9050600081908060018154018082558091505060019003906000526020600020016000909190919091505581600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050620008ec565b6000807affffffffffffffffffffffffffff00000000000000000000000000606860ff16869060020a0216600102811790506cffffffffffffffffff00000000602060ff16859060020a02166001028117905063ffffffff83166001028117905080915050949350505050565b8280546200036390620008b7565b90600052602060002090601f016020900481019282620003875760008555620003d3565b82601f10620003a257805160ff1916838001178555620003d3565b82800160010185558215620003d3579182015b82811115620003d2578251825591602001919060010190620003b5565b5b509050620003e29190620003e6565b5090565b5b8082111562000401576000816000905550600101620003e7565b5090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200044b8262000405565b9150620004588362000405565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200049457620004936200040f565b5b828202905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200050882620004bd565b810181811067ffffffffffffffff821117156200052a5762000529620004ce565b5b80604052505050565b60006200053f6200049f565b90506200054d8282620004fd565b919050565b600067ffffffffffffffff82111562000570576200056f620004ce565b5b6200057b82620004bd565b9050602081019050919050565b60005b83811015620005a85780820151818401526020810190506200058b565b83811115620005b8576000848401525b50505050565b6000620005d5620005cf8462000552565b62000533565b905082815260208101848484011115620005f457620005f3620004b8565b5b6200060184828562000588565b509392505050565b600082601f830112620006215762000620620004b3565b5b815162000633848260208601620005be565b91505092915050565b600060ff82169050919050565b62000654816200063c565b81146200066057600080fd5b50565b600081519050620006748162000649565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b620006a1816200067a565b8114620006ad57600080fd5b50565b600081519050620006c18162000696565b92915050565b620006d28162000405565b8114620006de57600080fd5b50565b600081519050620006f281620006c7565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200072582620006f8565b9050919050565b620007378162000718565b81146200074357600080fd5b50565b60008151905062000757816200072c565b92915050565b60008060008060008060c087890312156200077d576200077c620004a9565b5b600087015167ffffffffffffffff8111156200079e576200079d620004ae565b5b620007ac89828a0162000609565b965050602087015167ffffffffffffffff811115620007d057620007cf620004ae565b5b620007de89828a0162000609565b9550506040620007f189828a0162000663565b94505060606200080489828a01620006b0565b93505060806200081789828a01620006e1565b92505060a06200082a89828a0162000746565b9150509295509295509295565b600062000844826200067a565b915062000851836200067a565b9250816fffffffffffffffffffffffffffffffff04831182151516156200087d576200087c6200040f565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008d057607f821691505b602082108103620008e657620008e562000888565b5b50919050565b60805160a05160c05160e051612b496200096560003960008181610cf601528181610f460152611be801526000818161119601528181611a590152611c870152600081816111c201528181611ca80152611ced01526000818161122f01528181611267015281816112df0152611a350152612b496000f3fe608060405234801561001057600080fd5b5060043610610291576000357c01000000000000000000000000000000000000000000000000000000009004806370a082311161016e578063a9059cbb116100e0578063e3ab207a116100a4578063e3ab207a14610870578063e54d63f7146108a0578063e8095295146108d0578063eda4e6d6146108ee578063f2fde38b1461090c578063f83da35d1461093c57610291565b8063a9059cbb146107b6578063ab28cea0146107e6578063b470aade14610804578063c0ab707714610822578063d340ef8a1461085257610291565b80638da5cb5b116101325780638da5cb5b146106e05780638f0b2d5d146106fe5780638f1df6bc1461071a57806395d89b4114610738578063983b2d56146107565780639da7d8ba1461078657610291565b806370a0823114610626578063731f237c1461065657806374bedb951461067457806379ba5097146106925780638d34855a146106b057610291565b8063313ce5671161020757806351b4541c116101cb57806351b4541c1461051857806358b2833b146105485780636721d4ef146105665780636787a9be146105965780636a2d094e146105c65780636ffa8a05146105f657610291565b8063313ce5671461043a57806340452d9114610458578063449a52f81461048857806347a50517146104b85780634abfbba2146104e857610291565b806318160ddd1161025957806318160ddd146103505780631989c6a81461036e578063229ba1971461038c57806323b872dd146103aa5780633092afd5146103da578063313334871461040a57610291565b806301ffc9a71461029657806306fdde03146102c6578063095ea7b3146102e457806309f28f3c146103145780630b2472eb14610332575b600080fd5b6102b060048036038101906102ab919061228b565b61096c565b6040516102bd91906122d3565b60405180910390f35b6102ce610b12565b6040516102db9190612387565b60405180910390f35b6102fe60048036038101906102f9919061243d565b610ba0565b60405161030b91906122d3565b60405180910390f35b61031c610cba565b60405161032991906124a8565b60405180910390f35b61033a610cdc565b60405161034791906124d2565b60405180910390f35b610358610ce2565b60405161036591906124d2565b60405180910390f35b610376610ce8565b60405161038391906124d2565b60405180910390f35b610394610cf4565b6040516103a191906124d2565b60405180910390f35b6103c460048036038101906103bf91906124ed565b610d18565b6040516103d191906122d3565b60405180910390f35b6103f460048036038101906103ef9190612540565b610e38565b60405161040191906122d3565b60405180910390f35b610424600480360381019061041f919061256d565b610f2b565b60405161043191906124d2565b60405180910390f35b610442610fdf565b60405161044f91906124d2565b60405180910390f35b610472600480360381019061046d91906125ad565b610fe5565b60405161047f91906125f3565b60405180910390f35b6104a2600480360381019061049d919061243d565b611009565b6040516104af91906122d3565b60405180910390f35b6104d260048036038101906104cd9190612540565b611149565b6040516104df91906124d2565b60405180910390f35b61050260048036038101906104fd91906125ad565b611192565b60405161050f91906124d2565b60405180910390f35b610532600480360381019061052d91906125ad565b6111f2565b60405161053f91906124d2565b60405180910390f35b610550611213565b60405161055d91906124d2565b60405180910390f35b610580600480360381019061057b919061256d565b611219565b60405161058d91906124d2565b60405180910390f35b6105b060048036038101906105ab91906125ad565b61129a565b6040516105bd91906124d2565b60405180910390f35b6105e060048036038101906105db91906125ad565b61131a565b6040516105ed91906124d2565b60405180910390f35b610610600480360381019061060b919061263a565b61133b565b60405161061d91906124d2565b60405180910390f35b610640600480360381019061063b9190612540565b611375565b60405161064d91906124d2565b60405180910390f35b61065e61142d565b60405161066b91906122d3565b60405180910390f35b61067c61143e565b60405161068991906124d2565b60405180910390f35b61069a611444565b6040516106a791906122d3565b60405180910390f35b6106ca60048036038101906106c5919061263a565b6115eb565b6040516106d791906124d2565b60405180910390f35b6106e8611619565b6040516106f59190612676565b60405180910390f35b61071860048036038101906107139190612540565b61163f565b005b6107226116dd565b60405161072f91906122d3565b60405180910390f35b610740611826565b60405161074d9190612387565b60405180910390f35b610770600480360381019061076b9190612540565b6118b4565b60405161077d91906122d3565b60405180910390f35b6107a0600480360381019061079b919061263a565b611971565b6040516107ad91906124d2565b60405180910390f35b6107d060048036038101906107cb919061243d565b61199d565b6040516107dd91906122d3565b60405180910390f35b6107ee611a33565b6040516107fb91906124d2565b60405180910390f35b61080c611a57565b60405161081991906124d2565b60405180910390f35b61083c600480360381019061083791906125ad565b611a7b565b60405161084991906122d3565b60405180910390f35b61085a611bb3565b60405161086791906124d2565b60405180910390f35b61088a6004803603810190610885919061263a565b611bb9565b60405161089791906124d2565b60405180910390f35b6108ba60048036038101906108b5919061256d565b611bcd565b6040516108c791906124d2565b60405180910390f35b6108d8611c81565b6040516108e591906124a8565b60405180910390f35b6108f6611ceb565b60405161090391906124d2565b60405180910390f35b61092660048036038101906109219190612540565b611d0f565b60405161093391906122d3565b60405180910390f35b61095660048036038101906109519190612691565b611db1565b60405161096391906125f3565b60405180910390f35b600063c6bb4b707c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036109c05760019050610b0d565b63449a52f87c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610a125760019050610b0d565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610a645760019050610b0d565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ab65760019050610b0d565b6337a47be47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610b085760019050610b0d565b600090505b919050565b60078054610b1f90612727565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4b90612727565b8015610b985780601f10610b6d57610100808354040283529160200191610b98565b820191906000526020600020905b815481529060010190602001808311610b7b57829003601f168201915b505050505081565b600080610bab6116dd565b50610bb58361129a565b905080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c439190612787565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610ca791906124d2565b60405180910390a3600191505092915050565b600260009054906101000a90046fffffffffffffffffffffffffffffffff1681565b60035481565b600a5481565b60008080549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610d256116dd565b50610d2f8461129a565b915081600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610dba57600080fd5b610dc5868684611e1e565b90508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610e2491906124d2565b60405180910390a380925050509392505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ec157503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610eca57600080fd5b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600080600064e8d4a5100091506a52b7d2dcc80cd2e40000007f0000000000000000000000000000000000000000000000000000000000000000610f6f919061280c565b905060005b84811015610fb85764e8d4a510008284610f8e919061283d565b610f98919061280c565b83610fa39190612897565b92508080610fb0906128cb565b915050610f74565b5064e8d4a510008583610fcb919061283d565b610fd5919061280c565b9250505092915050565b60095481565b60008181548110610ff557600080fd5b906000526020600020016000915090505481565b600080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f9061295f565b60405180910390fd5b6110a06116dd565b506110aa8361129a565b905082600a60008282546110be9190612787565b925050819055506110cf8482611e43565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f88560405161112d91906124d2565b60405180910390a361113d611f07565b50600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000826111c0919061283d565b7f00000000000000000000000000000000000000000000000000000000000000006111eb9190612787565b9050919050565b6000603c82426112029190612897565b61120c919061280c565b9050919050565b60045481565b6000806402540be4008361122d919061283d565b7f00000000000000000000000000000000000000000000000000000000000000006112589190612897565b84611263919061283d565b90507f000000000000000000000000000000000000000000000000000000000000000081611291919061280c565b91505092915050565b60006402540be400600260009054906101000a90046fffffffffffffffffffffffffffffffff166112cb919061297f565b6fffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000083611309919061283d565b611313919061280c565b9050919050565b6000603c824261132a9190612897565b611334919061280c565b9050919050565b6000606860ff167affffffffffffffffffffffffffff00000000000000000000000000836001900416908060020a82049150509050919050565b60008060008061138485611149565b92506113916004546111f2565b90506113dd6402540be400600260009054906101000a90046fffffffffffffffffffffffffffffffff166113c5919061297f565b6fffffffffffffffffffffffffffffffff1682610f2b565b6fffffffffffffffffffffffffffffffff16915064e8d4a510006a52b7d2dcc80cd2e400000061140d919061283d565b8284611419919061283d565b611423919061280c565b9350505050919050565b60006114396000611a7b565b905090565b600c5481565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114a157600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35090565b60008060006115f984611971565b91506116048461133b565b90506116108282611219565b92505050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461169957600080fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008060008060008060006116f361142d565b506116fc611fa9565b97506000600102880361171a57600098505050505050505050611823565b61172388611bb9565b95506001866117329190612787565b905061173d86611192565b9150600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16945061177b8261131a565b92506000831115611797576117908584611bcd565b935061179b565b8493505b6117aa600085600a5484611db1565b965060008790806001815401808255809150506001900390600052602060002001600090919091909150556117de87612095565b507f55d243082e019fce4009ccea5368b92e436c17586a1e793c7deda16df4e5d6758160405161180e91906124d2565b60405180910390a16001985050505050505050505b90565b6008805461183390612727565b80601f016020809104026020016040519081016040528092919081815260200182805461185f90612727565b80156118ac5780601f10611881576101008083540402835291602001916118ac565b820191906000526020600020905b81548152906001019060200180831161188f57829003601f168201915b505050505081565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191057600080fd5b6001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000602060ff166cffffffffffffffffff00000000836001900416908060020a82049150509050919050565b60008060006119aa6116dd565b506119b48461129a565b91506119c1338684611e1e565b90508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611a2091906124d2565b60405180910390a3809250505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000611a8b6004546111f2565b915060008203611aa057600092505050611bae565b600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050600084118015611ae257508184105b15611aeb578391505b611af58183610f2b565b600260006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550603c82611b3a919061283d565b600454611b479190612787565b60048190555080826004547fa0717e54e02bd9829db5e6e998aec0ae9de796b8d150a3cc46a92ab869697755600260009054906101000a90046fffffffffffffffffffffffffffffffff16604051611b9f9190612a04565b60405180910390a46001925050505b919050565b600b5481565b600063ffffffff8260019004169050919050565b600080600064e8d4a5100091506a52b7d2dcc80cd2e40000007f0000000000000000000000000000000000000000000000000000000000000000611c11919061280c565b905060005b84811015611c5a5764e8d4a510008284611c30919061283d565b611c3a919061280c565b83611c459190612787565b92508080611c52906128cb565b915050611c16565b5064e8d4a510008583611c6d919061283d565b611c77919061280c565b9250505092915050565b600060017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000042611cd29190612897565b611cdc919061280c565b611ce69190612787565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d6b57600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b6000807affffffffffffffffffffffffffff00000000000000000000000000606860ff16869060020a0216600102811790506cffffffffffffffffff00000000602060ff16859060020a02166001028117905063ffffffff83166001028117905080915050949350505050565b600080611e2b8584612127565b50611e368484611e43565b5060019150509392505050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008503611e9f5760009350505050611f01565b611ea886611149565b92508483611eb69190612787565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b6000806000600a54905060006001600080549050611f259190612897565b81548110611f3657611f35612a1f565b5b90600052602060002001546001900491506cffffffffffffffffff000000001982169150602060ff16819060020a02821791508160010260006001600080549050611f819190612897565b81548110611f9257611f91612a1f565b5b906000526020600020018190555060019250505090565b600080600080600b5481548110611fc357611fc2612a1f565b5b906000526020600020015491503073ffffffffffffffffffffffffffffffffffffffff1663e80952956040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa158015612037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205b9190612a7a565b6fffffffffffffffffffffffffffffffff16905061207882611bb9565b811161208c57600060010292505050612092565b81925050505b90565b60008060006120a3846115eb565b9150600c546120b18361129a565b6120bb9190612897565b90506120e9600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611e43565b506001600b60008282546120fd9190612787565b9250508190555080600c60008282546121169190612787565b925050819055508192505050919050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600085036121835760009350505050612228565b61218c86611149565b9250848310156121d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c890612af3565b60405180910390fd5b84836121dd9190612897565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61226881612233565b811461227357600080fd5b50565b6000813590506122858161225f565b92915050565b6000602082840312156122a1576122a061222e565b5b60006122af84828501612276565b91505092915050565b60008115159050919050565b6122cd816122b8565b82525050565b60006020820190506122e860008301846122c4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561232857808201518184015260208101905061230d565b83811115612337576000848401525b50505050565b6000601f19601f8301169050919050565b6000612359826122ee565b61236381856122f9565b935061237381856020860161230a565b61237c8161233d565b840191505092915050565b600060208201905081810360008301526123a1818461234e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123d4826123a9565b9050919050565b6123e4816123c9565b81146123ef57600080fd5b50565b600081359050612401816123db565b92915050565b6000819050919050565b61241a81612407565b811461242557600080fd5b50565b60008135905061243781612411565b92915050565b600080604083850312156124545761245361222e565b5b6000612462858286016123f2565b925050602061247385828601612428565b9150509250929050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6124a28161247d565b82525050565b60006020820190506124bd6000830184612499565b92915050565b6124cc81612407565b82525050565b60006020820190506124e760008301846124c3565b92915050565b6000806000606084860312156125065761250561222e565b5b6000612514868287016123f2565b9350506020612525868287016123f2565b925050604061253686828701612428565b9150509250925092565b6000602082840312156125565761255561222e565b5b6000612564848285016123f2565b91505092915050565b600080604083850312156125845761258361222e565b5b600061259285828601612428565b92505060206125a385828601612428565b9150509250929050565b6000602082840312156125c3576125c261222e565b5b60006125d184828501612428565b91505092915050565b6000819050919050565b6125ed816125da565b82525050565b600060208201905061260860008301846125e4565b92915050565b612617816125da565b811461262257600080fd5b50565b6000813590506126348161260e565b92915050565b6000602082840312156126505761264f61222e565b5b600061265e84828501612625565b91505092915050565b612670816123c9565b82525050565b600060208201905061268b6000830184612667565b92915050565b600080600080608085870312156126ab576126aa61222e565b5b60006126b987828801612428565b94505060206126ca87828801612428565b93505060406126db87828801612428565b92505060606126ec87828801612428565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061273f57607f821691505b602082108103612752576127516126f8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061279282612407565b915061279d83612407565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127d2576127d1612758565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061281782612407565b915061282283612407565b925082612832576128316127dd565b5b828204905092915050565b600061284882612407565b915061285383612407565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561288c5761288b612758565b5b828202905092915050565b60006128a282612407565b91506128ad83612407565b9250828210156128c0576128bf612758565b5b828203905092915050565b60006128d682612407565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361290857612907612758565b5b600182019050919050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b6000612949600a836122f9565b915061295482612913565b602082019050919050565b600060208201905081810360008301526129788161293c565b9050919050565b600061298a8261247d565b91506129958361247d565b9250816fffffffffffffffffffffffffffffffff04831182151516156129be576129bd612758565b5b828202905092915050565b6000819050919050565b60006129ee6129e96129e48461247d565b6129c9565b612407565b9050919050565b6129fe816129d3565b82525050565b6000602082019050612a1960008301846129f5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b612a578161247d565b8114612a6257600080fd5b50565b600081519050612a7481612a4e565b92915050565b600060208284031215612a9057612a8f61222e565b5b6000612a9e84828501612a65565b91505092915050565b7f4552525f4f5645525350454e4400000000000000000000000000000000000000600082015250565b6000612add600d836122f9565b9150612ae882612aa7565b602082019050919050565b60006020820190508181036000830152612b0c81612ad0565b905091905056fea2646970667358221220ecba5763a1067c4f87f90ee27874db9cae32767ff5c73b0d52687aa32204573f64736f6c634300080d0033 -\ No newline at end of file +61010060405264e8d4a510006a52b7d2dcc80cd2e400000062000023919062000407565b6080908152503480156200003657600080fd5b50604051620034483803806200344883398181016040528101906200005c919062000726565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555085600690805190602001906200012f9291906200031e565b508460079080519060200190620001489291906200031e565b508360ff166008819055504260038190555060035460a08181525050603c8262000173919062000407565b60c0818152505060646a52b7d2dcc80cd2e400000062000194919062000800565b600260006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550826fffffffffffffffffffffffffffffffff1660e081815250506000620002386000600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1660006001620002b1640100000000026401000000009004565b9050600081908060018154018082558091505060019003906000526020600020016000909190919091505581600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050620008b5565b6000807affffffffffffffffffffffffffff00000000000000000000000000606860ff16869060020a0216600102811790506cffffffffffffffffff00000000602060ff16859060020a02166001028117905063ffffffff83166001028117905080915050949350505050565b8280546200032c9062000880565b90600052602060002090601f0160209004810192826200035057600085556200039c565b82601f106200036b57805160ff19168380011785556200039c565b828001600101855582156200039c579182015b828111156200039b5782518255916020019190600101906200037e565b5b509050620003ab9190620003af565b5090565b5b80821115620003ca576000816000905550600101620003b0565b5090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200041482620003ce565b91506200042183620003ce565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200045d576200045c620003d8565b5b828202905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004d18262000486565b810181811067ffffffffffffffff82111715620004f357620004f262000497565b5b80604052505050565b60006200050862000468565b9050620005168282620004c6565b919050565b600067ffffffffffffffff82111562000539576200053862000497565b5b620005448262000486565b9050602081019050919050565b60005b838110156200057157808201518184015260208101905062000554565b8381111562000581576000848401525b50505050565b60006200059e62000598846200051b565b620004fc565b905082815260208101848484011115620005bd57620005bc62000481565b5b620005ca84828562000551565b509392505050565b600082601f830112620005ea57620005e96200047c565b5b8151620005fc84826020860162000587565b91505092915050565b600060ff82169050919050565b6200061d8162000605565b81146200062957600080fd5b50565b6000815190506200063d8162000612565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6200066a8162000643565b81146200067657600080fd5b50565b6000815190506200068a816200065f565b92915050565b6200069b81620003ce565b8114620006a757600080fd5b50565b600081519050620006bb8162000690565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006ee82620006c1565b9050919050565b6200070081620006e1565b81146200070c57600080fd5b50565b6000815190506200072081620006f5565b92915050565b60008060008060008060c0878903121562000746576200074562000472565b5b600087015167ffffffffffffffff81111562000767576200076662000477565b5b6200077589828a01620005d2565b965050602087015167ffffffffffffffff81111562000799576200079862000477565b5b620007a789828a01620005d2565b9550506040620007ba89828a016200062c565b9450506060620007cd89828a0162000679565b9350506080620007e089828a01620006aa565b92505060a0620007f389828a016200070f565b9150509295509295509295565b60006200080d8262000643565b91506200081a8362000643565b9250816fffffffffffffffffffffffffffffffff0483118215151615620008465762000845620003d8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200089957607f821691505b602082108103620008af57620008ae62000851565b5b50919050565b60805160a05160c05160e051612b1a6200092e60003960008181610cc701528181610f170152611bb901526000818161116701528181611a2a0152611c5801526000818161119301528181611c790152611cbe01526000818161120001528181611238015281816112b00152611a060152612b1a6000f3fe608060405234801561001057600080fd5b5060043610610286576000357c01000000000000000000000000000000000000000000000000000000009004806370a082311161016e578063a9059cbb116100e0578063e3ab207a116100a4578063e3ab207a14610847578063e54d63f714610877578063e8095295146108a7578063eda4e6d6146108c5578063f2fde38b146108e3578063f83da35d1461091357610286565b8063a9059cbb1461078d578063ab28cea0146107bd578063b470aade146107db578063c0ab7077146107f9578063d340ef8a1461082957610286565b80638da5cb5b116101325780638da5cb5b146106b75780638f0b2d5d146106d55780638f1df6bc146106f157806395d89b411461070f578063983b2d561461072d5780639da7d8ba1461075d57610286565b806370a08231146105fd578063731f237c1461062d57806374bedb951461064b57806379ba5097146106695780638d34855a1461068757610286565b8063313ce5671161020757806351b4541c116101cb57806351b4541c146104ef57806358b2833b1461051f5780636721d4ef1461053d5780636787a9be1461056d5780636a2d094e1461059d5780636ffa8a05146105cd57610286565b8063313ce5671461041157806340452d911461042f578063449a52f81461045f57806347a505171461048f5780634abfbba2146104bf57610286565b80631989c6a81161024e5780631989c6a814610345578063229ba1971461036357806323b872dd146103815780633092afd5146103b157806331333487146103e157610286565b806301ffc9a71461028b57806306fdde03146102bb578063095ea7b3146102d957806309f28f3c1461030957806318160ddd14610327575b600080fd5b6102a560048036038101906102a0919061225c565b610943565b6040516102b291906122a4565b60405180910390f35b6102c3610ae9565b6040516102d09190612358565b60405180910390f35b6102f360048036038101906102ee919061240e565b610b77565b60405161030091906122a4565b60405180910390f35b610311610c91565b60405161031e9190612479565b60405180910390f35b61032f610cb3565b60405161033c91906124a3565b60405180910390f35b61034d610cb9565b60405161035a91906124a3565b60405180910390f35b61036b610cc5565b60405161037891906124a3565b60405180910390f35b61039b600480360381019061039691906124be565b610ce9565b6040516103a891906122a4565b60405180910390f35b6103cb60048036038101906103c69190612511565b610e09565b6040516103d891906122a4565b60405180910390f35b6103fb60048036038101906103f6919061253e565b610efc565b60405161040891906124a3565b60405180910390f35b610419610fb0565b60405161042691906124a3565b60405180910390f35b6104496004803603810190610444919061257e565b610fb6565b60405161045691906125c4565b60405180910390f35b6104796004803603810190610474919061240e565b610fda565b60405161048691906122a4565b60405180910390f35b6104a960048036038101906104a49190612511565b61111a565b6040516104b691906124a3565b60405180910390f35b6104d960048036038101906104d4919061257e565b611163565b6040516104e691906124a3565b60405180910390f35b6105096004803603810190610504919061257e565b6111c3565b60405161051691906124a3565b60405180910390f35b6105276111e4565b60405161053491906124a3565b60405180910390f35b6105576004803603810190610552919061253e565b6111ea565b60405161056491906124a3565b60405180910390f35b6105876004803603810190610582919061257e565b61126b565b60405161059491906124a3565b60405180910390f35b6105b760048036038101906105b2919061257e565b6112eb565b6040516105c491906124a3565b60405180910390f35b6105e760048036038101906105e2919061260b565b61130c565b6040516105f491906124a3565b60405180910390f35b61061760048036038101906106129190612511565b611346565b60405161062491906124a3565b60405180910390f35b6106356113fe565b60405161064291906122a4565b60405180910390f35b61065361140f565b60405161066091906124a3565b60405180910390f35b610671611415565b60405161067e91906122a4565b60405180910390f35b6106a1600480360381019061069c919061260b565b6115bc565b6040516106ae91906124a3565b60405180910390f35b6106bf6115ea565b6040516106cc9190612647565b60405180910390f35b6106ef60048036038101906106ea9190612511565b611610565b005b6106f96116ae565b60405161070691906122a4565b60405180910390f35b6107176117f7565b6040516107249190612358565b60405180910390f35b61074760048036038101906107429190612511565b611885565b60405161075491906122a4565b60405180910390f35b6107776004803603810190610772919061260b565b611942565b60405161078491906124a3565b60405180910390f35b6107a760048036038101906107a2919061240e565b61196e565b6040516107b491906122a4565b60405180910390f35b6107c5611a04565b6040516107d291906124a3565b60405180910390f35b6107e3611a28565b6040516107f091906124a3565b60405180910390f35b610813600480360381019061080e919061257e565b611a4c565b60405161082091906122a4565b60405180910390f35b610831611b84565b60405161083e91906124a3565b60405180910390f35b610861600480360381019061085c919061260b565b611b8a565b60405161086e91906124a3565b60405180910390f35b610891600480360381019061088c919061253e565b611b9e565b60405161089e91906124a3565b60405180910390f35b6108af611c52565b6040516108bc9190612479565b60405180910390f35b6108cd611cbc565b6040516108da91906124a3565b60405180910390f35b6108fd60048036038101906108f89190612511565b611ce0565b60405161090a91906122a4565b60405180910390f35b61092d60048036038101906109289190612662565b611d82565b60405161093a91906125c4565b60405180910390f35b600063c6bb4b707c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036109975760019050610ae4565b63449a52f87c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036109e95760019050610ae4565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610a3b5760019050610ae4565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610a8d5760019050610ae4565b6337a47be47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610adf5760019050610ae4565b600090505b919050565b60068054610af6906126f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610b22906126f8565b8015610b6f5780601f10610b4457610100808354040283529160200191610b6f565b820191906000526020600020905b815481529060010190602001808311610b5257829003601f168201915b505050505081565b600080610b826116ae565b50610b8c8361126b565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c1a9190612758565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610c7e91906124a3565b60405180910390a3600191505092915050565b600260009054906101000a90046fffffffffffffffffffffffffffffffff1681565b60095481565b60008080549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610cf66116ae565b50610d008461126b565b915081600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d8b57600080fd5b610d96868684611def565b90508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610df591906124a3565b60405180910390a380925050509392505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e9257503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610e9b57600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600080600064e8d4a5100091506a52b7d2dcc80cd2e40000007f0000000000000000000000000000000000000000000000000000000000000000610f4091906127dd565b905060005b84811015610f895764e8d4a510008284610f5f919061280e565b610f6991906127dd565b83610f749190612868565b92508080610f819061289c565b915050610f45565b5064e8d4a510008583610f9c919061280e565b610fa691906127dd565b9250505092915050565b60085481565b60008181548110610fc657600080fd5b906000526020600020016000915090505481565b600080600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611069576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106090612930565b60405180910390fd5b6110716116ae565b5061107b8361126b565b9050826009600082825461108f9190612758565b925050819055506110a08482611e14565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8856040516110fe91906124a3565b60405180910390a361110e611ed8565b50600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f000000000000000000000000000000000000000000000000000000000000000082611191919061280e565b7f00000000000000000000000000000000000000000000000000000000000000006111bc9190612758565b9050919050565b6000603c82426111d39190612868565b6111dd91906127dd565b9050919050565b60035481565b6000806402540be400836111fe919061280e565b7f00000000000000000000000000000000000000000000000000000000000000006112299190612868565b84611234919061280e565b90507f00000000000000000000000000000000000000000000000000000000000000008161126291906127dd565b91505092915050565b60006402540be400600260009054906101000a90046fffffffffffffffffffffffffffffffff1661129c9190612950565b6fffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000000000000000000836112da919061280e565b6112e491906127dd565b9050919050565b6000603c82426112fb9190612868565b61130591906127dd565b9050919050565b6000606860ff167affffffffffffffffffffffffffff00000000000000000000000000836001900416908060020a82049150509050919050565b6000806000806113558561111a565b92506113626003546111c3565b90506113ae6402540be400600260009054906101000a90046fffffffffffffffffffffffffffffffff166113969190612950565b6fffffffffffffffffffffffffffffffff1682610efc565b6fffffffffffffffffffffffffffffffff16915064e8d4a510006a52b7d2dcc80cd2e40000006113de919061280e565b82846113ea919061280e565b6113f491906127dd565b9350505050919050565b600061140a6000611a4c565b905090565b600b5481565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461147257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35090565b60008060006115ca84611942565b91506115d58461130c565b90506115e182826111ea565b92505050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461166a57600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008060008060008060006116c46113fe565b506116cd611f7a565b9750600060010288036116eb576000985050505050505050506117f4565b6116f488611b8a565b95506001866117039190612758565b905061170e86611163565b9150600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16945061174c826112eb565b92506000831115611768576117618584611b9e565b935061176c565b8493505b61177b60008560095484611d82565b965060008790806001815401808255809150506001900390600052602060002001600090919091909150556117af87612066565b507f55d243082e019fce4009ccea5368b92e436c17586a1e793c7deda16df4e5d675816040516117df91906124a3565b60405180910390a16001985050505050505050505b90565b60078054611804906126f8565b80601f0160208091040260200160405190810160405280929190818152602001828054611830906126f8565b801561187d5780601f106118525761010080835404028352916020019161187d565b820191906000526020600020905b81548152906001019060200180831161186057829003601f168201915b505050505081565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e157600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000602060ff166cffffffffffffffffff00000000836001900416908060020a82049150509050919050565b600080600061197b6116ae565b506119858461126b565b9150611992338684611def565b90508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516119f191906124a3565b60405180910390a3809250505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000611a5c6003546111c3565b915060008203611a7157600092505050611b7f565b600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050600084118015611ab357508184105b15611abc578391505b611ac68183610efc565b600260006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550603c82611b0b919061280e565b600354611b189190612758565b60038190555080826003547fa0717e54e02bd9829db5e6e998aec0ae9de796b8d150a3cc46a92ab869697755600260009054906101000a90046fffffffffffffffffffffffffffffffff16604051611b7091906129d5565b60405180910390a46001925050505b919050565b600a5481565b600063ffffffff8260019004169050919050565b600080600064e8d4a5100091506a52b7d2dcc80cd2e40000007f0000000000000000000000000000000000000000000000000000000000000000611be291906127dd565b905060005b84811015611c2b5764e8d4a510008284611c01919061280e565b611c0b91906127dd565b83611c169190612758565b92508080611c239061289c565b915050611be7565b5064e8d4a510008583611c3e919061280e565b611c4891906127dd565b9250505092915050565b600060017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000042611ca39190612868565b611cad91906127dd565b611cb79190612758565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d3c57600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b6000807affffffffffffffffffffffffffff00000000000000000000000000606860ff16869060020a0216600102811790506cffffffffffffffffff00000000602060ff16859060020a02166001028117905063ffffffff83166001028117905080915050949350505050565b600080611dfc85846120f8565b50611e078484611e14565b5060019150509392505050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008503611e705760009350505050611ed2565b611e798661111a565b92508483611e879190612758565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b6000806000600954905060006001600080549050611ef69190612868565b81548110611f0757611f066129f0565b5b90600052602060002001546001900491506cffffffffffffffffff000000001982169150602060ff16819060020a02821791508160010260006001600080549050611f529190612868565b81548110611f6357611f626129f0565b5b906000526020600020018190555060019250505090565b600080600080600a5481548110611f9457611f936129f0565b5b906000526020600020015491503073ffffffffffffffffffffffffffffffffffffffff1663e80952956040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa158015612008573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202c9190612a4b565b6fffffffffffffffffffffffffffffffff16905061204982611b8a565b811161205d57600060010292505050612063565b81925050505b90565b6000806000612074846115bc565b9150600b546120828361126b565b61208c9190612868565b90506120ba600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611e14565b506001600a60008282546120ce9190612758565b9250508190555080600b60008282546120e79190612758565b925050819055508192505050919050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000850361215457600093505050506121f9565b61215d8661111a565b9250848310156121a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219990612ac4565b60405180910390fd5b84836121ae9190612868565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61223981612204565b811461224457600080fd5b50565b60008135905061225681612230565b92915050565b600060208284031215612272576122716121ff565b5b600061228084828501612247565b91505092915050565b60008115159050919050565b61229e81612289565b82525050565b60006020820190506122b96000830184612295565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122f95780820151818401526020810190506122de565b83811115612308576000848401525b50505050565b6000601f19601f8301169050919050565b600061232a826122bf565b61233481856122ca565b93506123448185602086016122db565b61234d8161230e565b840191505092915050565b60006020820190508181036000830152612372818461231f565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123a58261237a565b9050919050565b6123b58161239a565b81146123c057600080fd5b50565b6000813590506123d2816123ac565b92915050565b6000819050919050565b6123eb816123d8565b81146123f657600080fd5b50565b600081359050612408816123e2565b92915050565b60008060408385031215612425576124246121ff565b5b6000612433858286016123c3565b9250506020612444858286016123f9565b9150509250929050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6124738161244e565b82525050565b600060208201905061248e600083018461246a565b92915050565b61249d816123d8565b82525050565b60006020820190506124b86000830184612494565b92915050565b6000806000606084860312156124d7576124d66121ff565b5b60006124e5868287016123c3565b93505060206124f6868287016123c3565b9250506040612507868287016123f9565b9150509250925092565b600060208284031215612527576125266121ff565b5b6000612535848285016123c3565b91505092915050565b60008060408385031215612555576125546121ff565b5b6000612563858286016123f9565b9250506020612574858286016123f9565b9150509250929050565b600060208284031215612594576125936121ff565b5b60006125a2848285016123f9565b91505092915050565b6000819050919050565b6125be816125ab565b82525050565b60006020820190506125d960008301846125b5565b92915050565b6125e8816125ab565b81146125f357600080fd5b50565b600081359050612605816125df565b92915050565b600060208284031215612621576126206121ff565b5b600061262f848285016125f6565b91505092915050565b6126418161239a565b82525050565b600060208201905061265c6000830184612638565b92915050565b6000806000806080858703121561267c5761267b6121ff565b5b600061268a878288016123f9565b945050602061269b878288016123f9565b93505060406126ac878288016123f9565b92505060606126bd878288016123f9565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061271057607f821691505b602082108103612723576127226126c9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612763826123d8565b915061276e836123d8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127a3576127a2612729565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127e8826123d8565b91506127f3836123d8565b925082612803576128026127ae565b5b828204905092915050565b6000612819826123d8565b9150612824836123d8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561285d5761285c612729565b5b828202905092915050565b6000612873826123d8565b915061287e836123d8565b92508282101561289157612890612729565b5b828203905092915050565b60006128a7826123d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128d9576128d8612729565b5b600182019050919050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b600061291a600a836122ca565b9150612925826128e4565b602082019050919050565b600060208201905081810360008301526129498161290d565b9050919050565b600061295b8261244e565b91506129668361244e565b9250816fffffffffffffffffffffffffffffffff048311821515161561298f5761298e612729565b5b828202905092915050565b6000819050919050565b60006129bf6129ba6129b58461244e565b61299a565b6123d8565b9050919050565b6129cf816129a4565b82525050565b60006020820190506129ea60008301846129c6565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b612a288161244e565b8114612a3357600080fd5b50565b600081519050612a4581612a1f565b92915050565b600060208284031215612a6157612a606121ff565b5b6000612a6f84828501612a36565b91505092915050565b7f4552525f4f5645525350454e4400000000000000000000000000000000000000600082015250565b6000612aae600d836122ca565b9150612ab982612a78565b602082019050919050565b60006020820190508181036000830152612add81612aa1565b905091905056fea2646970667358221220bcb99f52b4848eb84e80d8d1b7b81e0847d43a502df1061e5e47000b246eae6464736f6c634300080d0033 +\ No newline at end of file diff --git a/python/erc20_demurrage_token/data/DemurrageTokenSingleNocap.json b/python/erc20_demurrage_token/data/DemurrageTokenSingleNocap.json @@ -1 +1 @@ -[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint128","name":"_taxLevelMinute","type":"uint128"},{"internalType":"uint256","name":"_periodMinutes","type":"uint256"},{"internalType":"address","name":"_defaultSinkAddress","type":"address"}],"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":false,"internalType":"bytes32","name":"_foo","type":"bytes32"}],"name":"Debug","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_period","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_periodCount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newAmount","type":"uint256"}],"name":"Decayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_minter","type":"address"},{"indexed":true,"internalType":"address","name":"_beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Mint","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":false,"internalType":"uint256","name":"_period","type":"uint256"}],"name":"Period","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":true,"internalType":"uint256","name":"_period","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Redistribution","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"},{"inputs":[],"name":"acceptOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"actualPeriod","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"addMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"applyDemurrage","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rounds","type":"uint256"}],"name":"applyDemurrageLimited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"baseBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"changePeriod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"decayBy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"demurrageAmount","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"}],"name":"demurrageCycles","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"demurrageStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"demurrageTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_supply","type":"uint256"},{"internalType":"uint256","name":"_demurrageAmount","type":"uint256"}],"name":"getDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_redistribution","type":"bytes32"}],"name":"getDistributionFromRedistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lastTimestamp","type":"uint256"}],"name":"getMinutesDelta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_periodCount","type":"uint256"}],"name":"getPeriodTimeDelta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"growBy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mintTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redistributionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"redistributions","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"removeMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolutionFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sinkAddress","type":"address"}],"name":"setSinkAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"toBaseAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_participants","type":"uint256"},{"internalType":"uint256","name":"_demurrageModifierPpm","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"toRedistribution","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"redistribution","type":"bytes32"}],"name":"toRedistributionDemurrageModifier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"redistribution","type":"bytes32"}],"name":"toRedistributionPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"redistribution","type":"bytes32"}],"name":"toRedistributionSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSink","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] +[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint128","name":"_taxLevelMinute","type":"uint128"},{"internalType":"uint256","name":"_periodMinutes","type":"uint256"},{"internalType":"address","name":"_defaultSinkAddress","type":"address"}],"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":false,"internalType":"bytes32","name":"_foo","type":"bytes32"}],"name":"Debug","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_period","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_periodCount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newAmount","type":"uint256"}],"name":"Decayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_minter","type":"address"},{"indexed":true,"internalType":"address","name":"_beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Mint","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":false,"internalType":"uint256","name":"_period","type":"uint256"}],"name":"Period","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":true,"internalType":"uint256","name":"_period","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Redistribution","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"},{"inputs":[],"name":"acceptOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"actualPeriod","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"addMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"applyDemurrage","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rounds","type":"uint256"}],"name":"applyDemurrageLimited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"baseBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"changePeriod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"decayBy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"demurrageAmount","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"}],"name":"demurrageCycles","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"demurrageTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_supply","type":"uint256"},{"internalType":"uint256","name":"_demurrageAmount","type":"uint256"}],"name":"getDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_redistribution","type":"bytes32"}],"name":"getDistributionFromRedistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lastTimestamp","type":"uint256"}],"name":"getMinutesDelta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_periodCount","type":"uint256"}],"name":"getPeriodTimeDelta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"growBy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mintTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redistributionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"redistributions","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"removeMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolutionFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sinkAddress","type":"address"}],"name":"setSinkAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"toBaseAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_participants","type":"uint256"},{"internalType":"uint256","name":"_demurrageModifierPpm","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"toRedistribution","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"redistribution","type":"bytes32"}],"name":"toRedistributionDemurrageModifier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"redistribution","type":"bytes32"}],"name":"toRedistributionPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"redistribution","type":"bytes32"}],"name":"toRedistributionSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSink","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] diff --git a/solidity/DemurrageTokenSingleNocap.sol b/solidity/DemurrageTokenSingleNocap.sol @@ -20,8 +20,6 @@ contract DemurrageTokenSingleCap { // Cached demurrage amount, ppm with 38 digit resolution uint128 public demurrageAmount; - uint256 public demurrageStart; - // Cached demurrage timestamp; the timestamp for which demurrageAmount was last calculated uint256 public demurrageTimestamp; @@ -115,7 +113,6 @@ contract DemurrageTokenSingleCap { periodStart = demurrageTimestamp; periodDuration = _periodMinutes * 60; demurrageAmount = uint128(nanoDivider) * 100; - demurrageStart = demurrageAmount; taxLevel = _taxLevelMinute; // Represents 38 decimal places bytes32 initialRedistribution = toRedistribution(0, demurrageAmount, 0, 1); redistributions.push(initialRedistribution); @@ -252,7 +249,6 @@ contract DemurrageTokenSingleCap { uint256 currentRedistribution; uint256 grownSupply; - //grownSupply = growBy(totalSupply, 1); grownSupply = totalSupply; currentRedistribution = uint256(redistributions[redistributions.length-1]); currentRedistribution &= (~maskRedistributionValue);