ulysses-sdk
Version:
An sdk for interacting with the Ulysses contracts
3 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(){var e;return null!=(e=this._totalBalance)?e:this._totalBalance=a.CurrencyAmount.fromRawAmount(this.token,this.getNativeBalance().asFraction.add(this.getGlobalBalance().asFraction).add(this.getHTokenBalance().asFraction).add(this.getVirtualNativeBalance().asFraction.add(this.getVirtualGlobalBalance().asFraction)).quotient)},t.getBalance=function(e){return e?this.getRootBalance():this.getRemoteBalance()},t.getRemoteBalance=function(){var e;return null!=(e=this._totalBalance)?e:this._totalBalance=a.CurrencyAmount.fromRawAmount(this.token,this.getNativeBalance().asFraction.add(this.getHTokenBalance().asFraction).add(this.getVirtualNativeBalance().asFraction.add(this.getVirtualGlobalBalance().asFraction)).quotient)},t.getRootBalance=function(){var e;return null!=(e=this._rootBalance)?e:this._rootBalance=a.CurrencyAmount.fromRawAmount(this.token,this.getNativeBalance().asFraction.add(this.getGlobalBalance().asFraction).add(this.getVirtualNativeBalance().asFraction.add(this.getVirtualGlobalBalance().asFraction)).quotient)},t.getNativeBalance=function(){return this.parseCurrencyAmount(this.currencyBalances.native)},t.getCombinedNativeBalance=function(){var e=this.parseCurrencyAmount(this.currencyBalances.native),t=this.parseCurrencyAmount(this.currencyBalances.virtual.native);return{native:e,virtual:t,total:e.add(t)}},t.getGlobalBalance=function(){return this.parseCurrencyAmount(this.currencyBalances.global)},t.getCombinedGlobalBalance=function(){var e=this.parseCurrencyAmount(this.currencyBalances.global),t=this.parseCurrencyAmount(this.currencyBalances.virtual.global);return{global:e,virtual:t,total:e.add(t)}},t.getHTokenBalance=function(){return this.parseCurrencyAmount(this.currencyBalances.hToken)},t.getVirtualBalance=function(){return{virtual:{native:this.getVirtualNativeBalance(),global:this.getVirtualGlobalBalance()}}},t.getVirtualNativeBalance=function(){return this.parseCurrencyAmount(this.currencyBalances.virtual.native)},t.getVirtualGlobalBalance=function(){return this.parseCurrencyAmount(this.currencyBalances.virtual.global)},t.parseCurrencyAmount=function(e){return null!=e?e:a.CurrencyAmount.fromRawAmount(this.token.wrapped,0)},e}(),N=function(){function e(){}return e.encodeRetrySettlementCalldata=function(t){var n=t.recipient,f=t.params,i=t.gasParams,s=t.hasFallbackToggled;return e.INTERFACE.encodeFunctionData("retrySettlement",[t.settlementOwnerAndGasRefundee,a.toHex(t.settlementNonce),n,f,T(i),s])},e.encodeRetrieveSettlementCalldata=function(t){var n=t.gasParams;return e.INTERFACE.encodeFunctionData("retrieveSettlement",[a.toHex(t.settlementNonce),T(n)])},e.encodeRedeemSettlementCalldata=function(t){var n=t.recipient;return e.INTERFACE.encodeFunctionData("redeemSettlement",[a.toHex(t.settlementNonce),n])},e}();N.INTERFACE=new i.Interface(B);var P=function(){function e(){}return e.encodeAdapterParamsV2=function(e,t,n){return s.pack(["uint16","uint256","uint256","address"],[2,e,t,n])},e.createEstimateFeesCalldata=function(t,n,f,a,i,s){return e.INTERFACE.encodeFunctionData("estimateFees",[t,n,f,!1,e.encodeAdapterParamsV2(a,i,s)])},e.createCallOutLzEndpointCalldata=function(e,t,n,f){var a=s.pack(["bytes1","uint32","bytes"],[1,n,f]);return N.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,a])},e.createCallOutAndBridgeLzEndpointCalldata=function(e,t,n,f){var a=f.depositParams,i=s.pack(["bytes1","uint32","address","address","uint256","uint256","bytes"],[2,n,a.hToken,a.token,a.amount,a.deposit,f.params]);return N.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,i])},e.createBranchCallOutAndBridgeMultipleLzEndpointCalldata=function(e,t,n,f){var a=f.depositParams,i=s.pack(["bytes1","uint8","uint32","address[]","address[]","uint256[]","uint256[]","bytes"],[3,n,a.hTokens.length,a.hTokens,a.tokens,a.amounts,a.deposits,f.params]);return N.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,i])},e.createBranchCallOutSignedLzEndpointCalldata=function(e,t,n,f,a){var i=s.pack(["bytes1","address","uint32","bytes"],[4,f,n,a]);return N.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,i])},e.createBranchCallOutSignedAndBridgeLzEndpointCalldata=function(e,t,n,f,a){var i=a.depositParams,r=s.pack(["bytes1","address","uint32","address","address","uint256","uint256","bytes"],[a.hasFallbackToggled?"0x85":"0x05",f,n,i.hToken,i.token,i.amount,i.deposit,a.params]);return N.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,r])},e.createBranchCallOutSignedAndBridgeMultipleLzEndpointCalldata=function(e,t,n,f,a){var i=a.depositParams,r=s.pack(["bytes1","address","uint8","uint32","address[]","address[]","uint256[]","uint256[]","bytes"],[a.hasFallbackToggled?"0x86":"0x06",f,i.hTokens.length,n,i.hTokens,i.tokens,i.amounts,i.deposits,a.params]);return N.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,r])},e.createBranchRetrySettlementEndpointCalldata=function(e,t,n,f){var a=f.gasParams,r=f.hasFallbackToggled,p=i.defaultAbiCoder.encode(["uint32","address","bytes","tuple(uint256, uint256)"],[f.settlementNonce,n,f.params,[a.gasLimit,a.remoteBranchExecutionGas]]),u=s.pack(["bytes1","bytes"],[r?"0x87":"0x07",p]);return N.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,u])},e.createBranchRetrieveDepositEndpointCalldata=function(e,t,n,f){var a=s.pack(["bytes1","address","uint32"],[8,n,f.depositNonce]);return N.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,a])},e.createRootCallOutLzEndpointCalldata=function(e,t,n,f,a){var i=s.pack(["bytes1","address","uint32","bytes"],[1,f,n,a]);return C.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,i])},e.createRootCallOutAndBridgeLzEndpointCalldata=function(e,t,n,f){var a=f.settlementParams,i=s.pack(["bytes1","address","uint32","address","address","uint256","uint256","bytes"],[f.hasFallbackToggled?"0x82":"0x02",f.recipient,n,a.hToken,a.token,a.amount,a.deposit,f.params]);return C.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,i])},e.createRootCallOutAndBridgeMultipleLzEndpointCalldata=function(e,t,n,f){var a=f.settlementParams,i=s.pack(["bytes1","address","uint8","uint32","address[]","address[]","uint256[]","uint256[]","bytes"],[f.hasFallbackToggled?"0x83":"0x03",f.recipient,a.hTokens.length,n,a.hTokens,a.tokens,a.amounts,a.deposits,f.params]);return C.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,i])},e.createRootRetrieveSettlementEndpointCalldata=function(e,t,n){var f=s.pack(["bytes1","uint32"],[4,n.settlementNonce]);return C.INTERFACE.encodeFunctionData("lzReceive",[e,t,0,f])},e}();P.INTERFACE=new i.Interface(O);var L=[{type:"constructor",inputs:[{name:"_localChainId",type:"uint256",internalType:"uint256"},{name:"_localPortAddress",type:"address",internalType:"address"},{name:"_multicallAddress",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"bridgeAgentAddress",inputs:[],outputs:[{name:"",type:"address",internalType:"address payable"}],stateMutability:"view"},{type:"function",name:"bridgeAgentExecutorAddress",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"callOutAndBridge",inputs:[{name:"settlementOwner",type:"address",internalType:"address"},{name:"recipient",type:"address",internalType:"address"},{name:"outputToken",type:"address",internalType:"address"},{name:"amountOut",type:"uint256",internalType:"uint256"},{name:"depositOut",type:"uint256",internalType:"uint256"},{name:"dstChainId",type:"uint16",internalType:"uint16"},{name:"gasParams",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:"settlementOwner",type:"address",internalType:"address"},{name:"recipient",type:"address",internalType:"address"},{name:"outputTokens",type:"address[]",internalType:"address[]"},{name:"amountsOut",type:"uint256[]",internalType:"uint256[]"},{name:"depositsOut",type:"uint256[]",internalType:"uint256[]"},{name:"dstChainId",type:"uint16",internalType:"uint16"},{name:"gasParams",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:"execute",inputs:[{name:"encodedData",type:"bytes",internalType:"bytes"},{name:"",type:"uint16",internalType:"uint16"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeDepositMultiple",inputs:[{name:"",type:"bytes",internalType:"bytes"},{name:"",type:"tuple",internalType:"struct DepositMultipleParams",components:[{name:"numberOfAssets",type:"uint8",internalType:"uint8"},{name:"depositNonce",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[]"}]},{name:"",type:"uint16",internalType:"uint16"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeDepositSingle",inputs:[{name:"",type:"bytes",internalType:"bytes"},{name:"",type:"tuple",internalType:"struct DepositParams",components:[{name:"depositNonce",type:"uint32",internalType:"uint32"},{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:"",type:"uint16",internalType:"uint16"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeRetrySettlement",inputs:[{name:"_owner",type:"address",internalType:"address"},{name:"_settlementNonce",type:"uint32",internalType:"uint32"},{name:"_recipient",type:"address",internalType:"address"},{name:"",type:"bytes",internalType:"bytes"},{name:"_gParams",type:"tuple",internalType:"struct GasParams",components:[{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"remoteBranchExecutionGas",type:"uint256",internalType:"uint256"}]},{name:"_hasFallbackToggled",type:"bool",internalType:"bool"},{name:"",type:"uint16",internalType:"uint16"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeSigned",inputs:[{name:"encodedData",type:"bytes",internalType:"bytes"},{name:"userAccount",type:"address",internalType:"address"},{name:"",type:"uint16",internalType:"uint16"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeSignedDepositMultiple",inputs:[{name:"encodedData",type:"bytes",internalType:"bytes"},{name:"",type:"tuple",internalType:"struct DepositMultipleParams",components:[{name:"numberOfAssets",type:"uint8",internalType:"uint8"},{name:"depositNonce",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[]"}]},{name:"userAccount",type:"address",internalType:"address"},{name:"",type:"uint16",internalType:"uint16"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeSignedDepositSingle",inputs:[{name:"encodedData",type:"bytes",internalType:"bytes"},{name:"",type:"tuple",internalType:"struct DepositParams",components:[{name:"depositNonce",type:"uint32",internalType:"uint32"},{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:"userAccount",type:"address",internalType:"address"},{name:"",type:"uint16",internalType:"uint16"}],outputs:[],stateMutability:"payable"},{type:"function",name:"initialize",inputs:[{name:"_bridgeAgentAddress",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"localChainId",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"localPortAddress",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"multicallAddress",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:"retrySettlement",inputs:[{name:"_settlementNonce",type:"uint32",internalType:"uint32"},{name:"_recipient",type:"address",internalType:"address"},{name:"",type:"bytes",internalType:"bytes"},{name:"_gParams",type:"tuple",internalType:"struct GasParams",components:[{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"remoteBranchExecutionGas",type:"uint256",internalType:"uint256"}]},{name:"_hasFallbackToggled",type:"bool",internalType:"bool"}],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:"UnrecognizedBridgeAgent",inputs:[]},{type:"error",name:"UnrecognizedBridgeAgentExecutor",inputs:[]},{type:"error",name:"UnrecognizedFunctionId",inputs:[]}],D=function(){function e(){}return e.encodeCallOutAndBridgeCalldata=function(t){return e.INTERFACE.encodeFunctionData("callOutAndBridge",[t.settlementOwnerAndGasRefundee,t.recipient,t.outputToken,t.amountOut,t.depositOut,t.dstChainId,T(t.gasParams)])},e.encodeCallOutAndBridgeMultipleCalldata=function(t){return e.INTERFACE.encodeFunctionData("callOutAndBridgeMultiple",[t.settlementOwnerAndGasRefundee,t.recipient,t.outputTokens,t.amountsOut,t.depositsOut,t.dstChainId,T(t.gasParams)])},e.encodeRetrySettlementCalldata=function(t){var n=t.hasFallbackToggled,f=void 0===n||n;return e.INTERFACE.encodeFunctionData("retrySettlement",[t.settlementNonce,t.recipient,"",T(t.gasParams),f])},e.encodeRemoteMulticallNoOutput=function(t){var n=e.encodeMulticallNoOutput(t);return s.pack(["bytes1","bytes"],[y.NO_OUTPUT,n])},e.encodeRemoteMulticallNoOutputLibZip=function(t){var n=r.LibZip.cdCompress(e.encodeMulticallNoOutput(t));return s.pack(["bytes1","bytes"],[y.NO_OUTPUT,n])},e.encodeMulticallNoOutput=function(e){var t=e.map((function(e){return[e.target,e.callData]}));return i.defaultAbiCoder.encode(["tuple(address, bytes)[]"],[t])},e.encodeRemoteMulticallWithOutput=function(t,n){var f=e.encodeMulticallWithOutput(t,n);return s.pack(["bytes1","bytes"],[y.SINGLE_OUTPUT,f])},e.encodeRemoteMulticallWithOutputLibZip=function(t,n){var f=r.LibZip.cdCompress(e.encodeMulticallWithOutput(t,n));return s.pack(["bytes1","bytes"],[y.SINGLE_OUTPUT,f])},e.encodeMulticallWithOutput=function(e,t){var n=e.map((function(e){return[e.target,e.callData]}));return i.defaultAbiCoder.encode(["tuple(address, bytes)[]","tuple(address, address, address, uint256, uint256)","uint16","tuple(uint256, uint256)"],[n,[t.settlementOwner,t.recipient,t.outputToken,t.amountOut,t.depositOut],t.dstChainId,[t.gasParams.gasLimit,t.gasParams.remoteBranchExecutionGas]])},e.encodeRemoteMulticallWithMultipleOutput=function(t,n){var f=e.encodeMulticallWithMultipleOutput(t,n);return s.pack(["bytes1","bytes"],[y.MULTIPLE_OUTPUT,f])},e.encodeRemoteMulticallWithMultipleOutputLibZip=function(t,n){var f=r.LibZip.cdCompress(e.encodeMulticallWithMultipleOutput(t,n));return s.pack(["bytes1","bytes"],[y.MULTIPLE_OUTPUT,f])},e.encodeMulticallWithMultipleOutput=function(e,t){var n=e.map((function(e){return[e.target,e.callData]}));return i.defaultAbiCoder.encode(["tuple(address, bytes)[]","tuple(address, address, address[], uint256[], uint256[])","uint16","tuple(uint256, uint256)"],[n,[t.settlementOwner,t.recipient,t.outputTokens,t.amountsOut,t.depositsOut],t.dstChainId,[t.gasParams.gasLimit,t.gasParams.remoteBranchExecutionGas]])},e}();function x(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,function(e,t){(Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}(e,t)}D.INTERFACE=new i.Interface(L);var k,w=function(e){function t(t,n,f,a,i,s,r){var p;return(p=e.call(this,n,t,f,i,s,r)||this).underlyingCurrency=a,p}return x(t,e),t}(a.NativeToken),F=function(e){function t(t,n,f,a,i,s,r){var p;return(p=e.call(this,n,t,f,a,i,s)||this).isGlobal=!0,p.hTokensPerChain=null!=r?r:new Map,p}x(t,e);var n=t.prototype;return n.getChainTokenAddress=function(e){var t;return null==(t=this.hTokensPerChain)?void 0:t.get(e)},n.isEcosystemToken=function(){return this.wrapped.address===this.underlyingCurrency.wrapped.address&&this.chainId===this.underlyingCurrency.chainId},t}(w),G=function(e){function t(t,n,f,a,i,s,r){var p;return(p=e.call(this,n,t,f,a,s,r)||this).isGlobal=!1,p.globalToken=i,p}return x(t,e),t.prototype.getChainTokenAddress=function(e){var t;return null==(t=this.globalToken.hTokensPerChain)?void 0:t.get(e)},t}(w),U=function(){function e(){}return e.encodeMulticall=function(t){return A(t),e.INTERFACE.encodeFunctionData("call",[m(t)])},e.encodePayableCall=function(t){return A(t),e.INTERFACE.encodeFunctionData("payableCall",[b(t)])},e.encodeMulticallWithCompression=function(t){A(t);var n=e.INTERFACE.encodeFunctionData("call",[m(t)]);return r.LibZip.cdCompress(n)},e.encodePayableCallWithCompression=function(t){A(t);var n=e.INTERFACE.encodeFunctionData("payableCall",[b(t)]);return r.LibZip.cdCompress(n)},e.encodeWithdrawNative=function(t){return f.BigInt(t.amount)>=a.ZERO||p(!1),e.INTERFACE.encodeFunctionData("withdrawNative",[t.amount])},e.encodeWithdrawERC20=function(t){return _(t.token,f.BigInt(t.amount)),e.INTERFACE.encodeFunctionData("withdrawERC20",[t.token,t.amount])},e.encodeWithdrawERC721=function(t,n){return _(t,void 0,f.BigInt(n)),e.INTERFACE.encodeFunctionData("withdrawERC721",[t,n])},e}();U.INTERFACE=new i.Interface(R);var H=((k={})[1]=new a.NativeToken(1,"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",18,"WETH","Wrapped Ether"),k[3]=new a.NativeToken(3,"0xc778417E063141139Fce010982780140Aa0cD5Ab",18,"WETH","Wrapped Ether"),k[4]=new a.NativeToken(4,"0xc778417E063141139Fce010982780140Aa0cD5Ab",18,"WETH","Wrapped Ether"),k[5]=new a.NativeToken(5,"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",18,"WETH","Wrapped Ether"),k[42]=new a.NativeToken(42,"0xd0A1E359811322d97991E03f863a0C30C2cF029C",18,"WETH","Wrapped Ether"),k[10]=new a.NativeToken(10,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),k[69]=new a.NativeToken(69,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),k[42161]=new a.NativeToken(42161,"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",18,"WETH","Wrapped Ether"),k[421611]=new a.NativeToken(421611,"0xB47e6A5f8b33b3F17603C83a0535A9dcD7E32681",18,"WETH","Wrapped Ether"),k);exports.BRANCH_BRIDGE_AGENT_ACTION_BASE_GAS={NO_ASSET_DEPOSIT:1e5,SINGLE_ASSET_DEPOSIT:15e4,MULTIPLE_ASSET_DEPOSIT:2e5,SINGLE_ASSET_DEPOSIT_WITH_FALLBACK:29e4,MULTIPLE_ASSET_DEPOSIT_WITH_FALLBACK:34e4,RETRIEVE_SETTLEMENT:1e5,FALLBACK:14e4},exports.BRANCH_BRIDGE_AGENT_ACTION_ID={NO_ASSET_DEPOSIT:1,SINGLE_ASSET_DEPOSIT:2,MULTIPLE_ASSET_DEPOSIT:3,RETRIEVE_SETTLEMENT:4,FALLBACK:5},exports.BaseBranchRouter=I,exports.BaseVirtualizedToken=w,exports.BranchBridgeAgent=C,exports.CORE_BRANCH_ROUTER_FUNC_ID={RECEIVE_ADD_GLOBAL_TOKEN:1,RECEIVE_ADD_BRIDGE_AGENT:2,TOGGLE_BRANCH_BRIDGE_AGENT_FATORY:3,TOGGLE_STRATEGY_TOKEN:4,UPDATE_STRATEGY_TOKEN:5,TOGGLE_PORT_STRATEGY:6,UPDATE_PORT_STRATEGY:7,SET_CORE_BRANCH_ROUTER:8,SWEEP:9},exports.CORE_ROOT_ROUTER_FUNC_ID={ADD_GLOBAL_TOKEN:1,ADD_LOCAL_TOKEN:2,SET_LOCAL_TOKEN:3,SYNC_BRANCH_BRIDGE_AGENT:4},exports.CurrencyBalances=M,exports.DEFAULT_GAS_PARAMS=l,exports.ERC20Token=v,exports.EVM_CHAIN_ID_TO_ROOT_CHAIN_ID=o,exports.GlobalToken=F,exports.LocalToken=G,exports.LzEndpoint=P,exports.MULTICALL_FUNCID=y,exports.ROOT_BRIDGE_AGENT_ACTION_BASE_GAS={NO_ASSET_DEPOSIT:1e5,SINGLE_ASSET_DEPOSIT:15e4,MULTIPLE_ASSET_DEPOSIT:2e5,SIGNED_NO_ASSET_DEPOSIT:1e5,SIGNED_SINGLE_ASSET_DEPOSIT:15e4,SIGNED_MULTIPLE_ASSET_DEPOSIT:2e5,SIGNED_SINGLE_ASSET_DEPOSIT_WITH_FALLBACK:29e4,SIGNED_MULTIPLE_ASSET_DEPOSIT_WITH_FALLBACK:34e4,RETRY_SETTLEMENT:1e5,RETRIEVE_DEPOSIT:1e5,FALLBACK:14e4},exports.ROOT_BRIDGE_AGENT_ACTION_ID={NO_ASSET_DEPOSIT:1,SINGLE_ASSET_DEPOSIT:2,MULTIPLE_ASSET_DEPOSIT:3,SIGNED_NO_ASSET_DEPOSIT:4,SIGNED_SINGLE_ASSET_DEPOSIT:5,SIGNED_MULTIPLE_ASSET_DEPOSIT:6,RETRY_SETTLEMENT:7,RETRIEVE_DEPOSIT:8,FALLBACK:9},exports.ROOT_CHAIN_IDS=d,exports.RootBridgeAgent=N,exports.RootRouter=D,exports.VirtualAccount=U,exports.WETH9=H,exports.computeVirtualAccount=function(e,t){var n,f;d.includes(t)||p(!1);var i=s.keccak256(["bytes"],[(a.SupportedChainId.ARBITRUM_ONE===t?"0x60c0346100bd57601f6112b038819003918201601f19168301916001600160401b038311848410176100c2578084926020946040528339810103126100bd57516001600160a01b03811681036100bd573360a0526080526040516111d790816100d98239608051818181610453015281816105ba015281816106b2015281816107d6015281816109b80152610ac0015260a0518181816102b1015281816104d901528181610630015281816107280152818161084b0152610b350152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610015575b36610b9057005b60003560e01c806301ffc9a7146100c5578063150b7a02146100c05780635abfaf6c146100bb57806362ffbaa2146100b657806384276d81146100b157806393f29694146100ac578063a1db9782146100a7578063bc197c81146100a2578063e4128fb31461009d578063f23a6e61146100985763f3e414f80361000e57610a6d565b6109dc565b61096d565b6108a6565b610783565b61068b565b610573565b610431565b610266565b6101d5565b346101845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610184576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361018457807f4e2312e0000000000000000000000000000000000000000000000000000000006020921490811561015a575b506040519015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150143861014f565b600080fd5b73ffffffffffffffffffffffffffffffffffffffff81160361018457565b9181601f840112156101845782359167ffffffffffffffff8311610184576020838186019501011161018457565b346101845760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101845761020f600435610189565b61021a602435610189565b60643567ffffffffffffffff81116101845761023a9036906004016101a7565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b346101845760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156101845782359167ffffffffffffffff8311610184576020808501948460051b01011161018457565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610184576004359067ffffffffffffffff82116101845761034f916004016102d5565b9091565b919082519283825260005b84811061039d5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161035e565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106103e55750505050505090565b9091929394958480610421837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528a51610353565b98019301930191949392906103d5565b61043a36610306565b9073ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000163303610497575b61049361048784846110c5565b604051918291826103b1565b0390f35b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015290602090829060449082906000907f0000000000000000000000000000000000000000000000000000000000000000165af190811561056e57600091610540575b5015610516573861047a565b60046040517f5c427cd9000000000000000000000000000000000000000000000000000000008152fd5b610561915060203d8111610567575b6105598183610c83565b810190610cc9565b3861050a565b503d61054f565b610ce1565b346101845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101845773ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001633036105ee575b6105ec600435610ced565b005b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015290602090829060449082906000907f0000000000000000000000000000000000000000000000000000000000000000165af190811561056e5760009161066d575b501561051657386105e1565b610685915060203d8111610567576105598183610c83565b38610661565b346101845761069936610306565b9073ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001633036106e6575b6104936104878484610f7c565b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015290602090829060449082906000907f0000000000000000000000000000000000000000000000000000000000000000165af190811561056e57600091610765575b501561051657386106d9565b61077d915060203d8111610567576105598183610c83565b38610759565b346101845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610184576004356107be81610189565b73ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000163303610809575b6105ec60243583610d0c565b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015290602090829060449082906000907f0000000000000000000000000000000000000000000000000000000000000000165af190811561056e57600091610888575b501561051657386107fd565b6108a0915060203d8111610567576105598183610c83565b3861087c565b346101845760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610184576108e0600435610189565b6108eb602435610189565b67ffffffffffffffff6044358181116101845761090c9036906004016102d5565b5050606435818111610184576109269036906004016102d5565b5050608435908111610184576109409036906004016101a7565b50506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b346101845760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101845760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018457610a16600435610189565b610a21602435610189565b60843567ffffffffffffffff811161018457610a419036906004016101a7565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b346101845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018457600435610aa881610189565b73ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000163303610af3575b6105ec60243583610d56565b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015290602090829060449082906000907f0000000000000000000000000000000000000000000000000000000000000000165af190811561056e57600091610b72575b50156105165738610ae7565b610b8a915060203d8111610567576105598183610c83565b38610b66565b3615610c50576000805b368110610bbd576000388382305af43d6000803e15610bb8573d6000f35b3d6000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9181358383011860001a600180809401948215610c015750508153015b90610b9a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff845290850194607f9250803591011860001a81811115610c45575b160101610bfb565b838101388439610c3d565b3636f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610cc457604052565b610c54565b90816020910312610184575180151581036101845790565b6040513d6000823e3d90fd5b60009081803892335af115610cfe57565b63b12d13eb6000526004601cfd5b6020906010923360145260345260446000938480936fa9059cbb00000000000000000000000082525af13d156001835114171615610d4957603452565b6390b8ec1890526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff1690813b15610184576000916064839260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845230600485015233602485015260448401525af1801561056e57610dc65750565b67ffffffffffffffff8111610cc457604052565b67ffffffffffffffff8111610cc45760051b60200190565b90610dfc82610dda565b610e096040519182610c83565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610e378294610dda565b019060005b828110610e4857505050565b806060602080938501015201610e3c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b35610e9281610189565b90565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610184570180359067ffffffffffffffff82116101845760200191813603831361018457565b908092918237016000815290565b3d15610f4d573d9067ffffffffffffffff8211610cc45760405191610f4160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610c83565b82523d6000602084013e565b606090565b8051821015610f665760209160051b010190565b610e59565b906020610e92928181520190610353565b9190610f8781610df2565b9260005b828110610f9757505050565b60008160051b8301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1843603018112156110815781908401610fe2610fdc82610e88565b3b151590565b61103a575b505015610ff657600101610f8b565b6110036110369186610f52565b516040519182917fa5fa8d2b00000000000000000000000000000000000000000000000000000000835260048301610f6b565b0390fd5b8161105261104783610e88565b926020810190610e95565b919061106360405180948193610ee6565b03925af161106f610ef4565b6110798388610f52565b528038610fe7565b5080fd5b9190811015610f665760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610184570190565b9190916000906110d484610df2565b93825b8181106111135750505034036110e957565b60046040517f4422bc1b000000000000000000000000000000000000000000000000000000008152fd5b61111e818385611085565b6040908181013580960195600091829161113a610fdc83610e88565b61118f575b5050501561115057506001016110d7565b61115d6110369288610f52565b5190519182917fa5fa8d2b00000000000000000000000000000000000000000000000000000000835260048301610f6b565b61119b61104783610e88565b91906111ab875180948193610ee6565b03925af16111b7610ef4565b6111c1848a610f52565b5280388061113f56fea164736f6c6343000813000a":"0x60c0346100bd57601f6112d738819003918201601f19168301916001600160401b038311848410176100c2578084926020946040528339810103126100bd57516001600160a01b03811681036100bd573360a0526080526040516111fe90816100d982396080518181816104e7015281816106390152818161072e0152818161084c015281816109a80152610b31015260a0518181816102b10152818161048f015281816105f1015281816106e6015281816108050152610aea0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610015575b36610b7b57005b60003560e01c806301ffc9a7146100c5578063150b7a02146100c05780635abfaf6c146100bb57806362ffbaa2146100b657806384276d81146100b157806393f29694146100ac578063a1db9782146100a7578063bc197c81146100a2578063e4128fb31461009d578063f23a6e61146100985763f3e414f80361000e57610a5d565b6109cc565b61095d565b610896565b610778565b610683565b610570565b610431565b610266565b6101d5565b346101845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610184576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361018457807f4e2312e0000000000000000000000000000000000000000000000000000000006020921490811561015a575b506040519015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150143861014f565b600080fd5b73ffffffffffffffffffffffffffffffffffffffff81160361018457565b9181601f840112156101845782359167ffffffffffffffff8311610184576020838186019501011161018457565b346101845760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101845761020f600435610189565b61021a602435610189565b60643567ffffffffffffffff81116101845761023a9036906004016101a7565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b346101845760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156101845782359167ffffffffffffffff8311610184576020808501948460051b01011161018457565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610184576004359067ffffffffffffffff82116101845761034f916004016102d5565b9091565b919082519283825260005b84811061039d5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161035e565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106103e55750505050505090565b9091929394958480610421837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528a51610353565b98019301930191949392906103d5565b61043a36610306565b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015290919073ffffffffffffffffffffffffffffffffffffffff9060208160448160007f000000000000000000000000000000000000000000000000000000000000000087165af190811561056b5760009161053d575b50156104e5575b6104e16104d584846110b0565b604051918291826103b1565b0390f35b7f000000000000000000000000000000000000000000000000000000000000000016330361051357386104c8565b60046040517f5c427cd9000000000000000000000000000000000000000000000000000000008152fd5b61055e915060203d8111610564575b6105568183610c6e565b810190610cb4565b386104c1565b503d61054c565b610ccc565b346101845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610184576040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015273ffffffffffffffffffffffffffffffffffffffff9060208160448160007f000000000000000000000000000000000000000000000000000000000000000087165af190811561056b57600091610665575b5015610637575b610635600435610cd8565b005b7f0000000000000000000000000000000000000000000000000000000000000000163303610513573861062a565b61067d915060203d8111610564576105568183610c6e565b38610623565b346101845761069136610306565b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015290919073ffffffffffffffffffffffffffffffffffffffff9060208160448160007f000000000000000000000000000000000000000000000000000000000000000087165af190811561056b5760009161075a575b501561072c575b6104e16104d58484610f67565b7f0000000000000000000000000000000000000000000000000000000000000000163303610513573861071f565b610772915060203d8111610564576105568183610c6e565b38610718565b346101845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610184576004356107b381610189565b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015273ffffffffffffffffffffffffffffffffffffffff9060208160448160007f000000000000000000000000000000000000000000000000000000000000000087165af190811561056b57600091610878575b501561084a575b61063560243583610cf7565b7f0000000000000000000000000000000000000000000000000000000000000000163303610513573861083e565b610890915060203d8111610564576105568183610c6e565b38610837565b346101845760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610184576108d0600435610189565b6108db602435610189565b67ffffffffffffffff604435818111610184576108fc9036906004016102d5565b5050606435818111610184576109169036906004016102d5565b5050608435908111610184576109309036906004016101a7565b50506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b346101845760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101845760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018457610a06600435610189565b610a11602435610189565b60843567ffffffffffffffff811161018457610a319036906004016101a7565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b346101845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018457600435610a9881610189565b6040517f065b904100000000000000000000000000000000000000000000000000000000815230600482015233602482015273ffffffffffffffffffffffffffffffffffffffff9060208160448160007f000000000000000000000000000000000000000000000000000000000000000087165af190811561056b57600091610b5d575b5015610b2f575b61063560243583610d41565b7f00000000000000000000000000000000000000000000000000000000000000001633036105135738610b23565b610b75915060203d8111610564576105568183610c6e565b38610b1c565b3615610c3b576000805b368110610ba8576000388382305af43d6000803e15610ba3573d6000f35b3d6000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9181358383011860001a600180809401948215610bec5750508153015b90610b85565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff845290850194607f9250803591011860001a81811115610c30575b160101610be6565b838101388439610c28565b3636f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610caf57604052565b610c3f565b90816020910312610184575180151581036101845790565b6040513d6000823e3d90fd5b60009081803892335af115610ce957565b63b12d13eb6000526004601cfd5b6020906010923360145260345260446000938480936fa9059cbb00000000000000000000000082525af13d156001835114171615610d3457603452565b6390b8ec1890526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff1690813b15610184576000916064839260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845230600485015233602485015260448401525af1801561056b57610db15750565b67ffffffffffffffff8111610caf57604052565b67ffffffffffffffff8111610caf5760051b60200190565b90610de782610dc5565b610df46040519182610c6e565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610e228294610dc5565b019060005b828110610e3357505050565b806060602080938501015201610e27565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b35610e7d81610189565b90565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610184570180359067ffffffffffffffff82116101845760200191813603831361018457565b908092918237016000815290565b3d15610f38573d9067ffffffffffffffff8211610caf5760405191610f2c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610c6e565b82523d6000602084013e565b606090565b8051821015610f515760209160051b010190565b610e44565b906020610e7d928181520190610353565b9190610f7281610ddd565b9260005b828110610f8257505050565b60008160051b8301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18436030181121561106c5781908401610fcd610fc782610e73565b3b151590565b611025575b505015610fe157600101610f76565b610fee6110219186610f3d565b516040519182917fa5fa8d2b00000000000000000000000000000000000000000000000000000000835260048301610f56565b0390fd5b8161103d61103283610e73565b926020810190610e80565b919061104e60405180948193610ed1565b03925af161105a610edf565b6110648388610f3d565b528038610fd2565b5080fd5b9190811015610f515760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610184570190565b9190916000906110bf84610ddd565b93825b81811061113a5750505034036110d457565b6040517fa5fa8d2b000000000000000000000000000000000000000000000000000000008152806110216004820160609060208152600460208201527f5c63102a0000000000000000000000000000000000000000000000000000000060408201520190565b611145818385611070565b60409081810135809601956000918291611161610fc783610e73565b6111b6575b5050501561117757506001016110c2565b6111846110219288610f3d565b5190519182917fa5fa8d2b00000000000000000000000000000000000000000000000000000000835260048301610f56565b6111c261103283610e73565b91906111d2875180948193610ed1565b03925af16111de610edf565b6111e8848a610f3d565b5280388061116656fea164736f6c6343000813000a").concat("000000000000000000000000").concat(e.slice(2))]);return u.getCreate2Address(null!=(n=null==(f=a.Ulysses[t])?void 0:f.RootPort)?n:a.ZERO_ADDRESS,e.concat("000000000000000000000000"),i)},exports.formatCall=function(e){return[e.target,e.callData]},exports.formatCalls=m,exports.formatDeposit=function(e){return[e.hToken,e.token,e.amount,e.deposit]},exports.formatGasParams=T,exports.formatGasParamsArray=function(e){return e.map((function(e){return[e.gasLimit,e.remoteBranchExecutionGas]}))},exports.formatMultipleDeposit=function(e){return[e.hTokens,e.tokens,e.amounts,e.deposits]},exports.formatPayableCall=function(e){return[e.target,e.callData,e.value]},exports.formatPayableCalls=b,exports.multipleDepositInvariantHelper=E,exports.singleDepositInvariantHelper=g,exports.virtualAccountCallInvariantHelper=A,exports.virtualAccountWithdrawInvariantHelper=_;
//# sourceMappingURL=ulysses-sdk.cjs.production.min.js.map