diff --git a/core/vm/wrapped_a0gi_base.go b/core/vm/wrapped_a0gi_base.go index 6c15a6bb90..af5633618f 100644 --- a/core/vm/wrapped_a0gi_base.go +++ b/core/vm/wrapped_a0gi_base.go @@ -241,16 +241,20 @@ func (w *WrappedA0giBasePrecompile) Burn( } func (w *WrappedA0giBasePrecompile) getAgency() common.Address { - // This is a Multi-sig contract deployed by a raw transaction: + // This is a upgradeable contract deployed in Beacon-Proxy pattern in three raw transaction: // raw tx params: - // from: - // nonce: 0 + // from: 0x3504d167b83f6fc763ed006ad9b3ae2c90ad1c5b + // nonce: 0..2 // gasPrice: 100 Gwei // gasLimit: 1000000 // The sender is an ephemeral account, nobody holds its private key and this is the only transaction it signed. // This transaction is a legacy transaction without chain ID so it can be deployed at any EVM chain which supports pre-EIP155 transactions. - // raw tx: - return common.HexToAddress("0x0000000000000000000000000000000000000000") + // raw tx #0(implementation): 0xf905ef8085174876e800830f42408080b9059c608060405234801561001057600080fd5b5061057c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638129fc1c146100715780638da5cb5b14610079578063c8dd1a26146100c1578063dddba6c8146100ca578063f2fde38b146100dd575b600080fd5b61006f6100f0565b005b61006f610104565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b6100a561100281565b61006f6100d83660046104c2565b610227565b61006f6100eb3660046104f5565b61033a565b6100f8610378565b61010260006103d3565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff1660008115801561014a5750825b905060008267ffffffffffffffff1660011480156101675750303b155b905081158015610175575080155b156101935760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156101bd57845460ff60401b1916600160401b1785555b6101da732d7f2d2286994477ba878f321b17a7e40e52cda4610444565b831561022057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b61022f610378565b6040516001600160a01b038416602482015260448101839052606481018290526000906110029060840160408051601f198184030181529181526020820180516001600160e01b0316631bbb74d960e31b1790525161028e9190610517565b6000604051808303816000865af19150503d80600081146102cb576040519150601f19603f3d011682016040523d82523d6000602084013e6102d0565b606091505b50509050806103345760405162461bcd60e51b815260206004820152602560248201527f7772617070656420613067692062617365207365744d696e7465724361702066604482015264185a5b195960da1b60648201526084015b60405180910390fd5b50505050565b610342610378565b6001600160a01b03811661036c57604051631e4fbdf760e01b81526000600482015260240161032b565b610375816103d3565b50565b336103aa7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146101025760405163118cdaa760e01b815233600482015260240161032b565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b61044c610455565b6103758161049e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661010257604051631afcd79f60e31b815260040160405180910390fd5b610342610455565b80356001600160a01b03811681146104bd57600080fd5b919050565b6000806000606084860312156104d757600080fd5b6104e0846104a6565b95602085013595506040909401359392505050565b60006020828403121561050757600080fd5b610510826104a6565b9392505050565b6000825160005b81811015610538576020818601810151858301520161051e565b50600092019182525091905056fea26469706673582212201bc776e718351abafec5f665778c1e36e86e42d150a1555947e32c251669ef2564736f6c634300081400331ca0387754e94e273cf7d520ee01bf551d277a8de7da62a95fe38691c413294b0bfda0015e1f3af836be67761814b0bf20f49e9b6455836c7fd363a1d10c518f1d66c7 + // raw tx #1(beacon): 0xf904cb0185174876e800830f42408080b90478608060405234801561001057600080fd5b5060405161043838038061043883398101604081905261002f91610165565b806001600160a01b03811661005f57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61006881610079565b50610072826100c9565b5050610198565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b806001600160a01b03163b6000036100ff5760405163211eb15960e21b81526001600160a01b0382166004820152602401610056565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b80516001600160a01b038116811461016057600080fd5b919050565b6000806040838503121561017857600080fd5b61018183610149565b915061018f60208401610149565b90509250929050565b610291806101a76000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a61461009a5780638da5cb5b146100a2578063f2fde38b146100b3575b600080fd5b61006f61006a36600461022b565b6100c6565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006f6100da565b6000546001600160a01b031661007e565b61006f6100c136600461022b565b6100ee565b6100ce61012e565b6100d78161015b565b50565b6100e261012e565b6100ec60006101db565b565b6100f661012e565b6001600160a01b03811661012557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6100d7816101db565b6000546001600160a01b031633146100ec5760405163118cdaa760e01b815233600482015260240161011c565b806001600160a01b03163b6000036101915760405163211eb15960e21b81526001600160a01b038216600482015260240161011c565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561023d57600080fd5b81356001600160a01b038116811461025457600080fd5b939250505056fea26469706673582212205220e5b3095ab739313888ed7a605b359ca52e79f2a5a6297e03c439e8e8b30764736f6c63430008140033000000000000000000000000cc46de259693c7ca0a776903381fd9b30f7973680000000000000000000000002d7f2d2286994477ba878f321b17a7e40e52cda41ba0a6796d9b4d10a35400ed45febe7bd9966c02b85da7926d1cabe262ff02fe7f63a05a0c76c708bc0af68cb1dc911eef76d71dfbc519b85ce848a8844eff51a0b8af + // raw tx #2(proxy): 0xf906720285174876e800830f42408080b9061f60a06040526040516105bf3803806105bf83398101604081905261002291610387565b61002c828261003e565b506001600160a01b031660805261047e565b610047826100fe565b6040516001600160a01b038316907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a28051156100f2576100ed826001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e79190610447565b82610211565b505050565b6100fa610288565b5050565b806001600160a01b03163b60000361013957604051631933b43b60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b807fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392831617905560408051635c60da1b60e01b81529051600092841691635c60da1b9160048083019260209291908290030181865afa1580156101b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d99190610447565b9050806001600160a01b03163b6000036100fa57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610130565b6060600080846001600160a01b03168460405161022e9190610462565b600060405180830381855af49150503d8060008114610269576040519150601f19603f3d011682016040523d82523d6000602084013e61026e565b606091505b50909250905061027f8583836102a9565b95945050505050565b34156102a75760405163b398979f60e01b815260040160405180910390fd5b565b6060826102be576102b982610308565b610301565b81511580156102d557506001600160a01b0384163b155b156102fe57604051639996b31560e01b81526001600160a01b0385166004820152602401610130565b50805b9392505050565b8051156103185780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80516001600160a01b038116811461034857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561037e578181015183820152602001610366565b50506000910152565b6000806040838503121561039a57600080fd5b6103a383610331565b60208401519092506001600160401b03808211156103c057600080fd5b818501915085601f8301126103d457600080fd5b8151818111156103e6576103e661034d565b604051601f8201601f19908116603f0116810190838211818310171561040e5761040e61034d565b8160405282815288602084870101111561042757600080fd5b610438836020830160208801610363565b80955050505050509250929050565b60006020828403121561045957600080fd5b61030182610331565b60008251610474818460208701610363565b9190910192915050565b6080516101276104986000396000601e01526101276000f3fe6080604052600a600c565b005b60186014601a565b60a0565b565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156079573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190609b919060c3565b905090565b3660008037600080366000845af43d6000803e80801560be573d6000f35b3d6000fd5b60006020828403121560d457600080fd5b81516001600160a01b038116811460ea57600080fd5b939250505056fea264697066735822122039e43d51fa1bcd8fe79599db2a7e6dd3e5358b756c53210827bbf02fda62be6c64736f6c63430008140033000000000000000000000000357f0f6bff45b51bd84121aab517c63c3c9d003a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000001ba09c5d3b7c86539764e213c89c5ebefa8bc1533c53d6f533e8bc403f6765efed76a077d056d4f3d618d8cf4bac4f1bbf09ba8ffaa2875058d59670c05c124e670f5f + // The owners of the contract and the beacon will be set to 0x2D7F2d2286994477Ba878f321b17A7e40E52cDa4, + // and after the network has launched and reached a stable state, ownership will be transferred to a timelock contract controlled by a multisig + return common.HexToAddress("0xe1a5162f99e075f8c6681ae28191ab3ac250b468") } func (w *WrappedA0giBasePrecompile) SetMinterCap(