0 txs
0 calls
constructor
constructor(address _owner, address _mofaSigner, address _bungeeGateway)
functions
BUNGEE_GATEWAY
viewfunction BUNGEE_GATEWAY() view returns (address)
hasRole
viewfunction hasRole(bytes32 role_, address address_) view returns (bool)
MOFA_SIGNER
viewfunction MOFA_SIGNER() view returns (address)
nominee
viewfunction nominee() view returns (address)
owner
viewfunction owner() view returns (address)
SINGLE_OUTPUT_IMPL_ID
viewfunction SINGLE_OUTPUT_IMPL_ID() view returns (uint8)
SWAP_REQUEST_IMPL_ID
viewfunction SWAP_REQUEST_IMPL_ID() view returns (uint8)
claimOwner
nonpayablefunction claimOwner()
executeSOR
nonpayablefunction executeSOR(tuple[] extractExecs, bytes mofaSignature) returns (bytes)
executeSR
nonpayablefunction executeSR(tuple[] swapExecs, bytes mofaSignature) returns (bytes)
grantRole
nonpayablefunction grantRole(bytes32 role_, address grantee_)
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
revokeRole
nonpayablefunction revokeRole(bytes32 role_, address revokee_)
setBungeeGateway
nonpayablefunction setBungeeGateway(address _bungeeGateway)
setMofaSigner
nonpayablefunction setMofaSigner(address _mofaSigner)
events
OwnerClaimed
event OwnerClaimed(address indexed claimer)
OwnerNominated
event OwnerNominated(address indexed nominee)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed grantee)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed revokee)
errors
InvalidAddress
error InvalidAddress()
MofaSignatureInvalid
error MofaSignatureInvalid()
NoPermit
error NoPermit(bytes32 role)
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
creation bytecode
0x60806040523480156200001157600080fd5b50604051620028223803806200282283398101604081905262000034916200010e565b828062000041816200009e565b50506001600160a01b0382166200006b5760405163e6c4247b60e01b815260040160405180910390fd5b600380546001600160a01b039384166001600160a01b031991821617909155600480549290931691161790555062000158565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b80516001600160a01b03811681146200010957600080fd5b919050565b6000806000606084860312156200012457600080fd5b6200012f84620000f1565b92506200013f60208501620000f1565b91506200014f60408501620000f1565b90509250925092565b6126ba80620001686000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370372d85116100975780639a78cbc5116100665780639a78cbc5146101f4578063cc6dc63a14610207578063d547741f1461021a578063f4fbe96c1461022d57600080fd5b806370372d85146101a5578063823d0088146101b85780638da5cb5b146101c057806391d14854146101d157600080fd5b80633bd1adec116100d35780633bd1adec146101505780633cbc7eaa14610158578063449d416d146101725780635b94db271461019257600080fd5b806312f07c25146100fa57806320f99c0a1461012a5780632f2ff15d1461013b575b600080fd5b60035461010d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6001546001600160a01b031661010d565b61014e61014936600461114b565b610240565b005b61014e610279565b610160600181565b60405160ff9091168152602001610121565b610185610180366004611203565b6102af565b60405161012191906112be565b61014e6101a03660046112d1565b6103bd565b60045461010d906001600160a01b031681565b610160600281565b6000546001600160a01b031661010d565b6101e46101df36600461114b565b610432565b6040519015158152602001610121565b61014e6102023660046112d1565b610460565b61014e6102153660046112d1565b6104fc565b61014e61022836600461114b565b6105ba565b61018561023b366004611203565b6105ef565b6000546001600160a01b0316331461026b57604051635fc483c560e01b815260040160405180910390fd5b61027582826106aa565b5050565b6001546001600160a01b031633146102a457604051637c91ccdd60e01b815260040160405180910390fd5b6102ad33610705565b565b60606102f2858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061075892505050565b6004546040516000916001600160a01b03169063276a2ced90600290610320908a908a90339060240161135a565b60408051601f198184030181529181526020820180516001600160e01b0316635c8e818960e11b179052516001600160e01b031960e085901b16815261036a9291906004016115bd565b6000604051808303816000875af1158015610389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103b1919081019061171c565b9150505b949350505050565b6000546001600160a01b031633146103e857604051635fc483c560e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b60008281526002602090815260408083206001600160a01b038516845290915281205460ff165b9392505050565b3360009081527f01e90903605908818f4785c46825db30465c70bc0545136a320d85d90661836160205260409020547f82db594318110a04b6349ce48645aa69f0892751bc893d15e61d9e2b9c4630f59060ff166104d95760405163962f633360e01b8152600481018290526024015b60405180910390fd5b50600480546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081527f01e90903605908818f4785c46825db30465c70bc0545136a320d85d90661836160205260409020547f82db594318110a04b6349ce48645aa69f0892751bc893d15e61d9e2b9c4630f59060ff166105705760405163962f633360e01b8152600481018290526024016104d0565b6001600160a01b0382166105975760405163e6c4247b60e01b815260040160405180910390fd5b50600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146105e557604051635fc483c560e01b815260040160405180910390fd5b61027582826107b2565b6060610632858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061080a92505050565b6004546040516000916001600160a01b03169063276a2ced90600190610660908a908a903390602401611976565b60408051601f198184030181529181526020820180516001600160e01b0316631f3ba7b360e11b179052516001600160e01b031960e085901b16815261036a9291906004016115bd565b60008281526002602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b600061076c6107678486611c12565b61081e565b9050600061077a82846108aa565b6003549091506001600160a01b038083169116146107ab57604051633c6ae50160e11b815260040160405180910390fd5b5050505050565b60008281526002602090815260408083206001600160a01b0385168085529252808320805460ff1916905551909184917f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a529190a35050565b600061076c6108198486611f4f565b6108c2565b60007fc746f6e6da790dff84d0c9f6e755a8d7633f3ee530ccaed5b82aa1d0ccec224f815b83518110156108a3578161086f858381518110610862576108626120c0565b6020026020010151610947565b60408051602081019390935282015260600160408051601f1981840301815291905280516020909101209150600101610843565b5092915050565b6000806108b684610aa0565b90506103b58184610adb565b60007f0229eabb7e69af818c010d3333cd777014bff2c06ac717d3e0df036a6e9ff570815b83518110156108a35781610913858381518110610906576109066120c0565b6020026020010151610b5a565b60408051602081019390935282015260600160408051601f19818403018152919052805160209091012091506001016108e7565b604051680a6eec2e08af0cac6560bb1b60208201526f14995c5d595cdd081c995c5d595cdd0b60821b6029820152741d5a5b9d0c8d4d88199d5b199a5b105b5bdd5b9d0b605a1b603982015275189e5d195cc818d85b1b189858dad4185e5b1bd8590b60521b604e82015273627974657320757365725369676e61747572652960601b60648201526000906078016040516020818303038152906040526040516020016109f3906120d6565b60408051601f1981840301815290829052610a1192916020016121a4565b60405160208183030381529060405280519060200120610a348360000151610d7e565b8360200151846040015180519060200120856060015180519060200120604051602001610a83959493929190948552602085019390935260408401919091526060830152608082015260a00190565b604051602081830303815290604052805190602001209050919050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01610a83565b600080600080610aea85610e56565b6040805160008152602081018083528b905260ff8316918101919091526060810184905260808101839052929550909350915060019060a0016020604051602081039080840390855afa158015610b45573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6040516b08af0e8e4c2c6e88af0cac6560a31b60208201526f14995c5d595cdd081c995c5d595cdd0b60821b602c8201526e1859191c995cdcc81c9bdd5d195c8b608a1b603c8201527f75696e743235362070726f6d69736564416d6f756e742c000000000000000000604b82015270189e5d195cc81c9bdd5d195c91185d184b607a1b606282015271189e5d195cc81cddd85c14185e5b1bd8590b60721b6073820152721859191c995cdcc81cddd85c149bdd5d195c8b606a1b608582015273189e5d195cc81d5cd95c94da59db985d1d5c994b60621b6098820152731859191c995cdcc818995b99599a58da585c9e4b60621b60ac8201526f6279746573207374616b65446174612960801b60c082015260009060d001604051602081830303815290604052604051602001610c91906121d3565b60408051601f1981840301815290829052610caf92916020016121a4565b60405160208183030381529060405280519060200120610cd28360000151610eca565b836020015184604001518560600151805190602001208660800151805190602001208760a001518860c00151805190602001208960e001518a610100015180519060200120604051602001610a839a99989796959493929190998a5260208a01989098526001600160a01b0396871660408a01526060890195909552608088019390935260a0870191909152831660c086015260e0850152166101008301526101208201526101400190565b6000604051602001610d8f906120d6565b604051602081830303815290604052604051602001610dad906122e6565b60408051601f1981840301815290829052610dcb92916020016121a4565b60405160208183030381529060405280519060200120610dee8360000151610fc6565b6020808501516040808701518051908401206060808901516080808b015180519088012060a0808d01518751998a019b909b52958801989098529186019490945284015282015260c08101919091526001600160a01b0390911660e082015261010001610a83565b60008060008351604114610eac5760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016104d0565b50505060208101516040820151606090920151909260009190911a90565b6000604051602001610edb906121d3565b604051602081830303815290604052604051602001610ef990612416565b60408051601f1981840301815290829052610f1792916020016121a4565b60405160208183030381529060405280519060200120610f3a8360000151611085565b8360200151846040015185606001518660800151805190602001208760a001518860c00151805190602001208960e00151604051602001610a839998979695949392919098895260208901979097526001600160a01b0395861660408901526060880194909452608087019290925260a086015260c085015260e0840152166101008201526101200190565b6000604051602001610fd7906122e6565b60408051601f19818403018152828252805160209182012085820151928601516060870151608088015160a089015160c08a015160e08b01516101008c01516101208d0151610a839b989a469a9099019a8b5260208b019990995260408a019790975260608901959095526001600160a01b03938416608089015291831660a0880152821660c0870152811660e0860152610100850191909152166101208301526101408201526101600190565b600060405160200161109690612416565b604051602081830303815290604052805190602001204683602001518460400151856060015186608001518760a001518860c001518960e001518a61010001518b61012001518c61014001518d61016001518e61018001518f6101a001516040516020016111119e9d9c9b9a999897969594939291906125c2565b60408051601f1981840301815290829052610a83929160200161265e565b80356001600160a01b038116811461114657600080fd5b919050565b6000806040838503121561115e57600080fd5b8235915061116e6020840161112f565b90509250929050565b60008083601f84011261118957600080fd5b5081356001600160401b038111156111a057600080fd5b6020830191508360208260051b85010111156111bb57600080fd5b9250929050565b60008083601f8401126111d457600080fd5b5081356001600160401b038111156111eb57600080fd5b6020830191508360208285010111156111bb57600080fd5b6000806000806040858703121561121957600080fd5b84356001600160401b038082111561123057600080fd5b61123c88838901611177565b9096509450602087013591508082111561125557600080fd5b50611262878288016111c2565b95989497509550505050565b60005b83811015611289578181015183820152602001611271565b50506000910152565b600081518084526112aa81602086016020860161126e565b601f01601f19169290920160200192915050565b6020815260006104596020830184611292565b6000602082840312156112e357600080fd5b6104598261112f565b6000808335601e1984360301811261130357600080fd5b83016020810192503590506001600160401b0381111561132257600080fd5b8036038213156111bb57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60408082528181018490526000906060808401600587901b8501820188855b898110156115a157878303605f190184528135368c9003607e1901811261139f57600080fd5b8b0160808135368390036101de190181126113b957600080fd5b8281019050818652803582870152602060a0818301358189015260c08b840135818a01526113e88b850161112f565b60e06113fe818c01836001600160a01b03169052565b61140987870161112f565b96506101009150611424828c01886001600160a01b03169052565b61142f84870161112f565b9650610120935061144a848c01886001600160a01b03169052565b61145583870161112f565b96506101409250611470838c01886001600160a01b03169052565b610160965080860135878c01525061148981860161112f565b90506101806114a2818c01836001600160a01b03169052565b6101a0915083860135828c01526101c0935082860135848c01526114c8878701876112ec565b6101e08d810152975092506114e26102608c018885611331565b908601356102008c015295506114fa818601866112ec565b8b8803607f19016102208d015292509050611516868383611331565b9550505061152581840161112f565b92505061153e6102408801836001600160a01b03169052565b80840135818801526115528a8501856112ec565b92508784038b890152611566848483611331565b935050611575898501856112ec565b945091508683038988015261158b838584611331565b9781019796509490940193505050600101611379565b50506001600160a01b038716602087015293506103b592505050565b60ff831681526040602082015260006103b56040830184611292565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b0381118282101715611612576116126115d9565b60405290565b604051608081016001600160401b0381118282101715611612576116126115d9565b60405160c081016001600160401b0381118282101715611612576116126115d9565b6040516101c081016001600160401b0381118282101715611612576116126115d9565b60405161010081016001600160401b0381118282101715611612576116126115d9565b60405161012081016001600160401b0381118282101715611612576116126115d9565b604051601f8201601f191681016001600160401b03811182821017156116ed576116ed6115d9565b604052919050565b60006001600160401b0382111561170e5761170e6115d9565b50601f01601f191660200190565b60006020828403121561172e57600080fd5b81516001600160401b0381111561174457600080fd5b8201601f8101841361175557600080fd5b8051611768611763826116f5565b6116c5565b81815285602083850101111561177d57600080fd5b61178e82602083016020860161126e565b95945050505050565b6000823561029e198336030181126117ae57600080fd5b90910192915050565b803563ffffffff8116811461114657600080fd5b60006102a0823584526020830135602085015260408301356040850152606083013560608501526117fe6080840161112f565b6001600160a01b0316608085015261181860a0840161112f565b6001600160a01b031660a085015261183260c0840161112f565b6001600160a01b031660c085015261184c60e0840161112f565b6001600160a01b031660e08501526101006118688482016117b7565b63ffffffff169085015261012061188084820161112f565b6001600160a01b03169085015261014083810135908501526101606118a681850161112f565b6001600160a01b03169085015261018083810135908501526101a080840135908501526101c06118d781850161112f565b6001600160a01b0316908501526101e083810135908501526102008084013590850152610220611909818501856112ec565b838388015261191b8488018284611331565b935050505061024080840135818601525061026061193b818501856112ec565b8684038388015261194d848284611331565b935050505061028061196081850161112f565b6001600160a01b03169401939093525090919050565b60408082528181018490526000906060808401600587901b850182018885805b8a811015611ad957888403605f190185528235368d900361011e190181126119bc578283fd5b8c016101206119cb8280611797565b8187526119da828801826117cb565b91505060206119ea81840161112f565b6001600160a01b031681880152828a01358a880152611a0b898401846112ec565b8884038b8a0152611a1d848284611331565b935050506080611a2f818501856112ec565b898503838b0152611a41858284611331565b945050505060a0611a5381850161112f565b6001600160a01b03169088015260c0611a6e848201856112ec565b898503838b0152611a80858284611331565b945050505060e0611a9281850161112f565b6001600160a01b031690880152610100611aae848201856112ec565b9450888403828a0152611ac2848683611331565b998301999850505094909401935050600101611996565b5050506001600160a01b038716602087015293506103b592505050565b60006001600160401b03821115611b0f57611b0f6115d9565b5060051b60200190565b60006101408284031215611b2c57600080fd5b611b346115ef565b9050813581526020820135602082015260408201356040820152611b5a6060830161112f565b6060820152611b6b6080830161112f565b6080820152611b7c60a0830161112f565b60a0820152611b8d60c0830161112f565b60c082015260e082013560e0820152610100611baa81840161112f565b818301525061012080830135818301525092915050565b600082601f830112611bd257600080fd5b8135611be0611763826116f5565b818152846020838601011115611bf557600080fd5b816020850160208301376000918101602001919091529392505050565b6000611c2061176384611af6565b80848252602080830192508560051b850136811115611c3e57600080fd5b855b81811015611d995780356001600160401b0380821115611c605760008081fd5b81890191506080808336031215611c775760008081fd5b611c7f611618565b833583811115611c8f5760008081fd5b84016101e0368290031215611ca45760008081fd5b611cac61163a565b611cb63683611b19565b81526101408201358982015261016082013585811115611cd65760008081fd5b611ce236828501611bc1565b90506040818184015260609150610180840135828401526101a084013587811115611d0d5760008081fd5b611d1936828701611bc1565b8785015250611d2b6101c0850161112f565b60a08401528285528a8801358b86015280880135955086861115611d5157600093508384fd5b611d5d36878a01611bc1565b9085015286810135945085851115611d7757600092508283fd5b611d8336868901611bc1565b9084015250508852505050938201938201611c40565b50919695505050505050565b60006101c08284031215611db857600080fd5b611dc061165c565b905081358152602082013560208201526040820135604082015260608201356060820152611df06080830161112f565b6080820152611e0160a0830161112f565b60a0820152611e1260c0830161112f565b60c0820152611e2360e0830161112f565b60e0820152610100611e368184016117b7565b90820152610120611e4883820161112f565b908201526101408281013590820152610160611e6581840161112f565b9082015261018082810135908201526101a09182013591810191909152919050565b60006102a08284031215611e9a57600080fd5b611ea261167f565b9050611eae8383611da5565b8152611ebd6101c0830161112f565b60208201526101e0820135604082015261020082013560608201526102208201356001600160401b0380821115611ef357600080fd5b611eff85838601611bc1565b608084015261024084013560a0840152610260840135915080821115611f2457600080fd5b50611f3184828501611bc1565b60c083015250611f44610280830161112f565b60e082015292915050565b6000611f5d61176384611af6565b80848252602080830192508560051b850136811115611f7b57600080fd5b855b81811015611d995780356001600160401b0380821115611f9d5760008081fd5b81890191506101208236031215611fb45760008081fd5b611fbc6116a2565b823582811115611fcc5760008081fd5b611fd836828601611e87565b825250611fe686840161112f565b8187015260408381013590820152606080840135838111156120085760008081fd5b61201436828701611bc1565b8284015250506080808401358381111561202e5760008081fd5b61203a36828701611bc1565b82840152505060a061204d81850161112f565b9082015260c083810135838111156120655760008081fd5b61207136828701611bc1565b82840152505060e061208481850161112f565b90820152610100838101358381111561209d5760008081fd5b6120a936828701611bc1565b918301919091525087525050938201938201611f7d565b634e487b7160e01b600052603260045260246000fd5b670a4cae2eacae6e8560c31b81527510985cda58d4995c5d595cdd0818985cda58d4995c4b60521b600882015270189e5d195ccccc881b595d1859185d184b607a1b601e82015273189e5d195cc81859999a5b1a585d195199595ccb60621b602f820152721d5a5b9d0c8d4d881b5a5b91195cdd11d85ccb606a1b604382015278189e5d195cc819195cdd1a5b985d1a5bdb94185e5b1bd8590b603a1b60568201527f61646472657373206578636c75736976655472616e736d697474657229000000606f820152608c0190565b600083516121b681846020880161126e565b8351908301906121ca81836020880161126e565b01949350505050565b670a4cae2eacae6e8560c31b81527510985cda58d4995c5d595cdd0818985cda58d4995c4b60521b60088201527f6164647265737320737761704f7574707574546f6b656e2c0000000000000000601e820152751d5a5b9d0c8d4d881b5a5b94ddd85c13dd5d1c1d5d0b60521b603682015270189e5d195ccccc881b595d1859185d184b607a1b604c82015273189e5d195cc81859999a5b1a585d195199595ccb60621b605d820152721d5a5b9d0c8d4d881b5a5b91195cdd11d85ccb606a1b607182015278189e5d195cc819195cdd1a5b985d1a5bdb94185e5b1bd8590b603a1b60848201527f61646472657373206578636c75736976655472616e736d697474657229000000609d82015260ba0190565b6c084c2e6d2c6a4cae2eacae6e85609b1b81526f1d5a5b9d0c8d4d8818da185a5b92590b60821b600d820152701d5a5b9d0c8d4d88191958591b1a5b994b607a1b601d8201526d1d5a5b9d0c8d4d881b9bdb98d94b60921b602e8201526e1859191c995cdcc81cd95b99195c8b608a1b603c820152701859191c995cdcc81c9958d95a5d995c8b607a1b604b820152751859191c995cdcc8189d5b99d95951d85d195dd85e4b60521b605c820152721859191c995cdcc81a5b9c1d5d151bdad95b8b606a1b6072820152731d5a5b9d0c8d4d881a5b9c1d5d105b5bdd5b9d0b60621b6085820152731859191c995cdcc81bdd5d1c1d5d151bdad95b8b60621b60998201527f75696e74323536206d696e4f7574707574416d6f756e7429000000000000000060ad82015260c50190565b6c084c2e6d2c6a4cae2eacae6e85609b1b8152751d5a5b9d0c8d4d881bdc9a59da5b90da185a5b92590b60521b600d8201527f75696e743235362064657374696e6174696f6e436861696e49642c00000000006023820152701d5a5b9d0c8d4d88191958591b1a5b994b607a1b603e8201526d1d5a5b9d0c8d4d881b9bdb98d94b60921b604f8201526e1859191c995cdcc81cd95b99195c8b608a1b605d820152701859191c995cdcc81c9958d95a5d995c8b607a1b606c820152701859191c995cdcc819195b1959d85d194b607a1b607d820152751859191c995cdcc8189d5b99d95951d85d195dd85e4b60521b608e820152741d5a5b9d0ccc881cddda5d18da189bd85c9912590b605a1b60a4820152721859191c995cdcc81a5b9c1d5d151bdad95b8b606a1b60b9820152731d5a5b9d0c8d4d881a5b9c1d5d105b5bdd5b9d0b60621b60cc820152731859191c995cdcc81bdd5d1c1d5d151bdad95b8b60621b60e08201527f75696e74323536206d696e4f7574707574416d6f756e742c75696e743235362060f48201526c72656675656c416d6f756e742960981b6101148201526101210190565b8e8152602081018e9052604081018d9052606081018c90526001600160a01b038b811660808301528a811660a083015289811660c0830152881660e08201526101c0810163ffffffff88166101008301526001600160a01b038716610120830152856101408301526126406101608301866001600160a01b03169052565b6101808201939093526101a001529c9b505050505050505050505050565b8281526000825161267681602085016020870161126e565b91909101602001939250505056fea26469706673582212204bdb1e1907eaf657781773a318daa0020cb12062ff656406fd49b178e777f4e264736f6c63430008130033000000000000000000000000daee4d2156de6fe6f7d50ca047136d758f96a6f0000000000000000000000000d7cf5298b1cfa1f8fb77f8320312e5420e7e27dd0000000000000000000000009f0035e3fbd664ef2ae74ed35b4861c542fd9541