bsc/core/systemcontracts/pascal/chapel/TimelockContract
Ethan 8c1acb0b22
feat: add pascal hardfork (#2692)
* feat: add pascal hardfork
* config: fix default value for PascalTime and add OverridePascal (#2693)
* chores: rename some contract name
* feat: update bytecode on dev env
2024-09-23 16:17:06 +08:00

1 line
19 KiB
Plaintext

6080604052600436106101d15760003560e01c80638129fc1c116100f7578063b1c5f42711610095578063d547741f11610064578063d547741f14610584578063e38335e5146105a4578063f23a6e61146105b7578063f27a0c92146105e357600080fd5b8063b1c5f427146104eb578063bc197c811461050b578063c4d252f514610537578063d45c44351461055757600080fd5b806391d14854116100d157806391d1485414610474578063a217fddf14610494578063ac431751146104a9578063b08e51c0146104c957600080fd5b80638129fc1c1461041d5780638f2a0bb0146104325780638f61f4f51461045257600080fd5b8063248a9ca31161016f57806336568abe1161013e57806336568abe1461039d578063584b153e146103bd57806364d62353146103dd5780638065657f146103fd57600080fd5b8063248a9ca3146102fd5780632ab0f5291461032d5780632f2ff15d1461035d57806331d507501461037d57600080fd5b80630d3cf6fc116101ab5780630d3cf6fc14610264578063134008d31461028657806313bc9f2014610299578063150b7a02146102b957600080fd5b806301d5062a146101dd57806301ffc9a7146101ff57806307bd02651461023457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101fd6101f8366004611a53565b6105f8565b005b34801561020b57600080fd5b5061021f61021a366004611ac7565b6106bc565b60405190151581526020015b60405180910390f35b34801561024057600080fd5b5061025660008051602061253a83398151915281565b60405190815260200161022b565b34801561027057600080fd5b506102566000805160206124fa83398151915281565b6101fd610294366004611af1565b6106e7565b3480156102a557600080fd5b5061021f6102b4366004611b5c565b61078a565b3480156102c557600080fd5b506102e46102d4366004611c2a565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161022b565b34801561030957600080fd5b50610256610318366004611b5c565b60009081526065602052604090206001015490565b34801561033957600080fd5b5061021f610348366004611b5c565b60009081526097602052604090205460011490565b34801561036957600080fd5b506101fd610378366004611c91565b6107b0565b34801561038957600080fd5b5061021f610398366004611b5c565b6107da565b3480156103a957600080fd5b506101fd6103b8366004611c91565b6107f3565b3480156103c957600080fd5b5061021f6103d8366004611b5c565b610876565b3480156103e957600080fd5b506101fd6103f8366004611b5c565b61088d565b34801561040957600080fd5b50610256610418366004611af1565b610931565b34801561042957600080fd5b506101fd610970565b34801561043e57600080fd5b506101fd61044d366004611d01565b610b21565b34801561045e57600080fd5b5061025660008051602061251a83398151915281565b34801561048057600080fd5b5061021f61048f366004611c91565b610ca2565b3480156104a057600080fd5b50610256600081565b3480156104b557600080fd5b506101fd6104c4366004611db2565b610ccd565b3480156104d557600080fd5b5061025660008051602061255a83398151915281565b3480156104f757600080fd5b50610256610506366004611e1d565b610eb7565b34801561051757600080fd5b506102e4610526366004611f44565b63bc197c8160e01b95945050505050565b34801561054357600080fd5b506101fd610552366004611b5c565b610efc565b34801561056357600080fd5b50610256610572366004611b5c565b60009081526097602052604090205490565b34801561059057600080fd5b506101fd61059f366004611c91565b610fbf565b6101fd6105b2366004611e1d565b610fe4565b3480156105c357600080fd5b506102e46105d2366004611fed565b63f23a6e6160e01b95945050505050565b3480156105ef57600080fd5b50609854610256565b60008051602061251a8339815191526106108161115c565b6000610620898989898989610931565b905061062c8184611166565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516106689695949392919061207a565b60405180910390a383156106b157807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106a891815260200190565b60405180910390a25b505050505050505050565b60006001600160e01b03198216630271189760e51b14806106e157506106e182611255565b92915050565b60008051602061253a833981519152610701816000610ca2565b61070f5761070f813361128a565b600061071f888888888888610931565b905061072b81856112e3565b6107378888888861137e565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161076f94939291906120b7565b60405180910390a361078081611451565b5050505050505050565b6000818152609760205260408120546001811180156107a95750428111155b9392505050565b6000828152606560205260409020600101546107cb8161115c565b6107d5838361148a565b505050565b60008181526097602052604081205481905b1192915050565b6001600160a01b03811633146108685760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108728282611510565b5050565b6000818152609760205260408120546001906107ec565b3330146108f05760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b606482015260840161085f565b60985460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1609855565b600086868686868660405160200161094e9695949392919061207a565b6040516020818303038152906040528051906020012090509695505050505050565b600054610100900460ff16158080156109905750600054600160ff909116105b806109aa5750303b1580156109aa575060005460ff166001145b610a0d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161085f565b6000805460ff191660011790558015610a30576000805461ff0019166101001790555b334114610a505760405163022d8c9560e31b815260040160405180910390fd5b3a15610a6f576040516383f1b1d360e01b815260040160405180910390fd5b6040805160018082528183019092526000916020808301908036833701905050905061200481600081518110610aa757610aa76120e9565b60200260200101906001600160a01b031690816001600160a01b031681525050610ad76154608283612004611577565b508015610b1e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008051602061251a833981519152610b398161115c565b888714610b585760405162461bcd60e51b815260040161085f906120ff565b888514610b775760405162461bcd60e51b815260040161085f906120ff565b6000610b898b8b8b8b8b8b8b8b610eb7565b9050610b958184611166565b60005b8a811015610c535780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610bd557610bd56120e9565b9050602002016020810190610bea9190612142565b8d8d86818110610bfc57610bfc6120e9565b905060200201358c8c87818110610c1557610c156120e9565b9050602002810190610c27919061215d565b8c8b604051610c3b9695949392919061207a565b60405180910390a3610c4c816121b9565b9050610b98565b508315610c9557807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610c8c91815260200190565b60405180910390a25b5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3361100714610cf357604051630f22c43960e41b8152611007600482015260240161085f565b610d56604051806040016040528060088152602001676d696e44656c617960c01b81525085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115b09050565b15610e535760208114610d845783838383604051630a5a604160e01b815260040161085f94939291906121d2565b604080516020601f8401819004810282018101909252828152600091610dc59185858083850183828082843760009201919091525092939250506116099050565b9050801580610dd657506212750081115b15610dfc5784848484604051630a5a604160e01b815260040161085f94939291906121d2565b6040516364d6235360e01b81526004810182905230906364d6235390602401600060405180830381600087803b158015610e3557600080fd5b505af1158015610e49573d6000803e3d6000fd5b5050505050610e74565b838383836040516325ee20d560e21b815260040161085f94939291906121d2565b7ff1ce9b2cbf50eeb05769a29e2543fd350cab46894a7dd9978a12d534bb20e63384848484604051610ea994939291906121d2565b60405180910390a150505050565b60008888888888888888604051602001610ed898979695949392919061228a565b60405160208183030381529060405280519060200120905098975050505050505050565b60008051602061255a833981519152610f148161115c565b610f1d82610876565b610f835760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b606482015260840161085f565b6000828152609760205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260656020526040902060010154610fda8161115c565b6107d58383611510565b60008051602061253a833981519152610ffe816000610ca2565b61100c5761100c813361128a565b87861461102b5760405162461bcd60e51b815260040161085f906120ff565b87841461104a5760405162461bcd60e51b815260040161085f906120ff565b600061105c8a8a8a8a8a8a8a8a610eb7565b905061106881856112e3565b60005b898110156111465760008b8b83818110611087576110876120e9565b905060200201602081019061109c9190612142565b905060008a8a848181106110b2576110b26120e9565b9050602002013590503660008a8a868181106110d0576110d06120e9565b90506020028101906110e2919061215d565b915091506110f28484848461137e565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588686868660405161112994939291906120b7565b60405180910390a3505050508061113f906121b9565b905061106b565b5061115081611451565b50505050505050505050565b610b1e813361128a565b61116f826107da565b156111d45760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b606482015260840161085f565b6098548110156112355760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b606482015260840161085f565b61123f814261232b565b6000928352609760205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106e157506301ffc9a760e01b6001600160e01b03198316146106e1565b6112948282610ca2565b610872576112a18161160e565b6112ac836020611620565b6040516020016112bd929190612362565b60408051601f198184030181529082905262461bcd60e51b825261085f916004016123d7565b6112ec8261078a565b6113085760405162461bcd60e51b815260040161085f9061240a565b80158061132357506000818152609760205260409020546001145b6108725760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b606482015260840161085f565b6000846001600160a01b031684848460405161139b929190612454565b60006040518083038185875af1925050503d80600081146113d8576040519150601f19603f3d011682016040523d82523d6000602084013e6113dd565b606091505b505090508061144a5760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b606482015260840161085f565b5050505050565b61145a8161078a565b6114765760405162461bcd60e51b815260040161085f9061240a565b600090815260976020526040902060019055565b6114948282610ca2565b6108725760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556114cc3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61151a8282610ca2565b156108725760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600054610100900460ff1661159e5760405162461bcd60e51b815260040161085f90612464565b6115aa848484846117bb565b50505050565b6000816040516020016115c391906124af565b60405160208183030381529060405280519060200120836040516020016115ea91906124af565b6040516020818303038152906040528051906020012014905092915050565b015190565b60606106e16001600160a01b03831660145b6060600061162f8360026124cb565b61163a90600261232b565b6001600160401b0381111561165157611651611b75565b6040519080825280601f01601f19166020018201604052801561167b576020820181803683370190505b509050600360fc1b81600081518110611696576116966120e9565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106116c5576116c56120e9565b60200101906001600160f81b031916908160001a90535060006116e98460026124cb565b6116f490600161232b565b90505b600181111561176c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611728576117286120e9565b1a60f81b82828151811061173e5761173e6120e9565b60200101906001600160f81b031916908160001a90535060049490941c93611765816124e2565b90506116f7565b5083156107a95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161085f565b600054610100900460ff166117e25760405162461bcd60e51b815260040161085f90612464565b6117fa6000805160206124fa8339815191528061199a565b61182060008051602061251a8339815191526000805160206124fa83398151915261199a565b61184660008051602061253a8339815191526000805160206124fa83398151915261199a565b61186c60008051602061255a8339815191526000805160206124fa83398151915261199a565b6118846000805160206124fa833981519152306119e5565b6001600160a01b038116156118ab576118ab6000805160206124fa833981519152826119e5565b60005b835181101561191c576118e860008051602061251a8339815191528583815181106118db576118db6120e9565b60200260200101516119e5565b61190c60008051602061255a8339815191528583815181106118db576118db6120e9565b611915816121b9565b90506118ae565b5060005b825181101561195d5761194d60008051602061253a8339815191528483815181106118db576118db6120e9565b611956816121b9565b9050611920565b5060988490556040805160008152602081018690527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d59101610ea9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610872828261148a565b80356001600160a01b0381168114611a0657600080fd5b919050565b60008083601f840112611a1d57600080fd5b5081356001600160401b03811115611a3457600080fd5b602083019150836020828501011115611a4c57600080fd5b9250929050565b600080600080600080600060c0888a031215611a6e57600080fd5b611a77886119ef565b96506020880135955060408801356001600160401b03811115611a9957600080fd5b611aa58a828b01611a0b565b989b979a50986060810135976080820135975060a09091013595509350505050565b600060208284031215611ad957600080fd5b81356001600160e01b0319811681146107a957600080fd5b60008060008060008060a08789031215611b0a57600080fd5b611b13876119ef565b95506020870135945060408701356001600160401b03811115611b3557600080fd5b611b4189828a01611a0b565b979a9699509760608101359660809091013595509350505050565b600060208284031215611b6e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611bb357611bb3611b75565b604052919050565b600082601f830112611bcc57600080fd5b81356001600160401b03811115611be557611be5611b75565b611bf8601f8201601f1916602001611b8b565b818152846020838601011115611c0d57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611c4057600080fd5b611c49856119ef565b9350611c57602086016119ef565b92506040850135915060608501356001600160401b03811115611c7957600080fd5b611c8587828801611bbb565b91505092959194509250565b60008060408385031215611ca457600080fd5b82359150611cb4602084016119ef565b90509250929050565b60008083601f840112611ccf57600080fd5b5081356001600160401b03811115611ce657600080fd5b6020830191508360208260051b8501011115611a4c57600080fd5b600080600080600080600080600060c08a8c031215611d1f57600080fd5b89356001600160401b0380821115611d3657600080fd5b611d428d838e01611cbd565b909b50995060208c0135915080821115611d5b57600080fd5b611d678d838e01611cbd565b909950975060408c0135915080821115611d8057600080fd5b50611d8d8c828d01611cbd565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060408587031215611dc857600080fd5b84356001600160401b0380821115611ddf57600080fd5b611deb88838901611a0b565b90965094506020870135915080821115611e0457600080fd5b50611e1187828801611a0b565b95989497509550505050565b60008060008060008060008060a0898b031215611e3957600080fd5b88356001600160401b0380821115611e5057600080fd5b611e5c8c838d01611cbd565b909a50985060208b0135915080821115611e7557600080fd5b611e818c838d01611cbd565b909850965060408b0135915080821115611e9a57600080fd5b50611ea78b828c01611cbd565b999c989b509699959896976060870135966080013595509350505050565b600082601f830112611ed657600080fd5b813560206001600160401b03821115611ef157611ef1611b75565b8160051b611f00828201611b8b565b9283528481018201928281019087851115611f1a57600080fd5b83870192505b84831015611f3957823582529183019190830190611f20565b979650505050505050565b600080600080600060a08688031215611f5c57600080fd5b611f65866119ef565b9450611f73602087016119ef565b935060408601356001600160401b0380821115611f8f57600080fd5b611f9b89838a01611ec5565b94506060880135915080821115611fb157600080fd5b611fbd89838a01611ec5565b93506080880135915080821115611fd357600080fd5b50611fe088828901611bbb565b9150509295509295909350565b600080600080600060a0868803121561200557600080fd5b61200e866119ef565b945061201c602087016119ef565b9350604086013592506060860135915060808601356001600160401b0381111561204557600080fd5b611fe088828901611bbb565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006120a260a083018688612051565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006120df606083018486612051565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b60006020828403121561215457600080fd5b6107a9826119ef565b6000808335601e1984360301811261217457600080fd5b8301803591506001600160401b0382111561218e57600080fd5b602001915036819003821315611a4c57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016121cb576121cb6121a3565b5060010190565b6040815260006121e6604083018688612051565b8281036020840152611f39818587612051565b81835260006020808501808196508560051b810191508460005b8781101561227d5782840389528135601e1988360301811261223457600080fd5b870185810190356001600160401b0381111561224f57600080fd5b80360382131561225e57600080fd5b612269868284612051565b9a87019a9550505090840190600101612213565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b8110156122cb576001600160a01b036122b6846119ef565b1682526020928301929091019060010161229d565b5083810360208501528881526001600160fb1b038911156122eb57600080fd5b8860051b9150818a6020830137018281036020908101604085015261231390820187896121f9565b60608401959095525050608001529695505050505050565b808201808211156106e1576106e16121a3565b60005b83811015612359578181015183820152602001612341565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161239a81601785016020880161233e565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516123cb81602884016020880161233e565b01602801949350505050565b60208152600082518060208401526123f681604085016020870161233e565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082516124c181846020870161233e565b9190910192915050565b80820281158282048414176106e1576106e16121a3565b6000816124f1576124f16121a3565b50600019019056fe5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783a164736f6c6343000811000a