constants.ts•13.4 kB
import { base } from "viem/chains";
import { Address } from "viem";
export const slowTransferChains = [base];
export const SLOW_ADDRESS =
"0x000000000000888741b254d37e1b27128afeaabc" as Address;
export const slowAbi = [
{ inputs: [], stateMutability: "payable", type: "constructor" },
{ inputs: [], name: "AccountBalanceOverflow", type: "error" },
{ inputs: [], name: "ArrayLengthsMismatch", type: "error" },
{ inputs: [], name: "GuardianApprovalRequired", type: "error" },
{ inputs: [], name: "GuardianCooldownNotElapsed", type: "error" },
{ inputs: [], name: "InsufficientBalance", type: "error" },
{ inputs: [], name: "NotOwnerNorApproved", type: "error" },
{ inputs: [], name: "Reentrancy", type: "error" },
{ inputs: [], name: "TimelockExpired", type: "error" },
{ inputs: [], name: "TimelockNotExpired", type: "error" },
{ inputs: [], name: "TransferDoesNotExist", type: "error" },
{
inputs: [],
name: "TransferToNonERC1155ReceiverImplementer",
type: "error",
},
{ inputs: [], name: "TransferToZeroAddress", type: "error" },
{ inputs: [], name: "Unauthorized", type: "error" },
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "operator",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "isApproved",
type: "bool",
},
],
name: "ApprovalForAll",
type: "event",
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: "address", name: "user", type: "address" },
{
indexed: true,
internalType: "address",
name: "guardian",
type: "address",
},
],
name: "GuardianSet",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "guardian",
type: "address",
},
{ indexed: true, internalType: "address", name: "user", type: "address" },
{
indexed: true,
internalType: "uint256",
name: "transferId",
type: "uint256",
},
],
name: "TransferApproved",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "operator",
type: "address",
},
{ indexed: true, internalType: "address", name: "from", type: "address" },
{ indexed: true, internalType: "address", name: "to", type: "address" },
{
indexed: false,
internalType: "uint256[]",
name: "ids",
type: "uint256[]",
},
{
indexed: false,
internalType: "uint256[]",
name: "amounts",
type: "uint256[]",
},
],
name: "TransferBatch",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint256",
name: "transferId",
type: "uint256",
},
{
indexed: true,
internalType: "uint256",
name: "delay",
type: "uint256",
},
],
name: "TransferPending",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "operator",
type: "address",
},
{ indexed: true, internalType: "address", name: "from", type: "address" },
{ indexed: true, internalType: "address", name: "to", type: "address" },
{ indexed: false, internalType: "uint256", name: "id", type: "uint256" },
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "TransferSingle",
type: "event",
},
{
anonymous: false,
inputs: [
{ indexed: false, internalType: "string", name: "value", type: "string" },
{ indexed: true, internalType: "uint256", name: "id", type: "uint256" },
],
name: "URI",
type: "event",
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: "address", name: "user", type: "address" },
{ indexed: true, internalType: "uint256", name: "id", type: "uint256" },
{
indexed: true,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "Unlocked",
type: "event",
},
{
inputs: [
{ internalType: "address", name: "from", type: "address" },
{ internalType: "uint256", name: "transferId", type: "uint256" },
],
name: "approveTransfer",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "owner", type: "address" },
{ internalType: "uint256", name: "id", type: "uint256" },
],
name: "balanceOf",
outputs: [{ internalType: "uint256", name: "result", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address[]", name: "owners", type: "address[]" },
{ internalType: "uint256[]", name: "ids", type: "uint256[]" },
],
name: "balanceOfBatch",
outputs: [
{ internalType: "uint256[]", name: "balances", type: "uint256[]" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "address", name: "user", type: "address" }],
name: "canChangeGuardian",
outputs: [
{ internalType: "bool", name: "canChange", type: "bool" },
{ internalType: "uint256", name: "cooldownEndsAt", type: "uint256" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "transferId", type: "uint256" }],
name: "canReverseTransfer",
outputs: [
{ internalType: "bool", name: "canReverse", type: "bool" },
{ internalType: "bytes4", name: "reason", type: "bytes4" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "id", type: "uint256" }],
name: "decodeId",
outputs: [
{ internalType: "address", name: "token", type: "address" },
{ internalType: "uint256", name: "delay", type: "uint256" },
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "token", type: "address" },
{ internalType: "address", name: "to", type: "address" },
{ internalType: "uint256", name: "amount", type: "uint256" },
{ internalType: "uint96", name: "delay", type: "uint96" },
{ internalType: "bytes", name: "data", type: "bytes" },
],
name: "depositTo",
outputs: [{ internalType: "uint256", name: "transferId", type: "uint256" }],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "token", type: "address" },
{ internalType: "uint256", name: "delay", type: "uint256" },
],
name: "encodeId",
outputs: [{ internalType: "uint256", name: "id", type: "uint256" }],
stateMutability: "pure",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "transferId", type: "uint256" }],
name: "guardianApproved",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "address", name: "user", type: "address" }],
name: "guardians",
outputs: [{ internalType: "address", name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "owner", type: "address" },
{ internalType: "address", name: "operator", type: "address" },
],
name: "isApprovedForAll",
outputs: [{ internalType: "bool", name: "result", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "user", type: "address" },
{ internalType: "address", name: "to", type: "address" },
{ internalType: "uint256", name: "id", type: "uint256" },
{ internalType: "uint256", name: "amount", type: "uint256" },
],
name: "isGuardianApprovalNeeded",
outputs: [{ internalType: "bool", name: "needed", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "address", name: "user", type: "address" }],
name: "lastGuardianChange",
outputs: [{ internalType: "uint256", name: "timestamp", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "bytes[]", name: "data", type: "bytes[]" }],
name: "multicall",
outputs: [{ internalType: "bytes[]", name: "", type: "bytes[]" }],
stateMutability: "payable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [{ internalType: "string", name: "", type: "string" }],
stateMutability: "pure",
type: "function",
},
{
inputs: [{ internalType: "address", name: "user", type: "address" }],
name: "nonces",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "transferId", type: "uint256" }],
name: "pendingTransfers",
outputs: [
{ internalType: "uint96", name: "timestamp", type: "uint96" },
{ internalType: "address", name: "from", type: "address" },
{ internalType: "address", name: "to", type: "address" },
{ internalType: "uint256", name: "id", type: "uint256" },
{ internalType: "uint256", name: "amount", type: "uint256" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "from", type: "address" },
{ internalType: "address", name: "to", type: "address" },
{ internalType: "uint256", name: "id", type: "uint256" },
{ internalType: "uint256", name: "amount", type: "uint256" },
],
name: "predictTransferId",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "transferId", type: "uint256" }],
name: "reverse",
outputs: [],
stateMutability: "nonpayable",
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: "safeBatchTransferFrom",
outputs: [],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "from", type: "address" },
{ internalType: "address", name: "to", type: "address" },
{ internalType: "uint256", name: "id", type: "uint256" },
{ internalType: "uint256", name: "amount", type: "uint256" },
{ internalType: "bytes", name: "data", type: "bytes" },
],
name: "safeTransferFrom",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "operator", type: "address" },
{ internalType: "bool", name: "isApproved", type: "bool" },
],
name: "setApprovalForAll",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ internalType: "address", name: "guardian", type: "address" }],
name: "setGuardian",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ internalType: "bytes4", name: "interfaceId", type: "bytes4" }],
name: "supportsInterface",
outputs: [{ internalType: "bool", name: "result", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [{ internalType: "string", name: "", type: "string" }],
stateMutability: "pure",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "transferId", type: "uint256" }],
name: "unlock",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "user", type: "address" },
{ internalType: "uint256", name: "id", type: "uint256" },
],
name: "unlockedBalances",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "id", type: "uint256" }],
name: "uri",
outputs: [{ internalType: "string", name: "", type: "string" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "from", type: "address" },
{ internalType: "address", name: "to", type: "address" },
{ internalType: "uint256", name: "id", type: "uint256" },
{ internalType: "uint256", name: "amount", type: "uint256" },
],
name: "withdrawFrom",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
] as const;