/** * Minimal ABI definitions for the contract calls the SDK makes. * These replace the TypeChain-generated factories from v9. */ export const ERC20_ABI = [ { name: "balanceOf", type: "function", stateMutability: "view", inputs: [{ name: "account", type: "address" }], outputs: [{ name: "", type: "uint256" }], }, { name: "transfer", type: "function", stateMutability: "nonpayable", inputs: [ { name: "to", type: "address" }, { name: "amount", type: "uint256" }, ], outputs: [{ name: "", type: "bool" }], }, { name: "allowance", type: "function", stateMutability: "view", inputs: [ { name: "owner", type: "address" }, { name: "spender", type: "address" }, ], outputs: [{ name: "", type: "uint256" }], }, { name: "approve", type: "function", stateMutability: "nonpayable", inputs: [ { name: "spender", type: "address" }, { name: "amount", type: "uint256" }, ], outputs: [{ name: "", type: "bool" }], }, ] as const export const ERC721_ABI = [ { name: "ownerOf", type: "function", stateMutability: "view", inputs: [{ name: "tokenId", type: "uint256" }], outputs: [{ name: "", type: "address" }], }, { name: "transferFrom", type: "function", stateMutability: "nonpayable", inputs: [ { name: "from", type: "address" }, { name: "to", type: "address" }, { name: "tokenId", type: "uint256" }, ], outputs: [], }, { name: "isApprovedForAll", type: "function", stateMutability: "view", inputs: [ { name: "owner", type: "address" }, { name: "operator", type: "address" }, ], outputs: [{ name: "", type: "bool" }], }, { name: "getApproved", type: "function", stateMutability: "view", inputs: [{ name: "tokenId", type: "uint256" }], outputs: [{ name: "", type: "address" }], }, { name: "setApprovalForAll", type: "function", stateMutability: "nonpayable", inputs: [ { name: "operator", type: "address" }, { name: "approved", type: "bool" }, ], outputs: [], }, ] as const export const ERC1155_ABI = [ { name: "balanceOf", type: "function", stateMutability: "view", inputs: [ { name: "account", type: "address" }, { name: "id", type: "uint256" }, ], outputs: [{ name: "", type: "uint256" }], }, { name: "safeTransferFrom", type: "function", stateMutability: "nonpayable", inputs: [ { name: "from", type: "address" }, { name: "to", type: "address" }, { name: "id", type: "uint256" }, { name: "amount", type: "uint256" }, { name: "data", type: "bytes" }, ], outputs: [], }, { name: "isApprovedForAll", type: "function", stateMutability: "view", inputs: [ { name: "owner", type: "address" }, { name: "operator", type: "address" }, ], outputs: [{ name: "", type: "bool" }], }, { name: "setApprovalForAll", type: "function", stateMutability: "nonpayable", inputs: [ { name: "operator", type: "address" }, { name: "approved", type: "bool" }, ], outputs: [], }, ] as const export const WETH_DEPOSIT_ABI = [ { name: "deposit", type: "function", stateMutability: "payable", inputs: [], outputs: [], }, ] as const export const WETH_WITHDRAW_ABI = [ { name: "withdraw", type: "function", stateMutability: "nonpayable", inputs: [{ name: "wad", type: "uint256" }], outputs: [], }, ] as const export const TRANSFER_HELPER_ABI = [ { name: "bulkTransfer", type: "function", stateMutability: "nonpayable", inputs: [ { name: "items", type: "tuple[]", components: [ { name: "itemType", type: "uint8" }, { name: "token", type: "address" }, { name: "identifier", type: "uint256" }, { name: "amount", type: "uint256" }, { name: "recipient", type: "address" }, ], }, { name: "conduitKey", type: "bytes32" }, ], outputs: [{ name: "", type: "bytes4" }], }, ] as const export const MULTICALL3_ABI = [ { name: "aggregate3", type: "function", stateMutability: "payable", inputs: [ { name: "calls", type: "tuple[]", components: [ { name: "target", type: "address" }, { name: "allowFailure", type: "bool" }, { name: "callData", type: "bytes" }, ], }, ], outputs: [ { name: "returnData", type: "tuple[]", components: [ { name: "success", type: "bool" }, { name: "returnData", type: "bytes" }, ], }, ], }, ] as const export const SET_APPROVAL_FOR_ALL_ABI = [ { name: "setApprovalForAll", type: "function", stateMutability: "nonpayable", inputs: [ { name: "operator", type: "address" }, { name: "approved", type: "bool" }, ], outputs: [], }, ] as const export const APPROVE_ABI = [ { name: "approve", type: "function", stateMutability: "nonpayable", inputs: [ { name: "spender", type: "address" }, { name: "amount", type: "uint256" }, ], outputs: [{ name: "", type: "bool" }], }, ] as const export const CONDUIT_CONTROLLER_ABI = [ { name: "getConduit", type: "function", stateMutability: "view", inputs: [{ name: "conduitKey", type: "bytes32" }], outputs: [ { name: "conduit", type: "address" }, { name: "exists", type: "bool" }, ], }, ] as const