From 77bbc29e1a633a4ad09ce09be79fb537bcab5e6a Mon Sep 17 00:00:00 2001 From: ericlee Date: Fri, 20 Dec 2024 00:07:21 +0800 Subject: [PATCH] chore: update mainnet genesis --- core/genesis_goat.go | 24 +++++++++--------------- core/goat/mainnet.json | 38 +++++++++++++++++++++++++++++--------- version/version.go | 8 ++++---- 3 files changed, 42 insertions(+), 28 deletions(-) diff --git a/core/genesis_goat.go b/core/genesis_goat.go index 567df0307172..ebb0473ad723 100644 --- a/core/genesis_goat.go +++ b/core/genesis_goat.go @@ -1,7 +1,6 @@ package core import ( - "embed" "encoding/json" "math/big" @@ -12,19 +11,15 @@ import ( "github.com/ethereum/go-ethereum/params" ) -//go:embed goat -var goatGenesis embed.FS - var goatEmptyExtra = common.Hex2Bytes("0056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421") +//go:embed goat/testnet3.json +var goatTestnet3Alloc []byte + // DefaultGoatTestnet3GenesisBlock returns the Goat Testnet3 genesis block. func DefaultGoatTestnet3GenesisBlock() *Genesis { - raw, err := goatGenesis.ReadFile("goat/testnet3.json") - if err != nil { - panic(err) - } var alloc types.GenesisAlloc - if err := json.Unmarshal(raw, &alloc); err != nil { + if err := json.Unmarshal(goatTestnet3Alloc, &alloc); err != nil { panic(err) } return &Genesis{ @@ -39,20 +34,19 @@ func DefaultGoatTestnet3GenesisBlock() *Genesis { } } +//go:embed goat/mainnet.json +var goatMainnetAlloc []byte + // DefaultGoatMainnetGenesisBlock returns the Goat Mainnet genesis block. func DefaultGoatMainnetGenesisBlock() *Genesis { - raw, err := goatGenesis.ReadFile("goat/mainnet.json") - if err != nil { - panic(err) - } var alloc types.GenesisAlloc - if err := json.Unmarshal(raw, &alloc); err != nil { + if err := json.Unmarshal(goatMainnetAlloc, &alloc); err != nil { panic(err) } return &Genesis{ Config: params.GoatMainnetChainConfig, Nonce: 0, - Timestamp: 0x674d6b3a, + Timestamp: 0x676419e8, ExtraData: goatEmptyExtra, GasLimit: params.GoatTxGasLimit, Difficulty: common.Big0, diff --git a/core/goat/mainnet.json b/core/goat/mainnet.json index 304bca8d1f4d..650194525477 100644 --- a/core/goat/mainnet.json +++ b/core/goat/mainnet.json @@ -1,4 +1,24 @@ { + "738fe7d89c172239bf456d387ad2c60a79087917": { + "balance": "0x71afd498d0000", + "nonce": "0x0" + }, + "71a376962aa4a1245325857499324da8ede63c2d": { + "balance": "0xa65e86fd2a3800", + "nonce": "0x0" + }, + "2a1087740badcff415faa0b6379f12fa7628d397": { + "balance": "0x1550f7dca70000", + "nonce": "0x0" + }, + "5bb093d8870727b51e1746af83984291f41e8a4b": { + "balance": "0x9536c708910000", + "nonce": "0x0" + }, + "bb3da31029cd22bcec9615322c43663741b510fd": { + "balance": "0x11c37937e08000", + "nonce": "0x0" + }, "4e59b44847b379578588920ca78fbf26c0b4956c": { "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3", "balance": "0x0" @@ -66,7 +86,7 @@ "storage": { "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000853f96ed28e776afd7c56fbe19b04e94febfdbe1", "0x0000000000000000000000000000000000000000000000000000000000000004": "0x00000000000000000006000000000000000000000001c6bf52634000474f4154", - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x000000000000000000000000000000071afd498d000000140001c6bf52634000", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x00000000000000000000000000000000000000000000000a0001c6bf52634000", "0x31773ce5641d458709b34148820535392ad7c1dfa8a7baea3de330df9accc8e1": "0x0000000000000000000000000000000000000000000000000000000000000001", "0x83fb2464e123174ae6807273604c4e9b79a7a011b35c1c9364c1e7e1c555e844": "0x0000000000000000000000000000000000000000000000000000000000000001", "0xc9d1a8397eefa80091b6951ed20375ea61f0277a812b9d6eb071ba297e223130": "0x0000000000000000000000000000000000000000000000000000000000000001" @@ -75,17 +95,17 @@ "bC10000000000000000000000000000000000004": { "balance": "0x14d1120d7b160000", "nonce": "0x1", - "code": "0x6080604052600436106101d9575f3560e01c80635ba3a6a5116100fd578063bc01763711610092578063e486033911610062578063e4860339146105c4578063e4a28a521461063d578063e6a36cb61461066c578063f2fde38b1461068b575f5ffd5b8063bc01763714610548578063bd12835014610567578063bd9fadb514610586578063daea85c5146105a5575f5ffd5b80638da5cb5b116100cd5780638da5cb5b146104e15780639d879990146104fd578063aa94def21461051c578063af38d7571461052f575f5ffd5b80635ba3a6a51461045c5780635d0341ba1461047b578063715018a6146104b957806380e9071b146104cd575f5ffd5b806323435e2f1161017357806349a0bf8e1161014357806349a0bf8e146103d1578063505bd3da146103e5578063551b3cd21461041057806359e5332d1461043b575f5ffd5b806323435e2f14610341578063293cdbf1146103775780633396c8091461038b578063423905f2146103be575f5ffd5b80631485ff78116101ae5780631485ff78146102a1578063160e3f3d146102c45780631eeea1f3146102e357806321c0b34214610322575f5ffd5b806252c9e1146101dd578062aba51a146101fe578063022914a71461021d57806309e3faa71461026e575b5f5ffd5b3480156101e8575f5ffd5b506101fc6101f73660046125d6565b6106aa565b005b348015610209575f5ffd5b506101fc61021836600461261e565b61078d565b348015610228575f5ffd5b50610251610237366004612666565b60086020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610279575f5ffd5b506102517f000000000000000000000000bc1000000000000000000000000000000000000181565b3480156102ac575f5ffd5b506102b660055481565b604051908152602001610265565b3480156102cf575f5ffd5b506101fc6102de366004612686565b6108aa565b3480156102ee575f5ffd5b506103026102fd3660046126b3565b610954565b604080516001600160a01b03938416815292909116602083015201610265565b34801561032d575f5ffd5b506101fc61033c3660046125d6565b610971565b34801561034c575f5ffd5b506102b661035b3660046125d6565b600b60209081525f928352604080842090915290825290205481565b348015610382575f5ffd5b506101fc610a99565b348015610396575f5ffd5b506102b67f000000000000000000000000000000000000000000000000000000000000002081565b6101fc6103cc3660046126db565b610afc565b3480156103dc575f5ffd5b506102b6600881565b3480156103f0575f5ffd5b506102b66103ff366004612666565b600c6020525f908152604090205481565b34801561041b575f5ffd5b506102b661042a366004612666565b600a6020525f908152604090205481565b348015610446575f5ffd5b5061044f610d1c565b6040516102659190612721565b348015610467575f5ffd5b506101fc610476366004612778565b610e0d565b348015610486575f5ffd5b506104a9610495366004612666565b600d6020525f908152604090205460ff1681565b6040519015158152602001610265565b3480156104c4575f5ffd5b506101fc611115565b3480156104d8575f5ffd5b506101fc611128565b3480156104ec575f5ffd5b505f546001600160a01b0316610251565b348015610508575f5ffd5b506101fc6105173660046127b7565b6111bf565b6101fc61052a366004612827565b611450565b34801561053a575f5ffd5b506007546104a99060ff1681565b348015610553575f5ffd5b506101fc6105623660046127b7565b611537565b348015610572575f5ffd5b506101fc610581366004612876565b6115e0565b348015610591575f5ffd5b506101fc6105a036600461289e565b611883565b3480156105b0575f5ffd5b506101fc6105bf366004612666565b611a0b565b3480156105cf575f5ffd5b506106126105de366004612666565b60096020525f908152604090208054600182015460029092015460ff82169261010090920467ffffffffffffffff16919084565b60408051941515855267ffffffffffffffff9093166020850152918301526060820152608001610265565b348015610648575f5ffd5b50610653620f424081565b60405167ffffffffffffffff9091168152602001610265565b348015610677575f5ffd5b506101fc6106863660046128c8565b611a9f565b348015610696575f5ffd5b506101fc6106a5366004612666565b611ce7565b6001600160a01b038083165f90815260086020526040902054839116803381146106f8576040516370a4337d60e11b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b0383166107205760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b038481165f8181526008602090815260409182902080546001600160a01b031916948816948517905581519283528201929092527fadd4071c89e561d58065ade5130c43b17b1101714bca7d91d2515ba1cb9fc97691015b60405180910390a150505050565b833373bc10000000000000000000000000000000001001146107c25760405163a8af0d7960e01b815260040160405180910390fd5b67ffffffffffffffff81165f908152600e6020526040902054819060ff161561080b57604051639e5ce1a360e01b815267ffffffffffffffff90911660048201526024016106ef565b5067ffffffffffffffff81165f908152600e60205260409020805460ff191660011790556001600160a01b0383161580159061084657505f82115b1561085f5761085f6001600160a01b0384168584611d21565b6040805167ffffffffffffffff87168152602081018490527f31fa984883dfea329532d399d9106031006364f445ef2351a45c0d9cbc4ec72791015b60405180910390a15050505050565b6108b2611d9a565b5f81116108d257604051630dd484e760e41b815260040160405180910390fd5b6109076001600160a01b037f000000000000000000000000bc1000000000000000000000000000000000000116333084611dc6565b8060055f8282546109189190612939565b90915550506040518181527f41891e803e84c188180caa0f073ce4235b8002dac887a69fcdcae1d295951fa0906020015b60405180910390a150565b5f5f61095f83611dff565b61096884611f17565b91509150915091565b6001600160a01b038083165f90815260086020526040902054839116803381146109ba576040516370a4337d60e11b81526001600160a01b0390911660048201526024016106ef565b508360016109c88282611f47565b6001600160a01b0385166109ef5760405163f6b2911f60e01b815260040160405180910390fd5b600480547fa983a6cfc4bd1095dac7b145ae020ba08e16cc7efa2051cc6b77e4011b9ee99b9167ffffffffffffffff909116905f610a2c8361294c565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508787604051610a899392919067ffffffffffffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050505050565b610aa1611d9a565b60075460ff1615610ac55760405163eef336d960e01b815260040160405180910390fd5b6007805460ff191660011790556040517f8b1bc2671f5913bb778240df66342565720db9b7a01e7e78190ae6aa1e4bd0f3905f90a1565b600654610b1c576040516314d2abd360e21b815260040160405180910390fd5b5f610b2685611dff565b90505f468233604051602001610b6593929190928352606091821b6bffffffffffffffffffffffff199081166020850152911b16603482015260480190565b604051602081830303815290604052805190602001209050610b898184878761203f565b6001600160a01b0316610b9b87611f17565b6001600160a01b031614610bc257604051630e751dc360e31b815260040160405180910390fd5b6001600160a01b038281165f9081526008602052604090205483911615610c085760405163107f863360e21b81526001600160a01b0390911660048201526024016106ef565b506001600160a01b0382165f908152600d602052604090205460ff1680610c5857505f8052600d6020527f81955a0a11e65eac625c29e8882660bae4e165a75d72780094acae8ece9a29ee5460ff165b8290610c8357604051633e55e12b60e11b81526001600160a01b0390911660048201526024016106ef565b50600654610c9d908390610c98906001612939565b611f47565b6001600160a01b0382165f908152600860205260409081902080546001600160a01b0319163390811790915590517ff3aa84440b70359721372633122645674adb6dbb72622a222627248ef053a7dd91610cfb918591908a90612978565b60405180910390a1610d1482610d0f610d1c565b61206b565b505050505050565b6006546060905f9067ffffffffffffffff811115610d3c57610d3c61299f565b604051908082528060200260200182016040528015610d8057816020015b604080518082019091525f8082526020820152815260200190600190039081610d5a5790505b5090505f5b600654811015610e07575f60068281548110610da357610da36129b3565b5f9182526020808320909101546040805180820182526001600160a01b039092168083528085526009845293206002015491810191909152845191925090849084908110610df357610df36129b3565b602090810291909101015250600101610d85565b50919050565b610e15611d9a565b6001600160a01b0384165f9081526009602052604090205460ff1615610e4e57604051632ae3f45d60e11b815260040160405180910390fd5b6001600160a01b0384161580610ec65750836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebf91906129c7565b60ff166012145b610ee357604051638785ff4f60e01b815260040160405180910390fd5b5f8367ffffffffffffffff16118015610f085750620f424067ffffffffffffffff8416105b610f255760405163018a49e560e01b815260040160405180910390fd5b60408051608081018252600180825267ffffffffffffffff8681166020808501828152858701898152606087018981526001600160a01b038d165f818152600986528a902098518954945168ffffffffffffffffff1990951690151568ffffffffffffffff0019161761010094909716939093029590951787555194860194909455915160029094019390935583519182528101919091527fb59bf4596e5415117fb4625044cb5b0ca5b273742825b026d06afe82a48e6217910160405180910390a1604080516001600160a01b0386168152602081018490527f60ae001243ab6d87904798d941cb0935a98451d5ddac12c259193ddc12db0ae9910160405180910390a1801561110f5781158061103d5750808210155b828290916110675760405163068ade6560e31b8152600481019290925260248201526044016106ef565b505060065460081161108c57604051632970307360e11b815260040160405180910390fd5b600680546001810182555f919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319166001600160a01b03861690811790915560408051918252602082018390527f326e29ab1c62c7d77fdfb302916e82e1a54f3b9961db75ee7e18afe488a0e92d910161077f565b50505050565b61111d611d9a565b6111265f612380565b565b60075460ff1661114b576040516335b43c0360e11b815260040160405180910390fd5b335f908152600c602052604090205480611178576040516301e1880f60e51b815260040160405180910390fd5b335f818152600c60205260408120556111bc907f000000000000000000000000bc100000000000000000000000000000000000016001600160a01b03169083611d21565b50565b6111c7611d9a565b6001600160a01b0382165f90815260096020526040902054829060ff1661120d5760405163de6137d160e01b81526001600160a01b0390911660048201526024016106ef565b506001600160a01b0382165f908152600960205260409020600201548181036112495760405163aabb9c6360e01b815260040160405180910390fd5b6001600160a01b0383165f81815260096020908152604091829020600201859055815192835282018490527f326e29ab1c62c7d77fdfb302916e82e1a54f3b9961db75ee7e18afe488a0e92d910160405180910390a1801580156112ac57505f82115b15611325576006546008116112d457604051632970307360e11b815260040160405180910390fd5b50600680546001810182555f919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0384166001600160a01b03199091161790555050565b5f8111801561133357505f82115b1561133d57505050565b5f5b60065481101561110f57836001600160a01b031660068281548110611366576113666129b3565b5f918252602090912001546001600160a01b0316036114445760065461138e906001906129e2565b811461140b57600680546113a4906001906129e2565b815481106113b4576113b46129b3565b5f91825260209091200154600680546001600160a01b0390921691839081106113df576113df6129b3565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600680548061141c5761141c6129f5565b5f8281526020902081015f1990810180546001600160a01b03191690550190555061144c9050565b60010161133f565b5050565b6001600160a01b038084165f9081526008602052604090205484911680338114611499576040516370a4337d60e11b81526001600160a01b0390911660048201526024016106ef565b5084836114a68282611f47565b84158015906114b6575060088511155b6114d357604051632970307360e11b815260040160405180910390fd5b61152e878787808060200260200160405190810160405280939291908181526020015f905b828210156115245761151560408302860136819003810190612a09565b815260200190600101906114f8565b505050505061206b565b50505050505050565b61153f611d9a565b6001600160a01b0382165f90815260096020526040902054829060ff166115855760405163de6137d160e01b81526001600160a01b0390911660048201526024016106ef565b506001600160a01b0382165f81815260096020908152604091829020600101849055815192835282018390527f60ae001243ab6d87904798d941cb0935a98451d5ddac12c259193ddc12db0ae9910160405180910390a15050565b6115e8611d9a565b6001600160a01b0382165f90815260096020526040902054829060ff1661162e5760405163de6137d160e01b81526001600160a01b0390911660048201526024016106ef565b50620f424067ffffffffffffffff82161061165c5760405163018a49e560e01b815260040160405180910390fd5b604080516001600160a01b038416815267ffffffffffffffff831660208201527fb59bf4596e5415117fb4625044cb5b0ca5b273742825b026d06afe82a48e6217910160405180910390a167ffffffffffffffff8116156116f4576001600160a01b0382165f908152600960205260409020805467ffffffffffffffff83166101000268ffffffffffffffff00199091161790555050565b6001600160a01b0382165f908152600960205260408120600281018054825468ffffffffffffffffff1916835560019092018390559190915515158061173957505050565b5f5b60065481101561110f57836001600160a01b031660068281548110611762576117626129b3565b5f918252602090912001546001600160a01b03160361187b5760065461178a906001906129e2565b811461180757600680546117a0906001906129e2565b815481106117b0576117b06129b3565b5f91825260209091200154600680546001600160a01b0390921691839081106117db576117db6129b3565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505b6006805480611818576118186129f5565b5f82815260208082205f19908401810180546001600160a01b0319169055909201909255604080516001600160a01b0388168152918201929092527f326e29ab1c62c7d77fdfb302916e82e1a54f3b9961db75ee7e18afe488a0e92d910161077f565b60010161173b565b833373bc10000000000000000000000000000000001001146118b85760405163a8af0d7960e01b815260040160405180910390fd5b67ffffffffffffffff81165f908152600e6020526040902054819060ff161561190157604051639e5ce1a360e01b815267ffffffffffffffff90911660048201526024016106ef565b5067ffffffffffffffff81165f908152600e60205260409020805460ff191660011790556005548311156119355760055492505b82156119c35760075460ff161561197f5761197a6001600160a01b037f000000000000000000000000bc10000000000000000000000000000000000001168585611d21565b6119ac565b6001600160a01b0384165f908152600c6020526040812080548592906119a6908490612939565b90915550505b8260055f8282546119bd91906129e2565b90915550505b6040805167ffffffffffffffff87168152602081018590529081018390527f2b02cde117ae53d66dc4d0bdf72b2146e0e1070c1428d6274b0f98d628ad99c49060600161089b565b611a13611d9a565b6001600160a01b0381165f908152600d602052604090205460ff1615611a4c57604051632ef470fd60e11b815260040160405180910390fd5b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916600117905590519182527f19996ea5aede4d14af17b07567999b4c9d512663cfdaa4b01313d0c4af7a6ce79101610949565b6001600160a01b038085165f9081526008602052604090205485911680338114611ae8576040516370a4337d60e11b81526001600160a01b0390911660048201526024016106ef565b508583611af58282611f47565b8415801590611b05575060088511155b611b2257604051632970307360e11b815260040160405180910390fd5b6001600160a01b038716611b495760405163f6b2911f60e01b815260040160405180910390fd5b5f5b85811015611cdc575f878783818110611b6657611b666129b3565b905060400201803603810190611b7c9190612a09565b90505f816020015111611ba257604051630dd484e760e41b815260040160405180910390fd5b6020808201516001600160a01b03808d165f908152600b8452604080822086519093168252919093528220805491929091611bde9084906129e2565b909155505060208082015182516001600160a01b03165f908152600a90925260408220805491929091611c129084906129e2565b9091555050600480547f40f2a8c5e2e2a9ad2f4e4dfc69825595b526178445c3eb22b02edfd190601db79167ffffffffffffffff909116905f611c548361294c565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508b8b845f01518560200151604051611ccb95949392919067ffffffffffffffff9590951685526001600160a01b03938416602086015291831660408501529091166060830152608082015260a00190565b60405180910390a150600101611b4b565b505050505050505050565b611cef611d9a565b6001600160a01b038116611d1857604051631e4fbdf760e01b81525f60048201526024016106ef565b6111bc81612380565b6040516001600160a01b03838116602483015260448201839052611d9591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506123cf565b505050565b5f546001600160a01b031633146111265760405163118cdaa760e01b81523360048201526024016106ef565b6040516001600160a01b03848116602483015283811660448301526064820183905261110f9186918216906323b872dd90608401611d4e565b5f80602083013560011615611e1857600360f81b611e1e565b600160f91b5b6040517fff0000000000000000000000000000000000000000000000000000000000000082166020820152843560218201529091505f9060029060410160408051601f1981840301815290829052611e7591612a6b565b602060405180830381855afa158015611e90573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190611eb39190612a81565b9050600381604051602001611eca91815260200190565b60408051601f1981840301815290829052611ee491612a6b565b602060405180830381855afa158015611eff573d5f5f3e3d5ffd5b5050604051516001600160a01b031695945050505050565b5f81604051602001611f299190612a98565b60408051601f19818403018152919052805160209091012092915050565b7f000000000000000000000000000000000000000000000000000000000000000115611fc0576001600160a01b0382165f90815260036020526040902054439003611fa557604051631736a31960e01b815260040160405180910390fd5b6001600160a01b0382165f9081526003602052604090204390555b805f03611fcb575050565b6001544303611ff25780600180015f828254611fe79190612939565b90915550611ffc9050565b4360015560028190555b6002547f0000000000000000000000000000000000000000000000000000000000000020101561144c5760405163a74c1c5f60e01b815260040160405180910390fd5b5f5f5f5f61204f8888888861243b565b92509250925061205f8282612503565b50909695505050505050565b345f5b825181101561235c575f83828151811061208a5761208a6129b3565b60209081029190910181015180516001600160a01b03165f908152600983526040908190208151608081018352815460ff811615158252610100900467ffffffffffffffff16818601526001820154928101929092526002015460608201529181015190925061210d57604051630dd484e760e41b815260040160405180910390fd5b602081015182519067ffffffffffffffff166121485760405163de6137d160e01b81526001600160a01b0390911660048201526024016106ef565b506001600160a01b038087165f908152600b6020908152604080832086519094168352929052205460608201518110156121ce575f81836060015161218d91906129e2565b6020850151855191925082908111156121ca576040516349cd40ff60e01b81526001600160a01b03909216600483015260248201526044016106ef565b5050505b82516001600160a01b031661220e57602083015185811461220557604051630a61be9f60e41b81526004016106ef91815260200190565b505f945061222e565b6020830151835161222e916001600160a01b039091169033903090611dc6565b60208084015184516001600160a01b03165f908152600a90925260408220546122579190612939565b905082604001515f148061226f575080836040015110155b8451604085015190916122a65760405163421dca0560e11b81526001600160a01b03909216600483015260248201526044016106ef565b505083516001600160a01b039081165f908152600a60209081526040808320859055818801518c85168452600b83528184208951909516845293909152812080549091906122f5908490612939565b90915550508351602080860151604080516001600160a01b038d811682529094169284019290925282820152517fec36c0364d931187a76cf66d7eee08fad0ec2e8b7458a8d8b26b36769d4d13f39181900360600190a150506001909201915061206e9050565b505f811561110f57604051630a61be9f60e41b81526004016106ef91815260200190565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f60205f8451602086015f885af1806123ee576040513d5f823e3d81fd5b50505f513d91508115612405578060011415612412565b6001600160a01b0384163b155b1561110f57604051635274afe760e01b81526001600160a01b03851660048201526024016106ef565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561247457505f915060039050826124f9565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156124c5573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166124f057505f9250600191508290506124f9565b92505f91508190505b9450945094915050565b5f82600381111561251657612516612aa5565b0361251f575050565b600182600381111561253357612533612aa5565b036125515760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561256557612565612aa5565b036125865760405163fce698f760e01b8152600481018290526024016106ef565b600382600381111561259a5761259a612aa5565b0361144c576040516335e2f38360e21b8152600481018290526024016106ef565b80356001600160a01b03811681146125d1575f5ffd5b919050565b5f5f604083850312156125e7575f5ffd5b6125f0836125bb565b91506125fe602084016125bb565b90509250929050565b803567ffffffffffffffff811681146125d1575f5ffd5b5f5f5f5f60808587031215612631575f5ffd5b61263a85612607565b9350612648602086016125bb565b9250612656604086016125bb565b9396929550929360600135925050565b5f60208284031215612676575f5ffd5b61267f826125bb565b9392505050565b5f60208284031215612696575f5ffd5b5035919050565b80604081018310156126ad575f5ffd5b92915050565b5f604082840312156126c3575f5ffd5b61267f838361269d565b60ff811681146111bc575f5ffd5b5f5f5f5f60a085870312156126ee575f5ffd5b6126f8868661269d565b935060408501359250606085013591506080850135612716816126cd565b939692955090935050565b602080825282518282018190525f918401906040840190835b8181101561276d57835180516001600160a01b03168452602090810151818501529093019260409092019160010161273a565b509095945050505050565b5f5f5f5f6080858703121561278b575f5ffd5b612794856125bb565b93506127a260208601612607565b93969395505050506040820135916060013590565b5f5f604083850312156127c8575f5ffd5b6127d1836125bb565b946020939093013593505050565b5f5f83601f8401126127ef575f5ffd5b50813567ffffffffffffffff811115612806575f5ffd5b6020830191508360208260061b8501011115612820575f5ffd5b9250929050565b5f5f5f60408486031215612839575f5ffd5b612842846125bb565b9250602084013567ffffffffffffffff81111561285d575f5ffd5b612869868287016127df565b9497909650939450505050565b5f5f60408385031215612887575f5ffd5b612890836125bb565b91506125fe60208401612607565b5f5f5f5f608085870312156128b1575f5ffd5b6128ba85612607565b93506127a2602086016125bb565b5f5f5f5f606085870312156128db575f5ffd5b6128e4856125bb565b93506128f2602086016125bb565b9250604085013567ffffffffffffffff81111561290d575f5ffd5b612919878288016127df565b95989497509550505050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156126ad576126ad612925565b5f67ffffffffffffffff821667ffffffffffffffff810361296f5761296f612925565b60010192915050565b6001600160a01b038481168252831660208201526080810160408381840137949350505050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156129d7575f5ffd5b815161267f816126cd565b818103818111156126ad576126ad612925565b634e487b7160e01b5f52603160045260245ffd5b5f6040828403128015612a1a575f5ffd5b506040805190810167ffffffffffffffff81118282101715612a4a57634e487b7160e01b5f52604160045260245ffd5b604052612a56836125bb565b81526020928301359281019290925250919050565b5f82518060208501845e5f920191825250919050565b5f60208284031215612a91575f5ffd5b5051919050565b6040828237604001919050565b634e487b7160e01b5f52602160045260245ffdfea164736f6c634300081b000a", + "code": "0x6080604052600436106101d9575f3560e01c80635ba3a6a5116100fd578063bc01763711610092578063e486033911610062578063e4860339146105c4578063e4a28a521461063d578063e6a36cb61461066c578063f2fde38b1461068b575f5ffd5b8063bc01763714610548578063bd12835014610567578063bd9fadb514610586578063daea85c5146105a5575f5ffd5b80638da5cb5b116100cd5780638da5cb5b146104e15780639d879990146104fd578063aa94def21461051c578063af38d7571461052f575f5ffd5b80635ba3a6a51461045c5780635d0341ba1461047b578063715018a6146104b957806380e9071b146104cd575f5ffd5b806323435e2f1161017357806349a0bf8e1161014357806349a0bf8e146103d1578063505bd3da146103e5578063551b3cd21461041057806359e5332d1461043b575f5ffd5b806323435e2f14610341578063293cdbf1146103775780633396c8091461038b578063423905f2146103be575f5ffd5b80631485ff78116101ae5780631485ff78146102a1578063160e3f3d146102c45780631eeea1f3146102e357806321c0b34214610322575f5ffd5b806252c9e1146101dd578062aba51a146101fe578063022914a71461021d57806309e3faa71461026e575b5f5ffd5b3480156101e8575f5ffd5b506101fc6101f73660046124ef565b6106aa565b005b348015610209575f5ffd5b506101fc610218366004612537565b61078d565b348015610228575f5ffd5b5061025161023736600461257f565b60086020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610279575f5ffd5b506102517f000000000000000000000000bc1000000000000000000000000000000000000181565b3480156102ac575f5ffd5b506102b660055481565b604051908152602001610265565b3480156102cf575f5ffd5b506101fc6102de36600461259f565b610831565b3480156102ee575f5ffd5b506103026102fd3660046125cc565b6108db565b604080516001600160a01b03938416815292909116602083015201610265565b34801561032d575f5ffd5b506101fc61033c3660046124ef565b6108f8565b34801561034c575f5ffd5b506102b661035b3660046124ef565b600b60209081525f928352604080842090915290825290205481565b348015610382575f5ffd5b506101fc610a20565b348015610396575f5ffd5b506102b67f000000000000000000000000000000000000000000000000000000000000002081565b6101fc6103cc3660046125f4565b610a83565b3480156103dc575f5ffd5b506102b6600881565b3480156103f0575f5ffd5b506102b66103ff36600461257f565b600c6020525f908152604090205481565b34801561041b575f5ffd5b506102b661042a36600461257f565b600a6020525f908152604090205481565b348015610446575f5ffd5b5061044f610ca3565b604051610265919061263a565b348015610467575f5ffd5b506101fc610476366004612691565b610d94565b348015610486575f5ffd5b506104a961049536600461257f565b600d6020525f908152604090205460ff1681565b6040519015158152602001610265565b3480156104c4575f5ffd5b506101fc61109c565b3480156104d8575f5ffd5b506101fc6110af565b3480156104ec575f5ffd5b505f546001600160a01b0316610251565b348015610508575f5ffd5b506101fc6105173660046126d0565b611146565b6101fc61052a366004612740565b6113d7565b34801561053a575f5ffd5b506007546104a99060ff1681565b348015610553575f5ffd5b506101fc6105623660046126d0565b6114be565b348015610572575f5ffd5b506101fc61058136600461278f565b611567565b348015610591575f5ffd5b506101fc6105a03660046127b7565b61180a565b3480156105b0575f5ffd5b506101fc6105bf36600461257f565b611924565b3480156105cf575f5ffd5b506106126105de36600461257f565b60096020525f908152604090208054600182015460029092015460ff82169261010090920467ffffffffffffffff16919084565b60408051941515855267ffffffffffffffff9093166020850152918301526060820152608001610265565b348015610648575f5ffd5b50610653620f424081565b60405167ffffffffffffffff9091168152602001610265565b348015610677575f5ffd5b506101fc6106863660046127e1565b6119b8565b348015610696575f5ffd5b506101fc6106a536600461257f565b611c00565b6001600160a01b038083165f90815260086020526040902054839116803381146106f8576040516370a4337d60e11b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b0383166107205760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b038481165f8181526008602090815260409182902080546001600160a01b031916948816948517905581519283528201929092527fadd4071c89e561d58065ade5130c43b17b1101714bca7d91d2515ba1cb9fc97691015b60405180910390a150505050565b3373bc10000000000000000000000000000000001001146107c15760405163a8af0d7960e01b815260040160405180910390fd5b6001600160a01b038216158015906107d857505f81115b156107f1576107f16001600160a01b0383168483611c3a565b6040805167ffffffffffffffff86168152602081018390527f31fa984883dfea329532d399d9106031006364f445ef2351a45c0d9cbc4ec727910161077f565b610839611cb3565b5f811161085957604051630dd484e760e41b815260040160405180910390fd5b61088e6001600160a01b037f000000000000000000000000bc1000000000000000000000000000000000000116333084611cdf565b8060055f82825461089f9190612852565b90915550506040518181527f41891e803e84c188180caa0f073ce4235b8002dac887a69fcdcae1d295951fa0906020015b60405180910390a150565b5f5f6108e683611d18565b6108ef84611e30565b91509150915091565b6001600160a01b038083165f9081526008602052604090205483911680338114610941576040516370a4337d60e11b81526001600160a01b0390911660048201526024016106ef565b5083600161094f8282611e60565b6001600160a01b0385166109765760405163f6b2911f60e01b815260040160405180910390fd5b600480547fa983a6cfc4bd1095dac7b145ae020ba08e16cc7efa2051cc6b77e4011b9ee99b9167ffffffffffffffff909116905f6109b383612865565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508787604051610a109392919067ffffffffffffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050505050565b610a28611cb3565b60075460ff1615610a4c5760405163eef336d960e01b815260040160405180910390fd5b6007805460ff191660011790556040517f8b1bc2671f5913bb778240df66342565720db9b7a01e7e78190ae6aa1e4bd0f3905f90a1565b600654610aa3576040516314d2abd360e21b815260040160405180910390fd5b5f610aad85611d18565b90505f468233604051602001610aec93929190928352606091821b6bffffffffffffffffffffffff199081166020850152911b16603482015260480190565b604051602081830303815290604052805190602001209050610b1081848787611f58565b6001600160a01b0316610b2287611e30565b6001600160a01b031614610b4957604051630e751dc360e31b815260040160405180910390fd5b6001600160a01b038281165f9081526008602052604090205483911615610b8f5760405163107f863360e21b81526001600160a01b0390911660048201526024016106ef565b506001600160a01b0382165f908152600d602052604090205460ff1680610bdf57505f8052600d6020527f81955a0a11e65eac625c29e8882660bae4e165a75d72780094acae8ece9a29ee5460ff165b8290610c0a57604051633e55e12b60e11b81526001600160a01b0390911660048201526024016106ef565b50600654610c24908390610c1f906001612852565b611e60565b6001600160a01b0382165f908152600860205260409081902080546001600160a01b0319163390811790915590517ff3aa84440b70359721372633122645674adb6dbb72622a222627248ef053a7dd91610c82918591908a90612891565b60405180910390a1610c9b82610c96610ca3565b611f84565b505050505050565b6006546060905f9067ffffffffffffffff811115610cc357610cc36128b8565b604051908082528060200260200182016040528015610d0757816020015b604080518082019091525f8082526020820152815260200190600190039081610ce15790505b5090505f5b600654811015610d8e575f60068281548110610d2a57610d2a6128cc565b5f9182526020808320909101546040805180820182526001600160a01b039092168083528085526009845293206002015491810191909152845191925090849084908110610d7a57610d7a6128cc565b602090810291909101015250600101610d0c565b50919050565b610d9c611cb3565b6001600160a01b0384165f9081526009602052604090205460ff1615610dd557604051632ae3f45d60e11b815260040160405180910390fd5b6001600160a01b0384161580610e4d5750836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e22573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4691906128e0565b60ff166012145b610e6a57604051638785ff4f60e01b815260040160405180910390fd5b5f8367ffffffffffffffff16118015610e8f5750620f424067ffffffffffffffff8416105b610eac5760405163018a49e560e01b815260040160405180910390fd5b60408051608081018252600180825267ffffffffffffffff8681166020808501828152858701898152606087018981526001600160a01b038d165f818152600986528a902098518954945168ffffffffffffffffff1990951690151568ffffffffffffffff0019161761010094909716939093029590951787555194860194909455915160029094019390935583519182528101919091527fb59bf4596e5415117fb4625044cb5b0ca5b273742825b026d06afe82a48e6217910160405180910390a1604080516001600160a01b0386168152602081018490527f60ae001243ab6d87904798d941cb0935a98451d5ddac12c259193ddc12db0ae9910160405180910390a1801561109657811580610fc45750808210155b82829091610fee5760405163068ade6560e31b8152600481019290925260248201526044016106ef565b505060065460081161101357604051632970307360e11b815260040160405180910390fd5b600680546001810182555f919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319166001600160a01b03861690811790915560408051918252602082018390527f326e29ab1c62c7d77fdfb302916e82e1a54f3b9961db75ee7e18afe488a0e92d910161077f565b50505050565b6110a4611cb3565b6110ad5f612299565b565b60075460ff166110d2576040516335b43c0360e11b815260040160405180910390fd5b335f908152600c6020526040902054806110ff576040516301e1880f60e51b815260040160405180910390fd5b335f818152600c6020526040812055611143907f000000000000000000000000bc100000000000000000000000000000000000016001600160a01b03169083611c3a565b50565b61114e611cb3565b6001600160a01b0382165f90815260096020526040902054829060ff166111945760405163de6137d160e01b81526001600160a01b0390911660048201526024016106ef565b506001600160a01b0382165f908152600960205260409020600201548181036111d05760405163aabb9c6360e01b815260040160405180910390fd5b6001600160a01b0383165f81815260096020908152604091829020600201859055815192835282018490527f326e29ab1c62c7d77fdfb302916e82e1a54f3b9961db75ee7e18afe488a0e92d910160405180910390a18015801561123357505f82115b156112ac5760065460081161125b57604051632970307360e11b815260040160405180910390fd5b50600680546001810182555f919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0384166001600160a01b03199091161790555050565b5f811180156112ba57505f82115b156112c457505050565b5f5b60065481101561109657836001600160a01b0316600682815481106112ed576112ed6128cc565b5f918252602090912001546001600160a01b0316036113cb57600654611315906001906128fb565b8114611392576006805461132b906001906128fb565b8154811061133b5761133b6128cc565b5f91825260209091200154600680546001600160a01b039092169183908110611366576113666128cc565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505b60068054806113a3576113a361290e565b5f8281526020902081015f1990810180546001600160a01b0319169055019055506113d39050565b6001016112c6565b5050565b6001600160a01b038084165f9081526008602052604090205484911680338114611420576040516370a4337d60e11b81526001600160a01b0390911660048201526024016106ef565b50848361142d8282611e60565b841580159061143d575060088511155b61145a57604051632970307360e11b815260040160405180910390fd5b6114b5878787808060200260200160405190810160405280939291908181526020015f905b828210156114ab5761149c60408302860136819003810190612922565b8152602001906001019061147f565b5050505050611f84565b50505050505050565b6114c6611cb3565b6001600160a01b0382165f90815260096020526040902054829060ff1661150c5760405163de6137d160e01b81526001600160a01b0390911660048201526024016106ef565b506001600160a01b0382165f81815260096020908152604091829020600101849055815192835282018390527f60ae001243ab6d87904798d941cb0935a98451d5ddac12c259193ddc12db0ae9910160405180910390a15050565b61156f611cb3565b6001600160a01b0382165f90815260096020526040902054829060ff166115b55760405163de6137d160e01b81526001600160a01b0390911660048201526024016106ef565b50620f424067ffffffffffffffff8216106115e35760405163018a49e560e01b815260040160405180910390fd5b604080516001600160a01b038416815267ffffffffffffffff831660208201527fb59bf4596e5415117fb4625044cb5b0ca5b273742825b026d06afe82a48e6217910160405180910390a167ffffffffffffffff81161561167b576001600160a01b0382165f908152600960205260409020805467ffffffffffffffff83166101000268ffffffffffffffff00199091161790555050565b6001600160a01b0382165f908152600960205260408120600281018054825468ffffffffffffffffff191683556001909201839055919091551515806116c057505050565b5f5b60065481101561109657836001600160a01b0316600682815481106116e9576116e96128cc565b5f918252602090912001546001600160a01b03160361180257600654611711906001906128fb565b811461178e5760068054611727906001906128fb565b81548110611737576117376128cc565b5f91825260209091200154600680546001600160a01b039092169183908110611762576117626128cc565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600680548061179f5761179f61290e565b5f82815260208082205f19908401810180546001600160a01b0319169055909201909255604080516001600160a01b0388168152918201929092527f326e29ab1c62c7d77fdfb302916e82e1a54f3b9961db75ee7e18afe488a0e92d910161077f565b6001016116c2565b3373bc100000000000000000000000000000000010011461183e5760405163a8af0d7960e01b815260040160405180910390fd5b81600554101561184e5760055491505b81156118dc5760075460ff1615611898576118936001600160a01b037f000000000000000000000000bc10000000000000000000000000000000000001168484611c3a565b6118c5565b6001600160a01b0383165f908152600c6020526040812080548492906118bf908490612852565b90915550505b8160055f8282546118d691906128fb565b90915550505b6040805167ffffffffffffffff86168152602081018490529081018290527f2b02cde117ae53d66dc4d0bdf72b2146e0e1070c1428d6274b0f98d628ad99c49060600161077f565b61192c611cb3565b6001600160a01b0381165f908152600d602052604090205460ff161561196557604051632ef470fd60e11b815260040160405180910390fd5b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916600117905590519182527f19996ea5aede4d14af17b07567999b4c9d512663cfdaa4b01313d0c4af7a6ce791016108d0565b6001600160a01b038085165f9081526008602052604090205485911680338114611a01576040516370a4337d60e11b81526001600160a01b0390911660048201526024016106ef565b508583611a0e8282611e60565b8415801590611a1e575060088511155b611a3b57604051632970307360e11b815260040160405180910390fd5b6001600160a01b038716611a625760405163f6b2911f60e01b815260040160405180910390fd5b5f5b85811015611bf5575f878783818110611a7f57611a7f6128cc565b905060400201803603810190611a959190612922565b90505f816020015111611abb57604051630dd484e760e41b815260040160405180910390fd5b6020808201516001600160a01b03808d165f908152600b8452604080822086519093168252919093528220805491929091611af79084906128fb565b909155505060208082015182516001600160a01b03165f908152600a90925260408220805491929091611b2b9084906128fb565b9091555050600480547f40f2a8c5e2e2a9ad2f4e4dfc69825595b526178445c3eb22b02edfd190601db79167ffffffffffffffff909116905f611b6d83612865565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508b8b845f01518560200151604051611be495949392919067ffffffffffffffff9590951685526001600160a01b03938416602086015291831660408501529091166060830152608082015260a00190565b60405180910390a150600101611a64565b505050505050505050565b611c08611cb3565b6001600160a01b038116611c3157604051631e4fbdf760e01b81525f60048201526024016106ef565b61114381612299565b6040516001600160a01b03838116602483015260448201839052611cae91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506122e8565b505050565b5f546001600160a01b031633146110ad5760405163118cdaa760e01b81523360048201526024016106ef565b6040516001600160a01b0384811660248301528381166044830152606482018390526110969186918216906323b872dd90608401611c67565b5f80602083013560011615611d3157600360f81b611d37565b600160f91b5b6040517fff0000000000000000000000000000000000000000000000000000000000000082166020820152843560218201529091505f9060029060410160408051601f1981840301815290829052611d8e91612984565b602060405180830381855afa158015611da9573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190611dcc919061299a565b9050600381604051602001611de391815260200190565b60408051601f1981840301815290829052611dfd91612984565b602060405180830381855afa158015611e18573d5f5f3e3d5ffd5b5050604051516001600160a01b031695945050505050565b5f81604051602001611e4291906129b1565b60408051601f19818403018152919052805160209091012092915050565b7f000000000000000000000000000000000000000000000000000000000000000115611ed9576001600160a01b0382165f90815260036020526040902054439003611ebe57604051631736a31960e01b815260040160405180910390fd5b6001600160a01b0382165f9081526003602052604090204390555b805f03611ee4575050565b6001544303611f0b5780600180015f828254611f009190612852565b90915550611f159050565b4360015560028190555b6002547f000000000000000000000000000000000000000000000000000000000000002010156113d35760405163a74c1c5f60e01b815260040160405180910390fd5b5f5f5f5f611f6888888888612354565b925092509250611f78828261241c565b50909695505050505050565b345f5b8251811015612275575f838281518110611fa357611fa36128cc565b60209081029190910181015180516001600160a01b03165f908152600983526040908190208151608081018352815460ff811615158252610100900467ffffffffffffffff16818601526001820154928101929092526002015460608201529181015190925061202657604051630dd484e760e41b815260040160405180910390fd5b602081015182519067ffffffffffffffff166120615760405163de6137d160e01b81526001600160a01b0390911660048201526024016106ef565b506001600160a01b038087165f908152600b6020908152604080832086519094168352929052205460608201518110156120e7575f8183606001516120a691906128fb565b6020850151855191925082908111156120e3576040516349cd40ff60e01b81526001600160a01b03909216600483015260248201526044016106ef565b5050505b82516001600160a01b031661212757602083015185811461211e57604051630a61be9f60e41b81526004016106ef91815260200190565b505f9450612147565b60208301518351612147916001600160a01b039091169033903090611cdf565b60208084015184516001600160a01b03165f908152600a90925260408220546121709190612852565b905082604001515f1480612188575080836040015110155b8451604085015190916121bf5760405163421dca0560e11b81526001600160a01b03909216600483015260248201526044016106ef565b505083516001600160a01b039081165f908152600a60209081526040808320859055818801518c85168452600b835281842089519095168452939091528120805490919061220e908490612852565b90915550508351602080860151604080516001600160a01b038d811682529094169284019290925282820152517fec36c0364d931187a76cf66d7eee08fad0ec2e8b7458a8d8b26b36769d4d13f39181900360600190a1505060019092019150611f879050565b505f811561109657604051630a61be9f60e41b81526004016106ef91815260200190565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f60205f8451602086015f885af180612307576040513d5f823e3d81fd5b50505f513d9150811561231e57806001141561232b565b6001600160a01b0384163b155b1561109657604051635274afe760e01b81526001600160a01b03851660048201526024016106ef565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561238d57505f91506003905082612412565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156123de573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661240957505f925060019150829050612412565b92505f91508190505b9450945094915050565b5f82600381111561242f5761242f6129be565b03612438575050565b600182600381111561244c5761244c6129be565b0361246a5760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561247e5761247e6129be565b0361249f5760405163fce698f760e01b8152600481018290526024016106ef565b60038260038111156124b3576124b36129be565b036113d3576040516335e2f38360e21b8152600481018290526024016106ef565b80356001600160a01b03811681146124ea575f5ffd5b919050565b5f5f60408385031215612500575f5ffd5b612509836124d4565b9150612517602084016124d4565b90509250929050565b803567ffffffffffffffff811681146124ea575f5ffd5b5f5f5f5f6080858703121561254a575f5ffd5b61255385612520565b9350612561602086016124d4565b925061256f604086016124d4565b9396929550929360600135925050565b5f6020828403121561258f575f5ffd5b612598826124d4565b9392505050565b5f602082840312156125af575f5ffd5b5035919050565b80604081018310156125c6575f5ffd5b92915050565b5f604082840312156125dc575f5ffd5b61259883836125b6565b60ff81168114611143575f5ffd5b5f5f5f5f60a08587031215612607575f5ffd5b61261186866125b6565b93506040850135925060608501359150608085013561262f816125e6565b939692955090935050565b602080825282518282018190525f918401906040840190835b8181101561268657835180516001600160a01b031684526020908101518185015290930192604090920191600101612653565b509095945050505050565b5f5f5f5f608085870312156126a4575f5ffd5b6126ad856124d4565b93506126bb60208601612520565b93969395505050506040820135916060013590565b5f5f604083850312156126e1575f5ffd5b6126ea836124d4565b946020939093013593505050565b5f5f83601f840112612708575f5ffd5b50813567ffffffffffffffff81111561271f575f5ffd5b6020830191508360208260061b8501011115612739575f5ffd5b9250929050565b5f5f5f60408486031215612752575f5ffd5b61275b846124d4565b9250602084013567ffffffffffffffff811115612776575f5ffd5b612782868287016126f8565b9497909650939450505050565b5f5f604083850312156127a0575f5ffd5b6127a9836124d4565b915061251760208401612520565b5f5f5f5f608085870312156127ca575f5ffd5b6127d385612520565b93506126bb602086016124d4565b5f5f5f5f606085870312156127f4575f5ffd5b6127fd856124d4565b935061280b602086016124d4565b9250604085013567ffffffffffffffff811115612826575f5ffd5b612832878288016126f8565b95989497509550505050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156125c6576125c661283e565b5f67ffffffffffffffff821667ffffffffffffffff81036128885761288861283e565b60010192915050565b6001600160a01b038481168252831660208201526080810160408381840137949350505050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156128f0575f5ffd5b8151612598816125e6565b818103818111156125c6576125c661283e565b634e487b7160e01b5f52603160045260245ffd5b5f6040828403128015612933575f5ffd5b506040805190810167ffffffffffffffff8111828210171561296357634e487b7160e01b5f52604160045260245ffd5b60405261296f836124d4565b81526020928301359281019290925250919050565b5f82518060208501845e5f920191825250919050565b5f602082840312156129aa575f5ffd5b5051919050565b6040828237604001919050565b634e487b7160e01b5f52602160045260245ffdfea164736f6c634300081b000a", "storage": { "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000f1b4ea97bebb568a945345fed882f3d3219b3e44", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000023", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000025", "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000005": "0x000000000000000000000000000000000000000000a56fa5b99019a5c8000000", "0x0000000000000000000000000000000000000000000000000000000000000006": "0x0000000000000000000000000000000000000000000000000000000000000001", "0x106c0985205591d03b09a6d23c055855b032fd01222765f63a853daa589b33f5": "0x00000000000000000000000000000000000000000000000006f05b59d3b20000", "0x13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3": "0x00000000000000000000000000000000000000000000000014d1120d7b160000", - "0x1aa40fcda5613db4a6323ad2a6558319c7c32684d4aea3b9d3cbf3b5225809f9": "0x0000000000000000000000000000000000000000000000000000000000000020", - "0x3c7f400b3f98b3434d83022fb3e72214a13add6711ad003fdbb3d6192982d983": "0x000000000000000000000000000000000000000000000000000000000000001d", + "0x1aa40fcda5613db4a6323ad2a6558319c7c32684d4aea3b9d3cbf3b5225809f9": "0x0000000000000000000000000000000000000000000000000000000000000022", + "0x3c7f400b3f98b3434d83022fb3e72214a13add6711ad003fdbb3d6192982d983": "0x000000000000000000000000000000000000000000000000000000000000001f", "0x60ea9dbdabefa70d6dbbd307114861b1f51f2d42da767df414b1ef1945cb3581": "0x00000000000000000000000000000000000000000000000006f05b59d3b20000", "0x6f7d694851573f774a58b364bb8c0d9d3b4ab995b5140adbd4d2a0f7652ba644": "0x0000000000000000000000000000000000000000000000000000000000000001", "0x7dd9637047b493acfa24ead1da2827dd0a32a776fc046018bd792560909912ce": "0x00000000000000000000000000000000000000000000000006f05b59d3b20000", @@ -97,7 +117,7 @@ "0xec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b": "0x0000000000000000000000000000000000000000000000000000000007a12001", "0xec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6c": "0x00000000000000000000000000000000000000000000001043561a8829300000", "0xec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6d": "0x00000000000000000000000000000000000000000000000006f05b59d3b20000", - "0xef87d982b34d4475bf5573f4f6f0ce6070181760618517e68e51cedd99505bd2": "0x0000000000000000000000000000000000000000000000000000000000000023", + "0xef87d982b34d4475bf5573f4f6f0ce6070181760618517e68e51cedd99505bd2": "0x0000000000000000000000000000000000000000000000000000000000000025", "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f": "0x0000000000000000000000000000000000000000000000000000000000000000" } }, @@ -107,9 +127,9 @@ "code": "0x608060405234801561000f575f5ffd5b5060043610610064575f3560e01c806385df51fd1161004d57806385df51fd1461009d57806394f490bd146100bc578063e405bbc3146100d1575f5ffd5b8063107bf28c1461006857806326a6557a14610086575b5f5ffd5b6100706100da565b60405161007d91906101fe565b60405180910390f35b61008f60015481565b60405190815260200161007d565b61008f6100ab366004610233565b5f9081526003602052604090205490565b6100cf6100ca366004610233565b610165565b005b61008f60025481565b5f80546100e69061024a565b80601f01602080910402602001604051908101604052809291908181526020018280546101129061024a565b801561015d5780601f106101345761010080835404028352916020019161015d565b820191905f5260205f20905b81548152906001019060200180831161014057829003601f168201915b505050505081565b3373bc100000000000000000000000000000000010001461019957604051634ca8886760e01b815260040160405180910390fd5b5f60025f81546101a890610282565b91829055505f8181526003602052604090819020849055519091507fdd5483f1119d050d70b0fe3ed9db0b5f41b3ec55838346cbb624efe0565b0133906101f29083815260200190565b60405180910390a15050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610243575f5ffd5b5035919050565b600181811c9082168061025e57607f821691505b60208210810361027c57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f6001820161029f57634e487b7160e01b5f52601160045260245ffd5b506001019056fea164736f6c634300081b000a", "storage": { "0x0000000000000000000000000000000000000000000000000000000000000000": "0x6d61696e6e65740000000000000000000000000000000000000000000000000e", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x00000000000000000000000000000000000000000000000000000000000d519d", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000000d519d", - "0xc991b534b29466ed64c97db2fe70276f8140e097d9e6f020f7ee820e53a8fd3e": "0x2ec9b932e108cbf1254a4afcb19afe38230f368e95c100000000000000000000" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x00000000000000000000000000000000000000000000000000000000000d5ba6", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000000d5ba6", + "0xe6d4c1e2facae6a511c19079faafa99ab63bcbefe323de88c92b6269bf0f8292": "0x4b36682d9ecd8faa51090fc45d7e614c656c429d885201000000000000000000" } }, "BC10000000000000000000000000000000000006": { diff --git a/version/version.go b/version/version.go index f010adf0353e..9b2ddeb6f9b4 100644 --- a/version/version.go +++ b/version/version.go @@ -17,8 +17,8 @@ package version const ( - Major = 1 // Major version component of the current release - Minor = 14 // Minor version component of the current release - Patch = 12 // Patch version component of the current release - Meta = "stable" // Version metadata to append to the version string + Major = 0 // Major version component of the current release + Minor = 1 // Minor version component of the current release + Patch = 4 // Patch version component of the current release + Meta = "stable-1.14.12" // Version metadata to append to the version string )