diff --git a/core/systemcontracts/upgrade.go b/core/systemcontracts/upgrade.go index 8f29239f6..dc8c8ee00 100644 --- a/core/systemcontracts/upgrade.go +++ b/core/systemcontracts/upgrade.go @@ -133,7 +133,41 @@ func init() { }, }, } - + zeusUpgrade[mainNet] = &Upgrade{ + UpgradeName: "zeus", + Configs: []*UpgradeConfig{ + { + ContractAddr: common.HexToAddress(ValidatorContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/d545ede09f6af0b2c2451f739234e582f0aeeb2b", + Code: "6080604052600436106101dc5760003560e01c8063983443df11610102578063b7ab4db511610095578063eb57e20211610064578063eb57e2021461056d578063f340fa011461058d578063f9a2bbc7146105a0578063facd743b146105b657600080fd5b8063b7ab4db514610517578063c81b16621461052c578063dc927faf14610542578063e1c7392a1461055857600080fd5b8063a78abc16116100d1578063a78abc161461048a578063ac431751146104b4578063ad3c9da6146104d4578063b11717241461050157600080fd5b8063983443df146104265780639dc092621461043c578063a5422d5c14610452578063a730c8911461047457600080fd5b806334bc99b31161017a5780636969a25c116101495780636969a25c1461036c578063783028a9146103d25780637f05b9ef146103e85780638f73c5ae1461040457600080fd5b806334bc99b31461030957806343756e5c146103205780634392b20114610336578063565c56b31461034c57600080fd5b8063239cba4a116101b6578063239cba4a1461029e57806325ee13e2146102be578063270159f7146102d45780632eae3523146102f457600080fd5b806304e9e3a4146102245780630ac168a11461026457806314c1e1f71461028857600080fd5b3661021f57341561021d5760405134815233907ff11e547d796cc64acdf758e7cee90439494fd886a19159454aa61e473fdbafef9060200160405180910390a25b005b600080fd5b34801561023057600080fd5b5061023a61100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561027057600080fd5b5061027a60015481565b60405190815260200161025b565b34801561029457600080fd5b5061023a61100481565b3480156102aa57600080fd5b5061021d6102b93660046130e9565b6105fb565b3480156102ca57600080fd5b5061023a61100581565b3480156102e057600080fd5b5061021d6102ef36600461311d565b610b94565b34801561030057600080fd5b5061027a600a81565b34801561031557600080fd5b5061027a62a0668081565b34801561032c57600080fd5b5061023a61100181565b34801561034257600080fd5b5061027a60045481565b34801561035857600080fd5b5061027a6103673660046130cd565b611299565b34801561037857600080fd5b5061038c610387366004613245565b611312565b6040805173ffffffffffffffffffffffffffffffffffffffff9687168152948616602086015292909416918301919091526060820152608081019190915260a00161025b565b3480156103de57600080fd5b5061023a61100881565b3480156103f457600080fd5b5061027a6729a2241af62c000081565b34801561041057600080fd5b5061041961136e565b60405161025b9190613311565b34801561043257600080fd5b5061027a60025481565b34801561044857600080fd5b5061023a61100681565b34801561045e57600080fd5b50610467611887565b60405161025b919061337a565b34801561048057600080fd5b5061027a6125a781565b34801561049657600080fd5b506000546104a49060ff1681565b604051901515815260200161025b565b3480156104c057600080fd5b5061021d6104cf3660046131dc565b6118a6565b3480156104e057600080fd5b5061027a6104ef3660046130cd565b60056020526000908152604090205481565b34801561050d57600080fd5b5061023a61100981565b34801561052357600080fd5b50610419611b40565b34801561053857600080fd5b5061023a61100281565b34801561054e57600080fd5b5061023a61100381565b34801561056457600080fd5b5061021d611c57565b34801561057957600080fd5b5061021d6105883660046130cd565b611eed565b61021d61059b3660046130cd565b6121a7565b3480156105ac57600080fd5b5061023a61100081565b3480156105c257600080fd5b506104a46105d13660046130cd565b73ffffffffffffffffffffffffffffffffffffffff16600090815260056020526040902054151590565b33611001146106775760405162461bcd60e51b815260206004820152602560248201527f746865206d73672073656e646572206d75737420626520736c61736820636f6e60448201527f747261637400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260056020526040902054806106a85750505050565b6106b36001826134b3565b90506000600382815481106106d857634e487b7160e01b600052603260045260246000fd5b600091825260208220600460059092020101546003549092506106fd906001906134b3565b9050806107445760006003848154811061072757634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160040181905550505050505050565b60006003848154811061076757634e487b7160e01b600052603260045260246000fd5b60009182526020918290206005909102015460405185815273ffffffffffffffffffffffffffffffffffffffff909116925082917f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70910160405180910390a273ffffffffffffffffffffffffffffffffffffffff87166000908152600560205260408120556003546107fb906001906134b3565b841461095f5760038054610811906001906134b3565b8154811061082f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016003858154811061085e57634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460059092020180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161782556001808501548184018054841691861691909117905560028086015490840180549093169416939093179055600380840154908201556004928301549201919091556108fe90859061344a565b600560006003878154811061092357634e487b7160e01b600052603260045260246000fd5b600091825260208083206001600590930201919091015473ffffffffffffffffffffffffffffffffffffffff1683528201929092526040019020555b600380548061097e57634e487b7160e01b600052603160045260246000fd5b60008281526020812060057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054821690556002820180549091169055600381018290556004018190559155610a078385613462565b90508015610a7a5760035460005b81811015610a77578260038281548110610a3f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016004016000828254610a5f919061344a565b90915550819050610a6f8161351d565b915050610a15565b50505b6040517fa9955b4000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260248101889052604481018790526110059063a9955b4090606401600060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b50506040517fce73711200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152611007925063ce7371129150602401600060405180830381600087803b158015610b7257600080fd5b505af1158015610b86573d6000803e3d6000fd5b505050505050505050505050565b3361100514610c0b5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161066e565b610cda88888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525050604080516020808a0282810182019093528982529093508992508891829185019084908082843760009201919091525061245792505050565b84610ce45761128f565b600354600090865b81831015610d66576005600060038581548110610d1957634e487b7160e01b600052603260045260246000fd5b600091825260208083206001600590930201919091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400181205582610d5e8161351d565b935050610cec565b8092505b81831015610e20576003805480610d9157634e487b7160e01b600052603160045260246000fd5b60008281526020812060057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180548216905560028201805490911690556003810182905560040155905582610e188161351d565b935050610d6a565b600092505b80831015611262578183106110025760036040518060a001604052808d8d87818110610e6157634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610e7691906130cd565b73ffffffffffffffffffffffffffffffffffffffff1681526020018b8b87818110610eb157634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610ec691906130cd565b73ffffffffffffffffffffffffffffffffffffffff168152602001898987818110610f0157634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610f1691906130cd565b73ffffffffffffffffffffffffffffffffffffffff168152602001878787818110610f5157634e487b7160e01b600052603260045260246000fd5b602090810292909201358352506000918101829052835460018181018655948352918190208351600590930201805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617825591840151948101805495841695831695909517909455604083015160028501805491909316911617905560608101516003830155608001516004909101556111e7565b6040518060a001604052808c8c8681811061102d57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061104291906130cd565b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8681811061107d57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061109291906130cd565b73ffffffffffffffffffffffffffffffffffffffff1681526020018888868181106110cd57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906110e291906130cd565b73ffffffffffffffffffffffffffffffffffffffff16815260200186868681811061111d57634e487b7160e01b600052603260045260246000fd5b90506020020135815260200160008152506003848154811061114f57634e487b7160e01b600052603260045260246000fd5b60009182526020918290208351600590920201805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178255928401516001820180549184169185169190911790556040840151600282018054919093169316929092179055606082015160038201556080909101516004909101555b6111f283600161344a565b600560008b8b8781811061121657634e487b7160e01b600052603260045260246000fd5b905060200201602081019061122b91906130cd565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205561125b8361351d565b9250610e25565b6040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf90600090a15050505b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260056020526040812054806112cd5750600092915050565b60036112da6001836134b3565b815481106112f857634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160040154915050919050565b6003818154811061132257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015473ffffffffffffffffffffffffffffffffffffffff9384169550918316939216919085565b606033611005146113e75760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161066e565b60035460009081908190815b8181101561148c5760006003828154811061141e57634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020190506000606460025483600401546114449190613476565b61144e9190613462565b905061145a818661344a565b94508082600401600082825461147091906134b3565b92505081905550505080806114849061351d565b9150506113f3565b5061100273ffffffffffffffffffffffffffffffffffffffff1663631cbe3c836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b50505050508067ffffffffffffffff81111561151757634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611540578160200160208202803683370190505b50945060008167ffffffffffffffff81111561156c57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611595578160200160208202803683370190505b509050600080805b84811015611803576000600382815481106115c857634e487b7160e01b600052603260045260246000fd5b6000918252602090912060059091020180548b5191925073ffffffffffffffffffffffffffffffffffffffff16908b908490811061161657634e487b7160e01b600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526004810154925082156117f0576002810154600382015473ffffffffffffffffffffffffffffffffffffffff90911699506103e89061167a9085613476565b6116849190613462565b9750878311156116fa5761169888846134b3565b8583815181106116b857634e487b7160e01b600052603260045260246000fd5b6020026020010181815250508482815181106116e457634e487b7160e01b600052603260045260246000fd5b6020026020010151846116f7919061344a565b93505b60006004820181905560405173ffffffffffffffffffffffffffffffffffffffff8b16908a156108fc02908b9084818181858888f1935050505090508015611797578154604080518b81526020810187905273ffffffffffffffffffffffffffffffffffffffff8d81169316917f5f05434e85dc7eb0d20406bd66f9b9c92a6d4d710b8cffeb61176632c83974d3910160405180910390a36117ee565b8154604080518b81526020810187905273ffffffffffffffffffffffffffffffffffffffff8d81169316917fa49797d31ee4d8d18eeb937551b21f754dd96d6e3922324d5c5ba4522ebc45bc910160405180910390a35b505b50806117fb8161351d565b91505061159d565b506040517fbaa4402b0000000000000000000000000000000000000000000000000000000081526110079063baa4402b908490611846908c908890600401613324565b6000604051808303818588803b15801561185f57600080fd5b505af1158015611873573d6000803e3d6000fd5b505060006004555050505050505050505090565b604051806102c0016040528061028881526020016135b9610288913981565b60005460ff166118f85760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161066e565b336110061461196f5760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161066e565b602081146119ad5783836040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161066e9291906133cb565b611a2184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f626c6f636b526577617264496e63656e7469766550657263656e740000000000602082015291506127da9050565b15611ab557604080516020601f8401819004810282018101909252828152600091611a649185858083850183828082843760009201919091525061283392505050565b90506064811115611aad57848482600060646040517f808861f900000000000000000000000000000000000000000000000000000000815260040161066e959493929190613419565b600255611afd565b60405162461bcd60e51b815260206004820152600d60248201527f756e6b6e6f776e20706172616d00000000000000000000000000000000000000604482015260640161066e565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051611b3294939291906133e7565b60405180910390a150505050565b60035460609060008167ffffffffffffffff811115611b6f57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611b98578160200160208202803683370190505b50905060005b82811015611c505760038181548110611bc757634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110611c1957634e487b7160e01b600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280611c488161351d565b915050611b9e565b5092915050565b60005460ff1615611caa5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015260640161066e565b600080611cd1604051806102c0016040528061028881526020016135b96102889139612838565b9150915080611d485760405162461bcd60e51b815260206004820152602160248201527f6661696c656420746f20706172736520696e69742076616c696461746f72536560448201527f7400000000000000000000000000000000000000000000000000000000000000606482015260840161066e565b815160005b81811015611ea9576003848281518110611d7757634e487b7160e01b600052603260045260246000fd5b602090810291909101810151825460018082018555600094855293839020825160059092020180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416178255938301518186018054861691841691909117905560408301516002820180549095169216919091179092556060810151600383015560800151600490910155611e2890829061344a565b60056000868481518110611e4c57634e487b7160e01b600052603260045260246000fd5b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080611ea19061351d565b915050611d4d565b50506729a2241af62c00006001908155600a600255600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790555050565b3361100114611f645760405162461bcd60e51b815260206004820152602560248201527f746865206d73672073656e646572206d75737420626520736c61736820636f6e60448201527f7472616374000000000000000000000000000000000000000000000000000000606482015260840161066e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604090205480611f93575050565b611f9e6001826134b3565b9050600060038281548110611fc357634e487b7160e01b600052603260045260246000fd5b9060005260206000209060050201600401549050600060038381548110611ffa57634e487b7160e01b600052603260045260246000fd5b6000918252602082206004600590920201019190915560035461201f906001906134b3565b905060006003848154811061204457634e487b7160e01b600052603260045260246000fd5b60009182526020918290206005909102015460405185815273ffffffffffffffffffffffffffffffffffffffff909116925082917f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d910160405180910390a2816120af575050505050565b60006120bb8385613462565b9050801561219e5760005b858110156121285781600382815481106120f057634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016004016000828254612110919061344a565b909155508190506121208161351d565b9150506120c6565b50600354600061213987600161344a565b90505b8181101561128f57826003828154811061216657634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016004016000828254612186919061344a565b909155508190506121968161351d565b91505061213c565b50505050505b50565b33411461221c5760405162461bcd60e51b815260206004820152602d60248201527f746865206d6573736167652073656e646572206d75737420626520746865206260448201527f6c6f636b2070726f647563657200000000000000000000000000000000000000606482015260840161066e565b60005460ff1661226e5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161066e565b3a156122bc5760405162461bcd60e51b815260206004820152601460248201527f6761737072696365206973206e6f74207a65726f000000000000000000000000604482015260640161066e565b6122c962a0668043613556565b6122ee576127106125a76001546122e09190613476565b6122ea9190613462565b6001555b60015460045434919061230290839061344a565b61230c919061344a565b47106123225760015461231f908261344a565b90505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560205260409020548015612402576000600361235d6001846134b3565b8154811061237b57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060050201905082600454612399919061344a565b60049081558101546123ac90849061344a565b600482015560405183815273ffffffffffffffffffffffffffffffffffffffff8516907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc0559060200160405180910390a250505050565b8273ffffffffffffffffffffffffffffffffffffffff167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b48360405161244a91815260200190565b60405180910390a2505050565b83518351146124f45760405162461bcd60e51b815260206004820152604660248201527f746865206e756d62657273206f6620636f6e73656e737573416464726573736560448201527f7320616e64206f7065726174654164647265737365732073686f756c6420626560648201527f20657175616c0000000000000000000000000000000000000000000000000000608482015260a40161066e565b81518351146125915760405162461bcd60e51b815260206004820152604260248201527f746865206e756d62657273206f6620636f6e73656e737573416464726573736560448201527f7320616e64206665654164647265737365732073686f756c642062652065717560648201527f616c000000000000000000000000000000000000000000000000000000000000608482015260a40161066e565b805183511461262e5760405162461bcd60e51b815260206004820152604c60248201527f746865206e756d62657273206f6620636f6e73656e737573416464726573736560448201527f7320616e6420636f6d6d697373696f6e54686f7573616e64746873732073686f60648201527f756c6420626520657175616c0000000000000000000000000000000000000000608482015260a40161066e565b60005b83518110156127d35760005b818110156127215784818151811061266557634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168583815181106126a357634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561270f5760405162461bcd60e51b815260206004820152601b60248201527f6475706c696361746520636f6e73656e73757320616464726573730000000000604482015260640161066e565b806127198161351d565b91505061263d565b506103e882828151811061274557634e487b7160e01b600052603260045260246000fd5b602002602001015111156127c15760405162461bcd60e51b815260206004820152602260248201527f636f6d6d697373696f6e54686f7573616e64746873206f7574206f6620626f7560448201527f6e64000000000000000000000000000000000000000000000000000000000000606482015260840161066e565b806127cb8161351d565b915050612631565b5050505050565b6000816040516020016127ed91906132f5565b604051602081830303815290604052805190602001208360405160200161281491906132f5565b6040516020818303038152906040528051906020012014905092915050565b015190565b60606000806128766128718560408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b6129c3565b805190915060008167ffffffffffffffff8111156128a457634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561291b57816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816128c25790505b50905060005b828110156129b65760008061295c86848151811061294f57634e487b7160e01b600052603260045260246000fd5b6020026020010151612af5565b9150915080612975575091976000975095505050505050565b8184848151811061299657634e487b7160e01b600052603260045260246000fd5b6020026020010181905250505080806129ae9061351d565b915050612921565b5095901515945092505050565b60606129ce82612bdb565b6129d757600080fd5b60006129e283612c14565b905060008167ffffffffffffffff811115612a0d57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015612a5257816020015b6040805180820190915260008082526020820152815260200190600190039081612a2b5790505b5090506000612a648560200151612c97565b8560200151612a73919061344a565b90506000805b84811015612aea57612a8a83612d19565b9150604051806040016040528083815260200184815250848281518110612ac157634e487b7160e01b600052603260045260246000fd5b6020908102919091010152612ad6828461344a565b925080612ae28161351d565b915050612a79565b509195945050505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526040805160a08101825260008082526020820181905291810182905260608101829052608081018290526000612b5585612e69565b905060005b612b6382612ed5565b15612bcf57612b79612b7483612ef9565b612f56565b73ffffffffffffffffffffffffffffffffffffffff166020840152612ba0612b7483612ef9565b73ffffffffffffffffffffffffffffffffffffffff16604084018190528352506103e860608301526001612b5a565b91959194509092505050565b8051600090612bec57506000919050565b6020820151805160001a9060c0821015612c0a575060009392505050565b5060019392505050565b8051600090612c2557506000919050565b600080612c358460200151612c97565b8460200151612c44919061344a565b9050600084600001518560200151612c5c919061344a565b90505b80821015612c8e57612c7082612d19565b612c7a908361344a565b915082612c868161351d565b935050612c5f565b50909392505050565b8051600090811a6080811015612cb05750600092915050565b60b8811080612ccb575060c08110801590612ccb575060f881105b15612cd95750600192915050565b60c0811015612d0d57612cee600160b86134ca565b612cfb9060ff16826134b3565b612d0690600161344a565b9392505050565b612cee600160f86134ca565b80516000908190811a6080811015612d345760019150611c50565b60b8811015612d5a57612d486080826134b3565b612d5390600161344a565b9150611c50565b60c0811015612ddb57600060b78203600186019550806020036101000a865104915060018101820193505080831015612dd55760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604482015260640161066e565b50611c50565b60f8811015612def57612d4860c0826134b3565b600060f78203600186019550806020036101000a865104915060018101820193505080831015612e615760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604482015260640161066e565b505092915050565b6040805160808101825260009181018281526060820183905281526020810191909152612e9582612bdb565b612e9e57600080fd5b6000612ead8360200151612c97565b8360200151612ebc919061344a565b6040805180820190915293845260208401525090919050565b80518051602082015160009291612eeb9161344a565b836020015110915050919050565b6040805180820190915260008082526020820152612f1682612ed5565b612f1f57600080fd5b60208201516000612f2f82612d19565b9050612f3b818361344a565b60209485015260408051808201909152908152928301525090565b8051600090601514612f6757600080fd5b612f7082612f76565b92915050565b805160009015801590612f8b57508151602110155b612f9457600080fd5b6000612fa38360200151612c97565b90508083600001511015612ff95760405162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604482015260640161066e565b82516000906130099083906134b3565b905060008083866020015161301e919061344a565b905080519150602083101561303a57826020036101000a820491505b50949350505050565b60008083601f840112613054578182fd5b50813567ffffffffffffffff81111561306b578182fd5b6020830191508360208260051b850101111561308657600080fd5b9250929050565b60008083601f84011261309e578182fd5b50813567ffffffffffffffff8111156130b5578182fd5b60208301915083602082850101111561308657600080fd5b6000602082840312156130de578081fd5b8135612d0681613596565b6000806000606084860312156130fd578182fd5b833561310881613596565b95602085013595506040909401359392505050565b6000806000806000806000806080898b031215613138578384fd5b883567ffffffffffffffff8082111561314f578586fd5b61315b8c838d01613043565b909a50985060208b0135915080821115613173578586fd5b61317f8c838d01613043565b909850965060408b0135915080821115613197578586fd5b6131a38c838d01613043565b909650945060608b01359150808211156131bb578384fd5b506131c88b828c01613043565b999c989b5096995094979396929594505050565b600080600080604085870312156131f1578384fd5b843567ffffffffffffffff80821115613208578586fd5b6132148883890161308d565b9096509450602087013591508082111561322c578384fd5b506132398782880161308d565b95989497509550505050565b600060208284031215613256578081fd5b5035919050565b6000815180845260208085019450808401835b838110156132a257815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101613270565b509495945050505050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600082516133078184602087016134ed565b9190910192915050565b602081526000612d06602083018461325d565b604081526000613337604083018561325d565b828103602084810191909152845180835285820192820190845b8181101561336d57845183529383019391830191600101613351565b5090979650505050505050565b60208152600082518060208401526133998160408501602087016134ed565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6020815260006133df6020830184866132ad565b949350505050565b6040815260006133fb6040830186886132ad565b828103602084015261340e8185876132ad565b979650505050505050565b60808152600061342d6080830187896132ad565b602083019590955250604081019290925260609091015292915050565b6000821982111561345d5761345d61356a565b500190565b60008261347157613471613580565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134ae576134ae61356a565b500290565b6000828210156134c5576134c561356a565b500390565b600060ff821660ff8416808210156134e4576134e461356a565b90039392505050565b60005b838110156135085781810151838201526020016134f0565b83811115613517576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561354f5761354f61356a565b5060010190565b60008261356557613565613580565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff811681146121a457600080fdfef90285ea944121f067b0f5135d77c29b2b329e8cb1bd96c96094f8b18cecc98d976ad253d38e4100a73d4e154726ea947f461f8a1c35edecd6816e76eb2e84eb661751ee94f8b18cecc98d976ad253d38e4100a73d4e154726ea94fd806ab93db5742944b7b50ce759e5eee5f6fe5094f8b18cecc98d976ad253d38e4100a73d4e154726ea947ef3a94ad1c443481fb3d86829355ca90477f8b594f8b18cecc98d976ad253d38e4100a73d4e154726ea9467d1ad48f91e131413bd0b04e823f3ae4f81e85394f8b18cecc98d976ad253d38e4100a73d4e154726ea943fb42cab4416024dc1b4c9e21b9acd0dfcef35f694f8b18cecc98d976ad253d38e4100a73d4e154726ea943511e3b8ac7336b99517d324145e9b5bb33e08a494f8b18cecc98d976ad253d38e4100a73d4e154726ea94729f39a54304fcc6ec279684c71491a385d7b9ae94f8b18cecc98d976ad253d38e4100a73d4e154726ea94f44a785fd9f23f0abd443541386e71356ce619dc94f8b18cecc98d976ad253d38e4100a73d4e154726ea942efd3cf0733421aec3e4202480d0a90bd157514994f8b18cecc98d976ad253d38e4100a73d4e154726ea94613b0f519ada008cb99b6130e89122ba416bf15994f8b18cecc98d976ad253d38e4100a73d4e154726ea94c0925eeb800ff6ba4695ded61562a10102152b5f94f8b18cecc98d976ad253d38e4100a73d4e154726ea9419e3c7d7e69f273f3f91c060bb438a007f6fc33c94f8b18cecc98d976ad253d38e4100a73d4e154726ea94e127f110d172a0c4c6209fe045dd71781e8fe9d494f8b18cecc98d976ad253d38e4100a73d4e154726ea94f778dc4a199a440dbe9f16d1e13e185bb179b3b794f8b18cecc98d976ad253d38e4100a73d4e154726a264697066735822122043976e7596fe854a81c18c0cc2717f664ab382e6e237b2c1fbded39cf2b219c164736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(LightClientContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/d545ede09f6af0b2c2451f739234e582f0aeeb2b", + Code: "608060405234801561001057600080fd5b50600436106104715760003560e01c8063896efbf211610250578063b95c4a5711610150578063e1c7392a116100c8578063f016e48111610097578063f7d134071161007c578063f7d13407146108e0578063f9a2bbc7146108e9578063fdd31fcd146108f257600080fd5b8063f016e481146108d0578063f446687d146108d857600080fd5b8063e1c7392a146108a4578063e287d9ac146108ac578063e75d72c7146108b5578063ea54b2aa146108c857600080fd5b8063d5fe55581161011f578063dcae76ab11610104578063dcae76ab1461087e578063dd86037e14610887578063dfb6419f1461089157600080fd5b8063d5fe55581461086d578063dc927faf1461087557600080fd5b8063b95c4a5714610835578063c81b16621461083e578063d06305a914610847578063d45c44351461085a57600080fd5b80639dc09262116101e3578063ac431751116101b2578063ad2dec8211610197578063ad2dec821461080f578063b117172414610819578063b8a6c0861461082257600080fd5b8063ac431751146107f3578063ac7b3b7c1461080657600080fd5b80639dc09262146107c1578063a78abc16146107ca578063a8b0bb83146107d7578063ac0e37a0146107e057600080fd5b8063930e1b091161021f578063930e1b091461074b57806393e9d4131461076b578063948602331461077e57806395118889146107a157600080fd5b8063896efbf2146106fe5780638a9c5aa1146107265780638b07ac611461072f5780638ea7e9be1461073857600080fd5b80633a975612116103765780636949b35c116102ee578063750a012e116102bd578063792626be116102a2578063792626be146106cf5780637ba53285146106e257806382f8b6e9146106f557600080fd5b8063750a012e146106bd578063783028a9146106c657600080fd5b80636949b35c1461066b5780636daf2f5b1461068b578063730055aa1461069457806374f2272d146106b457600080fd5b806351b6ada31161034557806353a467291161032a57806353a4672914610651578063541333071461065a5780635e9d2b1f1461066257600080fd5b806351b6ada31461061e57806351e13fac1461063e57600080fd5b80633a975612146105f05780633cfc97bf146105f857806343756e5c1461060b5780634c86f5581461061457600080fd5b806325ee13e2116104095780632b861629116103d8578063352b3355116103bd578063352b335514610590578063378bc94c146105b1578063388d3a55146105e757600080fd5b80632b861629146105725780632ca321251461058757600080fd5b806325ee13e21461052f578063285d84cc14610538578063288e8dc41461055b5780632a88b6941461056357600080fd5b80631ad5bb5c116104455780631ad5bb5c146104d45780631b20087c1461050a5780631c643312146105135780631fca52781461052657600080fd5b80625eeee91461047657806304e9e3a41461049557806308f2ec06146104c357806314c1e1f7146104cb575b600080fd5b610482640826299e0081565b6040519081526020015b60405180910390f35b61049e61100781565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161048c565b610482601481565b61049e61100481565b61049e6104e2366004612fc6565b60009081526011602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61048260085481565b61049e610521366004612fc6565b610912565b61048260015481565b61049e61100581565b6104827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b610482600681565b610482678ac7230489e8000081565b610585610580366004612ff6565b610949565b005b61048260035481565b610598610f4f565b60405167ffffffffffffffff909116815260200161048c565b61049e6105bf366004612fc6565b60116020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61048261272481565b610482603281565b610482610606366004612fc6565b610f60565b61049e61100181565b6104826201518081565b61063161062c36600461309f565b611026565b60405161048c91906131cc565b61048261064c366004612fc6565b6110c1565b61048261271a81565b610482606481565b61048260065481565b610482610679366004613144565b60106020526000908152604090205481565b61048261274281565b6106a76106a2366004612fc6565b61122a565b60405161048c919061325e565b61048260045481565b61048260025481565b61049e61100881565b6104826106dd366004612fc6565b6112c4565b6104826106f0366004612fc6565b61137c565b610482600a5481565b61071161070c366004612fc6565b6113a8565b60405163ffffffff909116815260200161048c565b61048261273881565b61048260055481565b610711610746366004612fc6565b6113cc565b610482610759366004612f85565b600c6020526000908152604090205481565b610631610779366004612fc6565b611419565b61079161078c366004612fc6565b611492565b604051901515815260200161048c565b6107b46107af3660046130ca565b6114af565b60405161048c9190613226565b61049e61100681565b6000546107919060ff1681565b61048260075481565b61049e6107ee366004612fc6565b6115c6565b610585610801366004613036565b6115ea565b61048261276a81565b610711620bb08081565b61049e61100981565b6107b461083036600461309f565b611d21565b61048261272e81565b61049e61100281565b610711610855366004612fc6565b611da9565b610598610868366004612fc6565b611dcd565b610598611e00565b61049e61100381565b61048260095481565b6105986212750081565b61049e61089f366004612fc6565b611e0e565b610585611e32565b61048260125481565b6105856108c3366004612f85565b611fb7565b6106a7612174565b610482600781565b600254610482565b6107116107e081565b61049e61100081565b610482610900366004612f85565b600d6020526000908152604090205481565b600b818154811061092257600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6040517f541d55480000000000000000000000000000000000000000000000000000000081523360048201526110049063541d55489060240160206040518083038186803b15801561099a57600080fd5b505afa1580156109ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d29190612fa6565b610a3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f746865206d73672073656e646572206973206e6f7420612072656c617965720060448201526064015b60405180910390fd5b60125415610a4d57601254610a54565b640826299e005b3a14610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f6d75737420757365206c696d69746564206761737072696365000000000000006044820152606401610a34565b6000610b0083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250605091506121909050565b90506000610b0d82612209565b60008181526011602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1615610b9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e27742073796e63206475706c69636174656420686561646572000000006044820152606401610a34565b6000806000610bab85856122e9565b92509250925080600014610bef57604051819085907f591f7e28c6b17bc54bdf2bdbf67daf8aaca92221f3577319607fba0ce38edc7290600090a350505050505050565b610bfa6002546113a8565b63ffffffff16610c0c846102d0613346565b63ffffffff1611610c79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e27742073796e6320686561646572203520646179732061676f000000006044820152606401610a34565b6000610c8687602061332e565b90506000610ccb89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506121909050565b9050610cd5612e42565b6000808060808487876064600019fa610ced57600080fd5b5050815160208301516040840151919250906000610d0d6107e08b613382565b9050610d1d8c848b8d858961254b565b60008c8152600f602090815260409091208251610d409391929190910190612e60565b50610d4d6107e08b613535565b63ffffffff16610d705763ffffffff811660009081526010602052604090208b90555b60008b815260116020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790556005546009805491929091610dbc90849061332e565b9091555050336000908152600c6020526040902054610e3057600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b336000908152600c60205260408120805491610e4b836134f6565b9190505550600654600860008154610e62906134f6565b918290555010610ea6576000610e76612629565b336000908152600d6020526040812080549293508392909190610e9a90849061332e565b90915550506000600855505b6001548910610ee157610eba6002546113a8565b63ffffffff168a63ffffffff161115610ed657610ed68b6129fb565b60028b905560018990555b6040805173ffffffffffffffffffffffffffffffffffffffff86811682526020820185905263ffffffff8d1692908616918e917f04d2d7fea49cb37d18896bf3ec2d974275b276f48a657185bc22fb2c7bb3323a910160405180910390a45050505050505050505050505050565b610f5d62127500600461340b565b81565b6000818152600f602052604081208054829160e09161100891609c91610f85906134bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb1906134bb565b8015610ffe5780601f10610fd357610100808354040283529160200191610ffe565b820191906000526020600020905b815481529060010190602001808311610fe157829003601f168201915b5050505050015190565b63ffffffff911c166000908152601060205260409020549392505050565b6000828152600e6020908152604080832073ffffffffffffffffffffffffffffffffffffffff851684526001018252918290208054835181840281018401909452808452606093928301828280156110b457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611089575b5050505050905092915050565b6000818152600f602052604081208054611224916110e69160249190610f85906134bb565b7bffffffff000000000000000000000000ffffffff00000000000000007eff000000ff000000ff000000ff000000ff000000ff000000ff000000ff0000600883811c9182167fff000000ff000000ff000000ff000000ff000000ff000000ff000000ff0000009490911b93841617601090811c7cff000000ff000000ff000000ff000000ff000000ff000000ff000000ff9092167dff000000ff000000ff000000ff000000ff000000ff000000ff000000ff009094169390931790921b91909117602081811c9283167fffffffff000000000000000000000000ffffffff0000000000000000000000009290911b91821617604090811c73ffffffff000000000000000000000000ffffffff90931677ffffffff000000000000000000000000ffffffff0000000090921691909117901b17608081811c91901b1790565b92915050565b600f6020526000908152604090208054611243906134bb565b80601f016020809104026020016040519081016040528092919081815260200182805461126f906134bb565b80156112bc5780601f10611291576101008083540402835291602001916112bc565b820191906000526020600020905b81548152906001019060200180831161129f57829003601f168201915b505050505081565b600060075482116112d3575090565b816007541080156112f157506007546112ed9060026133c0565b8211155b156112fe57505060075490565b81600754600261130e91906133c0565b10801561134d57506004600754600361132791906133c0565b611331919061336e565b60075461133f9060026133c0565b611349919061332e565b8211155b1561136c5781600754600361136291906133c0565b6112249190613432565b61122460048361336e565b919050565b6000818152600f6020526040812080546080916113a09160889190610f85906134bb565b901c92915050565b6000818152600f60205260408120805460e0916113a09160989190610f85906134bb565b6000818152600f6020526040812080546112249160e0916113f391606891610f85906134bb565b901c600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1790565b6000818152600e602090815260409182902080548351818402810184019094528084526060939283018282801561148657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161145b575b50505050509050919050565b6000620bb0806114a1836113a8565b63ffffffff16101592915050565b6060818067ffffffffffffffff8111156114d957634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611502578160200160208202803683370190505b506000868152600e602052604081209193505b828110156115bc5781600101600087878481811061154357634e487b7160e01b600052603260045260246000fd5b90506020020160208101906115589190612f85565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205484518590839081106115a157634e487b7160e01b600052603260045260246000fd5b60209081029190910101526115b5816134f6565b9050611515565b5050509392505050565b6000818152600f6020526040812080546060916113a09160749190610f85906134bb565b60005460ff16611656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a34565b33611006146116e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610a34565b602081146117255783836040517fad23613c000000000000000000000000000000000000000000000000000000008152600401610a349291906132af565b61179984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527f726577617264466f7253796e634865616465720000000000000000000000000060208201529150612c3d9050565b1561184657604080516020601f84018190048102820181019092528281526000916117dc91858580838501838280828437600092019190915250612c3892505050565b90508015806117f3575068056bc75e2d6310000081115b1561183e57848482600168056bc75e2d631000006040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610a349594939291906132fd565b600555611cde565b6118ba84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f63616c6c6572436f6d70656e736174696f6e4d6f6c6563756c6500000000000060208201529150612c3d9050565b1561195057604080516020601f84018190048102820181019092528281526000916118fd91858580838501838280828437600092019190915250612c3892505050565b90506127108111156119485784848260006127106040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610a349594939291906132fd565b600455611cde565b6119c484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600981527f726f756e6453697a65000000000000000000000000000000000000000000000060208201529150612c3d9050565b15611a5a57604080516020601f8401819004810282018101909252828152600091611a0791858580838501838280828437600092019190915250612c3892505050565b9050600754811015611a52576007546040517f808861f9000000000000000000000000000000000000000000000000000000008152610a3491879187918591600019906004016132fd565b600655611cde565b611ace84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600981527f6d6178576569676874000000000000000000000000000000000000000000000060208201529150612c3d9050565b15611b6d57604080516020601f8401819004810282018101909252828152600091611b1191858580838501838280828437600092019190915250612c3892505050565b9050801580611b21575060065481115b15611b655784848260016006546040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610a349594939291906132fd565b600755611cde565b611be184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601281527f73746f7265426c6f636b4761735072696365000000000000000000000000000060208201529150612c3d9050565b15611c7c57604080516020601f8401819004810282018101909252828152600091611c2491858580838501838280828437600092019190915250612c3892505050565b9050633b9aca00811015611c7457848482633b9aca006000196040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610a349594939291906132fd565b601255611cde565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f756e6b6e6f776e20706172616d000000000000000000000000000000000000006044820152606401610a34565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051611d1394939291906132cb565b60405180910390a150505050565b6000828152600e6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845260019081018352928190209092018054835181840281018401909452808452606093928301828280156110b457602002820191906000526020600020905b815481526020019060010190808311611d89575050505050905092915050565b6000818152600f60205260408120805460e0916113a091609c9190610f85906134bb565b6000818152600f602052604081208054611df49160e0916113f391606491610f85906134bb565b63ffffffff1692915050565b610f5d6004621275006133a5565b6000818152600f6020526040812080546060916113a09160a09190610f85906134bb565b60005460ff1615611e9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e6974000000000000006044820152606401610a34565b6000611ec260405180608001604052806050815260200161358560509139612209565b600180805560028290556003829055604080516080810190915260508082529293506000928392918391613585602083013990506000611f076107e0620bb080613382565b63ffffffff81166000908152601060205260408120889055909150611f33838786620bb080868a61254b565b6000888152600f602090815260409091208251929350611f57929091840190612e60565b5050678ac7230489e8000060055550506032600455505060646006555050601460075562015180600a55640826299e00601255600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60005460ff16612023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a34565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600d6020526040902054806120b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f2072656c61796572207265776172640000000000000000000000000000006044820152606401610a34565b73ffffffffffffffffffffffffffffffffffffffff82166000818152600d602052604080822091909155517f9a99b4f0000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052829061100290639a99b4f090604401602060405180830381600087803b15801561213657600080fd5b505af115801561214a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216e9190612fde565b50505050565b6040518060800160405280605081526020016135856050913981565b6060600061219e8484613432565b90508067ffffffffffffffff8111156121c757634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156121f1576020820181803683370190505b509150602085810190858401016115bc828285612c96565b60006112246002808460405161221f91906131b0565b602060405180830381855afa15801561223c573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061225f9190612fde565b60405160200161227191815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526122a9916131b0565b602060405180830381855afa1580156122c6573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906110e69190612fde565b6000806000806122fd6110e6602488015190565b9050600061230a8261137c565b90508061231e575061272e91506125449050565b6123278661137c565b9350831561233c575061273891506125449050565b600061234e60e06113f360688b015190565b9050600061235b82612cef565b905087158061236a5750808810155b1561237e575061276a935061254492505050565b612387846113a8565b612392906001613346565b9650600061239f856113cc565b90506123ad6107e089613535565b63ffffffff16156123f3578063ffffffff168363ffffffff16141580156123d9575063ffffffff811615155b156123ee575061271a94506125449350505050565b612503565b60006123fe82612cef565b9050600061240b87611dcd565b9050600061241888610f60565b9050600061242582611dcd565b90506000612433828561346e565b90506124436004621275006133a5565b67ffffffffffffffff168167ffffffffffffffff16101561246f5761246c6004621275006133a5565b90505b61247d62127500600461340b565b67ffffffffffffffff168167ffffffffffffffff1611156124a9576124a662127500600461340b565b90505b621275008186020460006124bc82612d65565b90508063ffffffff168a63ffffffff16141580156124df575063ffffffff811615155b156124fb57506127249b506125449a5050505050505050505050565b505050505050505b600061252b837bffff000000000000000000000000000000000000000000000000000061336e565b9050612537818661332e565b9750600096505050505050505b9250925092565b6040805160a080825260c08201909252606091602082018180368337019050509050600060408773ffffffffffffffffffffffffffffffffffffffff16901b9050600060408563ffffffff16901b60608763ffffffff16901b608089901b6125b3919061332e565b6125bd919061332e565b90507fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b1660208481019060708601908c015b8183101561260c5780518352602092830192016125f4565b509384525060188301919091526030909101529695505050505050565b600954600b805460408051602080840282018101909252828152600094938593849383018282801561269157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612666575b5050505050905060008151905060008167ffffffffffffffff8111156126c757634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156126f0578160200160208202803683370190505b50905060005b828110156127c357600084828151811061272057634e487b7160e01b600052603260045260246000fd5b602002602001015190506000612774600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112c4565b90508084848151811061279757634e487b7160e01b600052603260045260246000fd5b60209081029190910101526127ac818861332e565b9650505080806127bb906134f6565b9150506126f6565b506000612710600454876127d791906133c0565b6127e1919061336e565b90506127ed8187613432565b95508560015b848110156128d9576000878986848151811061281f57634e487b7160e01b600052603260045260246000fd5b602002602001015161283191906133c0565b61283b919061336e565b905080600d600089858151811061286257634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546128b3919061332e565b909155506128c390508184613432565b92505080806128d1906134f6565b9150506127f3565b5080600d60008760008151811061290057634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612951919061332e565b9091555050600060098190555b848110156129e357600c600087838151811061298a57634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000905580806129db906134f6565b91505061295e565b506129f0600b6000612ee4565b509695505050505050565b60005b6006811015612a3057600354821415612a15575050565b612a1e826110c1565b9150612a29816134f6565b90506129fe565b506000600a54612a3f83611dcd565b67ffffffffffffffff16612a53919061336e565b90506000612a6083611e0e565b90506000600761100573ffffffffffffffffffffffffffffffffffffffff166373fa03ed6040518163ffffffff1660e01b815260040160206040518083038186803b158015612aae57600080fd5b505afa158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190612fde565b612af09190613432565b905073ffffffffffffffffffffffffffffffffffffffff821615801590612b1657508083115b1561216e576000612b26856115c6565b6000858152600e6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8816845260018101909252909120549192509080612bb55781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87161790555b5073ffffffffffffffffffffffffffffffffffffffff93841660009081526001918201602090815260408220805480850182558184528284200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169590971694909417909555918101805491820181558252929020909101929092555050565b015190565b600081604051602001612c5091906131b0565b6040516020818303038152906040528051906020012083604051602001612c7791906131b0565b6040516020818303038152906040528051906020012014905092915050565b60208110612cce5782518252612cad60208361332e565b9150612cba60208461332e565b9250612cc7602082613432565b9050612c96565b915181516020939093036101000a6000190180199091169216919091179052565b600060ff601883901c1662ffffff831660038211612d3357612d12826003613449565b612d1d9060086133df565b63ffffffff9182169082161c9081169250612d5e565b63ffffffff81169250612d47600383613449565b612d529060086133df565b63ffffffff1683901b92505b5050919050565b600080825b8015612d855760011c81612d7d81613511565b925050612d6a565b60006003612d94846007613346565b63ffffffff16901c9050600060038263ffffffff1611612ddf57612db9826003613449565b612dc49060086133df565b63ffffffff168662ffffff1663ffffffff16901b9050612e09565b612dea600383613449565b612df59060086133df565b63ffffffff1686901c90508062ffffff1690505b62800000811615612e2a5760081c62ffffff1681612e2681613511565b9250505b60188263ffffffff16901b8117945050505050919050565b60405180608001604052806004906020820280368337509192915050565b828054612e6c906134bb565b90600052602060002090601f016020900481019282612e8e5760008555612ed4565b82601f10612ea757805160ff1916838001178555612ed4565b82800160010185558215612ed4579182015b82811115612ed4578251825591602001919060010190612eb9565b50612ee0929150612f05565b5090565b5080546000825590600052602060002090810190612f029190612f05565b50565b5b80821115612ee05760008155600101612f06565b803573ffffffffffffffffffffffffffffffffffffffff8116811461137757600080fd5b60008083601f840112612f4f578182fd5b50813567ffffffffffffffff811115612f66578182fd5b602083019150836020828501011115612f7e57600080fd5b9250929050565b600060208284031215612f96578081fd5b612f9f82612f1a565b9392505050565b600060208284031215612fb7578081fd5b81518015158114612f9f578182fd5b600060208284031215612fd7578081fd5b5035919050565b600060208284031215612fef578081fd5b5051919050565b60008060208385031215613008578081fd5b823567ffffffffffffffff81111561301e578182fd5b61302a85828601612f3e565b90969095509350505050565b6000806000806040858703121561304b578182fd5b843567ffffffffffffffff80821115613062578384fd5b61306e88838901612f3e565b90965094506020870135915080821115613086578384fd5b5061309387828801612f3e565b95989497509550505050565b600080604083850312156130b1578182fd5b823591506130c160208401612f1a565b90509250929050565b6000806000604084860312156130de578283fd5b83359250602084013567ffffffffffffffff808211156130fc578384fd5b818601915086601f83011261310f578384fd5b81358181111561311d578485fd5b8760208260051b8501011115613131578485fd5b6020830194508093505050509250925092565b600060208284031215613155578081fd5b813563ffffffff81168114612f9f578182fd5b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600082516131c281846020870161348f565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b8181101561321a57835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016131e8565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561321a57835183529284019291840191600101613242565b602081526000825180602084015261327d81604085016020870161348f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6020815260006132c3602083018486613168565b949350505050565b6040815260006132df604083018688613168565b82810360208401526132f2818587613168565b979650505050505050565b608081526000613311608083018789613168565b602083019590955250604081019290925260609091015292915050565b6000821982111561334157613341613558565b500190565b600063ffffffff80831681851680830382111561336557613365613558565b01949350505050565b60008261337d5761337d61356e565b500490565b600063ffffffff808416806133995761339961356e565b92169190910492915050565b600067ffffffffffffffff808416806133995761339961356e565b60008160001904831182151516156133da576133da613558565b500290565b600063ffffffff8083168185168183048111821515161561340257613402613558565b02949350505050565b600067ffffffffffffffff8083168185168183048111821515161561340257613402613558565b60008282101561344457613444613558565b500390565b600063ffffffff8381169083168181101561346657613466613558565b039392505050565b600067ffffffffffffffff8381169083168181101561346657613466613558565b60005b838110156134aa578181015183820152602001613492565b8381111561216e5750506000910152565b600181811c908216806134cf57607f821691505b602082108114156134f057634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561350a5761350a613558565b5060010190565b600063ffffffff8083168181141561352b5761352b613558565b6001019392505050565b600063ffffffff8084168061354c5761354c61356e565b92169190910692915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfe0000402089138e40cd8b4832beb8013bc80b1425c8bcbe10fc280400000000000000000058a06ab0edc5653a6ab78490675a954f8d8b4d4f131728dcf965cd0022a02cdde59f8e63303808176bbe3919a26469706673582212203fa5ebba484d55f9d22d2985c9540d9a7610d053124912ceaa35b890c207dba264736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(CandidateHubContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/d545ede09f6af0b2c2451f739234e582f0aeeb2b", + Code: "60806040526004361061034a5760003560e01c806395468d26116101bb578063c81b1662116100f7578063e59dcea511610095578063eef504661161006f578063eef50466146108d1578063f04d7834146108e6578063f9a2bbc7146108f9578063fed9727e1461090f57600080fd5b8063e59dcea514610891578063e79a198f146108a7578063ee9de3f6146108bc57600080fd5b8063d6dd7c0a116100d1578063d6dd7c0a14610831578063d87cf91e14610851578063dc927faf14610866578063e1c7392a1461087c57600080fd5b8063c81b1662146107d9578063cd7ac977146107ef578063d2a36e461461081c57600080fd5b8063ae6079f211610164578063b894aac51161013e578063b894aac51461070b578063ba70d54a14610777578063c666907b1461078c578063c6a9dcc0146107ac57600080fd5b8063ae6079f2146106cb578063b1171724146106e0578063b87c6c82146106f657600080fd5b8063a78abc1611610195578063a78abc1614610671578063a9955b401461068b578063ac431751146106ab57600080fd5b806395468d26146106295780639c54a73d146106465780639dc092621461065b57600080fd5b806343756e5c1161028a57806373fa03ed11610233578063791afc0f1161020d578063791afc0f146105d457806382f8b6e9146105e95780638d09732f146105ff57806395254e601461061457600080fd5b806373fa03ed1461059357806375b10c71146105a8578063783028a9146105be57600080fd5b80634c86f558116102645780634c86f5581461055157806364f54ec7146105685780636a87d7801461057d57600080fd5b806343756e5c1461051b578063483a00e81461053157806348fdb8711461053b57600080fd5b806314bfb527116102f7578063210d6fd7116102d1578063210d6fd7146104a357806325ee13e2146104b85780632845986b146104ce57806330b5468e146104e357600080fd5b806314bfb5271461043b57806314c1e1f7146104785780631768b43b1461048e57600080fd5b80630bd5a92f116103285780630bd5a92f146103c75780630f43a6771461040f57806314843ac91461042557600080fd5b8063035f8b701461034f57806304e9e3a41461037757806306a49fce146103a5575b600080fd5b34801561035b57600080fd5b50610364600181565b6040519081526020015b60405180910390f35b34801561038357600080fd5b5061038d61100781565b6040516001600160a01b03909116815260200161036e565b3480156103b157600080fd5b506103ba61092d565b60405161036e9190613f14565b3480156103d357600080fd5b506103ff6103e2366004613bce565b6001600160a01b0316600090815260086020526040902054151590565b604051901515815260200161036e565b34801561041b57600080fd5b5061036460045481565b34801561043157600080fd5b506103646103e881565b34801561044757600080fd5b506103ff610456366004613bce565b600a546001600160a01b03909116600090815260096020526040902054101590565b34801561048457600080fd5b5061038d61100481565b34801561049a57600080fd5b50610364600881565b3480156104af57600080fd5b50610364610a24565b3480156104c457600080fd5b5061038d61100581565b3480156104da57600080fd5b50610364600281565b3480156104ef57600080fd5b506103ff6104fe366004613bce565b6001600160a01b0316600090815260076020526040902054151590565b34801561052757600080fd5b5061038d61100181565b610539610a33565b005b34801561054757600080fd5b5061036460015481565b34801561055d57600080fd5b506103646201518081565b34801561057457600080fd5b50610539610c86565b34801561058957600080fd5b5061036460025481565b34801561059f57600080fd5b50600a54610364565b3480156105b457600080fd5b50610364600a5481565b3480156105ca57600080fd5b5061038d61100881565b3480156105e057600080fd5b50610364600b81565b3480156105f557600080fd5b5061036460035481565b34801561060b57600080fd5b50610364611999565b34801561062057600080fd5b506103646119a5565b34801561063557600080fd5b5061036468056bc75e2d6310000081565b34801561065257600080fd5b506103646119b1565b34801561066757600080fd5b5061038d61100681565b34801561067d57600080fd5b506000546103ff9060ff1681565b34801561069757600080fd5b506105396106a6366004613c43565b6119bd565b3480156106b757600080fd5b506105396106c6366004613d9c565b611c8f565b3480156106d757600080fd5b50610364601081565b3480156106ec57600080fd5b5061038d61100981565b34801561070257600080fd5b506105396122ac565b34801561071757600080fd5b5061072b610726366004613e05565b6123bc565b604080516001600160a01b03998a168152978916602089015295909716948601949094526060850192909252608084015260a083015260c082015260e08101919091526101000161036e565b34801561078357600080fd5b50610364601181565b34801561079857600080fd5b506103ff6107a7366004613bce565b612420565b3480156107b857600080fd5b506103646107c7366004613bce565b60076020526000908152604090205481565b3480156107e557600080fd5b5061038d61100281565b3480156107fb57600080fd5b5061036461080a366004613bce565b60096020526000908152604090205481565b34801561082857600080fd5b50610364600a81565b34801561083d57600080fd5b5061053961084c366004613bf1565b612495565b34801561085d57600080fd5b50610539612935565b34801561087257600080fd5b5061038d61100381565b34801561088857600080fd5b50610539612a4e565b34801561089d57600080fd5b5061036460055481565b3480156108b357600080fd5b50610539612b02565b3480156108c857600080fd5b50610364600481565b3480156108dd57600080fd5b50610364601581565b6105396108f4366004613bf1565b612cef565b34801561090557600080fd5b5061038d61100081565b34801561091b57600080fd5b5061036469021e19e0c9bab240000081565b60065460609060008167ffffffffffffffff81111561095c57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610985578160200160208202803683370190505b50905060005b82811015610a1d57600681815481106109b457634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015482516001600160a01b03909116908390839081106109f357634e487b7160e01b600052603260045260246000fd5b6001600160a01b039092166020928302919091019091015280610a158161413c565b91505061098b565b5092915050565b610a30600860ff614125565b81565b60005460ff16610a8a5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064015b60405180910390fd5b33600090815260076020526040902054610ae65760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610a81565b34610b335760405162461bcd60e51b815260206004820152601860248201527f76616c75652073686f756c64206e6f74206265207a65726f00000000000000006044820152606401610a81565b3360009081526007602052604081205490346006610b52600185614125565b81548110610b7057634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160040154610b8c91906140ed565b9050806006610b9c600185614125565b81548110610bba57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160040181905550336001600160a01b03167f4ab0f80899f780c0521f849ed8883e85682657aa1d8979dde42d5f347b995db63483604051610c13929190918252602082015260400190565b60405180910390a26001548110610c825760006006610c33600185614125565b81548110610c5157634e487b7160e01b600052603260045260246000fd5b6000918252602082206008918202019250610c6d9060ff614125565b8260050154169050610c7f8282613285565b50505b5050565b334114610cfb5760405162461bcd60e51b815260206004820152602d60248201527f746865206d6573736167652073656e646572206d75737420626520746865206260448201527f6c6f636b2070726f6475636572000000000000000000000000000000000000006064820152608401610a81565b60005460ff16610d4d5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a81565b3a15610d9b5760405162461bcd60e51b815260206004820152601460248201527f6761737072696365206973206e6f74207a65726f0000000000000000000000006044820152606401610a81565b60006110006001600160a01b0316638f73c5ae6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dda57600080fd5b505af1158015610dee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e169190810190613c77565b805190915060005b81811015610f925760006110036001600160a01b03166351b6ada36007600a54610e489190614125565b868581518110610e6857634e487b7160e01b600052603260045260246000fd5b60200260200101516040518363ffffffff1660e01b8152600401610e9f9291909182526001600160a01b0316602082015260400190565b60006040518083038186803b158015610eb757600080fd5b505afa158015610ecb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ef39190810190613c77565b90506110076001600160a01b0316634fd6979e858481518110610f2657634e487b7160e01b600052603260045260246000fd5b6020026020010151836040518363ffffffff1660e01b8152600401610f4c929190613ef2565b600060405180830381600087803b158015610f6657600080fd5b505af1158015610f7a573d6000803e3d6000fd5b50505050508080610f8a9061413c565b915050610e1e565b50600060035442610fa39190614105565b9050600a54811161101c5760405162461bcd60e51b815260206004820152602d60248201527f6e6f7420616c6c6f77656420746f207475726e20726f756e642c20776169742060448201527f666f72206d6f72652074696d65000000000000000000000000000000000000006064820152608401610a81565b600a8190556006546000808267ffffffffffffffff81111561104e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611077578160200160208202803683370190505b50905060005b8381101561114157611091601060ff614125565b600682815481106110b257634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160050154168282815181106110e557634e487b7160e01b600052603260045260246000fd5b602002602001018181525050600182828151811061111357634e487b7160e01b600052603260045260246000fd5b6020026020010151141561112f578261112b8161413c565b9350505b806111398161413c565b91505061107d565b50606060008367ffffffffffffffff81111561116d57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611196578160200160208202803683370190505b5090506000805b8681101561126e5760018582815181106111c757634e487b7160e01b600052603260045260246000fd5b6020026020010151141561125c57600681815481106111f657634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201546001600160a01b0316838361121b8161413c565b94508151811061123b57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250505b806112668161413c565b91505061119d565b506110036001600160a01b031663951188896007600a5461128f9190614125565b846040518363ffffffff1660e01b81526004016112ad92919061407f565b60006040518083038186803b1580156112c557600080fd5b505afa1580156112d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113019190810190613d13565b925060008060006110076001600160a01b03166322b4fe9e86886040518363ffffffff1660e01b8152600401611338929190613fab565b600060405180830381600087803b15801561135257600080fd5b505af1158015611366573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261138e9190810190613d4e565b92509250925060006113a386856004546132e4565b805190915060008167ffffffffffffffff8111156113d157634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156113fa578160200160208202803683370190505b50905060008267ffffffffffffffff81111561142657634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561144f578160200160208202803683370190505b50905060008367ffffffffffffffff81111561147b57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156114a4578160200160208202803683370190505b50905060005b848110156116c1576000600760008884815181106114d857634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020549050600060066001836115149190614125565b8154811061153257634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020190508060010160009054906101000a90046001600160a01b031686848151811061157a57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600282015486519116908690859081106115ba57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250508a83815181106115fa57634e487b7160e01b600052603260045260246000fd5b60200260200101516000141561163e576103e884848151811061162d57634e487b7160e01b600052603260045260246000fd5b602002602001018181525050611670565b806003015484848151811061166357634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b60108f61167e600185614125565b8151811061169c57634e487b7160e01b600052603260045260246000fd5b6020026020010181815117915081815250505050806116ba9061413c565b90506114aa565b506040517f270159f70000000000000000000000000000000000000000000000000000000081526110009063270159f790611706908890879087908790600401613f27565b600060405180830381600087803b15801561172057600080fd5b505af1158015611734573d6000803e3d6000fd5b505050506110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561177557600080fd5b505af1158015611789573d6000803e3d6000fd5b5050600a546040517fca40de51000000000000000000000000000000000000000000000000000000008152611007935063ca40de5192506117d29189918c918c91600401613fd9565b600060405180830381600087803b1580156117ec57600080fd5b505af1158015611800573d6000803e3d6000fd5b5050505060005b8e8110156119085760006006828154811061183257634e487b7160e01b600052603260045260246000fd5b600091825260208083206008909202909101546001600160a01b0316808352600990915260409091205490915080158015906118705750600a548111155b156118f357611881600460ff614125565b8f84815181106118a157634e487b7160e01b600052603260045260246000fd5b6020026020010151168f84815181106118ca57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101919091526001600160a01b0383166000908152600990915260408120555b505080806119009061413c565b915050611807565b5060005b8e811015611985576119736006828154811061193857634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802018e838151811061196657634e487b7160e01b600052603260045260246000fd5b6020026020010151613285565b8061197d8161413c565b91505061190c565b505050505050505050505050505050505050565b610a30600460ff614125565b610a30600260ff614125565b610a30601060ff614125565b3361100014611a345760405162461bcd60e51b815260206004820152602c60248201527f746865206d73672073656e646572206d7573742062652076616c696461746f7260448201527f53657420636f6e747261637400000000000000000000000000000000000000006064820152608401610a81565b6001600160a01b03831660009081526007602052604090205480611a585750505050565b60006006611a67600184614125565b81548110611a8557634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020190506000816004015490506002548110158015611abd57508360025482611aba9190614125565b10155b15611c085760058201546001600160a01b03871660009081526009602052604090205460049091179015611b2d576001600160a01b038716600090815260096020526040902054611b0f9087906140ed565b6001600160a01b038816600090815260096020526040902055611b55565b85600a54611b3b91906140ed565b6001600160a01b0388166000908152600960205260409020555b6000611b618684614125565b6004850181905560408051888152602081018390529192506001600160a01b038a16917f81cfec6c72eedd64db356101ba3b131efdc623de91bb003917d85a30dd79dc14910160405180910390a2600154811015611bc0576008821791505b611bca8483613285565b8515611c01576040516110029087156108fc029088906000818181858888f19350505050158015611bff573d6000803e3d6000fd5b505b5050611c86565b611c118361366f565b6040516110029082156108fc029083906000818181858888f19350505050158015611c40573d6000803e3d6000fd5b5060408051828152600060208201526001600160a01b038816917f81cfec6c72eedd64db356101ba3b131efdc623de91bb003917d85a30dd79dc14910160405180910390a25b5050505b505050565b60005460ff16611ce15760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a81565b3361100614611d585760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610a81565b60208114611d965783836040517fad23613c000000000000000000000000000000000000000000000000000000008152600401610a81929190614008565b611e0a84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81527f72657175697265644d617267696e000000000000000000000000000000000000602082015291506139a19050565b15611eca57604080516020601f8401819004810282018101909252828152600091611e4d918585808385018382808284376000920191909152506139fa92505050565b90506002548111611ec2578484826002546001611e6a91906140ed565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610a8195949392919061404e565b600155612269565b611f3e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600481527f6475657300000000000000000000000000000000000000000000000000000000602082015291506139a19050565b15611fe957604080516020601f8401819004810282018101909252828152600091611f81918585808385018382808284376000920191909152506139fa92505050565b9050801580611f9257506001548110155b15611fe157848482600180600154611faa9190614125565b6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610a8195949392919061404e565b600255612269565b61205d84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81527f76616c696461746f72436f756e74000000000000000000000000000000000000602082015291506139a19050565b156120fe57604080516020601f84018190048102820181019092528281526000916120a0918585808385018382808284376000920191909152506139fa92505050565b90506005811115806120b35750602a8110155b156120f657848482600660296040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610a8195949392919061404e565b600455612269565b61217284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527f6d6178436f6d6d697373696f6e4368616e676500000000000000000000000000602082015291506139a19050565b1561222157604080516020601f84018190048102820181019092528281526000916121b5918585808385018382808284376000920191909152506139fa92505050565b9050806122195784848260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610a8195949392919061404e565b600555612269565b60405162461bcd60e51b815260206004820152600d60248201527f756e6b6e6f776e20706172616d000000000000000000000000000000000000006044820152606401610a81565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161229e949392919061401c565b60405180910390a150505050565b60005460ff166122fe5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a81565b3360009081526007602052604090205461235a5760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610a81565b33600090815260076020526040812054906006612378600184614125565b8154811061239657634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802019050600060028260050154179050611c8a8282613285565b600681815481106123cc57600080fd5b6000918252602090912060089091020180546001820154600283015460038401546004850154600586015460068701546007909701546001600160a01b039687169850948616969390951694919390929088565b6001600160a01b038116600090815260076020526040812054806124475750600092915050565b60006006612456600184614125565b8154811061247457634e487b7160e01b600052603260045260246000fd5b60009182526020909120600560089092020101546011811614949350505050565b60005460ff166124e75760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a81565b336000908152600760205260409020546125435760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610a81565b63ffffffff81161580159061255f57506103e88163ffffffff16105b6125d15760405162461bcd60e51b815260206004820152602f60248201527f636f6d6d697373696f6e54686f7573616e647468732073686f756c6420696e2060448201527f72616e67652028302c20313030302900000000000000000000000000000000006064820152608401610a81565b6001600160a01b03831661264c5760405162461bcd60e51b8152602060048201526024808201527f636f6e73656e73757320616464726573732073686f756c64206e6f742062652060448201527f7a65726f000000000000000000000000000000000000000000000000000000006064820152608401610a81565b6001600160a01b0382166126a25760405162461bcd60e51b815260206004820152601e60248201527f66656520616464726573732073686f756c64206e6f74206265207a65726f00006044820152606401610a81565b336000908152600760205260408120549060066126c0600184614125565b815481106126de57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201905060008160060154600a541461270757816003015461270d565b81600701545b9050806005548563ffffffff1661272491906140ed565b1015801561274557508363ffffffff166005548261274291906140ed565b10155b6127b75760405162461bcd60e51b815260206004820152602d60248201527f636f6d6d697373696f6e54686f7573616e64746873206f7574206f662061646a60448201527f7573746d656e742072616e6765000000000000000000000000000000000000006064820152608401610a81565b8160060154600a54146127d757600a546006830155600382015460078301555b60018201546001600160a01b038781169116146128ac576001600160a01b038616600090815260086020526040902054156128545760405162461bcd60e51b815260206004820152601c60248201527f74686520636f6e73656e73757320616c726561647920657869737473000000006044820152606401610a81565b6001820180546001600160a01b0390811660009081526008602052604080822082905583547fffffffffffffffffffffffff000000000000000000000000000000000000000016928a16928317909355908152208390555b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0387811691821790925563ffffffff861660038501819055604051908152909188169033907f9b4c7bb5cf782797c33b6c6ca3bbd0ed9ae9e823611ebac8726889da7ef216d39060200160405180910390a4505050505050565b60005460ff166129875760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a81565b336000908152600760205260409020546129e35760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610a81565b33600090815260076020526040812054906006612a01600184614125565b81548110612a1f57634e487b7160e01b600052603260045260246000fd5b6000918252602082206008909102019150612a3c600260ff614125565b8260050154169050611c8a8282613285565b60005460ff1615612aa15760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e6974000000000000006044820152606401610a81565b69021e19e0c9bab2400000600190815568056bc75e2d63100000600255620151806003556015600455600a600581905560079055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b60005460ff16612b545760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a81565b33600090815260076020526040902054612bb05760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610a81565b33600090815260076020526040812054906006612bce600184614125565b81548110612bec57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102016005810154909150600b811614612c555760405162461bcd60e51b815260206004820152601f60248201527f63616e64696461746520737461747573206973206e6f7420636c6561726564006044820152606401610a81565b6004810154612c638361366f565b600254811115612cc057600060025482612c7d9190614125565b9050612c8933826139ff565b6002546040516110029180156108fc02916000818181858888f19350505050158015612cb9573d6000803e3d6000fd5b5050505050565b6040516110029082156108fc029083906000818181858888f19350505050158015610c7f573d6000803e3d6000fd5b60005460ff16612d415760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610a81565b6006546103e81015612d955760405162461bcd60e51b815260206004820152601e60248201527f6d6178696d756d2063616e6469646174652073697a65207265616368656400006044820152606401610a81565b3360009081526007602052604090205415612df25760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520616c72656164792065786973747300000000000000006044820152606401610a81565b600154341015612e445760405162461bcd60e51b815260206004820152601560248201527f6465706f736974206973206e6f7420656e6f75676800000000000000000000006044820152606401610a81565b63ffffffff811615801590612e6057506103e88163ffffffff16105b612ed25760405162461bcd60e51b815260206004820152602c60248201527f636f6d6d697373696f6e54686f7573616e647468732073686f756c642062652060448201527f696e2028302c20313030302900000000000000000000000000000000000000006064820152608401610a81565b6001600160a01b03831660009081526008602052604090205415612f385760405162461bcd60e51b815260206004820152601860248201527f636f6e73656e73757320616c72656164792065786973747300000000000000006044820152606401610a81565b6001600160a01b038316612fb35760405162461bcd60e51b8152602060048201526024808201527f636f6e73656e73757320616464726573732073686f756c64206e6f742062652060448201527f7a65726f000000000000000000000000000000000000000000000000000000006064820152608401610a81565b6001600160a01b0382166130095760405162461bcd60e51b815260206004820152601e60248201527f66656520616464726573732073686f756c64206e6f74206265207a65726f00006044820152606401610a81565b600a5433600090815260096020526040902054106130695760405162461bcd60e51b815260206004820152600d60248201527f697420697320696e206a61696c000000000000000000000000000000000000006044820152606401610a81565b6000600190506006604051806101000160405280336001600160a01b03168152602001866001600160a01b03168152602001856001600160a01b031681526020018463ffffffff168152602001348152602001838152602001600a5481526020018463ffffffff16815250908060018154018082558091505060019003906000526020600020906008020160009091909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701555050600060068054905090508060076000336001600160a01b03166001600160a01b03168152602001908152602001600020819055508060086000876001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b0316336001600160a01b03167fe71c4590fcb5b3e76cd2b3e68071e231bb479c3461ddccafdbbf89de64d530de863460405161327692919063ffffffff929092168252602082015260400190565b60405180910390a45050505050565b6005820154818114611c8a5760058301829055825460408051838152602081018590526001600160a01b03909216917f4b35b40ad96adb69950ee8e04201a2258550524199e2fcf2b5d3830023ff99ce910160405180910390a2505050565b825160609060008082851015613306576132ff600184614125565b905061330a565b8294505b80821015613648578651829082906000908a908490811061333b57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600089848151811061336757634e487b7160e01b600052603260045260246000fd5b602002602001015190505b82841015613592575b82841080156133b05750808a84815181106133a657634e487b7160e01b600052603260045260246000fd5b6020026020010151105b156133c7576133c0600184614125565b925061337b565b8a83815181106133e757634e487b7160e01b600052603260045260246000fd5b60200260200101518b858151811061340f57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505089838151811061344f57634e487b7160e01b600052603260045260246000fd5b60200260200101518a858151811061347757634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b82841080156134ba5750808a85815181106134af57634e487b7160e01b600052603260045260246000fd5b602002602001015110155b156134d1576134ca8460016140ed565b9350613484565b8a84815181106134f157634e487b7160e01b600052603260045260246000fd5b60200260200101518b848151811061351957634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505089848151811061355957634e487b7160e01b600052603260045260246000fd5b60200260200101518a848151811061358157634e487b7160e01b600052603260045260246000fd5b602002602001018181525050613372565b818b85815181106135b357634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050808a85815181106135f457634e487b7160e01b600052603260045260246000fd5b6020908102919091010152838981101561361a576136138160016140ed565b965061363e565b898111156136345761362d600182614125565b955061363e565b5050505050613648565b505050505061330a565b60006136548685614125565b90508015613663578088510388525b50959695505050505050565b6000600661367e600184614125565b8154811061369c57634e487b7160e01b600052603260045260246000fd5b60009182526020822060016008909202019081015481546040519294506001600160a01b03918216939116917f17b07b19259c7122b0e5b0e3a4ca4ebf0b240e93e26cb44cff9addc7dbf9e99c9190a380546001600160a01b03908116600090815260076020908152604080832083905560018501549093168252600890529081205560065482146138ec576006805461373890600190614125565b8154811061375657634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160066001846137739190614125565b8154811061379157634e487b7160e01b600052603260045260246000fd5b600091825260208220835460089092020180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b0393841617825560018086015481840180548416918616919091179055600280870154908401805490931694169390931790556003808501549082015560048085015490820155600580850154908201556006808501548183015560079485015491850191909155859392916138459085614125565b8154811061386357634e487b7160e01b600052603260045260246000fd5b60009182526020808320600892830201546001600160a01b0316845283019390935260409091018120929092558391600661389f600185614125565b815481106138bd57634e487b7160e01b600052603260045260246000fd5b60009182526020808320600160089093020191909101546001600160a01b031683528201929092526040019020555b600680548061390b57634e487b7160e01b600052603160045260246000fd5b60008281526020812060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054821690556002820180549091169055600381018290556004810182905560058101829055600681018290556007015590555050565b6000816040516020016139b49190613eb9565b60405160208183030381529060405280519060200120836040516020016139db9190613eb9565b6040516020818303038152906040528051906020012014905092915050565b015190565b80471015613a4f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610a81565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613a9c576040519150601f19603f3d011682016040523d82523d6000602084013e613aa1565b606091505b5050905080611c8a5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610a81565b600082601f830112613b28578081fd5b81516020613b3d613b38836140c9565b614098565b80838252828201915082860187848660051b8901011115613b5c578586fd5b855b85811015613b7a57815184529284019290840190600101613b5e565b5090979650505050505050565b60008083601f840112613b98578182fd5b50813567ffffffffffffffff811115613baf578182fd5b602083019150836020828501011115613bc757600080fd5b9250929050565b600060208284031215613bdf578081fd5b8135613bea816141a1565b9392505050565b600080600060608486031215613c05578182fd5b8335613c10816141a1565b92506020840135613c20816141a1565b9150604084013563ffffffff81168114613c38578182fd5b809150509250925092565b600080600060608486031215613c57578283fd5b8335613c62816141a1565b95602085013595506040909401359392505050565b60006020808385031215613c89578182fd5b825167ffffffffffffffff811115613c9f578283fd5b8301601f81018513613caf578283fd5b8051613cbd613b38826140c9565b80828252848201915084840188868560051b8701011115613cdc578687fd5b8694505b83851015613d07578051613cf3816141a1565b835260019490940193918501918501613ce0565b50979650505050505050565b600060208284031215613d24578081fd5b815167ffffffffffffffff811115613d3a578182fd5b613d4684828501613b18565b949350505050565b600080600060608486031215613d62578283fd5b835167ffffffffffffffff811115613d78578384fd5b613d8486828701613b18565b93505060208401519150604084015190509250925092565b60008060008060408587031215613db1578081fd5b843567ffffffffffffffff80821115613dc8578283fd5b613dd488838901613b87565b90965094506020870135915080821115613dec578283fd5b50613df987828801613b87565b95989497509550505050565b600060208284031215613e16578081fd5b5035919050565b6000815180845260208085019450808401835b83811015613e555781516001600160a01b031687529582019590820190600101613e30565b509495945050505050565b6000815180845260208085019450808401835b83811015613e5557815187529582019590820190600101613e73565b8183528181602085013750600080602083850101526020601f19601f840116840101905092915050565b60008251815b81811015613ed95760208186018101518583015201613ebf565b81811115613ee75782828501525b509190910192915050565b6001600160a01b0383168152604060208201526000613d466040830184613e1d565b602081526000613bea6020830184613e1d565b608081526000613f3a6080830187613e1d565b602083820381850152613f4d8288613e1d565b84810360408601528651808252828801935090820190845b81811015613f8a5784516001600160a01b031683529383019391830191600101613f65565b50508481036060860152613f9e8187613e60565b9998505050505050505050565b604081526000613fbe6040830185613e1d565b8281036020840152613fd08185613e60565b95945050505050565b608081526000613fec6080830187613e1d565b6020830195909552506040810192909252606090910152919050565b602081526000613d46602083018486613e8f565b604081526000614030604083018688613e8f565b8281036020840152614043818587613e8f565b979650505050505050565b608081526000614062608083018789613e8f565b602083019590955250604081019290925260609091015292915050565b828152604060208201526000613d466040830184613e1d565b604051601f8201601f1916810167ffffffffffffffff811182821017156140c1576140c161418b565b604052919050565b600067ffffffffffffffff8211156140e3576140e361418b565b5060051b60200190565b6000821982111561410057614100614175565b500190565b60008261412057634e487b7160e01b81526012600452602481fd5b500490565b60008282101561413757614137614175565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561416e5761416e614175565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146141b657600080fd5b5056fea2646970667358221220713bec2b7f32b4ae0b3c3ac70705668a28e4b3efc3d207e77d173503b1c8443964736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(GovHubContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/d545ede09f6af0b2c2451f739234e582f0aeeb2b", + Code: "6080604052600436106102025760003560e01c80637bdbe4d01161011d578063b1610d7e116100b0578063da95691a1161007f578063e1c7392a11610064578063e1c7392a1461067f578063f9a2bbc714610694578063fe0d94c1146106aa57600080fd5b8063da95691a14610649578063dc927faf1461066957600080fd5b8063b1610d7e1461054e578063c81b1662146105fd578063ca6d56dc14610613578063da35c6641461063357600080fd5b80639eab5253116100ec5780639eab52531461057b578063a78abc161461059d578063ac431751146105c7578063b1171724146105e757600080fd5b80637bdbe4d0146105165780638202d79f1461052c5780639629dccd1461054e5780639dc092621461056557600080fd5b806325ee13e21161019557806344c9af281161016457806344c9af281461049d57806358c35703146104ca57806367c24d4c146104ea578063783028a91461050057600080fd5b806325ee13e21461043c57806336e7048a1461045257806340e58ee51461046757806343756e5c1461048757600080fd5b80630b1ca49a116101d15780630b1ca49a146103b957806314c1e1f7146103d957806315373e3d146103ef57806317977c611461040f57600080fd5b8063013cf08b1461024a57806302a251a31461032d57806304e9e3a41461035157806308ae4b0c1461038c57600080fd5b366102455734156102435760405134815233907f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db9060200160405180910390a25b005b600080fd5b34801561025657600080fd5b506102cb610265366004612f69565b6005602052600090815260409020805460018201546006830154600784015460088501546009860154600a870154600b90970154959673ffffffffffffffffffffffffffffffffffffffff90951695939492939192909160ff8082169161010090041689565b60408051998a5273ffffffffffffffffffffffffffffffffffffffff90981660208a0152968801959095526060870193909352608086019190915260a085015260c0840152151560e08301521515610100820152610120015b60405180910390f35b34801561033957600080fd5b5061034360025481565b604051908152602001610324565b34801561035d57600080fd5b5061036761100781565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610324565b34801561039857600080fd5b506103436103a7366004612e1a565b60036020526000908152604090205481565b3480156103c557600080fd5b506102436103d4366004612e1a565b6106bd565b3480156103e557600080fd5b5061036761100481565b3480156103fb57600080fd5b5061024361040a366004612f81565b610a07565b34801561041b57600080fd5b5061034361042a366004612e1a565b60066020526000908152604090205481565b34801561044857600080fd5b5061036761100581565b34801561045e57600080fd5b50610343600181565b34801561047357600080fd5b50610243610482366004612f69565b610c83565b34801561049357600080fd5b5061036761100181565b3480156104a957600080fd5b506104bd6104b8366004612f69565b610e5e565b6040516103249190613296565b3480156104d657600080fd5b506103676104e5366004612f69565b610f8e565b3480156104f657600080fd5b5061034360085481565b34801561050c57600080fd5b5061036761100881565b34801561052257600080fd5b5061034360015481565b34801561053857600080fd5b50610541610fc5565b6040516103249190613283565b34801561055a57600080fd5b506103436203138081565b34801561057157600080fd5b5061036761100681565b34801561058757600080fd5b50610590610fe1565b6040516103249190613270565b3480156105a957600080fd5b506000546105b79060ff1681565b6040519015158152602001610324565b3480156105d357600080fd5b506102436105e2366004612f00565b611050565b3480156105f357600080fd5b5061036761100981565b34801561060957600080fd5b5061036761100281565b34801561061f57600080fd5b5061024361062e366004612e1a565b611549565b34801561063f57600080fd5b5061034360075481565b34801561065557600080fd5b50610343610664366004612e34565b611730565b34801561067557600080fd5b5061036761100381565b34801561068b57600080fd5b50610243611cb6565b3480156106a057600080fd5b5061036761100081565b6102436106b8366004612f69565b611e73565b60005460ff166107145760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064015b60405180910390fd5b336110061461078b5760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161070b565b6004546005106107dd5760405162461bcd60e51b815260206004820152601c60248201527f6174206c656173742066697665206d656d6265727320696e2044414f00000000604482015260640161070b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054806108505760405162461bcd60e51b815260206004820152601560248201527f6d656d62657220646f6573206e6f742065786973740000000000000000000000604482015260640161070b565b600454811461093b57600480546000919061086d906001906134e3565b8154811061088b57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1690508060046108bd6001856134e3565b815481106108db57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559290911681526003909152604090208190555b600480548061095a57634e487b7160e01b600052603160045260246000fd5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff8416808352600390915260408083208390555190917f83d8a881dfe94828d01f6c9dbe7cab20f8f0b9825eea51b679631302e700085191a25050565b60005460ff16610a595760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161070b565b33600090815260036020526040902054610adb5760405162461bcd60e51b815260206004820152602960248201527f6f6e6c79206d656d62657220697320616c6c6f77656420746f2063616c6c207460448201527f6865206d6574686f640000000000000000000000000000000000000000000000606482015260840161070b565b6001610ae683610e5e565b6006811115610b0557634e487b7160e01b600052602160045260246000fd5b14610b525760405162461bcd60e51b815260206004820152601060248201527f766f74696e6720697320636c6f73656400000000000000000000000000000000604482015260640161070b565b6000828152600560209081526040808320338452600c8101909252909120805460ff1615610bc25760405162461bcd60e51b815260206004820152601360248201527f766f74657220616c726561647920766f74656400000000000000000000000000604482015260640161070b565b8215610be8576001826008016000828254610bdd91906134ab565b90915550610c039050565b6001826009016000828254610bfd91906134ab565b90915550505b805483151561010081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169190911760011782556040805133815260208101879052908101919091527fd356173ae8eeea8691aee4c1be712c314a975a3d43ebc48b08ca54d0dac91228906060015b60405180910390a150505050565b60005460ff16610cd55760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161070b565b6000610ce082610e5e565b90506000816006811115610d0457634e487b7160e01b600052602160045260246000fd5b1480610d2f57506001816006811115610d2d57634e487b7160e01b600052602160045260246000fd5b145b610d7b5760405162461bcd60e51b815260206004820152601f60248201527f63616e6e6f742063616e63656c2066696e69736865642070726f706f73616c00604482015260640161070b565b6000828152600560205260409020600181015473ffffffffffffffffffffffffffffffffffffffff163314610df25760405162461bcd60e51b815260206004820152601760248201527f6f6e6c792063616e63656c2062792070726f706f736572000000000000000000604482015260640161070b565b600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90610e519085815260200190565b60405180910390a1505050565b60008160075410158015610e7157508115155b610ebd5760405162461bcd60e51b815260206004820152601a60248201527f73746174653a20696e76616c69642070726f706f73616c206964000000000000604482015260640161070b565b6000828152600560205260409020600b81015460ff1615610ee15750600292915050565b80600601544311610ef55750600092915050565b80600701544311610f095750600192915050565b80600901548160080154111580610f345750600281600a0154610f2c91906134c3565b816008015411155b15610f425750600392915050565b600b810154610100900460ff1615610f5d5750600592915050565b6008548160070154610f6f91906134ab565b431115610f7f5750600692915050565b50600492915050565b50919050565b60048181548110610f9e57600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6040518060a00160405280606b81526020016135e8606b913981565b6060600480548060200260200160405190810160405280929190818152602001828054801561104657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161101b575b5050505050905090565b60005460ff166110a25760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161070b565b33611006146111195760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161070b565b602081146111575783836040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161070b9291906132be565b6111cb84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601581527f70726f706f73616c4d61784f7065726174696f6e730000000000000000000000602082015291506123ad9050565b1561127a57604080516020601f840181900481028201810190925282815260009161120e9185858083850183828082843760009201919091525061240692505050565b9050806112725784848260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f900000000000000000000000000000000000000000000000000000000815260040161070b959493929190613304565b600155611514565b6112ee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600c81527f766f74696e67506572696f640000000000000000000000000000000000000000602082015291506123ad9050565b156113a357604080516020601f84018190048102820181019092528281526000916113319185858083850183828082843760009201919091525061240692505050565b905061708081101561139b578484826170807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f900000000000000000000000000000000000000000000000000000000815260040161070b959493929190613304565b600255611514565b61141784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81527f657865637574696e67506572696f640000000000000000000000000000000000602082015291506123ad9050565b156114cc57604080516020601f840181900481028201810190925282815260009161145a9185858083850183828082843760009201919091525061240692505050565b90506170808110156114c4578484826170807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f900000000000000000000000000000000000000000000000000000000815260040161070b959493929190613304565b600855611514565b60405162461bcd60e51b815260206004820152600d60248201527f756e6b6e6f776e20706172616d00000000000000000000000000000000000000604482015260640161070b565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610c7594939291906132d2565b60005460ff1661159b5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161070b565b33611006146116125760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161070b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054156116855760405162461bcd60e51b815260206004820152601560248201527f6d656d62657220616c7265616479206578697374730000000000000000000000604482015260640161070b565b600480546001810182557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915590546000828152600360205260408082209290925590517fb251eb052afc73ffd02ffe85ad79990a8b3fed60d76dbc2fa2fdd7123dffd9149190a250565b6000805460ff166117835760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161070b565b336000908152600360205260409020546118055760405162461bcd60e51b815260206004820152602960248201527f6f6e6c79206d656d62657220697320616c6c6f77656420746f2063616c6c207460448201527f6865206d6574686f640000000000000000000000000000000000000000000000606482015260840161070b565b84518651148015611817575083518651145b8015611824575082518651145b6118965760405162461bcd60e51b815260206004820152602c60248201527f70726f706f73616c2066756e6374696f6e20696e666f726d6174696f6e20617260448201527f697479206d69736d617463680000000000000000000000000000000000000000606482015260840161070b565b85516118e45760405162461bcd60e51b815260206004820152601460248201527f6d7573742070726f7669646520616374696f6e73000000000000000000000000604482015260640161070b565b600154865111156119375760405162461bcd60e51b815260206004820152601060248201527f746f6f206d616e7920616374696f6e7300000000000000000000000000000000604482015260640161070b565b336000908152600660205260409020548015611ab057600061195882610e5e565b9050600181600681111561197c57634e487b7160e01b600052602160045260246000fd5b14156119f2576040805162461bcd60e51b81526020600482015260248101919091527f6f6e65206c6976652070726f706f73616c207065722070726f706f7365722c2060448201527f666f756e6420616e20616c7265616479206163746976652070726f706f73616c606482015260840161070b565b6000816006811115611a1457634e487b7160e01b600052602160045260246000fd5b1415611aae5760405162461bcd60e51b815260206004820152604160248201527f6f6e65206c6976652070726f706f73616c207065722070726f706f7365722c2060448201527f666f756e6420616e20616c72656164792070656e64696e672070726f706f736160648201527f6c00000000000000000000000000000000000000000000000000000000000000608482015260a40161070b565b505b6000611abd4360016134ab565b9050600060025482611acf91906134ab565b600780549192506000611ae183613582565b909155505060075460008181526005602090815260409091208281556001810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790558b5192955091611b41916002840191908d01906128b9565b508851611b5790600383019060208c0190612943565b508751611b6d90600483019060208b019061297e565b508651611b8390600583019060208a01906129d7565b50828160060181905550818160070181905550600081600801819055506000816009018190555060048054905081600a0181905550600081600b0160006101000a81548160ff021916908315150217905550600081600b0160016101000a81548160ff02191690831515021790555083600660008360010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f5f3f8da802ee6afde8d4395e43c640a216eed19aa3e90c7eda8ce88cb2954c4d84338c8c8c8c89896004805490508f604051611ca09a99989796959493929190613335565b60405180910390a1509198975050505050505050565b60005460ff1615611d095760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015260640161070b565b600180556203138060028190556008556040805160a08101909152606b808252600091611d6f91611d6a91906135e8602083013960408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b61240b565b805190915060005b81811015611e43576000611db1848381518110611da457634e487b7160e01b600052603260045260246000fd5b602002602001015161253d565b600480546001810182557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805473ffffffffffffffffffffffffffffffffffffffff9093167fffffffffffffffffffffffff00000000000000000000000000000000000000009093168317905554600091825260036020526040909120555080611e3b81613582565b915050611d77565b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b60005460ff16611ec55760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161070b565b6004611ed082610e5e565b6006811115611eef57634e487b7160e01b600052602160045260246000fd5b14611f625760405162461bcd60e51b815260206004820152603060248201527f70726f706f73616c2063616e206f6e6c7920626520657865637574656420696660448201527f2069742069732073756363656564656400000000000000000000000000000000606482015260840161070b565b6000818152600560205260408120600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055600281015490915b8181101561237c576060836004018281548110611fd357634e487b7160e01b600052603260045260246000fd5b906000526020600020018054611fe89061354d565b151590506120ad5783600501828154811061201357634e487b7160e01b600052603260045260246000fd5b9060005260206000200180546120289061354d565b80601f01602080910402602001604051908101604052809291908181526020018280546120549061354d565b80156120a15780601f10612076576101008083540402835291602001916120a1565b820191906000526020600020905b81548152906001019060200180831161208457829003601f168201915b5050505050905061213f565b8360040182815481106120d057634e487b7160e01b600052603260045260246000fd5b906000526020600020016040516120e79190613264565b604051809103902084600501838154811061211257634e487b7160e01b600052603260045260246000fd5b9060005260206000200160405160200161212d92919061320c565b60405160208183030381529060405290505b60008085600201848154811061216557634e487b7160e01b600052603260045260246000fd5b60009182526020909120015460038701805473ffffffffffffffffffffffffffffffffffffffff90921691869081106121ae57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154846040516121c79190613248565b60006040518083038185875af1925050503d8060008114612204576040519150601f19603f3d011682016040523d82523d6000602084013e612209565b606091505b50915091508161225b5760405162461bcd60e51b815260206004820152601f60248201527f5472616e73616374696f6e20657865637574696f6e2072657665727465642e00604482015260640161070b565b85600201848154811061227e57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015460038701805473ffffffffffffffffffffffffffffffffffffffff909216917f88405ca50016c636e025868e263efe5a9f63bf11cc45404f7616394c7dc389d09190879081106122ea57634e487b7160e01b600052603260045260246000fd5b906000526020600020015488600401878154811061231857634e487b7160e01b600052603260045260246000fd5b9060005260206000200189600501888154811061234557634e487b7160e01b600052603260045260246000fd5b9060005260206000200160405161235e93929190613403565b60405180910390a2505050808061237490613582565b915050611fa6565b506040518381527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90602001610e51565b6000816040516020016123c09190613248565b60405160208183030381529060405280519060200120836040516020016123e79190613248565b6040516020818303038152906040528051906020012014905092915050565b015190565b60606124168261255d565b61241f57600080fd5b600061242a83612596565b905060008167ffffffffffffffff81111561245557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561249a57816020015b60408051808201909152600080825260208201528152602001906001900390816124735790505b50905060006124ac8560200151612619565b85602001516124bb91906134ab565b90506000805b84811015612532576124d28361269b565b915060405180604001604052808381526020018481525084828151811061250957634e487b7160e01b600052603260045260246000fd5b602090810291909101015261251e82846134ab565b92508061252a81613582565b9150506124c1565b509195945050505050565b805160009060151461254e57600080fd5b612557826127ec565b92915050565b805160009061256e57506000919050565b6020820151805160001a9060c082101561258c575060009392505050565b5060019392505050565b80516000906125a757506000919050565b6000806125b78460200151612619565b84602001516125c691906134ab565b90506000846000015185602001516125de91906134ab565b90505b80821015612610576125f28261269b565b6125fc90836134ab565b91508261260881613582565b9350506125e1565b50909392505050565b8051600090811a60808110156126325750600092915050565b60b881108061264d575060c0811080159061264d575060f881105b1561265b5750600192915050565b60c081101561268f57612670600160b86134fa565b61267d9060ff16826134e3565b6126889060016134ab565b9392505050565b612670600160f86134fa565b80516000908190811a60808110156126b657600191506127e5565b60b88110156126dc576126ca6080826134e3565b6126d59060016134ab565b91506127e5565b60c081101561275d57600060b78203600186019550806020036101000a8651049150600181018201935050808310156127575760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604482015260640161070b565b506127e5565b60f8811015612771576126ca60c0826134e3565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156127e35760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604482015260640161070b565b505b5092915050565b80516000901580159061280157508151602110155b61280a57600080fd5b60006128198360200151612619565b9050808360000151101561286f5760405162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604482015260640161070b565b825160009061287f9083906134e3565b905060008083866020015161289491906134ab565b90508051915060208310156128b057826020036101000a820491505b50949350505050565b828054828255906000526020600020908101928215612933579160200282015b8281111561293357825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9091161782556020909201916001909101906128d9565b5061293f929150612a30565b5090565b828054828255906000526020600020908101928215612933579160200282015b82811115612933578251825591602001919060010190612963565b8280548282559060005260206000209081019282156129cb579160200282015b828111156129cb57825180516129bb918491602090910190612a45565b509160200191906001019061299e565b5061293f929150612ab8565b828054828255906000526020600020908101928215612a24579160200282015b82811115612a245782518051612a14918491602090910190612a45565b50916020019190600101906129f7565b5061293f929150612ad5565b5b8082111561293f5760008155600101612a31565b828054612a519061354d565b90600052602060002090601f016020900481019282612a735760008555612933565b82601f10612a8c57805160ff1916838001178555612933565b828001600101855582156129335791820182811115612933578251825591602001919060010190612963565b8082111561293f576000612acc8282612af2565b50600101612ab8565b8082111561293f576000612ae98282612af2565b50600101612ad5565b508054612afe9061354d565b6000825580601f10612b0e575050565b601f016020900490600052602060002090810190612b2c9190612a30565b50565b600067ffffffffffffffff831115612b4957612b496135d1565b612b7a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011601613438565b9050828152838383011115612b8e57600080fd5b828260208301376000602084830101529392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612bc957600080fd5b919050565b600082601f830112612bde578081fd5b81356020612bf3612bee83613487565b613438565b80838252828201915082860187848660051b8901011115612c12578586fd5b855b85811015612c3757612c2582612ba5565b84529284019290840190600101612c14565b5090979650505050505050565b600082601f830112612c54578081fd5b81356020612c64612bee83613487565b80838252828201915082860187848660051b8901011115612c83578586fd5b855b85811015612c3757813567ffffffffffffffff811115612ca3578788fd5b8801603f81018a13612cb3578788fd5b612cc48a8783013560408401612b2f565b8552509284019290840190600101612c85565b600082601f830112612ce7578081fd5b81356020612cf7612bee83613487565b80838252828201915082860187848660051b8901011115612d16578586fd5b855b85811015612c3757813567ffffffffffffffff811115612d36578788fd5b612d448a87838c0101612dfb565b8552509284019290840190600101612d18565b600082601f830112612d67578081fd5b81356020612d77612bee83613487565b80838252828201915082860187848660051b8901011115612d96578586fd5b855b85811015612c3757813584529284019290840190600101612d98565b60008083601f840112612dc5578182fd5b50813567ffffffffffffffff811115612ddc578182fd5b602083019150836020828501011115612df457600080fd5b9250929050565b600082601f830112612e0b578081fd5b61268883833560208501612b2f565b600060208284031215612e2b578081fd5b61268882612ba5565b600080600080600060a08688031215612e4b578081fd5b853567ffffffffffffffff80821115612e62578283fd5b612e6e89838a01612bce565b96506020880135915080821115612e83578283fd5b612e8f89838a01612d57565b95506040880135915080821115612ea4578283fd5b612eb089838a01612cd7565b94506060880135915080821115612ec5578283fd5b612ed189838a01612c44565b93506080880135915080821115612ee6578283fd5b50612ef388828901612dfb565b9150509295509295909350565b60008060008060408587031215612f15578384fd5b843567ffffffffffffffff80821115612f2c578586fd5b612f3888838901612db4565b90965094506020870135915080821115612f50578384fd5b50612f5d87828801612db4565b95989497509550505050565b600060208284031215612f7a578081fd5b5035919050565b60008060408385031215612f93578182fd5b8235915060208301358015158114612fa9578182fd5b809150509250929050565b6000815180845260208085019450808401835b83811015612ff957815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612fc7565b509495945050505050565b600081518084526020808501808196508360051b81019150828601855b8581101561304b5782840389526130398483516130a0565b98850198935090840190600101613021565b5091979650505050505050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600081518084526130b881602086016020860161351d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081546130f78161354d565b6001828116801561310f576001811461313e5761316d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752828701945061316d565b8560005260208060002060005b858110156131645781548a82015290840190820161314b565b50505082870194505b5050505092915050565b600081546131848161354d565b8085526020600183811680156131a157600181146131d357613201565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00851683890152604088019550613201565b866000528260002060005b858110156131f95781548a82018601529083019084016131de565b890184019650505b505050505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061324060048301846130ea565b949350505050565b6000825161325a81846020870161351d565b9190910192915050565b600061268882846130ea565b6020815260006126886020830184612fb4565b60208152600061268860208301846130a0565b60208101600783106132b857634e487b7160e01b600052602160045260246000fd5b91905290565b602081526000613240602083018486613058565b6040815260006132e6604083018688613058565b82810360208401526132f9818587613058565b979650505050505050565b608081526000613318608083018789613058565b602083019590955250604081019290925260609091015292915050565b60006101408c8352602073ffffffffffffffffffffffffffffffffffffffff8d168185015281604085015261336c8285018d612fb4565b84810360608601528b51808252828d01935090820190845b818110156133a057845183529383019391830191600101613384565b505084810360808601526133b4818c613004565b9250505082810360a08401526133ca8189613004565b90508660c08401528560e0840152846101008401528281036101208401526133f281856130a0565b9d9c50505050505050505050505050565b83815260606020820152600061341c6060830185613177565b828103604084015261342e8185613177565b9695505050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561347f5761347f6135d1565b604052919050565b600067ffffffffffffffff8211156134a1576134a16135d1565b5060051b60200190565b600082198211156134be576134be6135bb565b500190565b6000826134de57634e487b7160e01b81526012600452602481fd5b500490565b6000828210156134f5576134f56135bb565b500390565b600060ff821660ff841680821015613514576135146135bb565b90039392505050565b60005b83811015613538578181015183820152602001613520565b83811115613547576000848401525b50505050565b600181811c9082168061356157607f821691505b60208210811415610f8857634e487b7160e01b600052602260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156135b4576135b46135bb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfef86994548e6acce441866674e04ab84587af2d394034c094bb06d463bc143eecc4a0cfa35e0346d5690fa9f694e2fe60f349c6e1a85caad1d22200c289da40dc1294b198db68258f06e79d415a0998be7f9b38ea722694dd173b85f306128f1b10d7d7219059c28c6d6c09a264697066735822122031377f81e3d0efff1de9150b90103de9d5f1e727ebe31487619bd791fab3283064736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(PledgeCandidateContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/d545ede09f6af0b2c2451f739234e582f0aeeb2b", + Code: "60806040526004361061026a5760003560e01c8063820356c511610153578063c81b1662116100cb578063dc927faf1161007f578063e3b899f311610064578063e3b899f3146106e6578063f474c8ce14610752578063f9a2bbc7146107b457600080fd5b8063dc927faf146106bb578063e1c7392a146106d157600080fd5b8063ce737112116100b0578063ce73711214610643578063d52d2a3314610663578063db03c9dd1461069b57600080fd5b8063c81b16621461060d578063ca40de511461062357600080fd5b8063a78abc1611610122578063b117172411610107578063b1171724146105a1578063baa4402b146105b7578063c35cc334146105ca57600080fd5b8063a78abc1614610557578063ac4317511461058157600080fd5b8063820356c5146104df57806383d44339146105145780639dc0926214610541578063a204ce971461046157600080fd5b806343756e5c116101e657806351916fc0116101b557806367b06a361161019a57806367b06a361461049d57806375b10c71146104b3578063783028a9146104c957600080fd5b806351916fc01461046157806365057e771461047d57600080fd5b806343756e5c146103eb57806347a15006146104015780634db8a60b146104215780634fd6979e1461044157600080fd5b806314c1e1f71161023d57806322b4fe9e1161022257806322b4fe9e1461039157806325e2c700146103c057806325ee13e2146103d557600080fd5b806314c1e1f7146103405780631c96b3191461035657600080fd5b806304e9e3a41461026f5780630a4aa4d3146102af5780630fcfd420146102d35780631003b502146102e9575b600080fd5b34801561027b57600080fd5b5061028561100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156102bb57600080fd5b506102c560025481565b6040519081526020016102a6565b3480156102df57600080fd5b506102c5614e2081565b3480156102f557600080fd5b50610325610304366004613182565b60066020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016102a6565b34801561034c57600080fd5b5061028561100481565b34801561036257600080fd5b50610325610371366004612ec3565b600360208190526000918252604090912080549181015460049091015483565b34801561039d57600080fd5b506103b16103ac366004613004565b6107ca565b6040516102a69392919061323d565b6103d36103ce366004612ec3565b610b25565b005b3480156103e157600080fd5b5061028561100581565b3480156103f757600080fd5b5061028561100181565b34801561040d57600080fd5b506103d361041c366004612ec3565b610c7c565b34801561042d57600080fd5b506103d361043c366004612f0f565b610c8a565b34801561044d57600080fd5b506103d361045c366004612f4a565b610eb0565b34801561046d57600080fd5b506102c5670de0b6b3a764000081565b34801561048957600080fd5b506103d3610498366004612f9b565b6112b5565b3480156104a957600080fd5b506102c560015481565b3480156104bf57600080fd5b506102c560075481565b3480156104d557600080fd5b5061028561100881565b3480156104eb57600080fd5b506104ff6104fa366004612fc4565b611323565b604080519283529015156020830152016102a6565b34801561052057600080fd5b506102c561052f366004612ec3565b60046020526000908152604090205481565b34801561054d57600080fd5b5061028561100681565b34801561056357600080fd5b506000546105719060ff1681565b60405190151581526020016102a6565b34801561058d57600080fd5b506103d361059c366004613125565b6114d8565b3480156105ad57600080fd5b5061028561100981565b6103d36105c5366004613004565b6118b0565b3480156105d657600080fd5b506102856105e53660046130e5565b60056020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561061957600080fd5b5061028561100281565b34801561062f57600080fd5b506103d361063e36600461306d565b611d07565b34801561064f57600080fd5b506103d361065e366004612ec3565b611f20565b34801561066f57600080fd5b506102c561067e36600461319a565b600860209081526000928352604080842090915290825290205481565b3480156106a757600080fd5b506103d36106b6366004612edd565b612081565b3480156106c757600080fd5b5061028561100381565b3480156106dd57600080fd5b506103d3612091565b3480156106f257600080fd5b50610706610701366004612edd565b61212a565b6040516102a69190600060c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b34801561075e57600080fd5b5061077261076d366004612f9b565b6121e1565b6040516102a69190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b3480156107c057600080fd5b5061028561100081565b6060600080336110051461084b5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e7472616374000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b858481146108c15760405162461bcd60e51b815260206004820152603360248201527f746865206c656e677468206f662063616e6469646174657320616e6420706f7760448201527f6572732073686f756c6420626520657175616c000000000000000000000000006064820152608401610842565b600192506001915060005b818110156109c3576000600360008b8b858181106108fa57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061090f9190612ec3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050670de0b6b3a764000088888481811061097457634e487b7160e01b600052603260045260246000fd5b905060200201356109859190613341565b600382018190558154600483015561099d9086613309565b94508060040154846109af9190613309565b935050806109bc90613409565b90506108cc565b508067ffffffffffffffff8111156109eb57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610a14578160200160208202803683370190505b50935060005b81811015610b19576000600360008b8b85818110610a4857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610a5d9190612ec3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050848160040154610aa99190613341565b612710600254868460030154610abf9190613341565b610ac99190613341565b610ad39190613321565b610add9190613309565b868381518110610afd57634e487b7160e01b600052603260045260246000fd5b602090810291909101015250610b1281613409565b9050610a1a565b50509450945094915050565b6040517fc666907b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526110059063c666907b9060240160206040518083038186803b158015610b8c57600080fd5b505afa158015610ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc491906130c5565b610c12576040517f74e640ee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610842565b6000610c218233346000612302565b6040805134815260208101839052919250339173ffffffffffffffffffffffffffffffffffffffff8516917f69e36aaf9558a3c30415c0a2bc6cb4c2d592c041a0718697bf69c2e7c7e0bdac91015b60405180910390a35050565b610c878160006112b5565b50565b6040517fc666907b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526110059063c666907b9060240160206040518083038186803b158015610cf157600080fd5b505afa158015610d05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2991906130c5565b610d77576040517f74e640ee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610842565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dfd576040517f15e8d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808516600483015283166024820152604401610842565b600080610e0d8533856001612475565b915091506000610e1f85338585612302565b90503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f037bbd0a1321bedfe51f505a5e6cede0b346e57521d957f9e76cb348b7758cb18685604051610ea0929190918252602082015260400190565b60405180910390a4505050505050565b3361100514610f275760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e747261637400000000000000000000000000000000000000000000006064820152608401610842565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260409020600281015480610f5d575050505050565b600060028301610f6e6001846133f2565b81548110610f8c57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502019050806000015460001480610fb55750600754816004015414155b15610fc257505050505050565b600060066000600754815260200190815260200160002090506000826002015483600001546127108460020154670de0b6b3a764000086600101546110079190613341565b6110119190613341565b61101b9190613321565b6110259190613341565b61102f9190613321565b905085600061103e8284613341565b905060008560030154886004015411156110905760028601548554600388015460048b015461106d91906133f2565b88546110799190613341565b6110839190613341565b61108d9190613321565b90505b600186015461109f8284613309565b8110156110ee5760405162461bcd60e51b815260206004820152601a60248201527f7468657265206973206e6f7420656e6f756768207265776172640000000000006044820152606401610842565b60005b848110156111945785600460008e8e8581811061111e57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111339190612ec3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461117c9190613309565b9091555081905061118c81613409565b9150506110f1565b50600387015461120757600289016111ad60018a6133f2565b815481106111cb57634e487b7160e01b600052603260045260246000fd5b6000918252602082206005909102018181556001810182905560028101829055600381018290556004015561120083826133f2565b915061123c565b8215158061121457508115155b1561123c576112238284613309565b87600101600082825461123691906133f2565b90915550505b81156112a65761100273ffffffffffffffffffffffffffffffffffffffff1663631cbe3c836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b50505050505b5050505050505050505b505050565b60006112c48333846000612475565b5090506112d13382612810565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8516907f888585afd9421c43b48dc50229aa045dd1048c03602b46c83ad2aa36be798d429060200160405180910390a3505050565b3360009081526004602052604081205481906101f4908290801561135257336000908152600460205260408120555b8560005b818110156114b5576000600360008b8b8581811061138457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906113999190612ec3565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002060028101549091506113d157506114a5565b33600090815260018083016020526040909120908101541580156113f757506004810154155b156114035750506114a5565b60038101546002830154600091611419916133f2565b905061142683838a612936565b9650611432818961337e565b975061143e8787613309565b95508160010154600014801561145657506004820154155b1561149057336000908152600180850160205260408220828155908101829055600281018290556003810182905560048101829055600501555b60008812156114a1575050506114b5565b5050505b6114ae81613409565b9050611356565b5081156114c6576114c63383612c1b565b509350506000131590505b9250929050565b60005460ff1661152a5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610842565b33611006146115a15760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610842565b602081146115df5783836040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161084292919061328a565b61165384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527f7265717569726564436f696e4465706f7369740000000000000000000000000060208201529150612c759050565b1561170257604080516020601f840181900481028201810190925282815260009161169691858580838501838280828437600092019190915250612cce92505050565b9050806116fa5784848260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f90000000000000000000000000000000000000000000000000000000081526004016108429594939291906132d8565b60015561186d565b61177684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81527f706f776572466163746f7200000000000000000000000000000000000000000060208201529150612c759050565b1561182557604080516020601f84018190048102820181019092528281526000916117b991858580838501838280828437600092019190915250612cce92505050565b90508061181d5784848260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f90000000000000000000000000000000000000000000000000000000081526004016108429594939291906132d8565b60025561186d565b60405162461bcd60e51b815260206004820152600d60248201527f756e6b6e6f776e20706172616d000000000000000000000000000000000000006044820152606401610842565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516118a294939291906132a6565b60405180910390a150505050565b33611000146119275760405162461bcd60e51b815260206004820152602c60248201527f746865206d73672073656e646572206d7573742062652076616c696461746f7260448201527f53657420636f6e747261637400000000000000000000000000000000000000006064820152608401610842565b8281811461199d5760405162461bcd60e51b815260206004820152603660248201527f746865206c656e677468206f66206167656e744c69737420616e64207265776160448201527f72644c6973742073686f756c6420626520657175616c000000000000000000006064820152608401610842565b60075460009081526006602090815260408083208151606081018352815481526001820154938101939093526002015490820152905b82811015611cfe57600060036000898985818110611a0157634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611a169190612ec3565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002810154909150611a4e5750611cee565b60028101805460009190611a64906001906133f2565b81548110611a8257634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020190506000816002015490508060001415611b0857600283018054611ab6906001906133f2565b81548110611ad457634e487b7160e01b600052603260045260246000fd5b6000918252602082206005909102018181556001810182905560028101829055600381018290556004015550611cee915050565b878785818110611b2857634e487b7160e01b600052603260045260246000fd5b9050602002013560001415611b3f57505050611cee565b878785818110611b5f57634e487b7160e01b600052603260045260246000fd5b6020029190910135835550878785818110611b8a57634e487b7160e01b600052603260045260246000fd5b60200291909101356001840155508451600484015460009183918b8b89818110611bc457634e487b7160e01b600052603260045260246000fd5b90506020020135611bd59190613341565b611bdf9190613341565b611be99190613321565b90506000828760400151612710896020015188600301548e8e8c818110611c2057634e487b7160e01b600052603260045260246000fd5b90506020020135611c319190613341565b611c3b9190613341565b611c459190613321565b611c4f9190613341565b611c599190613321565b90508b8b87818110611c7b57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611c909190612ec3565b73ffffffffffffffffffffffffffffffffffffffff167f2cc22b0f7e1f407f48b96ee89f308c04b3d3605a6188f5f799730a8f7a795c958383604051611ce0929190918252602082015260400190565b60405180910390a250505050505b611cf781613409565b90506119d3565b50505050505050565b3361100514611d7e5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e747261637400000000000000000000000000000000000000000000006064820152608401610842565b611da260405180606001604052806000815260200160008152602001600081525090565b8381526020808201848152600280546040808601918252600087815260069095528420855181559251600184015551910155600783905585905b81811015611f16576000600360008a8a85818110611e0a57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611e1f9190612ec3565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600090812085516004820154919350611e5a91613341565b61271060025487602001518560030154611e749190613341565b611e7e9190613341565b611e889190613321565b611e929190613309565b6040805160a0810182526000808252602080830182815293830194855260048088015460608501908152608085018d81526002998a018054600181810183559187529490952095516005909402909501928355945192820192909255935195840195909555905160038301555192019190915550611f0f81613409565b9050611ddc565b5050505050505050565b3361100014611f975760405162461bcd60e51b815260206004820152602c60248201527f746865206d73672073656e646572206d7573742062652076616c696461746f7260448201527f53657420636f6e747261637400000000000000000000000000000000000000006064820152608401610842565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600360205260409020600281015480156112b057600060028301611fd86001846133f2565b81548110611ff657634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502019050600754816004015414801561201d57506003810154155b1561207b57600283016120316001846133f2565b8154811061204f57634e487b7160e01b600052603260045260246000fd5b600091825260208220600590910201818155600181018290556002810182905560038101829055600401555b50505050565b61208d82826000610c8a565b5050565b60005460ff16156120e45760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e6974000000000000006044820152606401610842565b670de0b6b3a76400006001908155614e206002556007819055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b6121636040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5073ffffffffffffffffffffffffffffffffffffffff808316600090815260036020818152604080842094861684526001948501825292839020835160c0810185528154815294810154918501919091526002810154928401929092528101546060830152600481015460808301526005015460a082015292915050565b6122136040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604090206002810154831061228b5760405162461bcd60e51b815260206004820152600f60248201527f6f7574206f6620757020626f756e6400000000000000000000000000000000006044820152606401610842565b8060020183815481106122ae57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505091505092915050565b60006001548310156123565760405162461bcd60e51b815260206004820152601460248201527f6465706f73697420697320746f6f20736d616c6c0000000000000000000000006044820152606401610842565b73ffffffffffffffffffffffffffffffffffffffff808616600090815260036020908152604080832093881683526001840190915281206002810154909190156123ac576123a98383637fffffff612936565b90505b858360000160008282546123c09190613309565b909155505060018201541580156123d957506004820154155b156123fe57600182018690556007546002808401919091558301546003830155612436565b6007548260020154101561241c576001820154825560075460028301555b858260010160008282546124309190613309565b90915550505b841561245657848260050160008282546124509190613309565b90915550505b8015612466576124668782612c1b565b50600101549695505050505050565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526003602090815260408083209387168352600180850190925282209081015491928392909190866124c1578096505b8061250e5760405162461bcd60e51b815260206004820152601860248201527f64656c656761746f7220646f6573206e6f7420657869737400000000000000006044820152606401610842565b8681146125c4576001548710156125675760405162461bcd60e51b815260206004820152601e60248201527f756e64656c656761746520616d6f756e7420697320746f6f20736d616c6c00006044820152606401610842565b866001546125759190613309565b8110156125c45760405162461bcd60e51b815260206004820152601d60248201527f72656d61696e696e6720616d6f756e7420697320746f6f20736d616c6c0000006044820152606401610842565b60006125d58484637fffffff612936565b9050878460000160008282546125eb91906133f2565b92505081905550600060075484600201541061260857835461260a565b825b905061261689846133f2565b9250600080856005015485101561267e5784866005015461263791906133f2565b6005870186905591508961267757600754600090815260086020908152604080832033845290915281208054849290612671908490613309565b90915550505b50816126b3565b82866005015461268e9190613309565b8510156126b357848387600501546126a69190613309565b6126b091906133f2565b90505b801561276a576126c381846133f2565b60028801549093501561276657600287018054600091906126e6906001906133f2565b8154811061270457634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020190506007548160040154141561275b578a15612747578187600401600082825461273c9190613309565b909155506127609050565b8181600301600082825461273c91906133f2565b600091505b5061276a565b5060005b8415801561277a57506004860154155b156127ce5773ffffffffffffffffffffffffffffffffffffffff8c166000908152600180890160205260408220828155908101829055600281018290556003810182905560048101829055600501556127e1565b8286556001860185905560075460028701555b83156127f1576127f18c85612c1b565b8a6127fc8284613309565b985098505050505050505094509492505050565b804710156128605760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610842565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146128ba576040519150601f19603f3d011682016040523d82523d6000602084013e6128bf565b606091505b50509050806112b05760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610842565b6002820154600754600091908082101561295257600060058601555b60028601546003860154818110612970576000945050505050612c14565b8161297b8783613309565b101561298e5761298b8682613309565b91505b81811015612c0b5760008860020182815481106129bb57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502019050600081600401549050848114156129e3575050612c0b565b600189015481871415612b7e5760048a0154600083815260086020908152604080832033845290915290205480821115612a4257612a2181836133f2565b60008581526008602090815260408083203384529091528120559150612a75565b600084815260086020908152604080832033845290915281208054849290612a6b9084906133f2565b9091555060009250505b8b600401548214612b5e576000612a9b86848f60040154612a9691906133f2565b612cd3565b9050856003015460001415612af9578d6002018781548110612acd57634e487b7160e01b600052603260045260246000fd5b600091825260208220600590910201818155600181018290556002810182905560038101829055600401555b61100273ffffffffffffffffffffffffffffffffffffffff1663631cbe3c826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612b4357600080fd5b505af1158015612b57573d6000803e3d6000fd5b5050505050505b8b54612b6b908390613309565b60018d01548d55600060048e0155925050505b8015612bf657612b8e8382612cd3565b612b989089613309565b9750826003015460001415612bf6578a6002018481548110612bca57634e487b7160e01b600052603260045260246000fd5b600091825260208220600590910201818155600181018290556002810182905560038101829055600401555b83612c0081613409565b94505050505061298e565b60038701555050505b9392505050565b612c258282612810565b6040805182815260016020820152339173ffffffffffffffffffffffffffffffffffffffff8516917fe33256fedbe96d2ddbd7462c2b1fc3b39e587b388060ce34d1ace27287dad8d39101610c70565b600081604051602001612c889190613204565b6040516020818303038152906040528051906020012083604051602001612caf9190613204565b6040516020818303038152906040528051906020012014905092915050565b015190565b60008183600301541015612d295760405162461bcd60e51b815260206004820152601460248201527f726577617264206973206e6f7420656e6f7567680000000000000000000000006044820152606401610842565b60008284600301541415612d495750600183015460006003850155612c14565b6004840154600090815260066020526040902054600285015485548290612d71908790613341565b612d7b9190613341565b612d859190613321565b91508185600101541015612ddb5760405162461bcd60e51b815260206004820152601a60248201527f7468657265206973206e6f7420656e6f756768207265776172640000000000006044820152606401610842565b83856003016000828254612def91906133f2565b9250508190555081856001016000828254612e0a91906133f2565b9091555050509392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612e3b57600080fd5b919050565b60008083601f840112612e51578182fd5b50813567ffffffffffffffff811115612e68578182fd5b6020830191508360208260051b85010111156114d157600080fd5b60008083601f840112612e94578182fd5b50813567ffffffffffffffff811115612eab578182fd5b6020830191508360208285010111156114d157600080fd5b600060208284031215612ed4578081fd5b612c1482612e17565b60008060408385031215612eef578081fd5b612ef883612e17565b9150612f0660208401612e17565b90509250929050565b600080600060608486031215612f23578081fd5b612f2c84612e17565b9250612f3a60208501612e17565b9150604084013590509250925092565b600080600060408486031215612f5e578283fd5b612f6784612e17565b9250602084013567ffffffffffffffff811115612f82578283fd5b612f8e86828701612e40565b9497909650939450505050565b60008060408385031215612fad578182fd5b612fb683612e17565b946020939093013593505050565b60008060208385031215612fd6578182fd5b823567ffffffffffffffff811115612fec578283fd5b612ff885828601612e40565b90969095509350505050565b60008060008060408587031215613019578081fd5b843567ffffffffffffffff80821115613030578283fd5b61303c88838901612e40565b90965094506020870135915080821115613054578283fd5b5061306187828801612e40565b95989497509550505050565b600080600080600060808688031215613084578081fd5b853567ffffffffffffffff81111561309a578182fd5b6130a688828901612e40565b9099909850602088013597604081013597506060013595509350505050565b6000602082840312156130d6578081fd5b81518015158114612c14578182fd5b6000602082840312156130f6578081fd5b81357fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081168114612c14578182fd5b6000806000806040858703121561313a578384fd5b843567ffffffffffffffff80821115613151578586fd5b61315d88838901612e83565b90965094506020870135915080821115613175578384fd5b5061306187828801612e83565b600060208284031215613193578081fd5b5035919050565b600080604083850312156131ac578182fd5b82359150612f0660208401612e17565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008251815b81811015613224576020818601810151858301520161320a565b818111156132325782828501525b509190910192915050565b606080825284519082018190526000906020906080840190828801845b828110156132765781518452928401929084019060010161325a565b505050908301949094525060400152919050565b60208152600061329e6020830184866131bc565b949350505050565b6040815260006132ba6040830186886131bc565b82810360208401526132cd8185876131bc565b979650505050505050565b6080815260006132ec6080830187896131bc565b602083019590955250604081019290925260609091015292915050565b6000821982111561331c5761331c613442565b500190565b60008261333c57634e487b7160e01b81526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561337957613379613442565b500290565b6000808312837f8000000000000000000000000000000000000000000000000000000000000000018312811516156133b8576133b8613442565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0183138116156133ec576133ec613442565b50500390565b60008282101561340457613404613442565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561343b5761343b613442565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212208148b47643e728cb4321b06ad94c5bd501a94bc2bbb15492418525676df2f92564736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(FoundationContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/d545ede09f6af0b2c2451f739234e582f0aeeb2b", + Code: "6080604052600436106100cb5760003560e01c80639dc0926211610074578063c81b16621161004e578063c81b166214610221578063dc927faf14610237578063f9a2bbc71461024d57600080fd5b80639dc09262146101cb578063a78abc16146101e1578063b11717241461020b57600080fd5b806343756e5c116100a557806343756e5c1461017f578063783028a9146101955780637b1837de146101ab57600080fd5b806304e9e3a41461011357806314c1e1f71461015357806325ee13e21461016957600080fd5b3661010e57341561010c5760405134815233907ff11e547d796cc64acdf758e7cee90439494fd886a19159454aa61e473fdbafef9060200160405180910390a25b005b600080fd5b34801561011f57600080fd5b5061012961100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561015f57600080fd5b5061012961100481565b34801561017557600080fd5b5061012961100581565b34801561018b57600080fd5b5061012961100181565b3480156101a157600080fd5b5061012961100881565b3480156101b757600080fd5b5061010c6101c6366004610481565b610263565b3480156101d757600080fd5b5061012961100681565b3480156101ed57600080fd5b506000546101fb9060ff1681565b604051901515815260200161014a565b34801561021757600080fd5b5061012961100981565b34801561022d57600080fd5b5061012961100281565b34801561024357600080fd5b5061012961100381565b34801561025957600080fd5b5061012961100081565b33611006146102f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e74726163740000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f706179656520616464726573732073686f756c64206e6f74206265207a65726f60448201526064016102f0565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146103d0576040519150601f19603f3d011682016040523d82523d6000602084013e6103d5565b606091505b505090508015610434578273ffffffffffffffffffffffffffffffffffffffff167f31ebdafac372cc15e781330654fb50d7097939848cd8278874383faabd06f0708360405161042791815260200190565b60405180910390a2505050565b6040805183815247602082015273ffffffffffffffffffffffffffffffffffffffff8516917f5eedd0e0efd48be4f0cda9cc21858c0c2b91194b1db3e4c200225f08eb6dcae39101610427565b60008060408385031215610493578182fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146104b6578283fd5b94602093909301359350505056fea26469706673582212204e5840eb48eb39a45c8f0bbf074f36e979997bcfb5b06bf9849b0253f97a89ac64736f6c63430008040033", + }, + }, + } } func UpgradeBuildInSystemContract(config *params.ChainConfig, blockNumber *big.Int, statedb *state.StateDB) { diff --git a/params/config.go b/params/config.go index 919db5c9e..594cef93c 100644 --- a/params/config.go +++ b/params/config.go @@ -256,7 +256,7 @@ var ( IstanbulBlock: big.NewInt(0), MuirGlacierBlock: big.NewInt(0), HashPowerBlock: big.NewInt(0), - ZeusBlock: nil, + ZeusBlock: big.NewInt(8_020_000), Satoshi: &SatoshiConfig{ Period: 3, Epoch: 200, diff --git a/params/version.go b/params/version.go index a382f0061..b9de9e31e 100644 --- a/params/version.go +++ b/params/version.go @@ -23,7 +23,7 @@ import ( const ( VersionMajor = 1 // Major version component of the current release VersionMinor = 0 // Minor version component of the current release - VersionPatch = 3 // Patch version component of the current release + VersionPatch = 4 // Patch version component of the current release VersionMeta = "" // Version metadata to append to the version string )