UNPKG

@towns-protocol/generated

Version:

## How to generate contract types

740 lines (736 loc) 14.7 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Contract, Signer, utils } from "ethers"; import type { Provider } from "@ethersproject/providers"; import type { IWalletLink, IWalletLinkInterface } from "../IWalletLink"; const _abi = [ { type: "function", name: "checkIfLinked", inputs: [ { name: "rootKey", type: "address", internalType: "address", }, { name: "wallet", type: "address", internalType: "address", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "checkIfNonEVMWalletLinked", inputs: [ { name: "rootKey", type: "address", internalType: "address", }, { name: "walletHash", type: "bytes32", internalType: "bytes32", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "getAllWalletsByRootKey", inputs: [ { name: "rootKey", type: "address", internalType: "address", }, ], outputs: [ { name: "wallets", type: "tuple[]", internalType: "struct WalletLib.Wallet[]", components: [ { name: "addr", type: "string", internalType: "string", }, { name: "vmType", type: "uint8", internalType: "enum WalletLib.VirtualMachineType", }, ], }, ], stateMutability: "view", }, { type: "function", name: "getDefaultWallet", inputs: [ { name: "rootKey", type: "address", internalType: "address", }, ], outputs: [ { name: "", type: "address", internalType: "address", }, ], stateMutability: "view", }, { type: "function", name: "getDependency", inputs: [ { name: "dependency", type: "bytes32", internalType: "bytes32", }, ], outputs: [ { name: "", type: "address", internalType: "address", }, ], stateMutability: "view", }, { type: "function", name: "getLatestNonceForRootKey", inputs: [ { name: "rootKey", type: "address", internalType: "address", }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "getRootKeyForWallet", inputs: [ { name: "wallet", type: "address", internalType: "address", }, ], outputs: [ { name: "rootKey", type: "address", internalType: "address", }, ], stateMutability: "view", }, { type: "function", name: "getWalletsByRootKey", inputs: [ { name: "rootKey", type: "address", internalType: "address", }, ], outputs: [ { name: "wallets", type: "address[]", internalType: "address[]", }, ], stateMutability: "view", }, { type: "function", name: "linkCallerToRootKey", inputs: [ { name: "rootWallet", type: "tuple", internalType: "struct IWalletLinkBase.LinkedWallet", components: [ { name: "addr", type: "address", internalType: "address", }, { name: "signature", type: "bytes", internalType: "bytes", }, { name: "message", type: "string", internalType: "string", }, ], }, { name: "nonce", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "linkNonEVMWalletToRootKey", inputs: [ { name: "wallet", type: "tuple", internalType: "struct IWalletLinkBase.NonEVMLinkedWallet", components: [ { name: "wallet", type: "tuple", internalType: "struct WalletLib.Wallet", components: [ { name: "addr", type: "string", internalType: "string", }, { name: "vmType", type: "uint8", internalType: "enum WalletLib.VirtualMachineType", }, ], }, { name: "signature", type: "bytes", internalType: "bytes", }, { name: "message", type: "string", internalType: "string", }, { name: "extraData", type: "tuple[]", internalType: "struct IWalletLinkBase.VMSpecificData[]", components: [ { name: "key", type: "string", internalType: "string", }, { name: "value", type: "bytes", internalType: "bytes", }, ], }, ], }, { name: "nonce", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "linkWalletToRootKey", inputs: [ { name: "wallet", type: "tuple", internalType: "struct IWalletLinkBase.LinkedWallet", components: [ { name: "addr", type: "address", internalType: "address", }, { name: "signature", type: "bytes", internalType: "bytes", }, { name: "message", type: "string", internalType: "string", }, ], }, { name: "rootWallet", type: "tuple", internalType: "struct IWalletLinkBase.LinkedWallet", components: [ { name: "addr", type: "address", internalType: "address", }, { name: "signature", type: "bytes", internalType: "bytes", }, { name: "message", type: "string", internalType: "string", }, ], }, { name: "nonce", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "removeCallerLink", inputs: [], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "removeLink", inputs: [ { name: "wallet", type: "address", internalType: "address", }, { name: "rootWallet", type: "tuple", internalType: "struct IWalletLinkBase.LinkedWallet", components: [ { name: "addr", type: "address", internalType: "address", }, { name: "signature", type: "bytes", internalType: "bytes", }, { name: "message", type: "string", internalType: "string", }, ], }, { name: "nonce", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "removeNonEVMWalletLink", inputs: [ { name: "wallet", type: "tuple", internalType: "struct WalletLib.Wallet", components: [ { name: "addr", type: "string", internalType: "string", }, { name: "vmType", type: "uint8", internalType: "enum WalletLib.VirtualMachineType", }, ], }, { name: "nonce", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "setDefaultWallet", inputs: [ { name: "defaultWallet", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "setDependency", inputs: [ { name: "dependency", type: "bytes32", internalType: "bytes32", }, { name: "dependencyAddress", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "event", name: "LinkNonEVMWalletToRootWallet", inputs: [ { name: "walletHash", type: "bytes32", indexed: true, internalType: "bytes32", }, { name: "rootKey", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "LinkWalletToRootKey", inputs: [ { name: "wallet", type: "address", indexed: true, internalType: "address", }, { name: "rootKey", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "RemoveLink", inputs: [ { name: "wallet", type: "address", indexed: true, internalType: "address", }, { name: "secondWallet", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "RemoveNonEVMWalletLink", inputs: [ { name: "walletHash", type: "bytes32", indexed: true, internalType: "bytes32", }, { name: "rootKey", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "SetDefaultWallet", inputs: [ { name: "rootKey", type: "address", indexed: true, internalType: "address", }, { name: "defaultWallet", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "error", name: "WalletLink__AddressMismatch", inputs: [], }, { type: "error", name: "WalletLink__CannotLinkToRootWallet", inputs: [ { name: "wallet", type: "address", internalType: "address", }, { name: "rootKey", type: "address", internalType: "address", }, ], }, { type: "error", name: "WalletLink__CannotLinkToSelf", inputs: [], }, { type: "error", name: "WalletLink__CannotRemoveDefaultWallet", inputs: [], }, { type: "error", name: "WalletLink__CannotRemoveRootWallet", inputs: [], }, { type: "error", name: "WalletLink__DefaultWalletAlreadySet", inputs: [], }, { type: "error", name: "WalletLink__InvalidAddress", inputs: [], }, { type: "error", name: "WalletLink__InvalidMessage", inputs: [], }, { type: "error", name: "WalletLink__InvalidNonEVMAddress", inputs: [], }, { type: "error", name: "WalletLink__InvalidSignature", inputs: [], }, { type: "error", name: "WalletLink__InvalidVMSpecificData", inputs: [ { name: "key", type: "string", internalType: "string", }, { name: "value", type: "bytes", internalType: "bytes", }, ], }, { type: "error", name: "WalletLink__LinkAlreadyExists", inputs: [ { name: "wallet", type: "address", internalType: "address", }, { name: "rootKey", type: "address", internalType: "address", }, ], }, { type: "error", name: "WalletLink__LinkedToAnotherRootKey", inputs: [ { name: "wallet", type: "address", internalType: "address", }, { name: "rootKey", type: "address", internalType: "address", }, ], }, { type: "error", name: "WalletLink__MaxLinkedWalletsReached", inputs: [], }, { type: "error", name: "WalletLink__NonEVMWalletAlreadyLinked", inputs: [ { name: "wallet", type: "string", internalType: "string", }, { name: "rootKey", type: "address", internalType: "address", }, ], }, { type: "error", name: "WalletLink__NonEVMWalletNotLinked", inputs: [ { name: "wallet", type: "string", internalType: "string", }, { name: "rootKey", type: "address", internalType: "address", }, ], }, { type: "error", name: "WalletLink__NotLinked", inputs: [ { name: "wallet", type: "address", internalType: "address", }, { name: "rootKey", type: "address", internalType: "address", }, ], }, { type: "error", name: "WalletLink__RootKeyMismatch", inputs: [ { name: "callerRootKey", type: "address", internalType: "address", }, { name: "rootKey", type: "address", internalType: "address", }, ], }, { type: "error", name: "WalletLink__UnsupportedVMType", inputs: [], }, ] as const; export class IWalletLink__factory { static readonly abi = _abi; static createInterface(): IWalletLinkInterface { return new utils.Interface(_abi) as IWalletLinkInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): IWalletLink { return new Contract(address, _abi, signerOrProvider) as IWalletLink; } }