Files
managing-apps/src/Managing.Web3Proxy/src/generated/gmxsdk/abis/MultichainSubaccountRouter.json
2025-09-15 19:57:11 +07:00

2069 lines
55 KiB
JSON

{
"abi": [
{
"inputs": [
{
"components": [
{
"internalType": "contract Router",
"name": "router",
"type": "address"
},
{
"internalType": "contract RoleStore",
"name": "roleStore",
"type": "address"
},
{
"internalType": "contract DataStore",
"name": "dataStore",
"type": "address"
},
{
"internalType": "contract EventEmitter",
"name": "eventEmitter",
"type": "address"
},
{
"internalType": "contract IOracle",
"name": "oracle",
"type": "address"
},
{
"internalType": "contract OrderVault",
"name": "orderVault",
"type": "address"
},
{
"internalType": "contract IOrderHandler",
"name": "orderHandler",
"type": "address"
},
{
"internalType": "contract ISwapHandler",
"name": "swapHandler",
"type": "address"
},
{
"internalType": "contract IExternalHandler",
"name": "externalHandler",
"type": "address"
},
{
"internalType": "contract MultichainVault",
"name": "multichainVault",
"type": "address"
}
],
"internalType": "struct MultichainRouter.BaseConstructorParams",
"name": "params",
"type": "tuple"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "currentTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "DeadlinePassed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
}
],
"name": "DisabledFeature",
"type": "error"
},
{
"inputs": [],
"name": "EmptyHoldingAddress",
"type": "error"
},
{
"inputs": [],
"name": "EmptyOrder",
"type": "error"
},
{
"inputs": [],
"name": "EmptyReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "EmptyTokenTranferGasLimit",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "requiredRelayFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "availableFeeAmount",
"type": "uint256"
}
],
"name": "InsufficientRelayFee",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
}
],
"name": "InvalidDestinationChainId",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "sendTokensLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "sendAmountsLength",
"type": "uint256"
}
],
"name": "InvalidExternalCalls",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "address",
"name": "expectedSpender",
"type": "address"
}
],
"name": "InvalidPermitSpender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "srcChainId",
"type": "uint256"
}
],
"name": "InvalidSrcChainId",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"name": "InvalidUserDigest",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "feeUsd",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxFeeUsd",
"type": "uint256"
}
],
"name": "MaxRelayFeeSwapForSubaccountExceeded",
"type": "error"
},
{
"inputs": [],
"name": "NonEmptyExternalCallsForSubaccountOrder",
"type": "error"
},
{
"inputs": [],
"name": "RelayEmptyBatch",
"type": "error"
},
{
"inputs": [],
"name": "TokenPermitsNotAllowedForMultichain",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "TokenTransferError",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "msgSender",
"type": "address"
},
{
"internalType": "string",
"name": "role",
"type": "string"
}
],
"name": "Unauthorized",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "address",
"name": "expectedFeeToken",
"type": "address"
}
],
"name": "UnexpectedRelayFeeToken",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "address",
"name": "expectedFeeToken",
"type": "address"
}
],
"name": "UnsupportedRelayFeeToken",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "reason",
"type": "string"
},
{
"indexed": false,
"internalType": "bytes",
"name": "returndata",
"type": "bytes"
}
],
"name": "TokenTransferReverted",
"type": "event"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "address[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "providers",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"internalType": "struct OracleUtils.SetPricesParams",
"name": "oracleParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address[]",
"name": "sendTokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "sendAmounts",
"type": "uint256[]"
},
{
"internalType": "address[]",
"name": "externalCallTargets",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "externalCallDataList",
"type": "bytes[]"
},
{
"internalType": "address[]",
"name": "refundTokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "refundReceivers",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.ExternalCalls",
"name": "externalCalls",
"type": "tuple"
},
{
"components": [
{
"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"
},
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"internalType": "struct IRelayUtils.TokenPermit[]",
"name": "tokenPermits",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "feeAmount",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "feeSwapPath",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.FeeParams",
"name": "fee",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "userNonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
}
],
"internalType": "struct IRelayUtils.RelayParams",
"name": "relayParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "subaccount",
"type": "address"
},
{
"internalType": "bool",
"name": "shouldAdd",
"type": "bool"
},
{
"internalType": "uint256",
"name": "expiresAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxAllowedCount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "actionType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "integrationId",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"internalType": "struct SubaccountApproval",
"name": "subaccountApproval",
"type": "tuple"
},
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "srcChainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "subaccount",
"type": "address"
},
{
"components": [
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "address",
"name": "cancellationReceiver",
"type": "address"
},
{
"internalType": "address",
"name": "callbackContract",
"type": "address"
},
{
"internalType": "address",
"name": "uiFeeReceiver",
"type": "address"
},
{
"internalType": "address",
"name": "market",
"type": "address"
},
{
"internalType": "address",
"name": "initialCollateralToken",
"type": "address"
},
{
"internalType": "address[]",
"name": "swapPath",
"type": "address[]"
}
],
"internalType": "struct IBaseOrderUtils.CreateOrderParamsAddresses",
"name": "addresses",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "sizeDeltaUsd",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "initialCollateralDeltaAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "triggerPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "acceptablePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "executionFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "callbackGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minOutputAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validFromTime",
"type": "uint256"
}
],
"internalType": "struct IBaseOrderUtils.CreateOrderParamsNumbers",
"name": "numbers",
"type": "tuple"
},
{
"internalType": "enum Order.OrderType",
"name": "orderType",
"type": "uint8"
},
{
"internalType": "enum Order.DecreasePositionSwapType",
"name": "decreasePositionSwapType",
"type": "uint8"
},
{
"internalType": "bool",
"name": "isLong",
"type": "bool"
},
{
"internalType": "bool",
"name": "shouldUnwrapNativeToken",
"type": "bool"
},
{
"internalType": "bool",
"name": "autoCancel",
"type": "bool"
},
{
"internalType": "bytes32",
"name": "referralCode",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "dataList",
"type": "bytes32[]"
}
],
"internalType": "struct IBaseOrderUtils.CreateOrderParams[]",
"name": "createOrderParamsList",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "sizeDeltaUsd",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "acceptablePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "triggerPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minOutputAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validFromTime",
"type": "uint256"
},
{
"internalType": "bool",
"name": "autoCancel",
"type": "bool"
},
{
"internalType": "uint256",
"name": "executionFeeIncrease",
"type": "uint256"
}
],
"internalType": "struct IRelayUtils.UpdateOrderParams[]",
"name": "updateOrderParamsList",
"type": "tuple[]"
},
{
"internalType": "bytes32[]",
"name": "cancelOrderKeys",
"type": "bytes32[]"
}
],
"internalType": "struct IRelayUtils.BatchParams",
"name": "params",
"type": "tuple"
}
],
"name": "batch",
"outputs": [
{
"internalType": "bytes32[]",
"name": "",
"type": "bytes32[]"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "address[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "providers",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"internalType": "struct OracleUtils.SetPricesParams",
"name": "oracleParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address[]",
"name": "sendTokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "sendAmounts",
"type": "uint256[]"
},
{
"internalType": "address[]",
"name": "externalCallTargets",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "externalCallDataList",
"type": "bytes[]"
},
{
"internalType": "address[]",
"name": "refundTokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "refundReceivers",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.ExternalCalls",
"name": "externalCalls",
"type": "tuple"
},
{
"components": [
{
"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"
},
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"internalType": "struct IRelayUtils.TokenPermit[]",
"name": "tokenPermits",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "feeAmount",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "feeSwapPath",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.FeeParams",
"name": "fee",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "userNonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
}
],
"internalType": "struct IRelayUtils.RelayParams",
"name": "relayParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "subaccount",
"type": "address"
},
{
"internalType": "bool",
"name": "shouldAdd",
"type": "bool"
},
{
"internalType": "uint256",
"name": "expiresAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxAllowedCount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "actionType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "integrationId",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"internalType": "struct SubaccountApproval",
"name": "subaccountApproval",
"type": "tuple"
},
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "srcChainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "subaccount",
"type": "address"
},
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
}
],
"name": "cancelOrder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "address[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "providers",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"internalType": "struct OracleUtils.SetPricesParams",
"name": "oracleParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address[]",
"name": "sendTokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "sendAmounts",
"type": "uint256[]"
},
{
"internalType": "address[]",
"name": "externalCallTargets",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "externalCallDataList",
"type": "bytes[]"
},
{
"internalType": "address[]",
"name": "refundTokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "refundReceivers",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.ExternalCalls",
"name": "externalCalls",
"type": "tuple"
},
{
"components": [
{
"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"
},
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"internalType": "struct IRelayUtils.TokenPermit[]",
"name": "tokenPermits",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "feeAmount",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "feeSwapPath",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.FeeParams",
"name": "fee",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "userNonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
}
],
"internalType": "struct IRelayUtils.RelayParams",
"name": "relayParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "subaccount",
"type": "address"
},
{
"internalType": "bool",
"name": "shouldAdd",
"type": "bool"
},
{
"internalType": "uint256",
"name": "expiresAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxAllowedCount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "actionType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "integrationId",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"internalType": "struct SubaccountApproval",
"name": "subaccountApproval",
"type": "tuple"
},
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "srcChainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "subaccount",
"type": "address"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "address",
"name": "cancellationReceiver",
"type": "address"
},
{
"internalType": "address",
"name": "callbackContract",
"type": "address"
},
{
"internalType": "address",
"name": "uiFeeReceiver",
"type": "address"
},
{
"internalType": "address",
"name": "market",
"type": "address"
},
{
"internalType": "address",
"name": "initialCollateralToken",
"type": "address"
},
{
"internalType": "address[]",
"name": "swapPath",
"type": "address[]"
}
],
"internalType": "struct IBaseOrderUtils.CreateOrderParamsAddresses",
"name": "addresses",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "sizeDeltaUsd",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "initialCollateralDeltaAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "triggerPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "acceptablePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "executionFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "callbackGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minOutputAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validFromTime",
"type": "uint256"
}
],
"internalType": "struct IBaseOrderUtils.CreateOrderParamsNumbers",
"name": "numbers",
"type": "tuple"
},
{
"internalType": "enum Order.OrderType",
"name": "orderType",
"type": "uint8"
},
{
"internalType": "enum Order.DecreasePositionSwapType",
"name": "decreasePositionSwapType",
"type": "uint8"
},
{
"internalType": "bool",
"name": "isLong",
"type": "bool"
},
{
"internalType": "bool",
"name": "shouldUnwrapNativeToken",
"type": "bool"
},
{
"internalType": "bool",
"name": "autoCancel",
"type": "bool"
},
{
"internalType": "bytes32",
"name": "referralCode",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "dataList",
"type": "bytes32[]"
}
],
"internalType": "struct IBaseOrderUtils.CreateOrderParams",
"name": "params",
"type": "tuple"
}
],
"name": "createOrder",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "dataStore",
"outputs": [
{
"internalType": "contract DataStore",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "digests",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "eventEmitter",
"outputs": [
{
"internalType": "contract EventEmitter",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "externalHandler",
"outputs": [
{
"internalType": "contract IExternalHandler",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"name": "multicall",
"outputs": [
{
"internalType": "bytes[]",
"name": "results",
"type": "bytes[]"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "multichainVault",
"outputs": [
{
"internalType": "contract MultichainVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "oracle",
"outputs": [
{
"internalType": "contract IOracle",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "orderHandler",
"outputs": [
{
"internalType": "contract IOrderHandler",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "orderVault",
"outputs": [
{
"internalType": "contract OrderVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "address[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "providers",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"internalType": "struct OracleUtils.SetPricesParams",
"name": "oracleParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address[]",
"name": "sendTokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "sendAmounts",
"type": "uint256[]"
},
{
"internalType": "address[]",
"name": "externalCallTargets",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "externalCallDataList",
"type": "bytes[]"
},
{
"internalType": "address[]",
"name": "refundTokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "refundReceivers",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.ExternalCalls",
"name": "externalCalls",
"type": "tuple"
},
{
"components": [
{
"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"
},
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"internalType": "struct IRelayUtils.TokenPermit[]",
"name": "tokenPermits",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "feeAmount",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "feeSwapPath",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.FeeParams",
"name": "fee",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "userNonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
}
],
"internalType": "struct IRelayUtils.RelayParams",
"name": "relayParams",
"type": "tuple"
},
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "srcChainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "subaccount",
"type": "address"
}
],
"name": "removeSubaccount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "roleStore",
"outputs": [
{
"internalType": "contract RoleStore",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "router",
"outputs": [
{
"internalType": "contract Router",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "sendNativeToken",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "sendTokens",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "sendWnt",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "subaccountApprovalNonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "swapHandler",
"outputs": [
{
"internalType": "contract ISwapHandler",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "address[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "providers",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"internalType": "struct OracleUtils.SetPricesParams",
"name": "oracleParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address[]",
"name": "sendTokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "sendAmounts",
"type": "uint256[]"
},
{
"internalType": "address[]",
"name": "externalCallTargets",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "externalCallDataList",
"type": "bytes[]"
},
{
"internalType": "address[]",
"name": "refundTokens",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "refundReceivers",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.ExternalCalls",
"name": "externalCalls",
"type": "tuple"
},
{
"components": [
{
"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"
},
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"internalType": "struct IRelayUtils.TokenPermit[]",
"name": "tokenPermits",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "feeAmount",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "feeSwapPath",
"type": "address[]"
}
],
"internalType": "struct IRelayUtils.FeeParams",
"name": "fee",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "userNonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
}
],
"internalType": "struct IRelayUtils.RelayParams",
"name": "relayParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "subaccount",
"type": "address"
},
{
"internalType": "bool",
"name": "shouldAdd",
"type": "bool"
},
{
"internalType": "uint256",
"name": "expiresAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxAllowedCount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "actionType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "desChainId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "integrationId",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"internalType": "struct SubaccountApproval",
"name": "subaccountApproval",
"type": "tuple"
},
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "srcChainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "subaccount",
"type": "address"
},
{
"components": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "sizeDeltaUsd",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "acceptablePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "triggerPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minOutputAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validFromTime",
"type": "uint256"
},
{
"internalType": "bool",
"name": "autoCancel",
"type": "bool"
},
{
"internalType": "uint256",
"name": "executionFeeIncrease",
"type": "uint256"
}
],
"internalType": "struct IRelayUtils.UpdateOrderParams",
"name": "params",
"type": "tuple"
}
],
"name": "updateOrder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}