diff --git a/core/metadium_genesis.go b/core/metadium_genesis.go index de32dcbb088f..f5339047ab90 100644 --- a/core/metadium_genesis.go +++ b/core/metadium_genesis.go @@ -12299,7 +12299,10 @@ var ( "istanbulBlock": 11441000, "londonBlock": 51960000, "muirGlacierBlock": 11441000, - "avocadoBlock": 59860000 + "avocadoBlock": 59860000, + "pangyoBlock": 73225410, + "applepieBlock": 73225410, + "bokbunjaBlock": 73225410 }, "difficulty": "0x1", "extraData": "0x4f757220766973696f6e20697320746f206372656174652061206672656520776f726c64207468726f7567682073656c662d736f7665726569676e206964656e746974792e202f205768656e204920646973636f7665722077686f204920616d2c2049276c6c20626520667265652e202d2d2052616c706820456c6c69736f6e2c20496e76697369626c65204d616e0a30783165633236316462636533636530303232366237393765333030626135363836336666363563313338323633623938313435646364393762346561336134633761386432303431346537613031383566333263633730386430633163393935613837376536633738373666353061626331336637373430623961633330376266", diff --git a/metadium/contracts/MetadiumGovernance.js b/metadium/contracts/MetadiumGovernance.js index 1726130c9381..7a0172838224 100644 --- a/metadium/contracts/MetadiumGovernance.js +++ b/metadium/contracts/MetadiumGovernance.js @@ -74,7 +74,7 @@ function Registry_new() { function Registry_load(addr) { return Registry_contract.at(addr); } -var StakingImp_data = "0x60a06040523060601b608052609b805460ff191690553480156200002257600080fd5b506200002d62000033565b620000f4565b600054610100900460ff1615620000a05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000f2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c61339a6200012f60003960008181610f3401528181610f74015281816110110152818161105101526110e0015261339a6000f3fe60806040526004361061023f5760003560e01c8063738fdd1a1161012e578063a91ee0dc116100ab578063d5c258901161006f578063d5c25890146106de578063f1b8aa1d146106f3578063f2fde38b14610713578063f3f6308014610733578063f69318221461075357600080fd5b8063a91ee0dc1461066e578063b6549f751461068e578063bac4f338146106a3578063c0d91eaf146106b6578063d0e30db0146106d657600080fd5b80637f2f4c06116100f25780637f2f4c06146105cc578063884d97a7146105ec5780638da5cb5b1461060c5780639667e76a1461062a5780639986e4b91461064a57600080fd5b8063738fdd1a146105135780637756c9081461054b5780637bf465301461056b5780637d77a0eb1461058c5780637eee288d146105ac57600080fd5b806334125c84116101bc578063593557361161018057806359355736146104455780635a731cca1461047b5780636c78d2cf1461049f57806370a08231146104c8578063715018a6146104fe57600080fd5b806334125c84146103bb5780633659cfe6146103db5780634bd1ed76146103fb5780634f1ef2861461041d57806352d1902d1461043057600080fd5b8063282d3fdf11610203578063282d3fdf146103175780632b0b9c5e146103375780632bc9ed02146103575780632e1a7d4d1461037a5780632f40992e1461039a57600080fd5b8063128536151461024e578063193468ac146102815780631caf00c0146102b75780631e0cba0d146102d957806325d998bb146102f757600080fd5b3661024957600080fd5b600080fd5b34801561025a57600080fd5b5061026e610269366004612d48565b610773565b6040519081526020015b60405180910390f35b34801561028d57600080fd5b5061026e61029c366004612d0e565b6001600160a01b0316600090815260ce602052604090205490565b3480156102c357600080fd5b506102d76102d2366004612d81565b6107a0565b005b3480156102e557600080fd5b5061026e665374616b696e6760c81b81565b34801561030357600080fd5b5061026e610312366004612d0e565b610b41565b34801561032357600080fd5b506102d7610332366004612e90565b610b6f565b34801561034357600080fd5b5061026e610352366004612d0e565b610bac565b34801561036357600080fd5b50609b5460ff166040519015158152602001610278565b34801561038657600080fd5b506102d7610395366004612f2e565b610c08565b3480156103a657600080fd5b5061026e6914995dd85c99141bdbdb60b21b81565b3480156103c757600080fd5b5061026e6845636f73797374656d60b81b81565b3480156103e757600080fd5b506102d76103f6366004612d0e565b610f29565b34801561040757600080fd5b5061026e6a4d61696e74656e616e636560a81b81565b6102d761042b366004612dcc565b611006565b34801561043c57600080fd5b5061026e6110d3565b34801561045157600080fd5b5061026e610460366004612d0e565b6001600160a01b031660009081526099602052604090205490565b34801561048757600080fd5b5061026e6c14dd185ada5b99d4995dd85c99609a1b81565b3480156104ab57600080fd5b5061026e7111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b3480156104d457600080fd5b5061026e6104e3366004612d0e565b6001600160a01b031660009081526098602052604090205490565b34801561050a57600080fd5b506102d7611186565b34801561051f57600080fd5b50606554610533906001600160a01b031681565b6040516001600160a01b039091168152602001610278565b34801561055757600080fd5b506102d7610566366004612e90565b61119a565b34801561057757600080fd5b5061026e69456e7653746f7261676560b01b81565b34801561059857600080fd5b5061026e6105a7366004612ebc565b6112c3565b3480156105b857600080fd5b506102d76105c7366004612e90565b611337565b3480156105d857600080fd5b506102d76105e7366004612d0e565b611370565b3480156105f857600080fd5b5061026e610607366004612d0e565b6113f0565b34801561061857600080fd5b506033546001600160a01b0316610533565b34801561063657600080fd5b506102d7610645366004612f2e565b6113fd565b34801561065657600080fd5b5061026e6c42616c6c6f7453746f7261676560981b81565b34801561067a57600080fd5b506102d7610689366004612d0e565b61151c565b34801561069a57600080fd5b506102d76115c4565b6102d76106b1366004612d0e565b6116ce565b3480156106c257600080fd5b506102d76106d1366004612dcc565b611ad0565b6102d7611c34565b3480156106ea57600080fd5b50609a5461026e565b3480156106ff57600080fd5b5060cf54610533906001600160a01b031681565b34801561071f57600080fd5b506102d761072e366004612d0e565b611f14565b34801561073f57600080fd5b506102d761074e366004612d0e565b611f8a565b34801561075f57600080fd5b506102d761076e366004612e90565b611faa565b6001600160a01b03808316600090815260cd60209081526040808320938516835292905220545b92915050565b600054610100900460ff16158080156107c05750600054600160ff909116105b806107da5750303b1580156107da575060005460ff166001145b6107ff5760405162461bcd60e51b81526004016107f6906130c7565b60405180910390fd5b6000805460ff191660011790558015610822576000805461ff0019166101001790555b6001600160a01b0384161580159061084257506001600160a01b03831615155b801561085657506001600160a01b03821615155b6108a25760405162461bcd60e51b815260206004820152601b60248201527f6164647265737320697320746865207a65726f2061646472657373000000000060448201526064016107f6565b6000609a556108af6123af565b6108b76123de565b6108c08461151c565b828260015b826001600160a01b031663d965ea006040518163ffffffff1660e01b815260040160206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109369190612f15565b8111610af25760405163ab3545e560e01b8152600481018290526000906001600160a01b0385169063ab3545e59060240160206040518083038186803b15801561097f57600080fd5b505afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190612d2b565b6040516370a0823160e01b81526001600160a01b0380831660048301529192506000918516906370a082319060240160206040518083038186803b1580156109fe57600080fd5b505afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a369190612f15565b604051632c9aab9b60e11b81526001600160a01b03848116600483015291925060009186169063593557369060240160206040518083038186803b158015610a7d57600080fd5b505afa158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190612f15565b6001600160a01b03909316600090815260986020908152604080832094909455609990529190912082905550609a805490910190556001016108c5565b5050508015610b3b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6001600160a01b038116600090815260996020908152604080832054609890925282205461079a9190613299565b33610b7861240d565b6001600160a01b031614610b9e5760405162461bcd60e51b81526004016107f690613115565b610ba88282612432565b5050565b6001600160a01b038116600090815260ce60209081526040808320546099909252822054811580610bdb575080155b15610bea575060009392505050565b80610bf683606461327a565b610c009190613258565b949350505050565b610c10612690565b609b5460ff1615610c335760405162461bcd60e51b81526004016107f690613190565b60008111610c535760405162461bcd60e51b81526004016107f6906131b4565b6000610c5d6126ea565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c9557600080fd5b505afa158015610ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccd9190612f15565b90506000610cdb8383613240565b33600090815260ce6020908152604080832054609990925290912054610d019190613299565b10610d1457610d103384612702565b5060015b610d1d33610b41565b831115610d3c5760405162461bcd60e51b81526004016107f69061313c565b33600090815260986020526040902054610d57908490613299565b3360009081526098602052604090205560cf546001600160a01b031615801590610d7e5750805b15610e905760cf546040516000916001600160a01b03169085908381818185875af1925050503d8060008114610dd0576040519150601f19603f3d011682016040523d82523d6000602084013e610dd5565b606091505b5050905080610e265760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220746f204e4350207374616b696e67206661696c6564000060448201526064016107f6565b60cf546040516306aa67f960e01b8152600481018690523360248201526001600160a01b03909116906306aa67f990604401600060405180830381600087803b158015610e7257600080fd5b505af1158015610e86573d6000803e3d6000fd5b5050505050610ebf565b604051339084156108fc029085906000818181858888f19350505050158015610ebd573d6000803e3d6000fd5b505b336000818152609860205260409020547f204fccf0d92ed8d48f204adb39b2e81e92bad0dedb93f5716ca9478cfb57de00908590610efc84610b41565b6040805193845260208401929092529082015260600160405180910390a25050610f266001606655565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f725760405162461bcd60e51b81526004016107f690612fe5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fbb60008051602061331e833981519152546001600160a01b031690565b6001600160a01b031614610fe15760405162461bcd60e51b81526004016107f690613031565b610fea816127c1565b60408051600080825260208201909252610f26918391906127c9565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561104f5760405162461bcd60e51b81526004016107f690612fe5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661109860008051602061331e833981519152546001600160a01b031690565b6001600160a01b0316146110be5760405162461bcd60e51b81526004016107f690613031565b6110c7826127c1565b610ba8828260016127c9565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111735760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107f6565b5060008051602061331e83398151915290565b61118e612943565b611198600061299d565b565b336111a361240d565b6001600160a01b0316146111c95760405162461bcd60e51b81526004016107f690613115565b806111d2575050565b6111dc8282611337565b6001600160a01b038216600090815260986020526040902054611200908290613299565b6001600160a01b0383166000908152609860205260408120919091556112246129ef565b6001600160a01b03811660009081526098602052604090205490915061124b908390613240565b6001600160a01b0380831660009081526098602052604080822093909355908516808252919020547f2caed32a519a1fd89486d3ffe06202febb5ed51534d571dbab93058545a29e249084906112a087610b41565b6040805193845260208401929092529082015260600160405180910390a2505050565b6001600160a01b03821660009081526099602052604081205415806112ec575063ffffffff8216155b156112f95750600061079a565b609a546001600160a01b0384166000908152609960205260409020546113269063ffffffff85169061327a565b6113309190613258565b9392505050565b3361134061240d565b6001600160a01b0316146113665760405162461bcd60e51b81526004016107f690613115565b610ba88282612702565b611378612943565b6001600160a01b0381166113ce5760405162461bcd60e51b815260206004820152601e60248201527f4e43505374616b696e6720697320746865207a65726f2061646472657373000060448201526064016107f6565b60cf80546001600160a01b0319166001600160a01b0392909216919091179055565b600061079a8260646112c3565b61140561240d565b604051636f1e853360e01b81523360048201526001600160a01b039190911690636f1e85339060240160206040518083038186803b15801561144657600080fd5b505afa15801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e9190612ef3565b61149a5760405162461bcd60e51b81526004016107f690613115565b6114a43382612432565b60cf546001600160a01b031615610f265760cf546040516301008e9960e61b8152600481018390523360248201526001600160a01b0390911690634023a64090604401600060405180830381600087803b15801561150157600080fd5b505af1158015611515573d6000803e3d6000fd5b5050505050565b611524612943565b6001600160a01b03811661157a5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064016107f6565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b6115cc612943565b609b5460ff16156115ef5760405162461bcd60e51b81526004016107f690613190565b60006116036033546001600160a01b031690565b905047806116415760405162461bcd60e51b815260206004820152600b60248201526a062616c616e6365203d20360ac1b60448201526064016107f6565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611677573d6000803e3d6000fd5b50609b805460ff191660011790556040516001600160a01b038316907f713b90881ad62c4fa8ab6bd9197fa86481fc0c11b2edba60026514281b2dbac4906116c29084815260200190565b60405180910390a25050565b6116d6612690565b609b5460ff16156116f95760405162461bcd60e51b81526004016107f690613190565b60cf546001600160a01b031633146117235760405162461bcd60e51b81526004016107f690612f96565b600034116117435760405162461bcd60e51b81526004016107f69061307d565b61174b61240d565b60405163288c314960e21b81526001600160a01b038381166004830152919091169063a230c5249060240160206040518083038186803b15801561178e57600080fd5b505afa1580156117a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c69190612ef3565b61180b5760405162461bcd60e51b81526020600482015260166024820152752721a81039b437bab63210313290309036b2b6b132b960511b60448201526064016107f6565b6001600160a01b0381166000908152609860205260409020543490611831908290613240565b6001600160a01b0383166000908152609860205260408120919091556118556126ea565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561188d57600080fd5b505afa1580156118a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c59190612f15565b905060006118d16126ea565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561190957600080fd5b505afa15801561191d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119419190612f15565b6001600160a01b038516600090815260996020526040902054909150821180159061199057506001600160a01b038416600090815260996020526040902054819061198d908590613240565b11155b6119dc5760405162461bcd60e51b815260206004820152601f60248201527f757365722073686f756c6420626520696e207374616b696e672072616e67650060448201526064016107f6565b6119e68484612432565b6001600160a01b038416600090815260cd60209081526040808320338452909152902054611a15908490613240565b6001600160a01b038516600081815260cd6020908152604080832033845282528083209490945591815260ce9091522054611a51908490613240565b6001600160a01b038516600081815260ce6020908152604080832085905560cd825280832033808552908352928190205481518981529283019590955281019390935290917f74cfc20f0e6d14384c3a60820d3e814f6979d009cdbb43db27fa56fe475172fd9060600160405180910390a3505050610f266001606655565b600054610100900460ff1615808015611af05750600054600160ff909116105b80611b0a5750303b158015611b0a575060005460ff166001145b611b265760405162461bcd60e51b81526004016107f6906130c7565b6000805460ff191660011790558015611b49576000805461ff0019166101001790555b6000609a55611b566123af565b611b5e6123de565b611b678361151c565b8151611b7257611be9565b600080600080602086019150855182611b8b9190613240565b90505b80821015611be45781519350611ba5602083613240565b9150808210611bb357600080fd5b81519250611bc2602083613240565b6001600160a01b03851660009081526098602052604090208490559150611b8e565b505050505b8015611c2f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b611c3c612690565b609b5460ff1615611c5f5760405162461bcd60e51b81526004016107f690613190565b60003411611c7f5760405162461bcd60e51b81526004016107f69061307d565b33600090815260986020526040902054611c9a903490613240565b33600090815260986020526040902055611cb261240d565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b158015611cf357600080fd5b505afa158015611d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2b9190612ef3565b15611eaf576000611d3a6126ea565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d7257600080fd5b505afa158015611d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611daa9190612f15565b3360009081526099602052604090205490915081118015611dec575033600090815260996020526040902054611de09082613299565b611de933610b41565b10155b15611ead5733600081815260996020526040902054611e159190611e109084613299565b612432565b60cf546001600160a01b031615611ead5760cf54336000908152609960205260409020546001600160a01b0390911690634023a64090611e559084613299565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611e9457600080fd5b505af1158015611ea8573d6000803e3d6000fd5b505050505b505b336000818152609860205260409020547fb4caaf29adda3eefee3ad552a8e85058589bf834c7466cae4ee58787f70589ed903490611eec84610b41565b6040805193845260208401929092529082015260600160405180910390a26111986001606655565b611f1c612943565b6001600160a01b038116611f815760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f6565b610f268161299d565b611f92612943565b6001600160a01b03811615610f2657610fea816127c1565b611fb2612690565b609b5460ff1615611fd55760405162461bcd60e51b81526004016107f690613190565b60cf546001600160a01b03163314611fff5760405162461bcd60e51b81526004016107f690612f96565b6000811161201f5760405162461bcd60e51b81526004016107f6906131b4565b61202761240d565b60405163288c314960e21b81526001600160a01b038481166004830152919091169063a230c5249060240160206040518083038186803b15801561206a57600080fd5b505afa15801561207e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a29190612ef3565b6120e75760405162461bcd60e51b81526020600482015260166024820152752721a81039b437bab63210313290309036b2b6b132b960511b60448201526064016107f6565b8060006120f26126ea565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561212a57600080fd5b505afa15801561213e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121629190612f15565b6001600160a01b038516600090815260cd6020908152604080832033845290915290205490915082118015906121c1575080826121b4866001600160a01b031660009081526099602052604090205490565b6121be9190613299565b10155b6121dd5760405162461bcd60e51b81526004016107f69061313c565b6121e78483612702565b6001600160a01b03841660009081526098602052604090205461220b908390613299565b6001600160a01b03851660009081526098602090815260408083209390935560cd815282822033835290522054612243908390613299565b6001600160a01b038516600081815260cd6020908152604080832033845282528083209490945591815260ce909152205461227f908390613299565b6001600160a01b03858116600090815260ce60205260408082209390935560cf54925190929091169084908381818185875af1925050503d80600081146122e2576040519150601f19603f3d011682016040523d82523d6000602084013e6122e7565b606091505b50509050806123385760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220746f204e4350207374616b696e67206661696c6564000060448201526064016107f6565b6001600160a01b038516600081815260ce602090815260408083205460cd835281842033808652908452938290205482518981529384019190915282820152517f03d2bb70c6ccc49d68a465a06edffb976961cf8930888658ca2339fa62b8bda29181900360600190a3505050610ba86001606655565b600054610100900460ff166123d65760405162461bcd60e51b81526004016107f6906131f5565b611198612a06565b600054610100900460ff166124055760405162461bcd60e51b81526004016107f6906131f5565b611198612a2d565b600061242d7111dbdd995c9b985b98d950dbdb9d1c9858dd60721b612a5d565b905090565b8061243b575050565b6001600160a01b0382166000908152609860205260409020548111156124bc5760405162461bcd60e51b815260206004820152603060248201527f4c6f636b20616d6f756e742073686f756c6420626520657175616c206f72206c60448201526f657373207468616e2062616c616e636560801b60648201526084016107f6565b806124c683610b41565b10156125245760405162461bcd60e51b815260206004820152602760248201527f496e73756666696369656e742062616c616e636520746861742063616e206265604482015266081b1bd8dad95960ca1b60648201526084016107f6565b600061252e6126ea565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561256657600080fd5b505afa15801561257a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259e9190612f15565b6001600160a01b0384166000908152609960205260409020549091506125c5908390613240565b6001600160a01b03841660009081526099602052604090208190558110156126395760405162461bcd60e51b815260206004820152602160248201527f4c6f636b65642062616c616e6365206973206c6172676572207468616e206d616044820152600f60fb1b60648201526084016107f6565b81609a546126479190613240565b609a556001600160a01b0383166000818152609860205260409020547f44cebfefa4561bee5b61d675ccfd8dc9969fff9cc15e7a4eccccd62af94f9c119084906112a087610b41565b600260665414156126e35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107f6565b6002606655565b600061242d69456e7653746f7261676560b01b612a5d565b8061270b575050565b6001600160a01b03821660009081526099602052604090205461272f908290613299565b6001600160a01b038316600090815260996020526040902055609a54612756908290613299565b609a556001600160a01b0382166000818152609860205260409020547f5245d528087a96a64f4589a764f00061e4671eab90cb1e019b1a5b24b2e4c2a890839061279f86610b41565b604080519384526020840192909252908201526060016116c2565b6001606655565b610f26612943565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156127fc57611c2f83612ada565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561283557600080fd5b505afa925050508015612865575060408051601f3d908101601f1916820190925261286291810190612f15565b60015b6128c85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016107f6565b60008051602061331e83398151915281146129375760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016107f6565b50611c2f838383612b76565b6033546001600160a01b031633146111985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107f6565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061242d6845636f73797374656d60b81b612a5d565b600054610100900460ff166127ba5760405162461bcd60e51b81526004016107f6906131f5565b600054610100900460ff16612a545760405162461bcd60e51b81526004016107f6906131f5565b6111983361299d565b606554604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b158015612aa257600080fd5b505afa158015612ab6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079a9190612d2b565b6001600160a01b0381163b612b475760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016107f6565b60008051602061331e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612b7f83612b9b565b600082511180612b8c5750805b15611c2f57610b3b8383612bdb565b612ba481612ada565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611330838360405180606001604052806027815260200161333e602791396060600080856001600160a01b031685604051612c189190612f47565b600060405180830381855af49150503d8060008114612c53576040519150601f19603f3d011682016040523d82523d6000602084013e612c58565b606091505b5091509150612c6986838387612c73565b9695505050505050565b60608315612cdf578251612cd8576001600160a01b0385163b612cd85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107f6565b5081610c00565b610c008383815115612cf45781518083602001fd5b8060405162461bcd60e51b81526004016107f69190612f63565b600060208284031215612d2057600080fd5b813561133081613308565b600060208284031215612d3d57600080fd5b815161133081613308565b60008060408385031215612d5b57600080fd5b8235612d6681613308565b91506020830135612d7681613308565b809150509250929050565b600080600060608486031215612d9657600080fd5b8335612da181613308565b92506020840135612db181613308565b91506040840135612dc181613308565b809150509250925092565b60008060408385031215612ddf57600080fd5b8235612dea81613308565b9150602083013567ffffffffffffffff80821115612e0757600080fd5b818501915085601f830112612e1b57600080fd5b813581811115612e2d57612e2d6132f2565b604051601f8201601f19908116603f01168101908382118183101715612e5557612e556132f2565b81604052828152886020848701011115612e6e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215612ea357600080fd5b8235612eae81613308565b946020939093013593505050565b60008060408385031215612ecf57600080fd5b8235612eda81613308565b9150602083013563ffffffff81168114612d7657600080fd5b600060208284031215612f0557600080fd5b8151801515811461133057600080fd5b600060208284031215612f2757600080fd5b5051919050565b600060208284031215612f4057600080fd5b5035919050565b60008251612f598184602087016132b0565b9190910192915050565b6020815260008251806020840152612f828160408501602087016132b0565b601f01601f19169190910160400192915050565b6020808252602f908201527f4f6e6c79204e43505374616b696e6720636f6e74726163742063616e2063616c60408201526e36103a3434b990333ab731ba34b7b760891b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602a908201527f4465706f73697420616d6f756e742073686f756c642062652067726561746572604082015269207468616e207a65726f60b01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b60208082526034908201527f576974686472617720616d6f756e742073686f756c6420626520657175616c206040820152736f72206c657373207468616e2062616c616e636560601b606082015260800190565b6020808252600a9082015269125cc81c995d9bdad95960b21b604082015260600190565b60208082526021908201527f416d6f756e742073686f756c6420626520626967676572207468616e207a65726040820152606f60f81b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008219821115613253576132536132dc565b500190565b60008261327557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615613294576132946132dc565b500290565b6000828210156132ab576132ab6132dc565b500390565b60005b838110156132cb5781810151838201526020016132b3565b83811115610b3b5750506000910152565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610f2657600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e6db62b7b8343568b6e082a2f766f6cf7aecc33bef7ec7e57820ff9afaeb11f664736f6c63430008060033"; +var StakingImp_data = "0x60a06040523060601b608052609b805460ff191690553480156200002257600080fd5b506200002d62000033565b620000f4565b600054610100900460ff1615620000a05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000f2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c6133ac6200012f60003960008181610f4601528181610f86015281816110230152818161106301526110f201526133ac6000f3fe60806040526004361061023f5760003560e01c8063738fdd1a1161012e578063a91ee0dc116100ab578063d5c258901161006f578063d5c25890146106f0578063f1b8aa1d14610705578063f2fde38b14610725578063f3f6308014610745578063f69318221461076557600080fd5b8063a91ee0dc14610680578063b6549f75146106a0578063bac4f338146106b5578063c0d91eaf146106c8578063d0e30db0146106e857600080fd5b80637f2f4c06116100f25780637f2f4c06146105de578063884d97a7146105fe5780638da5cb5b1461061e5780639667e76a1461063c5780639986e4b91461065c57600080fd5b8063738fdd1a146105255780637756c9081461055d5780637bf465301461057d5780637d77a0eb1461059e5780637eee288d146105be57600080fd5b806334125c84116101bc578063593557361161018057806359355736146104575780635a731cca1461048d5780636c78d2cf146104b157806370a08231146104da578063715018a61461051057600080fd5b806334125c84146103cd5780633659cfe6146103ed5780634bd1ed761461040d5780634f1ef2861461042f57806352d1902d1461044257600080fd5b8063282d3fdf11610203578063282d3fdf146103295780632b0b9c5e146103495780632bc9ed02146103695780632e1a7d4d1461038c5780632f40992e146103ac57600080fd5b80631285361514610262578063193468ac146102955780631caf00c0146102cb5780631e0cba0d146102eb57806325d998bb1461030957600080fd5b3661025d576033546001600160a01b0316331461025b57600080fd5b005b600080fd5b34801561026e57600080fd5b5061028261027d366004612d5a565b610785565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b506102826102b0366004612d20565b6001600160a01b0316600090815260ce602052604090205490565b3480156102d757600080fd5b5061025b6102e6366004612d93565b6107b2565b3480156102f757600080fd5b50610282665374616b696e6760c81b81565b34801561031557600080fd5b50610282610324366004612d20565b610b53565b34801561033557600080fd5b5061025b610344366004612ea2565b610b81565b34801561035557600080fd5b50610282610364366004612d20565b610bbe565b34801561037557600080fd5b50609b5460ff16604051901515815260200161028c565b34801561039857600080fd5b5061025b6103a7366004612f40565b610c1a565b3480156103b857600080fd5b506102826914995dd85c99141bdbdb60b21b81565b3480156103d957600080fd5b506102826845636f73797374656d60b81b81565b3480156103f957600080fd5b5061025b610408366004612d20565b610f3b565b34801561041957600080fd5b506102826a4d61696e74656e616e636560a81b81565b61025b61043d366004612dde565b611018565b34801561044e57600080fd5b506102826110e5565b34801561046357600080fd5b50610282610472366004612d20565b6001600160a01b031660009081526099602052604090205490565b34801561049957600080fd5b506102826c14dd185ada5b99d4995dd85c99609a1b81565b3480156104bd57600080fd5b506102827111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b3480156104e657600080fd5b506102826104f5366004612d20565b6001600160a01b031660009081526098602052604090205490565b34801561051c57600080fd5b5061025b611198565b34801561053157600080fd5b50606554610545906001600160a01b031681565b6040516001600160a01b03909116815260200161028c565b34801561056957600080fd5b5061025b610578366004612ea2565b6111ac565b34801561058957600080fd5b5061028269456e7653746f7261676560b01b81565b3480156105aa57600080fd5b506102826105b9366004612ece565b6112d5565b3480156105ca57600080fd5b5061025b6105d9366004612ea2565b611349565b3480156105ea57600080fd5b5061025b6105f9366004612d20565b611382565b34801561060a57600080fd5b50610282610619366004612d20565b611402565b34801561062a57600080fd5b506033546001600160a01b0316610545565b34801561064857600080fd5b5061025b610657366004612f40565b61140f565b34801561066857600080fd5b506102826c42616c6c6f7453746f7261676560981b81565b34801561068c57600080fd5b5061025b61069b366004612d20565b61152e565b3480156106ac57600080fd5b5061025b6115d6565b61025b6106c3366004612d20565b6116e0565b3480156106d457600080fd5b5061025b6106e3366004612dde565b611ae2565b61025b611c46565b3480156106fc57600080fd5b50609a54610282565b34801561071157600080fd5b5060cf54610545906001600160a01b031681565b34801561073157600080fd5b5061025b610740366004612d20565b611f26565b34801561075157600080fd5b5061025b610760366004612d20565b611f9c565b34801561077157600080fd5b5061025b610780366004612ea2565b611fbc565b6001600160a01b03808316600090815260cd60209081526040808320938516835292905220545b92915050565b600054610100900460ff16158080156107d25750600054600160ff909116105b806107ec5750303b1580156107ec575060005460ff166001145b6108115760405162461bcd60e51b8152600401610808906130d9565b60405180910390fd5b6000805460ff191660011790558015610834576000805461ff0019166101001790555b6001600160a01b0384161580159061085457506001600160a01b03831615155b801561086857506001600160a01b03821615155b6108b45760405162461bcd60e51b815260206004820152601b60248201527f6164647265737320697320746865207a65726f206164647265737300000000006044820152606401610808565b6000609a556108c16123c1565b6108c96123f0565b6108d28461152e565b828260015b826001600160a01b031663d965ea006040518163ffffffff1660e01b815260040160206040518083038186803b15801561091057600080fd5b505afa158015610924573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109489190612f27565b8111610b045760405163ab3545e560e01b8152600481018290526000906001600160a01b0385169063ab3545e59060240160206040518083038186803b15801561099157600080fd5b505afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190612d3d565b6040516370a0823160e01b81526001600160a01b0380831660048301529192506000918516906370a082319060240160206040518083038186803b158015610a1057600080fd5b505afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190612f27565b604051632c9aab9b60e11b81526001600160a01b03848116600483015291925060009186169063593557369060240160206040518083038186803b158015610a8f57600080fd5b505afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190612f27565b6001600160a01b03909316600090815260986020908152604080832094909455609990529190912082905550609a805490910190556001016108d7565b5050508015610b4d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6001600160a01b03811660009081526099602090815260408083205460989092528220546107ac91906132ab565b33610b8a61241f565b6001600160a01b031614610bb05760405162461bcd60e51b815260040161080890613127565b610bba8282612444565b5050565b6001600160a01b038116600090815260ce60209081526040808320546099909252822054811580610bed575080155b15610bfc575060009392505050565b80610c0883606461328c565b610c12919061326a565b949350505050565b610c226126a2565b609b5460ff1615610c455760405162461bcd60e51b8152600401610808906131a2565b60008111610c655760405162461bcd60e51b8152600401610808906131c6565b6000610c6f6126fc565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ca757600080fd5b505afa158015610cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdf9190612f27565b90506000610ced8383613252565b33600090815260ce6020908152604080832054609990925290912054610d1391906132ab565b10610d2657610d223384612714565b5060015b610d2f33610b53565b831115610d4e5760405162461bcd60e51b81526004016108089061314e565b33600090815260986020526040902054610d699084906132ab565b3360009081526098602052604090205560cf546001600160a01b031615801590610d905750805b15610ea25760cf546040516000916001600160a01b03169085908381818185875af1925050503d8060008114610de2576040519150601f19603f3d011682016040523d82523d6000602084013e610de7565b606091505b5050905080610e385760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220746f204e4350207374616b696e67206661696c656400006044820152606401610808565b60cf546040516306aa67f960e01b8152600481018690523360248201526001600160a01b03909116906306aa67f990604401600060405180830381600087803b158015610e8457600080fd5b505af1158015610e98573d6000803e3d6000fd5b5050505050610ed1565b604051339084156108fc029085906000818181858888f19350505050158015610ecf573d6000803e3d6000fd5b505b336000818152609860205260409020547f204fccf0d92ed8d48f204adb39b2e81e92bad0dedb93f5716ca9478cfb57de00908590610f0e84610b53565b6040805193845260208401929092529082015260600160405180910390a25050610f386001606655565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f845760405162461bcd60e51b815260040161080890612ff7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fcd600080516020613330833981519152546001600160a01b031690565b6001600160a01b031614610ff35760405162461bcd60e51b815260040161080890613043565b610ffc816127d3565b60408051600080825260208201909252610f38918391906127db565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156110615760405162461bcd60e51b815260040161080890612ff7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110aa600080516020613330833981519152546001600160a01b031690565b6001600160a01b0316146110d05760405162461bcd60e51b815260040161080890613043565b6110d9826127d3565b610bba828260016127db565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111855760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610808565b5060008051602061333083398151915290565b6111a0612955565b6111aa60006129af565b565b336111b561241f565b6001600160a01b0316146111db5760405162461bcd60e51b815260040161080890613127565b806111e4575050565b6111ee8282611349565b6001600160a01b0382166000908152609860205260409020546112129082906132ab565b6001600160a01b038316600090815260986020526040812091909155611236612a01565b6001600160a01b03811660009081526098602052604090205490915061125d908390613252565b6001600160a01b0380831660009081526098602052604080822093909355908516808252919020547f2caed32a519a1fd89486d3ffe06202febb5ed51534d571dbab93058545a29e249084906112b287610b53565b6040805193845260208401929092529082015260600160405180910390a2505050565b6001600160a01b03821660009081526099602052604081205415806112fe575063ffffffff8216155b1561130b575060006107ac565b609a546001600160a01b0384166000908152609960205260409020546113389063ffffffff85169061328c565b611342919061326a565b9392505050565b3361135261241f565b6001600160a01b0316146113785760405162461bcd60e51b815260040161080890613127565b610bba8282612714565b61138a612955565b6001600160a01b0381166113e05760405162461bcd60e51b815260206004820152601e60248201527f4e43505374616b696e6720697320746865207a65726f206164647265737300006044820152606401610808565b60cf80546001600160a01b0319166001600160a01b0392909216919091179055565b60006107ac8260646112d5565b61141761241f565b604051636f1e853360e01b81523360048201526001600160a01b039190911690636f1e85339060240160206040518083038186803b15801561145857600080fd5b505afa15801561146c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114909190612f05565b6114ac5760405162461bcd60e51b815260040161080890613127565b6114b63382612444565b60cf546001600160a01b031615610f385760cf546040516301008e9960e61b8152600481018390523360248201526001600160a01b0390911690634023a64090604401600060405180830381600087803b15801561151357600080fd5b505af1158015611527573d6000803e3d6000fd5b5050505050565b611536612955565b6001600160a01b03811661158c5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f0000000000006044820152606401610808565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b6115de612955565b609b5460ff16156116015760405162461bcd60e51b8152600401610808906131a2565b60006116156033546001600160a01b031690565b905047806116535760405162461bcd60e51b815260206004820152600b60248201526a062616c616e6365203d20360ac1b6044820152606401610808565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611689573d6000803e3d6000fd5b50609b805460ff191660011790556040516001600160a01b038316907f713b90881ad62c4fa8ab6bd9197fa86481fc0c11b2edba60026514281b2dbac4906116d49084815260200190565b60405180910390a25050565b6116e86126a2565b609b5460ff161561170b5760405162461bcd60e51b8152600401610808906131a2565b60cf546001600160a01b031633146117355760405162461bcd60e51b815260040161080890612fa8565b600034116117555760405162461bcd60e51b81526004016108089061308f565b61175d61241f565b60405163288c314960e21b81526001600160a01b038381166004830152919091169063a230c5249060240160206040518083038186803b1580156117a057600080fd5b505afa1580156117b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d89190612f05565b61181d5760405162461bcd60e51b81526020600482015260166024820152752721a81039b437bab63210313290309036b2b6b132b960511b6044820152606401610808565b6001600160a01b0381166000908152609860205260409020543490611843908290613252565b6001600160a01b0383166000908152609860205260408120919091556118676126fc565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189f57600080fd5b505afa1580156118b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d79190612f27565b905060006118e36126fc565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561191b57600080fd5b505afa15801561192f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119539190612f27565b6001600160a01b03851660009081526099602052604090205490915082118015906119a257506001600160a01b038416600090815260996020526040902054819061199f908590613252565b11155b6119ee5760405162461bcd60e51b815260206004820152601f60248201527f757365722073686f756c6420626520696e207374616b696e672072616e6765006044820152606401610808565b6119f88484612444565b6001600160a01b038416600090815260cd60209081526040808320338452909152902054611a27908490613252565b6001600160a01b038516600081815260cd6020908152604080832033845282528083209490945591815260ce9091522054611a63908490613252565b6001600160a01b038516600081815260ce6020908152604080832085905560cd825280832033808552908352928190205481518981529283019590955281019390935290917f74cfc20f0e6d14384c3a60820d3e814f6979d009cdbb43db27fa56fe475172fd9060600160405180910390a3505050610f386001606655565b600054610100900460ff1615808015611b025750600054600160ff909116105b80611b1c5750303b158015611b1c575060005460ff166001145b611b385760405162461bcd60e51b8152600401610808906130d9565b6000805460ff191660011790558015611b5b576000805461ff0019166101001790555b6000609a55611b686123c1565b611b706123f0565b611b798361152e565b8151611b8457611bfb565b600080600080602086019150855182611b9d9190613252565b90505b80821015611bf65781519350611bb7602083613252565b9150808210611bc557600080fd5b81519250611bd4602083613252565b6001600160a01b03851660009081526098602052604090208490559150611ba0565b505050505b8015611c41576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b611c4e6126a2565b609b5460ff1615611c715760405162461bcd60e51b8152600401610808906131a2565b60003411611c915760405162461bcd60e51b81526004016108089061308f565b33600090815260986020526040902054611cac903490613252565b33600090815260986020526040902055611cc461241f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b158015611d0557600080fd5b505afa158015611d19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3d9190612f05565b15611ec1576000611d4c6126fc565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d8457600080fd5b505afa158015611d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dbc9190612f27565b3360009081526099602052604090205490915081118015611dfe575033600090815260996020526040902054611df290826132ab565b611dfb33610b53565b10155b15611ebf5733600081815260996020526040902054611e279190611e2290846132ab565b612444565b60cf546001600160a01b031615611ebf5760cf54336000908152609960205260409020546001600160a01b0390911690634023a64090611e6790846132ab565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611ea657600080fd5b505af1158015611eba573d6000803e3d6000fd5b505050505b505b336000818152609860205260409020547fb4caaf29adda3eefee3ad552a8e85058589bf834c7466cae4ee58787f70589ed903490611efe84610b53565b6040805193845260208401929092529082015260600160405180910390a26111aa6001606655565b611f2e612955565b6001600160a01b038116611f935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610808565b610f38816129af565b611fa4612955565b6001600160a01b03811615610f3857610ffc816127d3565b611fc46126a2565b609b5460ff1615611fe75760405162461bcd60e51b8152600401610808906131a2565b60cf546001600160a01b031633146120115760405162461bcd60e51b815260040161080890612fa8565b600081116120315760405162461bcd60e51b8152600401610808906131c6565b61203961241f565b60405163288c314960e21b81526001600160a01b038481166004830152919091169063a230c5249060240160206040518083038186803b15801561207c57600080fd5b505afa158015612090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b49190612f05565b6120f95760405162461bcd60e51b81526020600482015260166024820152752721a81039b437bab63210313290309036b2b6b132b960511b6044820152606401610808565b8060006121046126fc565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561213c57600080fd5b505afa158015612150573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121749190612f27565b6001600160a01b038516600090815260cd6020908152604080832033845290915290205490915082118015906121d3575080826121c6866001600160a01b031660009081526099602052604090205490565b6121d091906132ab565b10155b6121ef5760405162461bcd60e51b81526004016108089061314e565b6121f98483612714565b6001600160a01b03841660009081526098602052604090205461221d9083906132ab565b6001600160a01b03851660009081526098602090815260408083209390935560cd8152828220338352905220546122559083906132ab565b6001600160a01b038516600081815260cd6020908152604080832033845282528083209490945591815260ce90915220546122919083906132ab565b6001600160a01b03858116600090815260ce60205260408082209390935560cf54925190929091169084908381818185875af1925050503d80600081146122f4576040519150601f19603f3d011682016040523d82523d6000602084013e6122f9565b606091505b505090508061234a5760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220746f204e4350207374616b696e67206661696c656400006044820152606401610808565b6001600160a01b038516600081815260ce602090815260408083205460cd835281842033808652908452938290205482518981529384019190915282820152517f03d2bb70c6ccc49d68a465a06edffb976961cf8930888658ca2339fa62b8bda29181900360600190a3505050610bba6001606655565b600054610100900460ff166123e85760405162461bcd60e51b815260040161080890613207565b6111aa612a18565b600054610100900460ff166124175760405162461bcd60e51b815260040161080890613207565b6111aa612a3f565b600061243f7111dbdd995c9b985b98d950dbdb9d1c9858dd60721b612a6f565b905090565b8061244d575050565b6001600160a01b0382166000908152609860205260409020548111156124ce5760405162461bcd60e51b815260206004820152603060248201527f4c6f636b20616d6f756e742073686f756c6420626520657175616c206f72206c60448201526f657373207468616e2062616c616e636560801b6064820152608401610808565b806124d883610b53565b10156125365760405162461bcd60e51b815260206004820152602760248201527f496e73756666696369656e742062616c616e636520746861742063616e206265604482015266081b1bd8dad95960ca1b6064820152608401610808565b60006125406126fc565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561257857600080fd5b505afa15801561258c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b09190612f27565b6001600160a01b0384166000908152609960205260409020549091506125d7908390613252565b6001600160a01b038416600090815260996020526040902081905581101561264b5760405162461bcd60e51b815260206004820152602160248201527f4c6f636b65642062616c616e6365206973206c6172676572207468616e206d616044820152600f60fb1b6064820152608401610808565b81609a546126599190613252565b609a556001600160a01b0383166000818152609860205260409020547f44cebfefa4561bee5b61d675ccfd8dc9969fff9cc15e7a4eccccd62af94f9c119084906112b287610b53565b600260665414156126f55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610808565b6002606655565b600061243f69456e7653746f7261676560b01b612a6f565b8061271d575050565b6001600160a01b0382166000908152609960205260409020546127419082906132ab565b6001600160a01b038316600090815260996020526040902055609a546127689082906132ab565b609a556001600160a01b0382166000818152609860205260409020547f5245d528087a96a64f4589a764f00061e4671eab90cb1e019b1a5b24b2e4c2a89083906127b186610b53565b604080519384526020840192909252908201526060016116d4565b6001606655565b610f38612955565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561280e57611c4183612aec565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561284757600080fd5b505afa925050508015612877575060408051601f3d908101601f1916820190925261287491810190612f27565b60015b6128da5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610808565b60008051602061333083398151915281146129495760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610808565b50611c41838383612b88565b6033546001600160a01b031633146111aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610808565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061243f6845636f73797374656d60b81b612a6f565b600054610100900460ff166127cc5760405162461bcd60e51b815260040161080890613207565b600054610100900460ff16612a665760405162461bcd60e51b815260040161080890613207565b6111aa336129af565b606554604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b158015612ab457600080fd5b505afa158015612ac8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190612d3d565b6001600160a01b0381163b612b595760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610808565b60008051602061333083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612b9183612bad565b600082511180612b9e5750805b15611c4157610b4d8383612bed565b612bb681612aec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606113428383604051806060016040528060278152602001613350602791396060600080856001600160a01b031685604051612c2a9190612f59565b600060405180830381855af49150503d8060008114612c65576040519150601f19603f3d011682016040523d82523d6000602084013e612c6a565b606091505b5091509150612c7b86838387612c85565b9695505050505050565b60608315612cf1578251612cea576001600160a01b0385163b612cea5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610808565b5081610c12565b610c128383815115612d065781518083602001fd5b8060405162461bcd60e51b81526004016108089190612f75565b600060208284031215612d3257600080fd5b81356113428161331a565b600060208284031215612d4f57600080fd5b81516113428161331a565b60008060408385031215612d6d57600080fd5b8235612d788161331a565b91506020830135612d888161331a565b809150509250929050565b600080600060608486031215612da857600080fd5b8335612db38161331a565b92506020840135612dc38161331a565b91506040840135612dd38161331a565b809150509250925092565b60008060408385031215612df157600080fd5b8235612dfc8161331a565b9150602083013567ffffffffffffffff80821115612e1957600080fd5b818501915085601f830112612e2d57600080fd5b813581811115612e3f57612e3f613304565b604051601f8201601f19908116603f01168101908382118183101715612e6757612e67613304565b81604052828152886020848701011115612e8057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215612eb557600080fd5b8235612ec08161331a565b946020939093013593505050565b60008060408385031215612ee157600080fd5b8235612eec8161331a565b9150602083013563ffffffff81168114612d8857600080fd5b600060208284031215612f1757600080fd5b8151801515811461134257600080fd5b600060208284031215612f3957600080fd5b5051919050565b600060208284031215612f5257600080fd5b5035919050565b60008251612f6b8184602087016132c2565b9190910192915050565b6020815260008251806020840152612f948160408501602087016132c2565b601f01601f19169190910160400192915050565b6020808252602f908201527f4f6e6c79204e43505374616b696e6720636f6e74726163742063616e2063616c60408201526e36103a3434b990333ab731ba34b7b760891b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602a908201527f4465706f73697420616d6f756e742073686f756c642062652067726561746572604082015269207468616e207a65726f60b01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b60208082526034908201527f576974686472617720616d6f756e742073686f756c6420626520657175616c206040820152736f72206c657373207468616e2062616c616e636560601b606082015260800190565b6020808252600a9082015269125cc81c995d9bdad95960b21b604082015260600190565b60208082526021908201527f416d6f756e742073686f756c6420626520626967676572207468616e207a65726040820152606f60f81b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008219821115613265576132656132ee565b500190565b60008261328757634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156132a6576132a66132ee565b500290565b6000828210156132bd576132bd6132ee565b500390565b60005b838110156132dd5781810151838201526020016132c5565b83811115610b4d5750506000910152565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610f3857600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122048268ddacc82aabb609f8078e7aebba183897658409e557864d00c9c523b3c4a64736f6c63430008060033"; var StakingImp_contract = web3.eth.contract([{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"ncp","type":"address"},{"indexed":false,"internalType":"uint256","name":"ncpTotalLocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"userTotalLocked","type":"uint256"}],"name":"DelegateStaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"ncp","type":"address"},{"indexed":false,"internalType":"uint256","name":"ncpTotalLocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"userTotalLocked","type":"uint256"}],"name":"DelegateUnstaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Locked","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":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Revoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetRegistry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"TransferLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Unlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Unstaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"BALLOT_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ENV_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINTENANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_POOL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"availableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"calcVotingWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint32","name":"factor","type":"uint32"}],"name":"calcVotingWeightWithScaleFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"delegateDepositAndLockMore","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"delegateUnlockAndWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"getRatioOfUserBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalLockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isRevoked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockAmount","type":"uint256"}],"name":"lockMore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"lockedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"address","name":"oldGov","type":"address"},{"internalType":"address","name":"oldStaking","type":"address"}],"name":"migrateFromLegacy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ncpStaking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reg","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revoke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_ncpStaking","type":"address"}],"name":"setNCPStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferLocked","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint256","name":"unlockAmount","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImp","type":"address"}],"name":"upgradeStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"userBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"userTotalBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]); function StakingImp_new() { diff --git a/miner/worker.go b/miner/worker.go index 8ec3a942dd8e..b7ea5bfc6b7f 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -1497,8 +1497,8 @@ func (w *worker) timeIt(blockInterval int64) (timestamp uint64, till time.Time) blockInterval = 2 } - maxPeekBack := int64(86400) // don't look back further than this - tooBehindMultiple := int64(2) // ignore if > tooBehindMultiple * height * blockInterval + maxPeekBack := 86400 / blockInterval // don't look back further than this + tooBehindMultiple := int64(2) // ignore if > tooBehindMultiple * height * blockInterval parent := w.chain.CurrentBlock() num := parent.Number() @@ -1539,7 +1539,7 @@ func (w *worker) timeIt(blockInterval int64) (timestamp uint64, till time.Time) if offset > 0 { ahead++ } - adjBlocks := params.BlockTimeAdjBlocks + adjBlocks := params.BlockTimeAdjBlocks / blockInterval for i := int64(0); i < params.BlockTimeAdjMultiple; i++ { offset, height, _, dt = check(adjBlocks) log.Debug("time-it", "round", adjBlocks, "offset", offset, "height", height, "dt", dt) diff --git a/params/config.go b/params/config.go index d565326e7a02..50940f4bb5ca 100644 --- a/params/config.go +++ b/params/config.go @@ -158,9 +158,9 @@ var ( BerlinBlock: big.NewInt(51960000), LondonBlock: big.NewInt(51960000), AvocadoBlock: big.NewInt(59_860_000), - PangyoBlock: nil, - ApplepieBlock: nil, - BokbunjaBlock: nil, + PangyoBlock: big.NewInt(73_225_410), + ApplepieBlock: big.NewInt(73_225_410), + BokbunjaBlock: big.NewInt(73_225_410), Ethash: new(EthashConfig), }