ulysses-sdk
Version:
An sdk for interacting with the Ulysses contracts
1 lines • 92.2 kB
JavaScript
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t,n,f=e(require("jsbi")),a=require("maia-core-sdk"),i=require("@ethersproject/abi"),s=require("@ethersproject/solidity"),r=require("solady"),p=e(require("tiny-invariant")),u=require("@ethersproject/address"),d=[a.SupportedChainId.ARBITRUM_ONE,a.SupportedChainId.SEPOLIA],o=((t={})[a.SupportedChainId.MAINNET]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.ARBITRUM_ONE]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.OPTIMISM]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.POLYGON]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.BSC]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.AVAX]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.METIS]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.BASE]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.SONIC]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.BERA]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.FRAXTAL]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.SWELL]=a.SupportedChainId.ARBITRUM_ONE,t[a.SupportedChainId.SEPOLIA]=a.SupportedChainId.SEPOLIA,t[a.SupportedChainId.ARBITRUM_SEPOLIA]=a.SupportedChainId.SEPOLIA,t[a.SupportedChainId.OPTIMISM_SEPOLIA]=a.SupportedChainId.SEPOLIA,t[a.SupportedChainId.BASE_SEPOLIA]=a.SupportedChainId.SEPOLIA,t[a.SupportedChainId.POLYGON_AMOY]=a.SupportedChainId.SEPOLIA,t),y={NO_OUTPUT:"0x01",SINGLE_OUTPUT:"0x02",MULTIPLE_OUTPUT:"0x03",SIGNED_NO_OUTPUT:"0x04",SIGNED_SINGLE_OUTPUT:"0x05",SIGNED_MULTIPLE_OUTPUT:"0x06"},l=((n={})[a.SupportedChainId.MAINNET]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e16).toString()},n[a.SupportedChainId.ARBITRUM_ONE]={gasLimit:f.BigInt(2e6).toString(),remoteBranchExecutionGas:f.BigInt(1e16).toString()},n[a.SupportedChainId.OPTIMISM]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e16).toString()},n[a.SupportedChainId.BASE]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e16).toString()},n[a.SupportedChainId.POLYGON]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n[a.SupportedChainId.BSC]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e16).toString()},n[a.SupportedChainId.AVAX]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n[a.SupportedChainId.METIS]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e16).toString()},n[a.SupportedChainId.SONIC]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n[a.SupportedChainId.BERA]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n[a.SupportedChainId.FRAXTAL]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e16).toString()},n[a.SupportedChainId.SWELL]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e16).toString()},n[a.SupportedChainId.SEPOLIA]={gasLimit:f.BigInt(2e6).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n[a.SupportedChainId.ARBITRUM_SEPOLIA]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n[a.SupportedChainId.OPTIMISM_SEPOLIA]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n[a.SupportedChainId.BASE_SEPOLIA]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n[a.SupportedChainId.POLYGON_AMOY]={gasLimit:f.BigInt(6e5).toString(),remoteBranchExecutionGas:f.BigInt(1e17).toString()},n),c=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"function",name:"bridgeAgentExecutorAddress",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"callOut",inputs:[{name:"_params",type:"bytes",internalType:"bytes"},{name:"_gParams",type:"tuple",internalType:"struct GasParams",components:[{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"remoteBranchExecutionGas",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"callOutAndBridge",inputs:[{name:"_params",type:"bytes",internalType:"bytes"},{name:"_dParams",type:"tuple",internalType:"struct DepositInput",components:[{name:"hToken",type:"address",internalType:"address"},{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"deposit",type:"uint256",internalType:"uint256"}]},{name:"_gParams",type:"tuple",internalType:"struct GasParams",components:[{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"remoteBranchExecutionGas",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"callOutAndBridgeMultiple",inputs:[{name:"_params",type:"bytes",internalType:"bytes"},{name:"_dParams",type:"tuple",internalType:"struct DepositMultipleInput",components:[{name:"hTokens",type:"address[]",internalType:"address[]"},{name:"tokens",type:"address[]",internalType:"address[]"},{name:"amounts",type:"uint256[]",internalType:"uint256[]"},{name:"deposits",type:"uint256[]",internalType:"uint256[]"}]},{name:"_gParams",type:"tuple",internalType:"struct GasParams",components:[{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"remoteBranchExecutionGas",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"cancelOwnershipHandover",inputs:[],outputs:[],stateMutability:"payable"},{type:"function",name:"completeOwnershipHandover",inputs:[{name:"pendingOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeNoSettlement",inputs:[{name:"",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeSettlement",inputs:[{name:"",type:"bytes",internalType:"bytes"},{name:"",type:"tuple",internalType:"struct SettlementParams",components:[{name:"settlementNonce",type:"uint32",internalType:"uint32"},{name:"recipient",type:"address",internalType:"address"},{name:"hToken",type:"address",internalType:"address"},{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"deposit",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeSettlementMultiple",inputs:[{name:"",type:"bytes",internalType:"bytes"},{name:"",type:"tuple",internalType:"struct SettlementMultipleParams",components:[{name:"numberOfAssets",type:"uint8",internalType:"uint8"},{name:"recipient",type:"address",internalType:"address"},{name:"settlementNonce",type:"uint32",internalType:"uint32"},{name:"hTokens",type:"address[]",internalType:"address[]"},{name:"tokens",type:"address[]",internalType:"address[]"},{name:"amounts",type:"uint256[]",internalType:"uint256[]"},{name:"deposits",type:"uint256[]",internalType:"uint256[]"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"getDepositEntry",inputs:[{name:"_depositNonce",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"tuple",internalType:"struct Deposit",components:[{name:"status",type:"uint8",internalType:"uint8"},{name:"isSigned",type:"uint88",internalType:"uint88"},{name:"owner",type:"address",internalType:"address"},{name:"hTokens",type:"address[]",internalType:"address[]"},{name:"tokens",type:"address[]",internalType:"address[]"},{name:"amounts",type:"uint256[]",internalType:"uint256[]"},{name:"deposits",type:"uint256[]",internalType:"uint256[]"}]}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"_localBridgeAgentAddress",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"localBridgeAgentAddress",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"localPortAddress",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"result",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"ownershipHandoverExpiresAt",inputs:[{name:"pendingOwner",type:"address",internalType:"address"}],outputs:[{name:"result",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"payable"},{type:"function",name:"requestOwnershipHandover",inputs:[],outputs:[],stateMutability:"payable"},{type:"function",name:"retryDeposit",inputs:[{name:"_depositNonce",type:"uint32",internalType:"uint32"},{name:"_params",type:"bytes",internalType:"bytes"},{name:"_gParams",type:"tuple",internalType:"struct GasParams",components:[{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"remoteBranchExecutionGas",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"payable"},{type:"event",name:"OwnershipHandoverCanceled",inputs:[{name:"pendingOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OwnershipHandoverRequested",inputs:[{name:"pendingOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"oldOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"error",name:"AlreadyInitialized",inputs:[]},{type:"error",name:"NewOwnerIsZeroAddress",inputs:[]},{type:"error",name:"NoHandoverRequest",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]},{type:"error",name:"UnrecognizedBridgeAgentExecutor",inputs:[]},{type:"error",name:"UnrecognizedFunctionId",inputs:[]}];function m(e){return e.map((function(e){return[e.target,e.callData]}))}function b(e){return e.map((function(e){return[e.target,e.callData,e.value]}))}function T(e){return[e.gasLimit,e.remoteBranchExecutionGas]}function g(e){a.checkValidAddress(e.token)||p(!1),a.checkValidAddress(e.hToken)||p(!1),e.hToken===a.ZERO_ADDRESS&&p(!1),e.hToken===e.token&&p(!1),f.BigInt(e.amount)>=a.ZERO||p(!1),f.BigInt(e.deposit)>=a.ZERO||p(!1),e.amount>=e.deposit||p(!1)}function E(e){e.tokens.forEach((function(t,n){a.checkValidAddress(t)||p(!1),f.BigInt(e.deposits[n])>=a.ZERO||p(!1),e.amounts[n]>=e.deposits[n]||p(!1)})),e.hTokens.forEach((function(t,n){a.checkValidAddress(t)||p(!1),t===a.ZERO_ADDRESS&&p(!1),t===e.tokens[n]&&p(!1),f.BigInt(e.amounts[n])>=a.ZERO||p(!1)}))}function A(e){e.length>0||p(!1),e.forEach((function(e){a.checkValidAddress(e.target)||p(!1),""===e.target&&p(!1),""===e.callData&&p(!1),"value"in e&&(f.BigInt(e.value)>=a.ZERO||p(!1))}))}function _(e,t,n){a.checkValidAddress(e)||p(!1),e===a.ZERO_ADDRESS&&p(!1),t?t>=a.ZERO||p(!1):(n||p(!1),n>=a.ZERO||p(!1))}var I=function(){function e(){}return e.encodeCallOutCalldata=function(t,n){return e.INTERFACE.encodeFunctionData("callOut",[t,T(n)])},e.encodeCallOutAndBridgeCalldata=function(t){var n=t.params,f=t.depositParams,a=t.gasParams;return g(f),e.INTERFACE.encodeFunctionData("callOutAndBridge",[n,[f.hToken,f.token,f.amount,f.deposit],T(a)])},e.encodeCallOutAndBridgeMultipleCalldata=function(t){var n=t.params,f=t.depositParams,a=t.gasParams;return E(f),e.INTERFACE.encodeFunctionData("callOutAndBridgeMultiple",[n,[f.hTokens,f.tokens,f.amounts,f.deposits],T(a)])},e.encodeRetryDepositCalldata=function(t,n,f){return e.INTERFACE.encodeFunctionData("retryDeposit",[t,n,T(f)])},e.encodeCallOutLibZipCalldata=function(e,t){var n=m(e.callData),f=r.LibZip.cdCompress(i.defaultAbiCoder.encode(["tuple(address, bytes)[]"],[n])),p=s.pack(["bytes1","bytes"],[e.funcId,f]);return{calldata:this.encodeCallOutCalldata(p,t),value:a.toHex(0)}},e.encodeCallOutAndBridgeLibZipCalldata=function(e,t,n){var f=m(e.callData),p=r.LibZip.cdCompress(i.defaultAbiCoder.encode(["tuple(address, bytes)[]"],[f])),u=s.pack(["bytes1","bytes"],[e.funcId,p]);return{calldata:this.encodeCallOutAndBridgeCalldata({params:u,depositParams:t,gasParams:n}),value:a.toHex(0)}},e.encodeCallOutAndBridgeMultipleLibZipCalldata=function(e,t,n){var f=m(e.callData),p=r.LibZip.cdCompress(i.defaultAbiCoder.encode(["tuple(address, bytes)[]"],[f])),u=s.pack(["bytes1","bytes"],[e.funcId,p]);return{calldata:this.encodeCallOutAndBridgeMultipleCalldata({params:u,depositParams:t,gasParams:n}),value:a.toHex(0)}},e.encodeRetryDepositLibZipCalldata=function(e,t,n){var f=m(t.callData),p=r.LibZip.cdCompress(i.defaultAbiCoder.encode(["tuple(address, bytes)[]"],[f])),u=s.pack(["bytes1","bytes"],[t.funcId,p]);return{calldata:this.encodeRetryDepositCalldata(e,u,n),value:a.toHex(0)}},e}();I.INTERFACE=new i.Interface(c);var h=[{inputs:[{internalType:"uint16",name:"_rootChainId",type:"uint16"},{internalType:"uint16",name:"_localChainId",type:"uint16"},{internalType:"address",name:"_rootBridgeAgentAddress",type:"address"},{internalType:"address",name:"_lzEndpointAddress",type:"address"},{internalType:"address",name:"_localRouterAddress",type:"address"},{internalType:"address",name:"_localPortAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AlreadyExecutedTransaction",type:"error"},{inputs:[],name:"DepositAlreadyRetrieved",type:"error"},{inputs:[],name:"DepositRedeemUnavailable",type:"error"},{inputs:[],name:"DepositRetryUnavailableUseCallout",type:"error"},{inputs:[],name:"ExecutionFailure",type:"error"},{inputs:[],name:"InvalidBranchPortAddress",type:"error"},{inputs:[],name:"InvalidEndpointAddress",type:"error"},{inputs:[],name:"InvalidInput",type:"error"},{inputs:[],name:"InvalidLocalAddress",type:"error"},{inputs:[],name:"InvalidRootBridgeAgentAddress",type:"error"},{inputs:[],name:"LayerZeroUnauthorizedCaller",type:"error"},{inputs:[],name:"LayerZeroUnauthorizedEndpoint",type:"error"},{inputs:[],name:"NotDepositOwner",type:"error"},{inputs:[],name:"UnknownFlag",type:"error"},{inputs:[],name:"UnrecognizedBridgeAgentExecutor",type:"error"},{inputs:[],name:"UnrecognizedRouter",type:"error"},{inputs:[],name:"WrongDepositType",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"nonce",type:"uint256"}],name:"LogExecute",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"nonce",type:"uint256"}],name:"LogFallback",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"gasLimit",type:"uint256"},{indexed:!0,internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],name:"LogGasParams",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint32",name:"_depositNonce",type:"uint32"},{indexed:!1,internalType:"address",name:"_recipient",type:"address"}],name:"RedeemDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"_depositNonce",type:"uint32"},{indexed:!1,internalType:"address",name:"_recipient",type:"address"},{indexed:!1,internalType:"address",name:"_localTokenAddress",type:"address"}],name:"RedeemDeposit",type:"event"},{inputs:[],name:"bridgeAgentExecutorAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{internalType:"address",name:"_hToken",type:"address"},{internalType:"address",name:"_token",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"uint256",name:"_deposit",type:"uint256"}],name:"bridgeIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"uint8",name:"numberOfAssets",type:"uint8"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint32",name:"settlementNonce",type:"uint32"},{internalType:"address[]",name:"hTokens",type:"address[]"},{internalType:"address[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"deposits",type:"uint256[]"}],internalType:"struct SettlementMultipleParams",name:"_sParams",type:"tuple"}],name:"bridgeInMultiple",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"_depositOwnerAndGasRefundee",type:"address"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"}],name:"callOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"_depositOwnerAndGasRefundee",type:"address"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"address",name:"hToken",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"deposit",type:"uint256"}],internalType:"struct DepositInput",name:"_dParams",type:"tuple"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"}],name:"callOutAndBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"_depositOwnerAndGasRefundee",type:"address"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"address[]",name:"hTokens",type:"address[]"},{internalType:"address[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"deposits",type:"uint256[]"}],internalType:"struct DepositMultipleInput",name:"_dParams",type:"tuple"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"}],name:"callOutAndBridgeMultiple",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"}],name:"callOutSigned",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"address",name:"hToken",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"deposit",type:"uint256"}],internalType:"struct DepositInput",name:"_dParams",type:"tuple"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"},{internalType:"bool",name:"_hasFallbackToggled",type:"bool"}],name:"callOutSignedAndBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"address[]",name:"hTokens",type:"address[]"},{internalType:"address[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"deposits",type:"uint256[]"}],internalType:"struct DepositMultipleInput",name:"_dParams",type:"tuple"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"},{internalType:"bool",name:"_hasFallbackToggled",type:"bool"}],name:"callOutSignedAndBridgeMultiple",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"depositNonce",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"settlementNonce",type:"uint256"}],name:"executionState",outputs:[{internalType:"uint256",name:"state",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"}],name:"forceResumeReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"depositNonce",type:"uint256"}],name:"getDeposit",outputs:[{internalType:"uint8",name:"status",type:"uint8"},{internalType:"uint88",name:"isSigned",type:"uint88"},{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_depositNonce",type:"uint32"}],name:"getDepositEntry",outputs:[{components:[{internalType:"uint8",name:"status",type:"uint8"},{internalType:"uint88",name:"isSigned",type:"uint88"},{internalType:"address",name:"owner",type:"address"},{internalType:"address[]",name:"hTokens",type:"address[]"},{internalType:"address[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"deposits",type:"uint256[]"}],internalType:"struct Deposit",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"localChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"localPortAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"localRouterAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"lzEndpointAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"},{internalType:"uint64",name:"",type:"uint64"},{internalType:"bytes",name:"_payload",type:"bytes"}],name:"lzReceive",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_endpoint",type:"address"},{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"},{internalType:"bytes",name:"_payload",type:"bytes"}],name:"lzReceiveNonBlocking",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"_depositNonce",type:"uint32"},{internalType:"address",name:"_recipient",type:"address"},{internalType:"address",name:"_localTokenAddress",type:"address"}],name:"redeemDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_depositNonce",type:"uint32"},{internalType:"address",name:"_recipient",type:"address"}],name:"redeemDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_depositNonce",type:"uint32"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"}],name:"retrieveDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"},{internalType:"uint32",name:"_depositNonce",type:"uint32"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"}],name:"retryDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"_depositNonce",type:"uint32"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"},{internalType:"bool",name:"_hasFallbackToggled",type:"bool"}],name:"retryDepositSigned",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"_settlementNonce",type:"uint32"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams[2]",name:"_gParams",type:"tuple[2]"},{internalType:"bool",name:"_hasFallbackToggled",type:"bool"}],name:"retrySettlement",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"rootBridgeAgentAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"rootChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],C=function(){function e(){}return e.encodeCallOutSignedCalldata=function(t,n){return e.INTERFACE.encodeFunctionData("callOutSigned",[t,T(n)])},e.encodeCallOutSignedAndBridgeCalldata=function(t){var n=t.params,f=t.depositParams,a=t.gasParams,i=t.hasFallbackToggled,s=void 0===i||i;return g(f),e.INTERFACE.encodeFunctionData("callOutSignedAndBridge",[n,[f.hToken,f.token,f.amount,f.deposit],T(a),s])},e.encodeCallOutSignedAndBridgeMultipleCalldata=function(t){var n=t.params,f=t.depositParams,a=t.gasParams,i=t.hasFallbackToggled,s=void 0===i||i;return E(f),e.INTERFACE.encodeFunctionData("callOutSignedAndBridgeMultiple",[n,[f.hTokens,f.tokens,f.amounts,f.deposits],T(a),s])},e.encodeRetryDepositSigned=function(t){var n=t.params,f=t.gasParams,i=t.hasFallbackToggled,s=void 0===i||i;return e.INTERFACE.encodeFunctionData("retryDepositSigned",[a.toHex(t.depositNonce),n,T(f),s])},e.encodeRetrySettlement=function(t){var n=t.params,f=t.gasParams,i=t.hasFallbackToggled,s=void 0===i||i;return e.INTERFACE.encodeFunctionData("retrySettlement",[a.toHex(t.settlementNonce),n,T(f),s])},e.encodeRetrieveDeposit=function(t){var n=t.gasParams;return e.INTERFACE.encodeFunctionData("retrieveDeposit",[a.toHex(t.depositNonce),T(n)])},e.encodeRedeemDeposit=function(t){var n=t.account;return e.INTERFACE.encodeFunctionData("redeemDeposit(uint32,address)",[a.toHex(t.depositNonce),n])},e.encodeRedeemDepositSingle=function(t){var n=t.account,f=t.localToken;return e.INTERFACE.encodeFunctionData("redeemDeposit(uint32,address,address)",[a.toHex(t.depositNonce),n,f])},e.encodeCallOutSignedLibZipCalldata=function(e,t){var n=e.slice(0,4),f=s.pack(["bytes1","bytes"],[n,r.LibZip.cdCompress(e.slice(4))]);return{calldata:this.encodeCallOutSignedCalldata(f,t),value:a.toHex(0)}},e.encodeCallOutSignedAndBridgeLibZipCalldata=function(e,t,n,f){void 0===f&&(f=!0);var i=e.slice(0,4),p=s.pack(["bytes1","bytes"],[i,r.LibZip.cdCompress(e.slice(4))]);return{calldata:this.encodeCallOutSignedAndBridgeCalldata({params:p,depositParams:t,gasParams:n,hasFallbackToggled:f}),value:a.toHex(0)}},e.encodeCallOutSignedAndBridgeMultipleLibZipCalldata=function(e,t,n,f){void 0===f&&(f=!0);var i=e.slice(0,4),p=s.pack(["bytes1","bytes"],[i,r.LibZip.cdCompress(e.slice(4))]);return{calldata:this.encodeCallOutSignedAndBridgeMultipleCalldata({params:p,depositParams:t,gasParams:n,hasFallbackToggled:f}),value:a.toHex(0)}},e}();C.INTERFACE=new i.Interface(h);var S=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],v=function(){function e(){}return e.encodeApproveToken=function(t,n){return e.INTERFACE.encodeFunctionData("approve",[n,t.toString()])},e.encodeTransfer=function(t,n){return e.INTERFACE.encodeFunctionData("transfer",[n,t.toString()])},e}();v.INTERFACE=new i.Interface(S);var O=[{inputs:[{internalType:"uint16",name:"_dstChainId",type:"uint16"},{internalType:"address",name:"_userApplication",type:"address"},{internalType:"bytes",name:"_payload",type:"bytes"},{internalType:"bool",name:"_payInZRO",type:"bool"},{internalType:"bytes",name:"_adapterParam",type:"bytes"}],name:"estimateFees",outputs:[{internalType:"uint256",name:"nativeFee",type:"uint256"},{internalType:"uint256",name:"zroFee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"}],name:"forceResumeReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_version",type:"uint16"},{internalType:"uint16",name:"_chainId",type:"uint16"},{internalType:"address",name:"_userApplication",type:"address"},{internalType:"uint256",name:"_configType",type:"uint256"}],name:"getConfig",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"}],name:"getInboundNonce",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_dstChainId",type:"uint16"},{internalType:"address",name:"_srcAddress",type:"address"}],name:"getOutboundNonce",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_userApplication",type:"address"}],name:"getReceiveLibraryAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_userApplication",type:"address"}],name:"getReceiveVersion",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_userApplication",type:"address"}],name:"getSendLibraryAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_userApplication",type:"address"}],name:"getSendVersion",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"}],name:"hasStoredPayload",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"isReceivingPayload",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"isSendingPayload",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"},{internalType:"address",name:"_dstAddress",type:"address"},{internalType:"uint64",name:"_nonce",type:"uint64"},{internalType:"uint256",name:"_gasLimit",type:"uint256"},{internalType:"bytes",name:"_payload",type:"bytes"}],name:"receivePayload",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"},{internalType:"bytes",name:"_payload",type:"bytes"}],name:"retryPayload",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"_dstChainId",type:"uint16"},{internalType:"bytes",name:"_destination",type:"bytes"},{internalType:"bytes",name:"_payload",type:"bytes"},{internalType:"address payable",name:"_refundAddress",type:"address"},{internalType:"address",name:"_zroPaymentAddress",type:"address"},{internalType:"bytes",name:"_adapterParams",type:"bytes"}],name:"send",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint16",name:"_version",type:"uint16"},{internalType:"uint16",name:"_chainId",type:"uint16"},{internalType:"uint256",name:"_configType",type:"uint256"},{internalType:"bytes",name:"_config",type:"bytes"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"_version",type:"uint16"}],name:"setReceiveVersion",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"_version",type:"uint16"}],name:"setSendVersion",outputs:[],stateMutability:"nonpayable",type:"function"}],B=[{inputs:[{internalType:"uint16",name:"_localChainId",type:"uint16"},{internalType:"address",name:"_lzEndpointAddress",type:"address"},{internalType:"address",name:"_rootPortAddress",type:"address"},{internalType:"address",name:"_rootRouterAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AlreadyAddedBridgeAgent",type:"error"},{inputs:[],name:"AlreadyExecutedTransaction",type:"error"},{inputs:[],name:"ContractsVirtualAccountNotAllowed",type:"error"},{inputs:[],name:"ExecutionFailure",type:"error"},{inputs:[],name:"InsufficientBalanceForSettlement",type:"error"},{inputs:[],name:"InvalidEndpointAddress",type:"error"},{inputs:[],name:"InvalidInputParams",type:"error"},{inputs:[],name:"InvalidInputParamsLength",type:"error"},{inputs:[],name:"InvalidRootPortAddress",type:"error"},{inputs:[],name:"InvalidRootRouterAddress",type:"error"},{inputs:[],name:"LayerZeroUnauthorizedCaller",type:"error"},{inputs:[],name:"LayerZeroUnauthorizedEndpoint",type:"error"},{inputs:[],name:"NotDao",type:"error"},{inputs:[],name:"NotSettlementOwner",type:"error"},{inputs:[],name:"SettlementRedeemUnavailable",type:"error"},{inputs:[],name:"SettlementRetrieveUnavailable",type:"error"},{inputs:[],name:"SettlementRetryUnavailable",type:"error"},{inputs:[],name:"SettlementRetryUnavailableUseCallout",type:"error"},{inputs:[],name:"UnknownFlag",type:"error"},{inputs:[],name:"UnrecognizedBridgeAgent",type:"error"},{inputs:[],name:"UnrecognizedBridgeAgentManager",type:"error"},{inputs:[],name:"UnrecognizedExecutor",type:"error"},{inputs:[],name:"UnrecognizedLocalAddress",type:"error"},{inputs:[],name:"UnrecognizedLocalBridgeAgent",type:"error"},{inputs:[],name:"UnrecognizedPort",type:"error"},{inputs:[],name:"UnrecognizedRouter",type:"error"},{inputs:[],name:"UnrecognizedUnderlyingAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"depositNonce",type:"uint256"},{indexed:!0,internalType:"uint256",name:"srcChainId",type:"uint256"}],name:"LogExecute",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"settlementNonce",type:"uint256"},{indexed:!0,internalType:"uint256",name:"dstChainId",type:"uint256"}],name:"LogFallback",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"gasLimit",type:"uint256"},{indexed:!0,internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],name:"LogGasParams",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint32",name:"_settlementNonce",type:"uint32"},{indexed:!1,internalType:"address",name:"_recipient",type:"address"}],name:"RedeemSettlement",type:"event"},{inputs:[],name:"acceptManagementRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_branchChainId",type:"uint256"}],name:"approveBranchBridgeAgent",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"bridgeAgentExecutorAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"uint32",name:"depositNonce",type:"uint32"},{internalType:"address",name:"hToken",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"deposit",type:"uint256"}],internalType:"struct DepositParams",name:"_dParams",type:"tuple"},{internalType:"uint256",name:"_srcChainId",type:"uint256"}],name:"bridgeIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"uint8",name:"numberOfAssets",type:"uint8"},{internalType:"uint32",name:"depositNonce",type:"uint32"},{internalType:"address[]",name:"hTokens",type:"address[]"},{internalType:"address[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"deposits",type:"uint256[]"}],internalType:"struct DepositMultipleParams",name:"_dParams",type:"tuple"},{internalType:"uint256",name:"_srcChainId",type:"uint256"}],name:"bridgeInMultiple",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"_gasRefundee",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{internalType:"uint16",name:"_dstChainId",type:"uint16"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"}],name:"callOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"_settlementOwnerAndGasRefundee",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{internalType:"uint16",name:"_dstChainId",type:"uint16"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"address",name:"globalAddress",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"deposit",type:"uint256"}],internalType:"struct SettlementInput",name:"_sParams",type:"tuple"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"},{internalType:"bool",name:"_hasFallbackToggled",type:"bool"}],name:"callOutAndBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"_settlementOwnerAndGasRefundee",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{internalType:"uint16",name:"_dstChainId",type:"uint16"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"address[]",name:"globalAddresses",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"deposits",type:"uint256[]"}],internalType:"struct SettlementMultipleInput",name:"_sParams",type:"tuple"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"},{internalType:"bool",name:"_hasFallbackToggled",type:"bool"}],name:"callOutAndBridgeMultiple",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"}],name:"executionState",outputs:[{internalType:"uint256",name:"state",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"factoryAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"}],name:"forceResumeReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"chainId",type:"uint256"}],name:"getBranchBridgeAgent",outputs:[{internalType:"address",name:"branchBridgeAgent",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"nonce",type:"uint256"}],name:"getSettlement",outputs:[{internalType:"uint16",name:"dstChainId",type:"uint16"},{internalType:"uint80",name:"status",type:"uint80"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"recipient",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_settlementNonce",type:"uint32"}],name:"getSettlementEntry",outputs:[{components:[{internalType:"uint16",name:"dstChainId",type:"uint16"},{internalType:"uint80",name:"status",type:"uint80"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address[]",name:"hTokens",type:"address[]"},{internalType:"address[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"deposits",type:"uint256[]"}],internalType:"struct Settlement",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"chainId",type:"uint256"}],name:"isBranchBridgeAgentAllowed",outputs:[{internalType:"bool",name:"allowed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"localChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"},{internalType:"uint64",name:"",type:"uint64"},{internalType:"bytes",name:"_payload",type:"bytes"}],name:"lzReceive",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_endpoint",type:"address"},{internalType:"uint16",name:"_srcChainId",type:"uint16"},{internalType:"bytes",name:"_srcAddress",type:"bytes"},{internalType:"bytes",name:"_payload",type:"bytes"}],name:"lzReceiveNonBlocking",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"pendingBridgeAgentManagerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_settlementNonce",type:"uint32"},{internalType:"address",name:"_recipient",type:"address"}],name:"redeemSettlement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_settlementNonce",type:"uint32"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"}],name:"retrieveSettlement",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_settlementOwnerAndGasRefundee",type:"address"},{internalType:"uint32",name:"_settlementNonce",type:"uint32"},{internalType:"address",name:"_recipient",type:"address"},{internalType:"bytes",name:"_params",type:"bytes"},{components:[{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"remoteBranchExecutionGas",type:"uint256"}],internalType:"struct GasParams",name:"_gParams",type:"tuple"},{internalType:"bool",name:"_hasFallbackToggled",type:"bool"}],name:"retrySettlement",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"rootPortAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"rootRouterAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"settlementNonce",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_newBranchBridgeAgent",type:"address"},{internalType:"uint256",name:"_branchChainId",type:"uint256"}],name:"syncBranchBridgeAgent",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newManager",type:"address"}],name:"transferManagementRole",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],R=[{inputs:[{internalType:"address",name:"_userAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"bytes",name:"returnData",type:"bytes"}],name:"CallFailed",type:"error"},{inputs:[],name:"UnauthorizedCaller",type:"error"},{stateMutability:"payable",type:"fallback"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Call[]",name:"calls",type:"tuple[]"}],name:"call",outputs:[{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"localPortAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"uint256",name:"value",type:"uint256"}],internalType:"struct PayableCall[]",name:"calls",type:"tuple[]"}],name:"payableCall",outputs:[{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"userAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdrawERC20",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"withdrawERC721",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdrawNative",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],M=function(){function e(e,t){this.token=e,this.currencyBalances=t}var t=e.prototype;return t.getTotalBalance=function()