@river-build/generated
Version:
## How to generate contract types
359 lines (355 loc) • 7.14 kB
text/typescript
/* 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: "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: "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: "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: "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: "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__CannotRemoveRootWallet",
inputs: [],
},
{
type: "error",
name: "WalletLink__InvalidAddress",
inputs: [],
},
{
type: "error",
name: "WalletLink__InvalidSignature",
inputs: [],
},
{
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__NotLinked",
inputs: [
{
name: "wallet",
type: "address",
internalType: "address",
},
{
name: "rootKey",
type: "address",
internalType: "address",
},
],
},
] 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;
}
}