diff --git a/packages/client/abi/EssentialForwarder.ts b/packages/client/abi/EssentialForwarder.ts new file mode 100644 index 0000000..9688549 --- /dev/null +++ b/packages/client/abi/EssentialForwarder.ts @@ -0,0 +1,939 @@ +const address = "0x9bbb4217115B7296630183Bb23703DEC93E8edCf" as `0x${string}`; +const abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "InvalidOwnership", + type: "error", + }, + { + inputs: [], + name: "InvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "string[]", + name: "urls", + type: "string[]", + }, + { + internalType: "bytes", + name: "callData", + type: "bytes", + }, + { + internalType: "bytes4", + name: "callbackFunction", + type: "bytes4", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + name: "OffchainLookup", + type: "error", + }, + { + inputs: [], + name: "Unauthorized", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "previousAdminRole", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newAdminRole", + type: "bytes32", + }, + ], + name: "RoleAdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleGranted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleRevoked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "authorized", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "Session", + type: "event", + }, + { + inputs: [], + name: "ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DEFAULT_ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DelegationRegistry", + outputs: [ + { + internalType: "contract IDelegationRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "_domainSeparatorV4", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "signer", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "createMessage", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "createSession", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + ], + name: "execute", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "response", + type: "bytes", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + name: "executeWithProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "response", + type: "bytes", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + name: "executeWithProofNative", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "id", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "getNonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + ], + name: "getRoleAdmin", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "grantRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasRole", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ownershipSigner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + ], + name: "preflight", + outputs: [], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + ], + name: "preflightNative", + outputs: [], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "renounceRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "revokeRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "registry", + type: "address", + }, + ], + name: "setDelegationRegistry", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSigner", + type: "address", + }, + ], + name: "setOwnershipSigner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string[]", + name: "_urls", + type: "string[]", + }, + ], + name: "setUrls", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "urls", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "verifyOwnershipProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export default { abi, address }; diff --git a/packages/client/index.ts b/packages/client/index.ts new file mode 100644 index 0000000..f8ac139 --- /dev/null +++ b/packages/client/index.ts @@ -0,0 +1,52 @@ +import { + Account, + Address, + ParseAccount, + Transport, + WalletClient, + WalletClientConfig, + createClient, + walletActions, +} from "viem"; +import { Chain } from "viem/chains"; +import { + CustomSendTransactionParameters, + sendTransaction, +} from "./sendTransaction"; + +export function createEssentialClient< + TTransport extends Transport, + TChain extends Chain | undefined = undefined, + TAccountOrAddress extends Account | Address | undefined = undefined +>({ + account, + chain, + transport, + key = "wallet", + name = "Essential Client", + pollingInterval, +}: WalletClientConfig): WalletClient< + TTransport, + TChain, + ParseAccount +> { + const client = createClient({ + account, + chain, + key, + name, + pollingInterval, + transport: (opts) => transport({ ...opts, retryCount: 0 }), + type: "walletClient", + }).extend((client) => ({ + ...walletActions(client), + sendTransaction: (args: CustomSendTransactionParameters) => + sendTransaction(client, args), + })); + + return client as WalletClient< + TTransport, + TChain, + ParseAccount + >; +} diff --git a/packages/client/messageBuilder.ts b/packages/client/messageBuilder.ts new file mode 100644 index 0000000..d6dd060 --- /dev/null +++ b/packages/client/messageBuilder.ts @@ -0,0 +1,65 @@ +import { Contract } from "@ethersproject/contracts"; + +import { BigNumber, BigNumberish, BytesLike } from "ethers"; + +import { + EssentialForwarder, + IForwardRequest, +} from "./typechain/contracts/fwd/EssentialForwarder.js"; + +export interface ForwardRequestInput { + to: string; + from: string; + authorizer: string; + nftContract: string; + nftChainId: BigNumberish; + nftTokenId: BigNumberish; + targetChainId: BigNumberish; + data: BytesLike; + nonce?: BigNumberish; +} + +export async function getNonce( + forwarder: Contract, + from: string +): Promise { + const nonce = await forwarder.getNonce(from); + + return nonce; +} + +async function attachNonce( + forwarder: Contract, + input: Record +): Promise { + const nonce = await getNonce(forwarder, input.from).then((nonce: BigNumber) => + nonce.toString() + ); + + return { + value: BigNumber.from(0), + gas: 1e6, + to: input.to, + from: input.from, + authorizer: input.authorizer, + nftContract: input.nftContract, + nonce, + nftChainId: input.nftChainId, + nftTokenId: input.nftTokenId, + targetChainId: input.targetChainId, + data: input.data, + }; +} + +export async function prepareRequest( + input: ForwardRequestInput, + forwarder: EssentialForwarder | Contract +): Promise<{ + request: IForwardRequest.ERC721ForwardRequestStruct; +}> { + const request = await attachNonce(forwarder, input); + + return { + request, + }; +} diff --git a/packages/client/messageSigner.ts b/packages/client/messageSigner.ts new file mode 100644 index 0000000..a457992 --- /dev/null +++ b/packages/client/messageSigner.ts @@ -0,0 +1,203 @@ +import { Provider as AbstractProvider } from '@ethersproject/abstract-provider'; +import { Contract } from '@ethersproject/contracts'; +import { Provider, Web3Provider } from '@ethersproject/providers'; +import { + signTypedData as signWithKey, + SignTypedDataVersion, + TypedMessage, +} from '@metamask/eth-sig-util'; +import { BigNumber, BigNumberish, BytesLike, utils } from 'ethers'; + +import { + EssentialForwarder, + IForwardRequest, +} from '../typechain/contracts/fwd/EssentialForwarder.js'; + +/** + * Field in a User Defined Types + */ +export interface EIP712StructField { + name: string; + type: string; +} + +/** + * User Defined Types are just an array of the fields they contain + */ +export type EIP712Struct = EIP712StructField[]; +/** + * Interface of the EIP712Domain structure + */ +export interface EIP712Domain { + name: string; + version: string; + chainId?: number; + verifyingContract: string; + salt?: string; +} + +/** + * Interface of the complete payload required for signing + */ +export interface EIP712Payload { + types: PayloadTypes; + primaryType: string; + message: IForwardRequest.ERC721ForwardRequestStruct; + domain: EIP712Domain; +} + +export interface EIP712Signature { + hex: string; + v: number; + s: string; + r: string; +} + +const EIP712Domain = [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'verifyingContract', type: 'address' }, + { name: 'salt', type: 'bytes32' }, +]; + +const ForwardRequest = [ + { name: 'to', type: 'address' }, + { name: 'from', type: 'address' }, + { name: 'authorizer', type: 'address' }, + { name: 'nftContract', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'nftChainId', type: 'uint256' }, + { name: 'nftTokenId', type: 'uint256' }, + { name: 'targetChainId', type: 'uint256' }, + { name: 'data', type: 'bytes' }, +]; + +export interface ForwardRequestInput { + to: string; + from: string; + authorizer: string; + nftContract: string; + nftChainId: BigNumberish; + nftTokenId: BigNumberish; + targetChainId: BigNumberish; + data: BytesLike; + nonce?: BigNumberish; +} + +const MinimalRequest = [ + { name: 'to', type: 'address' }, + { name: 'from', type: 'address' }, + { name: 'authorizer', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'targetChainId', type: 'uint256' }, + { name: 'data', type: 'bytes' }, +]; + +interface PayloadTypes { + EIP712Domain: EIP712Struct; + ForwardRequest: EIP712Struct; + MinimalRequest: EIP712Struct; +} + +function getMetaTxTypeData( + verifyingContract: string, + _chainId: number, + message: IForwardRequest.ERC721ForwardRequestStruct, + name: string, + primaryType: string, +): EIP712Payload { + return { + types: { + EIP712Domain, + ForwardRequest, + MinimalRequest, + }, + domain: { + name, + version: '0.0.1', + verifyingContract, + salt: utils.hexZeroPad(BigNumber.from(_chainId).toHexString(), 32), + }, + primaryType, + message, + }; +} + +async function signTypedData( + signer: string | Web3Provider, + from: string, + data: EIP712Payload, +) { + // If signer is a private key, use it to sign + if (typeof signer === 'string') { + const privateKey = Buffer.from(signer.replace(/^0x/, ''), 'hex'); + return signWithKey({ + privateKey, + data: data as unknown as TypedMessage, + version: SignTypedDataVersion.V3, + }); + } + + return await signer.send('eth_signTypedData_v4', [ + from, + JSON.stringify(data), + ]); +} + +async function attachNonce( + forwarder: Contract, + input: Record, +): Promise { + + const nonce = + input?.nonce || + (await forwarder + .getNonce(input.from) + .then((nonce: BigNumber) => nonce.toString())); + + return { + value: BigNumber.from(0), + gas: 1e6, + to: input.to, + from: input.from, + authorizer: input.authorizer, + nftContract: input.nftContract, + nonce, + nftChainId: input.nftChainId, + nftTokenId: input.nftTokenId, + targetChainId: input.targetChainId, + data: input.data, + }; +} + +export async function signMetaTxRequest( + signer: string | Provider | AbstractProvider, + input: ForwardRequestInput, + forwarder: EssentialForwarder | Contract, + domainName?: string, +): Promise<{ + signature: string; + request: IForwardRequest.ERC721ForwardRequestStruct; +}> { + const chainId = await forwarder.getChainId(); + const request = await attachNonce(forwarder, input); + + const toSign = getMetaTxTypeData( + forwarder.address, + chainId, + request, + domainName || '0xEssential PlaySession', + request.nftContract ? 'ForwardRequest' : 'MinimalRequest', + ); + + const signature = await signTypedData( + signer as Web3Provider, + input.from, + toSign, + ); + + return { + signature, + request, + }; +} diff --git a/packages/client/offchainLookup.ts b/packages/client/offchainLookup.ts new file mode 100644 index 0000000..c6c86d4 --- /dev/null +++ b/packages/client/offchainLookup.ts @@ -0,0 +1,61 @@ +import { Contract, ethers } from 'ethers'; + +import { abi } from '../abi/EssentialForwarder.js'; + +async function retrieveProof({ + url, + callData, + forwarder, +}: { + url: string; + callData: string; + forwarder: { + address: string; + abi: any; + }; +}): Promise { + const response = await fetch(url, { + method: 'POST', + body: JSON.stringify({ + jsonrpc: '2.0', + id: 1, + method: 'durin_call', + params: { callData, to: forwarder.address, abi: forwarder.abi }, + }), + }); + + const body = await response.json(); + + return body?.result; +} + +export const handleOffchainLookup = async ( + args: { + callData: string; + callbackFunction: string; + extraData: string; + urls: string[]; + }, + forwarder: Contract, +): Promise => { + const { callData, callbackFunction, extraData, urls } = args; + + const abiCoder = new ethers.utils.AbiCoder(); + + // hit OwnershipAPI for proof + const proof = await retrieveProof({ + url: urls[0], + callData, + forwarder: { address: forwarder.address, abi }, + }); + + return ethers.utils.hexConcat([ + callbackFunction, + abiCoder.encode(['bytes', 'bytes'], [proof, extraData]), + ]); + + // const tx = await forwarder.signer.sendTransaction({ + // to: forwarder.address, + // data: __return_value___ + // }); +}; diff --git a/packages/client/package.json b/packages/client/package.json new file mode 100644 index 0000000..2d42402 --- /dev/null +++ b/packages/client/package.json @@ -0,0 +1,40 @@ +{ + "name": "@xessential/client", + "version": "0.0.1-beta.1", + "description": "", + "main": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts", + "scripts": { + "build": "yarn tsc --project tsconfig.esm.json & yarn tsc --project tsconfig.cjs.json", + "test": "echo \"Error: no test specified\" && exit 0", + "lint": "yarn eslint .", + "lint:fix": "yarn eslint src/ --fix" + }, + "exports": { + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "default": "./dist/cjs/index.js" + }, + "files": [ + "package.json", + "dist", + "!**/*.spec.*", + "README.md" + ], + "author": "sbauch", + "license": "MIT", + "dependencies": { + "viem": "^1.3.0" + }, + "devDependencies": { + "@types/node": "^18.11.18", + "@typescript-eslint/eslint-plugin": "^5.21.0", + "@typescript-eslint/parser": "^5.21.0", + "eslint": "^8.14.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "prettier": "^2.6.2", + "typescript": "^4.5.4" + } +} diff --git a/packages/client/sendTransaction.ts b/packages/client/sendTransaction.ts new file mode 100644 index 0000000..d98fe06 --- /dev/null +++ b/packages/client/sendTransaction.ts @@ -0,0 +1,194 @@ +import { + Account, + BaseError, + Client, + Hash, + SendTransactionParameters, + SendTransactionReturnType, + TransactionRequest, + TransactionSerializable, + Transport, + createPublicClient, + http, +} from "viem"; +import { Chain } from "viem/chains"; +import { getChainId } from "viem/public"; + +import { + assertRequest, + assertCurrentChain, + extract, + formatTransactionRequest, + getTransactionError, + parseAccount, + prepareRequest, +} from "viem/utils"; + +import forwarderContractConfig from "./abi/EssentialForwarder"; + +export type CustomSendTransactionParameters = SendTransactionParameters & { + proof?: string; + from?: string; +}; + +/** + * Creates, signs, and sends a new transaction to the network. + * + * - Docs: https://viem.sh/docs/actions/wallet/sendTransaction.html + * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/sending-transactions + * - JSON-RPC Methods: + * - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction) + * - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction) + * + * @param client - Client to use + * @param parameters - {@link SendTransactionParameters} + * @returns The [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash. {@link SendTransactionReturnType} + * + * @example + * import { createWalletClient, custom } from 'viem' + * import { mainnet } from 'viem/chains' + * import { sendTransaction } from 'viem/wallet' + * + * const client = createWalletClient({ + * chain: mainnet, + * transport: custom(window.ethereum), + * }) + * const hash = await sendTransaction(client, { + * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + * value: 1000000000000000000n, + * }) + * + * @example + * // Account Hoisting + * import { createWalletClient, http } from 'viem' + * import { privateKeyToAccount } from 'viem/accounts' + * import { mainnet } from 'viem/chains' + * import { sendTransaction } from 'viem/wallet' + * + * const client = createWalletClient({ + * account: privateKeyToAccount('0x…'), + * chain: mainnet, + * transport: http(), + * }) + * const hash = await sendTransaction(client, { + * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + * value: 1000000000000000000n, + * }) + */ +export async function sendTransaction< + TChain extends Chain | undefined, + TAccount extends Account | undefined, + TChainOverride extends Chain | undefined +>( + client: Client, + args: CustomSendTransactionParameters +): Promise { + const { + account: account_ = client.account, + chain = client.chain, + accessList, + data, + from, + gas, + gasPrice, + maxFeePerGas, + maxPriorityFeePerGas, + nonce, + proof, + to, + value, + ...rest + } = args; + + if (!account_) throw new BaseError("Account not found"); + const account = parseAccount(account_); + + try { + assertRequest(args); + + let chainId; + if (chain !== null) { + chainId = await getChainId(client); + assertCurrentChain({ + currentChainId: chainId, + chain, + }); + } + + if (account.type === "local") { + // Prepare the request for signing (assign appropriate fees, etc.) + const request = await prepareRequest(client, { + account, + accessList, + chain, + data, + gas, + gasPrice, + maxFeePerGas, + maxPriorityFeePerGas, + nonce, + to, + value, + ...rest, + }); + + if (!chainId) chainId = await getChainId(client); + + const serializer = chain?.serializers?.transaction; + + const signedRequest = (await account.signTransaction( + { + ...request, + chainId, + } as TransactionSerializable, + { serializer } + )) as Hash; + return await client.request({ + method: "eth_sendRawTransaction", + params: [signedRequest], + }); + } + + const readClient = createPublicClient({ + batch: { + multicall: true, + }, + chain: client.chain, + transport: http(), + }); + + const forwarderNonce = await readClient.readContract({ + ...forwarderContractConfig, + functionName: "getNonce", + args: [account.address], + }); + + const format = + chain?.formatters?.transactionRequest?.format || formatTransactionRequest; + const request = format({ + // Pick out extra data that might exist on the chain's transaction request type. + ...extract(rest, { format }), + accessList, + data, + from: account.address, + gas, + gasPrice, + maxFeePerGas, + maxPriorityFeePerGas, + nonce, + to, + value, + } as TransactionRequest); + return await client.request({ + method: "eth_sendTransaction", + params: [request], + }); + } catch (err) { + throw getTransactionError(err as BaseError, { + ...args, + account, + chain: args.chain || undefined, + }); + } +} diff --git a/packages/client/typechain/@openzeppelin/contracts-upgradeable/index.ts b/packages/client/typechain/@openzeppelin/contracts-upgradeable/index.ts new file mode 100644 index 0000000..535f526 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts-upgradeable/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as proxy from "./proxy"; +export type { proxy }; diff --git a/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/index.ts b/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/index.ts new file mode 100644 index 0000000..74cdc5f --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as utils from "./utils"; +export type { utils }; diff --git a/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts b/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts new file mode 100644 index 0000000..a97ca26 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts @@ -0,0 +1,70 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseContract, Signer, utils } from "ethers"; +import type { EventFragment } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface InitializableInterface extends utils.Interface { + functions: {}; + + events: { + "Initialized(uint8)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; +} + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface Initializable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: InitializableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: { + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + }; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts b/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts new file mode 100644 index 0000000..5da73d0 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Initializable } from "./Initializable"; diff --git a/packages/client/typechain/@openzeppelin/contracts/access/AccessControl.ts b/packages/client/typechain/@openzeppelin/contracts/access/AccessControl.ts new file mode 100644 index 0000000..d003a8b --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/access/AccessControl.ts @@ -0,0 +1,398 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface AccessControlInterface extends utils.Interface { + functions: { + "DEFAULT_ADMIN_ROLE()": FunctionFragment; + "getRoleAdmin(bytes32)": FunctionFragment; + "grantRole(bytes32,address)": FunctionFragment; + "hasRole(bytes32,address)": FunctionFragment; + "renounceRole(bytes32,address)": FunctionFragment; + "revokeRole(bytes32,address)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "DEFAULT_ADMIN_ROLE" + | "getRoleAdmin" + | "grantRole" + | "hasRole" + | "renounceRole" + | "revokeRole" + | "supportsInterface" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DEFAULT_ADMIN_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getRoleAdmin", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "grantRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hasRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "renounceRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "DEFAULT_ADMIN_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRoleAdmin", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceRole", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: { + "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; + "RoleGranted(bytes32,address,address)": EventFragment; + "RoleRevoked(bytes32,address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; +} + +export interface RoleAdminChangedEventObject { + role: string; + previousAdminRole: string; + newAdminRole: string; +} +export type RoleAdminChangedEvent = TypedEvent< + [string, string, string], + RoleAdminChangedEventObject +>; + +export type RoleAdminChangedEventFilter = + TypedEventFilter; + +export interface RoleGrantedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleGrantedEvent = TypedEvent< + [string, string, string], + RoleGrantedEventObject +>; + +export type RoleGrantedEventFilter = TypedEventFilter; + +export interface RoleRevokedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleRevokedEvent = TypedEvent< + [string, string, string], + RoleRevokedEventObject +>; + +export type RoleRevokedEventFilter = TypedEventFilter; + +export interface AccessControl extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: AccessControlInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "RoleAdminChanged(bytes32,bytes32,bytes32)"( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + RoleAdminChanged( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + + "RoleGranted(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + RoleGranted( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + + "RoleRevoked(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + RoleRevoked( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + }; + + estimateGas: { + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + DEFAULT_ADMIN_ROLE( + overrides?: CallOverrides + ): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/packages/client/typechain/@openzeppelin/contracts/access/IAccessControl.ts b/packages/client/typechain/@openzeppelin/contracts/access/IAccessControl.ts new file mode 100644 index 0000000..b09e631 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/access/IAccessControl.ts @@ -0,0 +1,341 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IAccessControlInterface extends utils.Interface { + functions: { + "getRoleAdmin(bytes32)": FunctionFragment; + "grantRole(bytes32,address)": FunctionFragment; + "hasRole(bytes32,address)": FunctionFragment; + "renounceRole(bytes32,address)": FunctionFragment; + "revokeRole(bytes32,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "getRoleAdmin" + | "grantRole" + | "hasRole" + | "renounceRole" + | "revokeRole" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getRoleAdmin", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "grantRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hasRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "renounceRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "getRoleAdmin", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceRole", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; + + events: { + "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; + "RoleGranted(bytes32,address,address)": EventFragment; + "RoleRevoked(bytes32,address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; +} + +export interface RoleAdminChangedEventObject { + role: string; + previousAdminRole: string; + newAdminRole: string; +} +export type RoleAdminChangedEvent = TypedEvent< + [string, string, string], + RoleAdminChangedEventObject +>; + +export type RoleAdminChangedEventFilter = + TypedEventFilter; + +export interface RoleGrantedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleGrantedEvent = TypedEvent< + [string, string, string], + RoleGrantedEventObject +>; + +export type RoleGrantedEventFilter = TypedEventFilter; + +export interface RoleRevokedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleRevokedEvent = TypedEvent< + [string, string, string], + RoleRevokedEventObject +>; + +export type RoleRevokedEventFilter = TypedEventFilter; + +export interface IAccessControl extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IAccessControlInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "RoleAdminChanged(bytes32,bytes32,bytes32)"( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + RoleAdminChanged( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + + "RoleGranted(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + RoleGranted( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + + "RoleRevoked(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + RoleRevoked( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + }; + + estimateGas: { + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/packages/client/typechain/@openzeppelin/contracts/access/index.ts b/packages/client/typechain/@openzeppelin/contracts/access/index.ts new file mode 100644 index 0000000..8209e49 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/access/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { AccessControl } from "./AccessControl"; +export type { IAccessControl } from "./IAccessControl"; diff --git a/packages/client/typechain/@openzeppelin/contracts/index.ts b/packages/client/typechain/@openzeppelin/contracts/index.ts new file mode 100644 index 0000000..dbde080 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as access from "./access"; +export type { access }; +import type * as metatx from "./metatx"; +export type { metatx }; +import type * as utils from "./utils"; +export type { utils }; diff --git a/packages/client/typechain/@openzeppelin/contracts/metatx/ERC2771Context.ts b/packages/client/typechain/@openzeppelin/contracts/metatx/ERC2771Context.ts new file mode 100644 index 0000000..64794f2 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/metatx/ERC2771Context.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface ERC2771ContextInterface extends utils.Interface { + functions: { + "isTrustedForwarder(address)": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "isTrustedForwarder"): FunctionFragment; + + encodeFunctionData( + functionFragment: "isTrustedForwarder", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "isTrustedForwarder", + data: BytesLike + ): Result; + + events: {}; +} + +export interface ERC2771Context extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC2771ContextInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/packages/client/typechain/@openzeppelin/contracts/metatx/index.ts b/packages/client/typechain/@openzeppelin/contracts/metatx/index.ts new file mode 100644 index 0000000..d5e1c80 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/metatx/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC2771Context } from "./ERC2771Context"; diff --git a/packages/client/typechain/@openzeppelin/contracts/utils/index.ts b/packages/client/typechain/@openzeppelin/contracts/utils/index.ts new file mode 100644 index 0000000..3aa96c1 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/utils/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as introspection from "./introspection"; +export type { introspection }; diff --git a/packages/client/typechain/@openzeppelin/contracts/utils/introspection/ERC165.ts b/packages/client/typechain/@openzeppelin/contracts/utils/introspection/ERC165.ts new file mode 100644 index 0000000..26c42e0 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/utils/introspection/ERC165.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface ERC165Interface extends utils.Interface { + functions: { + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "supportsInterface"): FunctionFragment; + + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: {}; +} + +export interface ERC165 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC165Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/packages/client/typechain/@openzeppelin/contracts/utils/introspection/IERC165.ts b/packages/client/typechain/@openzeppelin/contracts/utils/introspection/IERC165.ts new file mode 100644 index 0000000..010603d --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/utils/introspection/IERC165.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IERC165Interface extends utils.Interface { + functions: { + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "supportsInterface"): FunctionFragment; + + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IERC165 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC165Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/packages/client/typechain/@openzeppelin/contracts/utils/introspection/index.ts b/packages/client/typechain/@openzeppelin/contracts/utils/introspection/index.ts new file mode 100644 index 0000000..d7fccec --- /dev/null +++ b/packages/client/typechain/@openzeppelin/contracts/utils/introspection/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC165 } from "./ERC165"; +export type { IERC165 } from "./IERC165"; diff --git a/packages/client/typechain/@openzeppelin/index.ts b/packages/client/typechain/@openzeppelin/index.ts new file mode 100644 index 0000000..f34b877 --- /dev/null +++ b/packages/client/typechain/@openzeppelin/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; +import type * as contractsUpgradeable from "./contracts-upgradeable"; +export type { contractsUpgradeable }; diff --git a/packages/client/typechain/common.d.ts b/packages/client/typechain/common.d.ts new file mode 100644 index 0000000..30df0f6 --- /dev/null +++ b/packages/client/typechain/common.d.ts @@ -0,0 +1,22 @@ +import type { Listener } from "@ethersproject/providers"; +import type { Event, EventFilter } from "ethers"; +export interface TypedEvent = any, TArgsObject = any> extends Event { + args: TArgsArray & TArgsObject; +} +export interface TypedEventFilter<_TEvent extends TypedEvent> extends EventFilter { +} +export interface TypedListener { + (...listenerArg: [...__TypechainArgsArray, TEvent]): void; +} +type __TypechainArgsArray = T extends TypedEvent ? U : never; +export interface OnEvent { + (eventFilter: TypedEventFilter, listener: TypedListener): TRes; + (eventName: string, listener: Listener): TRes; +} +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; +export type GetContractTypeFromFactory = F extends MinEthersFactory ? C : never; +export type GetARGsTypeFromFactory = F extends MinEthersFactory ? Parameters : never; +export type PromiseOrValue = T | Promise; +export {}; diff --git a/packages/client/typechain/common.js b/packages/client/typechain/common.js new file mode 100644 index 0000000..6b84ded --- /dev/null +++ b/packages/client/typechain/common.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=common.js.map \ No newline at end of file diff --git a/packages/client/typechain/common.js.map b/packages/client/typechain/common.js.map new file mode 100644 index 0000000..d0f541d --- /dev/null +++ b/packages/client/typechain/common.js.map @@ -0,0 +1 @@ +{"version":3,"file":"common.js","sourceRoot":"","sources":["common.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/client/typechain/common.ts b/packages/client/typechain/common.ts new file mode 100644 index 0000000..4c90b08 --- /dev/null +++ b/packages/client/typechain/common.ts @@ -0,0 +1,46 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { Listener } from "@ethersproject/providers"; +import type { Event, EventFilter } from "ethers"; + +export interface TypedEvent< + TArgsArray extends Array = any, + TArgsObject = any +> extends Event { + args: TArgsArray & TArgsObject; +} + +export interface TypedEventFilter<_TEvent extends TypedEvent> + extends EventFilter {} + +export interface TypedListener { + (...listenerArg: [...__TypechainArgsArray, TEvent]): void; +} + +type __TypechainArgsArray = T extends TypedEvent ? U : never; + +export interface OnEvent { + ( + eventFilter: TypedEventFilter, + listener: TypedListener + ): TRes; + (eventName: string, listener: Listener): TRes; +} + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory< + infer C, + any +> + ? C + : never; + +export type GetARGsTypeFromFactory = F extends MinEthersFactory + ? Parameters + : never; + +export type PromiseOrValue = T | Promise; diff --git a/packages/client/typechain/contracts/fwd/DelegationRegistry2771.ts b/packages/client/typechain/contracts/fwd/DelegationRegistry2771.ts new file mode 100644 index 0000000..89bbed3 --- /dev/null +++ b/packages/client/typechain/contracts/fwd/DelegationRegistry2771.ts @@ -0,0 +1,941 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export declare namespace IDelegationRegistry { + export type ContractDelegationStruct = { + contract_: PromiseOrValue; + delegate: PromiseOrValue; + }; + + export type ContractDelegationStructOutput = [string, string] & { + contract_: string; + delegate: string; + }; + + export type DelegationInfoStruct = { + type_: PromiseOrValue; + vault: PromiseOrValue; + delegate: PromiseOrValue; + contract_: PromiseOrValue; + tokenId: PromiseOrValue; + }; + + export type DelegationInfoStructOutput = [ + number, + string, + string, + string, + BigNumber + ] & { + type_: number; + vault: string; + delegate: string; + contract_: string; + tokenId: BigNumber; + }; + + export type TokenDelegationStruct = { + contract_: PromiseOrValue; + tokenId: PromiseOrValue; + delegate: PromiseOrValue; + }; + + export type TokenDelegationStructOutput = [string, BigNumber, string] & { + contract_: string; + tokenId: BigNumber; + delegate: string; + }; +} + +export interface DelegationRegistry2771Interface extends utils.Interface { + functions: { + "checkDelegateForAll(address,address)": FunctionFragment; + "checkDelegateForContract(address,address,address)": FunctionFragment; + "checkDelegateForToken(address,address,address,uint256)": FunctionFragment; + "delegateForAll(address,bool)": FunctionFragment; + "delegateForContract(address,address,bool)": FunctionFragment; + "delegateForToken(address,address,uint256,bool)": FunctionFragment; + "getContractLevelDelegations(address)": FunctionFragment; + "getDelegatesForAll(address)": FunctionFragment; + "getDelegatesForContract(address,address)": FunctionFragment; + "getDelegatesForToken(address,address,uint256)": FunctionFragment; + "getDelegationsByDelegate(address)": FunctionFragment; + "getTokenLevelDelegations(address)": FunctionFragment; + "isTrustedForwarder(address)": FunctionFragment; + "revokeAllDelegates()": FunctionFragment; + "revokeDelegate(address)": FunctionFragment; + "revokeSelf(address)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "checkDelegateForAll" + | "checkDelegateForContract" + | "checkDelegateForToken" + | "delegateForAll" + | "delegateForContract" + | "delegateForToken" + | "getContractLevelDelegations" + | "getDelegatesForAll" + | "getDelegatesForContract" + | "getDelegatesForToken" + | "getDelegationsByDelegate" + | "getTokenLevelDelegations" + | "isTrustedForwarder" + | "revokeAllDelegates" + | "revokeDelegate" + | "revokeSelf" + | "supportsInterface" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "checkDelegateForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "checkDelegateForContract", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "checkDelegateForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegateForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegateForContract", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegateForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getContractLevelDelegations", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForAll", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForContract", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getDelegationsByDelegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTokenLevelDelegations", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isTrustedForwarder", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeAllDelegates", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokeDelegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeSelf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "checkDelegateForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "checkDelegateForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "checkDelegateForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getContractLevelDelegations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegationsByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTokenLevelDelegations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isTrustedForwarder", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokeAllDelegates", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokeDelegate", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeSelf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: { + "DelegateForAll(address,address,bool)": EventFragment; + "DelegateForContract(address,address,address,bool)": EventFragment; + "DelegateForToken(address,address,address,uint256,bool)": EventFragment; + "RevokeAllDelegates(address)": EventFragment; + "RevokeDelegate(address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "DelegateForAll"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateForContract"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateForToken"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RevokeAllDelegates"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RevokeDelegate"): EventFragment; +} + +export interface DelegateForAllEventObject { + vault: string; + delegate: string; + value: boolean; +} +export type DelegateForAllEvent = TypedEvent< + [string, string, boolean], + DelegateForAllEventObject +>; + +export type DelegateForAllEventFilter = TypedEventFilter; + +export interface DelegateForContractEventObject { + vault: string; + delegate: string; + contract_: string; + value: boolean; +} +export type DelegateForContractEvent = TypedEvent< + [string, string, string, boolean], + DelegateForContractEventObject +>; + +export type DelegateForContractEventFilter = + TypedEventFilter; + +export interface DelegateForTokenEventObject { + vault: string; + delegate: string; + contract_: string; + tokenId: BigNumber; + value: boolean; +} +export type DelegateForTokenEvent = TypedEvent< + [string, string, string, BigNumber, boolean], + DelegateForTokenEventObject +>; + +export type DelegateForTokenEventFilter = + TypedEventFilter; + +export interface RevokeAllDelegatesEventObject { + vault: string; +} +export type RevokeAllDelegatesEvent = TypedEvent< + [string], + RevokeAllDelegatesEventObject +>; + +export type RevokeAllDelegatesEventFilter = + TypedEventFilter; + +export interface RevokeDelegateEventObject { + vault: string; + delegate: string; +} +export type RevokeDelegateEvent = TypedEvent< + [string, string], + RevokeDelegateEventObject +>; + +export type RevokeDelegateEventFilter = TypedEventFilter; + +export interface DelegationRegistry2771 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: DelegationRegistry2771Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IDelegationRegistry.ContractDelegationStructOutput[]] & { + contractDelegations: IDelegationRegistry.ContractDelegationStructOutput[]; + } + >; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]] & { delegates: string[] }>; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]] & { delegates: string[] }>; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]] & { delegates: string[] }>; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IDelegationRegistry.DelegationInfoStructOutput[]] & { + info: IDelegationRegistry.DelegationInfoStructOutput[]; + } + >; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IDelegationRegistry.TokenDelegationStructOutput[]] & { + tokenDelegations: IDelegationRegistry.TokenDelegationStructOutput[]; + } + >; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates(overrides?: CallOverrides): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "DelegateForAll(address,address,bool)"( + vault?: null, + delegate?: null, + value?: null + ): DelegateForAllEventFilter; + DelegateForAll( + vault?: null, + delegate?: null, + value?: null + ): DelegateForAllEventFilter; + + "DelegateForContract(address,address,address,bool)"( + vault?: null, + delegate?: null, + contract_?: null, + value?: null + ): DelegateForContractEventFilter; + DelegateForContract( + vault?: null, + delegate?: null, + contract_?: null, + value?: null + ): DelegateForContractEventFilter; + + "DelegateForToken(address,address,address,uint256,bool)"( + vault?: null, + delegate?: null, + contract_?: null, + tokenId?: null, + value?: null + ): DelegateForTokenEventFilter; + DelegateForToken( + vault?: null, + delegate?: null, + contract_?: null, + tokenId?: null, + value?: null + ): DelegateForTokenEventFilter; + + "RevokeAllDelegates(address)"(vault?: null): RevokeAllDelegatesEventFilter; + RevokeAllDelegates(vault?: null): RevokeAllDelegatesEventFilter; + + "RevokeDelegate(address,address)"( + vault?: null, + delegate?: null + ): RevokeDelegateEventFilter; + RevokeDelegate(vault?: null, delegate?: null): RevokeDelegateEventFilter; + }; + + estimateGas: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712.ts b/packages/client/typechain/contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712.ts new file mode 100644 index 0000000..77e8c7a --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712.ts @@ -0,0 +1,110 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface EssentialEIP712Interface extends utils.Interface { + functions: { + "_domainSeparatorV4()": FunctionFragment; + "getChainId()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "_domainSeparatorV4" | "getChainId" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "_domainSeparatorV4", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getChainId", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "_domainSeparatorV4", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getChainId", data: BytesLike): Result; + + events: {}; +} + +export interface EssentialEIP712 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: EssentialEIP712Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + _domainSeparatorV4(overrides?: CallOverrides): Promise<[string]>; + + getChainId( + overrides?: CallOverrides + ): Promise<[BigNumber] & { id: BigNumber }>; + }; + + _domainSeparatorV4(overrides?: CallOverrides): Promise; + + getChainId(overrides?: CallOverrides): Promise; + + callStatic: { + _domainSeparatorV4(overrides?: CallOverrides): Promise; + + getChainId(overrides?: CallOverrides): Promise; + }; + + filters: {}; + + estimateGas: { + _domainSeparatorV4(overrides?: CallOverrides): Promise; + + getChainId(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + _domainSeparatorV4( + overrides?: CallOverrides + ): Promise; + + getChainId(overrides?: CallOverrides): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/EssentialEIP712Base.sol/index.ts b/packages/client/typechain/contracts/fwd/EssentialEIP712Base.sol/index.ts new file mode 100644 index 0000000..3f65427 --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialEIP712Base.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { EssentialEIP712 } from "./EssentialEIP712"; diff --git a/packages/client/typechain/contracts/fwd/EssentialERC2771Context.ts b/packages/client/typechain/contracts/fwd/EssentialERC2771Context.ts new file mode 100644 index 0000000..dfe2d5b --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialERC2771Context.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface EssentialContextInterface extends utils.Interface { + functions: { + "isTrustedForwarder(address)": FunctionFragment; + "owner()": FunctionFragment; + "setTrustedForwarder(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "isTrustedForwarder" + | "owner" + | "setTrustedForwarder" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "isTrustedForwarder", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "setTrustedForwarder", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "isTrustedForwarder", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setTrustedForwarder", + data: BytesLike + ): Result; + + events: {}; +} + +export interface EssentialContext extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: EssentialContextInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/EssentialERC2771ContextUpgradeable.ts b/packages/client/typechain/contracts/fwd/EssentialERC2771ContextUpgradeable.ts new file mode 100644 index 0000000..bf3dfec --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialERC2771ContextUpgradeable.ts @@ -0,0 +1,176 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface EssentialContextUpgradeableInterface + extends utils.Interface { + functions: { + "isTrustedForwarder(address)": FunctionFragment; + "owner()": FunctionFragment; + "setTrustedForwarder(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "isTrustedForwarder" + | "owner" + | "setTrustedForwarder" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "isTrustedForwarder", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "setTrustedForwarder", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "isTrustedForwarder", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setTrustedForwarder", + data: BytesLike + ): Result; + + events: { + "Initialized(uint8)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; +} + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface EssentialContextUpgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: EssentialContextUpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + }; + + estimateGas: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/EssentialForwarder.d.ts b/packages/client/typechain/contracts/fwd/EssentialForwarder.d.ts new file mode 100644 index 0000000..7435b04 --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialForwarder.d.ts @@ -0,0 +1,455 @@ +import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; +import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common.js"; +export declare namespace IForwardRequest { + type ERC721ForwardRequestStruct = { + from: PromiseOrValue; + authorizer: PromiseOrValue; + to: PromiseOrValue; + nftContract: PromiseOrValue; + nftTokenId: PromiseOrValue; + nftChainId: PromiseOrValue; + targetChainId: PromiseOrValue; + value: PromiseOrValue; + gas: PromiseOrValue; + nonce: PromiseOrValue; + data: PromiseOrValue; + }; + type ERC721ForwardRequestStructOutput = [ + string, + string, + string, + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string + ] & { + from: string; + authorizer: string; + to: string; + nftContract: string; + nftTokenId: BigNumber; + nftChainId: BigNumber; + targetChainId: BigNumber; + value: BigNumber; + gas: BigNumber; + nonce: BigNumber; + data: string; + }; +} +export interface EssentialForwarderInterface extends utils.Interface { + functions: { + "ADMIN_ROLE()": FunctionFragment; + "DEFAULT_ADMIN_ROLE()": FunctionFragment; + "DelegationRegistry()": FunctionFragment; + "_domainSeparatorV4()": FunctionFragment; + "createMessage(address,address,uint256,uint256,address,uint256,uint256)": FunctionFragment; + "createSession(address)": FunctionFragment; + "execute((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes)": FunctionFragment; + "executeWithProof(bytes,bytes)": FunctionFragment; + "executeWithProofNative(bytes,bytes)": FunctionFragment; + "getChainId()": FunctionFragment; + "getNonce(address)": FunctionFragment; + "getRoleAdmin(bytes32)": FunctionFragment; + "grantRole(bytes32,address)": FunctionFragment; + "hasRole(bytes32,address)": FunctionFragment; + "isAuthorized(address,address)": FunctionFragment; + "ownershipSigner()": FunctionFragment; + "preflight((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes)": FunctionFragment; + "preflightNative((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes))": FunctionFragment; + "renounceRole(bytes32,address)": FunctionFragment; + "revokeRole(bytes32,address)": FunctionFragment; + "setDelegationRegistry(address)": FunctionFragment; + "setOwnershipSigner(address)": FunctionFragment; + "setUrls(string[])": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "urls(uint256)": FunctionFragment; + "verify((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes)": FunctionFragment; + "verifyOwnershipProof((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes,uint256)": FunctionFragment; + }; + getFunction(nameOrSignatureOrTopic: "ADMIN_ROLE" | "DEFAULT_ADMIN_ROLE" | "DelegationRegistry" | "_domainSeparatorV4" | "createMessage" | "createSession" | "execute" | "executeWithProof" | "executeWithProofNative" | "getChainId" | "getNonce" | "getRoleAdmin" | "grantRole" | "hasRole" | "isAuthorized" | "ownershipSigner" | "preflight" | "preflightNative" | "renounceRole" | "revokeRole" | "setDelegationRegistry" | "setOwnershipSigner" | "setUrls" | "supportsInterface" | "urls" | "verify" | "verifyOwnershipProof"): FunctionFragment; + encodeFunctionData(functionFragment: "ADMIN_ROLE", values?: undefined): string; + encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; + encodeFunctionData(functionFragment: "DelegationRegistry", values?: undefined): string; + encodeFunctionData(functionFragment: "_domainSeparatorV4", values?: undefined): string; + encodeFunctionData(functionFragment: "createMessage", values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ]): string; + encodeFunctionData(functionFragment: "createSession", values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: "execute", values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue + ]): string; + encodeFunctionData(functionFragment: "executeWithProof", values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: "executeWithProofNative", values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: "getChainId", values?: undefined): string; + encodeFunctionData(functionFragment: "getNonce", values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: "getRoleAdmin", values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: "grantRole", values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: "hasRole", values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: "isAuthorized", values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: "ownershipSigner", values?: undefined): string; + encodeFunctionData(functionFragment: "preflight", values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue + ]): string; + encodeFunctionData(functionFragment: "preflightNative", values: [IForwardRequest.ERC721ForwardRequestStruct]): string; + encodeFunctionData(functionFragment: "renounceRole", values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: "revokeRole", values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: "setDelegationRegistry", values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: "setOwnershipSigner", values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: "setUrls", values: [PromiseOrValue[]]): string; + encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: "urls", values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: "verify", values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue + ]): string; + encodeFunctionData(functionFragment: "verifyOwnershipProof", values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue, + PromiseOrValue + ]): string; + decodeFunctionResult(functionFragment: "ADMIN_ROLE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "DelegationRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "_domainSeparatorV4", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "createMessage", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "createSession", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "executeWithProof", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "executeWithProofNative", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getChainId", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getNonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isAuthorized", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ownershipSigner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "preflight", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "preflightNative", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setDelegationRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setOwnershipSigner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setUrls", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "urls", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifyOwnershipProof", data: BytesLike): Result; + events: { + "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; + "RoleGranted(bytes32,address,address)": EventFragment; + "RoleRevoked(bytes32,address,address)": EventFragment; + "Session(address,address,uint256)": EventFragment; + }; + getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Session"): EventFragment; +} +export interface RoleAdminChangedEventObject { + role: string; + previousAdminRole: string; + newAdminRole: string; +} +export type RoleAdminChangedEvent = TypedEvent<[ + string, + string, + string +], RoleAdminChangedEventObject>; +export type RoleAdminChangedEventFilter = TypedEventFilter; +export interface RoleGrantedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleGrantedEvent = TypedEvent<[ + string, + string, + string +], RoleGrantedEventObject>; +export type RoleGrantedEventFilter = TypedEventFilter; +export interface RoleRevokedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleRevokedEvent = TypedEvent<[ + string, + string, + string +], RoleRevokedEventObject>; +export type RoleRevokedEventFilter = TypedEventFilter; +export interface SessionEventObject { + owner: string; + authorized: string; + length: BigNumber; +} +export type SessionEvent = TypedEvent<[ + string, + string, + BigNumber +], SessionEventObject>; +export type SessionEventFilter = TypedEventFilter; +export interface EssentialForwarder extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + interface: EssentialForwarderInterface; + queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; + listeners(eventFilter?: TypedEventFilter): Array>; + listeners(eventName?: string): Array; + removeAllListeners(eventFilter: TypedEventFilter): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + functions: { + ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + DelegationRegistry(overrides?: CallOverrides): Promise<[string]>; + _domainSeparatorV4(overrides?: CallOverrides): Promise<[string]>; + createMessage(signer: PromiseOrValue, authorizer: PromiseOrValue, nonce: PromiseOrValue, nftChainId: PromiseOrValue, nftContract: PromiseOrValue, tokenId: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; + createSession(authorized: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + execute(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + executeWithProof(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + executeWithProofNative(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + getChainId(overrides?: CallOverrides): Promise<[BigNumber] & { + id: BigNumber; + }>; + getNonce(from: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + getRoleAdmin(role: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; + grantRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + hasRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + isAuthorized(vault: PromiseOrValue, delegate: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + ownershipSigner(overrides?: CallOverrides): Promise<[string]>; + preflight(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise<[void]>; + preflightNative(req: IForwardRequest.ERC721ForwardRequestStruct, overrides?: CallOverrides): Promise<[void]>; + renounceRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + revokeRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setDelegationRegistry(registry: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setOwnershipSigner(newSigner: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setUrls(_urls: PromiseOrValue[], overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + urls(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; + verify(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + verifyOwnershipProof(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + }; + ADMIN_ROLE(overrides?: CallOverrides): Promise; + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + DelegationRegistry(overrides?: CallOverrides): Promise; + _domainSeparatorV4(overrides?: CallOverrides): Promise; + createMessage(signer: PromiseOrValue, authorizer: PromiseOrValue, nonce: PromiseOrValue, nftChainId: PromiseOrValue, nftContract: PromiseOrValue, tokenId: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise; + createSession(authorized: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + execute(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + executeWithProof(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + executeWithProofNative(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + getChainId(overrides?: CallOverrides): Promise; + getNonce(from: PromiseOrValue, overrides?: CallOverrides): Promise; + getRoleAdmin(role: PromiseOrValue, overrides?: CallOverrides): Promise; + grantRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + hasRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: CallOverrides): Promise; + isAuthorized(vault: PromiseOrValue, delegate: PromiseOrValue, overrides?: CallOverrides): Promise; + ownershipSigner(overrides?: CallOverrides): Promise; + preflight(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; + preflightNative(req: IForwardRequest.ERC721ForwardRequestStruct, overrides?: CallOverrides): Promise; + renounceRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + revokeRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setDelegationRegistry(registry: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setOwnershipSigner(newSigner: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setUrls(_urls: PromiseOrValue[], overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + urls(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + verify(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; + verifyOwnershipProof(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise; + callStatic: { + ADMIN_ROLE(overrides?: CallOverrides): Promise; + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + DelegationRegistry(overrides?: CallOverrides): Promise; + _domainSeparatorV4(overrides?: CallOverrides): Promise; + createMessage(signer: PromiseOrValue, authorizer: PromiseOrValue, nonce: PromiseOrValue, nftChainId: PromiseOrValue, nftContract: PromiseOrValue, tokenId: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise; + createSession(authorized: PromiseOrValue, overrides?: CallOverrides): Promise; + execute(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean, string]>; + executeWithProof(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean, string]>; + executeWithProofNative(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean, string]>; + getChainId(overrides?: CallOverrides): Promise; + getNonce(from: PromiseOrValue, overrides?: CallOverrides): Promise; + getRoleAdmin(role: PromiseOrValue, overrides?: CallOverrides): Promise; + grantRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: CallOverrides): Promise; + hasRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: CallOverrides): Promise; + isAuthorized(vault: PromiseOrValue, delegate: PromiseOrValue, overrides?: CallOverrides): Promise; + ownershipSigner(overrides?: CallOverrides): Promise; + preflight(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; + preflightNative(req: IForwardRequest.ERC721ForwardRequestStruct, overrides?: CallOverrides): Promise; + renounceRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: CallOverrides): Promise; + revokeRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: CallOverrides): Promise; + setDelegationRegistry(registry: PromiseOrValue, overrides?: CallOverrides): Promise; + setOwnershipSigner(newSigner: PromiseOrValue, overrides?: CallOverrides): Promise; + setUrls(_urls: PromiseOrValue[], overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + urls(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + verify(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; + verifyOwnershipProof(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise; + }; + filters: { + "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: PromiseOrValue | null, previousAdminRole?: PromiseOrValue | null, newAdminRole?: PromiseOrValue | null): RoleAdminChangedEventFilter; + RoleAdminChanged(role?: PromiseOrValue | null, previousAdminRole?: PromiseOrValue | null, newAdminRole?: PromiseOrValue | null): RoleAdminChangedEventFilter; + "RoleGranted(bytes32,address,address)"(role?: PromiseOrValue | null, account?: PromiseOrValue | null, sender?: PromiseOrValue | null): RoleGrantedEventFilter; + RoleGranted(role?: PromiseOrValue | null, account?: PromiseOrValue | null, sender?: PromiseOrValue | null): RoleGrantedEventFilter; + "RoleRevoked(bytes32,address,address)"(role?: PromiseOrValue | null, account?: PromiseOrValue | null, sender?: PromiseOrValue | null): RoleRevokedEventFilter; + RoleRevoked(role?: PromiseOrValue | null, account?: PromiseOrValue | null, sender?: PromiseOrValue | null): RoleRevokedEventFilter; + "Session(address,address,uint256)"(owner?: PromiseOrValue | null, authorized?: PromiseOrValue | null, length?: PromiseOrValue | null): SessionEventFilter; + Session(owner?: PromiseOrValue | null, authorized?: PromiseOrValue | null, length?: PromiseOrValue | null): SessionEventFilter; + }; + estimateGas: { + ADMIN_ROLE(overrides?: CallOverrides): Promise; + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + DelegationRegistry(overrides?: CallOverrides): Promise; + _domainSeparatorV4(overrides?: CallOverrides): Promise; + createMessage(signer: PromiseOrValue, authorizer: PromiseOrValue, nonce: PromiseOrValue, nftChainId: PromiseOrValue, nftContract: PromiseOrValue, tokenId: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise; + createSession(authorized: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + execute(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + executeWithProof(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + executeWithProofNative(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + getChainId(overrides?: CallOverrides): Promise; + getNonce(from: PromiseOrValue, overrides?: CallOverrides): Promise; + getRoleAdmin(role: PromiseOrValue, overrides?: CallOverrides): Promise; + grantRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + hasRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: CallOverrides): Promise; + isAuthorized(vault: PromiseOrValue, delegate: PromiseOrValue, overrides?: CallOverrides): Promise; + ownershipSigner(overrides?: CallOverrides): Promise; + preflight(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; + preflightNative(req: IForwardRequest.ERC721ForwardRequestStruct, overrides?: CallOverrides): Promise; + renounceRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + revokeRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setDelegationRegistry(registry: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setOwnershipSigner(newSigner: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setUrls(_urls: PromiseOrValue[], overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + urls(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + verify(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; + verifyOwnershipProof(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise; + }; + populateTransaction: { + ADMIN_ROLE(overrides?: CallOverrides): Promise; + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + DelegationRegistry(overrides?: CallOverrides): Promise; + _domainSeparatorV4(overrides?: CallOverrides): Promise; + createMessage(signer: PromiseOrValue, authorizer: PromiseOrValue, nonce: PromiseOrValue, nftChainId: PromiseOrValue, nftContract: PromiseOrValue, tokenId: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise; + createSession(authorized: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + execute(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + executeWithProof(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + executeWithProofNative(response: PromiseOrValue, extraData: PromiseOrValue, overrides?: PayableOverrides & { + from?: PromiseOrValue; + }): Promise; + getChainId(overrides?: CallOverrides): Promise; + getNonce(from: PromiseOrValue, overrides?: CallOverrides): Promise; + getRoleAdmin(role: PromiseOrValue, overrides?: CallOverrides): Promise; + grantRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + hasRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: CallOverrides): Promise; + isAuthorized(vault: PromiseOrValue, delegate: PromiseOrValue, overrides?: CallOverrides): Promise; + ownershipSigner(overrides?: CallOverrides): Promise; + preflight(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; + preflightNative(req: IForwardRequest.ERC721ForwardRequestStruct, overrides?: CallOverrides): Promise; + renounceRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + revokeRole(role: PromiseOrValue, account: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setDelegationRegistry(registry: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setOwnershipSigner(newSigner: PromiseOrValue, overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + setUrls(_urls: PromiseOrValue[], overrides?: Overrides & { + from?: PromiseOrValue; + }): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + urls(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + verify(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; + verifyOwnershipProof(req: IForwardRequest.ERC721ForwardRequestStruct, signature: PromiseOrValue, timestamp: PromiseOrValue, overrides?: CallOverrides): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/EssentialForwarder.js b/packages/client/typechain/contracts/fwd/EssentialForwarder.js new file mode 100644 index 0000000..25d679d --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialForwarder.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=EssentialForwarder.js.map \ No newline at end of file diff --git a/packages/client/typechain/contracts/fwd/EssentialForwarder.js.map b/packages/client/typechain/contracts/fwd/EssentialForwarder.js.map new file mode 100644 index 0000000..867bc50 --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialForwarder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EssentialForwarder.js","sourceRoot":"","sources":["EssentialForwarder.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/client/typechain/contracts/fwd/EssentialForwarder.ts b/packages/client/typechain/contracts/fwd/EssentialForwarder.ts new file mode 100644 index 0000000..0d7f295 --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialForwarder.ts @@ -0,0 +1,1165 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common.js"; + +export declare namespace IForwardRequest { + export type ERC721ForwardRequestStruct = { + from: PromiseOrValue; + authorizer: PromiseOrValue; + to: PromiseOrValue; + nftContract: PromiseOrValue; + nftTokenId: PromiseOrValue; + nftChainId: PromiseOrValue; + targetChainId: PromiseOrValue; + value: PromiseOrValue; + gas: PromiseOrValue; + nonce: PromiseOrValue; + data: PromiseOrValue; + }; + + export type ERC721ForwardRequestStructOutput = [ + string, + string, + string, + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string + ] & { + from: string; + authorizer: string; + to: string; + nftContract: string; + nftTokenId: BigNumber; + nftChainId: BigNumber; + targetChainId: BigNumber; + value: BigNumber; + gas: BigNumber; + nonce: BigNumber; + data: string; + }; +} + +export interface EssentialForwarderInterface extends utils.Interface { + functions: { + "ADMIN_ROLE()": FunctionFragment; + "DEFAULT_ADMIN_ROLE()": FunctionFragment; + "DelegationRegistry()": FunctionFragment; + "_domainSeparatorV4()": FunctionFragment; + "createMessage(address,address,uint256,uint256,address,uint256,uint256)": FunctionFragment; + "createSession(address)": FunctionFragment; + "execute((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes)": FunctionFragment; + "executeWithProof(bytes,bytes)": FunctionFragment; + "executeWithProofNative(bytes,bytes)": FunctionFragment; + "getChainId()": FunctionFragment; + "getNonce(address)": FunctionFragment; + "getRoleAdmin(bytes32)": FunctionFragment; + "grantRole(bytes32,address)": FunctionFragment; + "hasRole(bytes32,address)": FunctionFragment; + "isAuthorized(address,address)": FunctionFragment; + "ownershipSigner()": FunctionFragment; + "preflight((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes)": FunctionFragment; + "preflightNative((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes))": FunctionFragment; + "renounceRole(bytes32,address)": FunctionFragment; + "revokeRole(bytes32,address)": FunctionFragment; + "setDelegationRegistry(address)": FunctionFragment; + "setOwnershipSigner(address)": FunctionFragment; + "setUrls(string[])": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "urls(uint256)": FunctionFragment; + "verify((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes)": FunctionFragment; + "verifyOwnershipProof((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "ADMIN_ROLE" + | "DEFAULT_ADMIN_ROLE" + | "DelegationRegistry" + | "_domainSeparatorV4" + | "createMessage" + | "createSession" + | "execute" + | "executeWithProof" + | "executeWithProofNative" + | "getChainId" + | "getNonce" + | "getRoleAdmin" + | "grantRole" + | "hasRole" + | "isAuthorized" + | "ownershipSigner" + | "preflight" + | "preflightNative" + | "renounceRole" + | "revokeRole" + | "setDelegationRegistry" + | "setOwnershipSigner" + | "setUrls" + | "supportsInterface" + | "urls" + | "verify" + | "verifyOwnershipProof" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "ADMIN_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DEFAULT_ADMIN_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DelegationRegistry", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "_domainSeparatorV4", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "createMessage", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "createSession", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "executeWithProof", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "executeWithProofNative", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getChainId", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getNonce", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getRoleAdmin", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "grantRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hasRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "ownershipSigner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "preflight", + values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "preflightNative", + values: [IForwardRequest.ERC721ForwardRequestStruct] + ): string; + encodeFunctionData( + functionFragment: "renounceRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setDelegationRegistry", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setOwnershipSigner", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setUrls", + values: [PromiseOrValue[]] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "urls", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "verify", + values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "verifyOwnershipProof", + values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "ADMIN_ROLE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "DEFAULT_ADMIN_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "DelegationRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "_domainSeparatorV4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "createMessage", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "createSession", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "executeWithProof", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "executeWithProofNative", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getChainId", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getNonce", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getRoleAdmin", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "ownershipSigner", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "preflight", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "preflightNative", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceRole", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setDelegationRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setOwnershipSigner", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setUrls", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "urls", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "verifyOwnershipProof", + data: BytesLike + ): Result; + + events: { + "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; + "RoleGranted(bytes32,address,address)": EventFragment; + "RoleRevoked(bytes32,address,address)": EventFragment; + "Session(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Session"): EventFragment; +} + +export interface RoleAdminChangedEventObject { + role: string; + previousAdminRole: string; + newAdminRole: string; +} +export type RoleAdminChangedEvent = TypedEvent< + [string, string, string], + RoleAdminChangedEventObject +>; + +export type RoleAdminChangedEventFilter = + TypedEventFilter; + +export interface RoleGrantedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleGrantedEvent = TypedEvent< + [string, string, string], + RoleGrantedEventObject +>; + +export type RoleGrantedEventFilter = TypedEventFilter; + +export interface RoleRevokedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleRevokedEvent = TypedEvent< + [string, string, string], + RoleRevokedEventObject +>; + +export type RoleRevokedEventFilter = TypedEventFilter; + +export interface SessionEventObject { + owner: string; + authorized: string; + length: BigNumber; +} +export type SessionEvent = TypedEvent< + [string, string, BigNumber], + SessionEventObject +>; + +export type SessionEventFilter = TypedEventFilter; + +export interface EssentialForwarder extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: EssentialForwarderInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + + DelegationRegistry(overrides?: CallOverrides): Promise<[string]>; + + _domainSeparatorV4(overrides?: CallOverrides): Promise<[string]>; + + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + createSession( + authorized: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeWithProof( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeWithProofNative( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getChainId( + overrides?: CallOverrides + ): Promise<[BigNumber] & { id: BigNumber }>; + + getNonce( + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + isAuthorized( + vault: PromiseOrValue, + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + ownershipSigner(overrides?: CallOverrides): Promise<[string]>; + + preflight( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[void]>; + + preflightNative( + req: IForwardRequest.ERC721ForwardRequestStruct, + overrides?: CallOverrides + ): Promise<[void]>; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setDelegationRegistry( + registry: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setOwnershipSigner( + newSigner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setUrls( + _urls: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + urls( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + verify( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + ADMIN_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + DelegationRegistry(overrides?: CallOverrides): Promise; + + _domainSeparatorV4(overrides?: CallOverrides): Promise; + + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + createSession( + authorized: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeWithProof( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeWithProofNative( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getChainId(overrides?: CallOverrides): Promise; + + getNonce( + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isAuthorized( + vault: PromiseOrValue, + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + ownershipSigner(overrides?: CallOverrides): Promise; + + preflight( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + preflightNative( + req: IForwardRequest.ERC721ForwardRequestStruct, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setDelegationRegistry( + registry: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setOwnershipSigner( + newSigner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setUrls( + _urls: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + urls( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + verify( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + ADMIN_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + DelegationRegistry(overrides?: CallOverrides): Promise; + + _domainSeparatorV4(overrides?: CallOverrides): Promise; + + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + createSession( + authorized: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean, string]>; + + executeWithProof( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean, string]>; + + executeWithProofNative( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean, string]>; + + getChainId(overrides?: CallOverrides): Promise; + + getNonce( + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isAuthorized( + vault: PromiseOrValue, + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + ownershipSigner(overrides?: CallOverrides): Promise; + + preflight( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + preflightNative( + req: IForwardRequest.ERC721ForwardRequestStruct, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setDelegationRegistry( + registry: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setOwnershipSigner( + newSigner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setUrls( + _urls: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + urls( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + verify( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "RoleAdminChanged(bytes32,bytes32,bytes32)"( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + RoleAdminChanged( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + + "RoleGranted(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + RoleGranted( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + + "RoleRevoked(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + RoleRevoked( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + + "Session(address,address,uint256)"( + owner?: PromiseOrValue | null, + authorized?: PromiseOrValue | null, + length?: PromiseOrValue | null + ): SessionEventFilter; + Session( + owner?: PromiseOrValue | null, + authorized?: PromiseOrValue | null, + length?: PromiseOrValue | null + ): SessionEventFilter; + }; + + estimateGas: { + ADMIN_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + DelegationRegistry(overrides?: CallOverrides): Promise; + + _domainSeparatorV4(overrides?: CallOverrides): Promise; + + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + createSession( + authorized: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeWithProof( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeWithProofNative( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getChainId(overrides?: CallOverrides): Promise; + + getNonce( + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isAuthorized( + vault: PromiseOrValue, + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + ownershipSigner(overrides?: CallOverrides): Promise; + + preflight( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + preflightNative( + req: IForwardRequest.ERC721ForwardRequestStruct, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setDelegationRegistry( + registry: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setOwnershipSigner( + newSigner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setUrls( + _urls: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + urls( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + verify( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + ADMIN_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE( + overrides?: CallOverrides + ): Promise; + + DelegationRegistry( + overrides?: CallOverrides + ): Promise; + + _domainSeparatorV4( + overrides?: CallOverrides + ): Promise; + + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + createSession( + authorized: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeWithProof( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeWithProofNative( + response: PromiseOrValue, + extraData: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getChainId(overrides?: CallOverrides): Promise; + + getNonce( + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isAuthorized( + vault: PromiseOrValue, + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + ownershipSigner(overrides?: CallOverrides): Promise; + + preflight( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + preflightNative( + req: IForwardRequest.ERC721ForwardRequestStruct, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setDelegationRegistry( + registry: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setOwnershipSigner( + newSigner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setUrls( + _urls: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + urls( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + verify( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/EssentialPlaySession.ts b/packages/client/typechain/contracts/fwd/EssentialPlaySession.ts new file mode 100644 index 0000000..a9e13e2 --- /dev/null +++ b/packages/client/typechain/contracts/fwd/EssentialPlaySession.ts @@ -0,0 +1,348 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export declare namespace IForwardRequest { + export type PlaySessionStruct = { + authorized: PromiseOrValue; + expiresAt: PromiseOrValue; + }; + + export type PlaySessionStructOutput = [string, BigNumber] & { + authorized: string; + expiresAt: BigNumber; + }; +} + +export interface EssentialPlaySessionInterface extends utils.Interface { + functions: { + "checkDelegateForAll(address,address)": FunctionFragment; + "createSignedSession(address)": FunctionFragment; + "delegateForAll(address,bool)": FunctionFragment; + "getSession(address)": FunctionFragment; + "isTrustedForwarder(address)": FunctionFragment; + "owner()": FunctionFragment; + "setTrustedForwarder(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "checkDelegateForAll" + | "createSignedSession" + | "delegateForAll" + | "getSession" + | "isTrustedForwarder" + | "owner" + | "setTrustedForwarder" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "checkDelegateForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "createSignedSession", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegateForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getSession", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isTrustedForwarder", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "setTrustedForwarder", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "checkDelegateForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "createSignedSession", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForAll", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getSession", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isTrustedForwarder", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setTrustedForwarder", + data: BytesLike + ): Result; + + events: { + "DelegateForAll(address,address,bool)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "DelegateForAll"): EventFragment; +} + +export interface DelegateForAllEventObject { + vault: string; + delegate: string; + value: boolean; +} +export type DelegateForAllEvent = TypedEvent< + [string, string, boolean], + DelegateForAllEventObject +>; + +export type DelegateForAllEventFilter = TypedEventFilter; + +export interface EssentialPlaySession extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: EssentialPlaySessionInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + createSignedSession( + authorized: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getSession( + authorizer: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[IForwardRequest.PlaySessionStructOutput]>; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + createSignedSession( + authorized: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getSession( + authorizer: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + createSignedSession( + authorized: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getSession( + authorizer: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "DelegateForAll(address,address,bool)"( + vault?: null, + delegate?: null, + value?: null + ): DelegateForAllEventFilter; + DelegateForAll( + vault?: null, + delegate?: null, + value?: null + ): DelegateForAllEventFilter; + }; + + estimateGas: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + createSignedSession( + authorized: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getSession( + authorizer: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + createSignedSession( + authorized: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getSession( + authorizer: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/IDelegationRegistry.ts b/packages/client/typechain/contracts/fwd/IDelegationRegistry.ts new file mode 100644 index 0000000..77c20fc --- /dev/null +++ b/packages/client/typechain/contracts/fwd/IDelegationRegistry.ts @@ -0,0 +1,867 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export declare namespace IDelegationRegistry { + export type ContractDelegationStruct = { + contract_: PromiseOrValue; + delegate: PromiseOrValue; + }; + + export type ContractDelegationStructOutput = [string, string] & { + contract_: string; + delegate: string; + }; + + export type DelegationInfoStruct = { + type_: PromiseOrValue; + vault: PromiseOrValue; + delegate: PromiseOrValue; + contract_: PromiseOrValue; + tokenId: PromiseOrValue; + }; + + export type DelegationInfoStructOutput = [ + number, + string, + string, + string, + BigNumber + ] & { + type_: number; + vault: string; + delegate: string; + contract_: string; + tokenId: BigNumber; + }; + + export type TokenDelegationStruct = { + contract_: PromiseOrValue; + tokenId: PromiseOrValue; + delegate: PromiseOrValue; + }; + + export type TokenDelegationStructOutput = [string, BigNumber, string] & { + contract_: string; + tokenId: BigNumber; + delegate: string; + }; +} + +export interface IDelegationRegistryInterface extends utils.Interface { + functions: { + "checkDelegateForAll(address,address)": FunctionFragment; + "checkDelegateForContract(address,address,address)": FunctionFragment; + "checkDelegateForToken(address,address,address,uint256)": FunctionFragment; + "delegateForAll(address,bool)": FunctionFragment; + "delegateForContract(address,address,bool)": FunctionFragment; + "delegateForToken(address,address,uint256,bool)": FunctionFragment; + "getContractLevelDelegations(address)": FunctionFragment; + "getDelegatesForAll(address)": FunctionFragment; + "getDelegatesForContract(address,address)": FunctionFragment; + "getDelegatesForToken(address,address,uint256)": FunctionFragment; + "getDelegationsByDelegate(address)": FunctionFragment; + "getTokenLevelDelegations(address)": FunctionFragment; + "revokeAllDelegates()": FunctionFragment; + "revokeDelegate(address)": FunctionFragment; + "revokeSelf(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "checkDelegateForAll" + | "checkDelegateForContract" + | "checkDelegateForToken" + | "delegateForAll" + | "delegateForContract" + | "delegateForToken" + | "getContractLevelDelegations" + | "getDelegatesForAll" + | "getDelegatesForContract" + | "getDelegatesForToken" + | "getDelegationsByDelegate" + | "getTokenLevelDelegations" + | "revokeAllDelegates" + | "revokeDelegate" + | "revokeSelf" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "checkDelegateForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "checkDelegateForContract", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "checkDelegateForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegateForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegateForContract", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegateForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getContractLevelDelegations", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForAll", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForContract", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getDelegationsByDelegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTokenLevelDelegations", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeAllDelegates", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokeDelegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeSelf", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "checkDelegateForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "checkDelegateForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "checkDelegateForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getContractLevelDelegations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegationsByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTokenLevelDelegations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokeAllDelegates", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokeDelegate", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeSelf", data: BytesLike): Result; + + events: { + "DelegateForAll(address,address,bool)": EventFragment; + "DelegateForContract(address,address,address,bool)": EventFragment; + "DelegateForToken(address,address,address,uint256,bool)": EventFragment; + "RevokeAllDelegates(address)": EventFragment; + "RevokeDelegate(address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "DelegateForAll"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateForContract"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateForToken"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RevokeAllDelegates"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RevokeDelegate"): EventFragment; +} + +export interface DelegateForAllEventObject { + vault: string; + delegate: string; + value: boolean; +} +export type DelegateForAllEvent = TypedEvent< + [string, string, boolean], + DelegateForAllEventObject +>; + +export type DelegateForAllEventFilter = TypedEventFilter; + +export interface DelegateForContractEventObject { + vault: string; + delegate: string; + contract_: string; + value: boolean; +} +export type DelegateForContractEvent = TypedEvent< + [string, string, string, boolean], + DelegateForContractEventObject +>; + +export type DelegateForContractEventFilter = + TypedEventFilter; + +export interface DelegateForTokenEventObject { + vault: string; + delegate: string; + contract_: string; + tokenId: BigNumber; + value: boolean; +} +export type DelegateForTokenEvent = TypedEvent< + [string, string, string, BigNumber, boolean], + DelegateForTokenEventObject +>; + +export type DelegateForTokenEventFilter = + TypedEventFilter; + +export interface RevokeAllDelegatesEventObject { + vault: string; +} +export type RevokeAllDelegatesEvent = TypedEvent< + [string], + RevokeAllDelegatesEventObject +>; + +export type RevokeAllDelegatesEventFilter = + TypedEventFilter; + +export interface RevokeDelegateEventObject { + vault: string; + delegate: string; +} +export type RevokeDelegateEvent = TypedEvent< + [string, string], + RevokeDelegateEventObject +>; + +export type RevokeDelegateEventFilter = TypedEventFilter; + +export interface IDelegationRegistry extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IDelegationRegistryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IDelegationRegistry.ContractDelegationStructOutput[]] & { + delegations: IDelegationRegistry.ContractDelegationStructOutput[]; + } + >; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]]>; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]]>; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]]>; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[IDelegationRegistry.DelegationInfoStructOutput[]]>; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IDelegationRegistry.TokenDelegationStructOutput[]] & { + delegations: IDelegationRegistry.TokenDelegationStructOutput[]; + } + >; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates(overrides?: CallOverrides): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "DelegateForAll(address,address,bool)"( + vault?: null, + delegate?: null, + value?: null + ): DelegateForAllEventFilter; + DelegateForAll( + vault?: null, + delegate?: null, + value?: null + ): DelegateForAllEventFilter; + + "DelegateForContract(address,address,address,bool)"( + vault?: null, + delegate?: null, + contract_?: null, + value?: null + ): DelegateForContractEventFilter; + DelegateForContract( + vault?: null, + delegate?: null, + contract_?: null, + value?: null + ): DelegateForContractEventFilter; + + "DelegateForToken(address,address,address,uint256,bool)"( + vault?: null, + delegate?: null, + contract_?: null, + tokenId?: null, + value?: null + ): DelegateForTokenEventFilter; + DelegateForToken( + vault?: null, + delegate?: null, + contract_?: null, + tokenId?: null, + value?: null + ): DelegateForTokenEventFilter; + + "RevokeAllDelegates(address)"(vault?: null): RevokeAllDelegatesEventFilter; + RevokeAllDelegates(vault?: null): RevokeAllDelegatesEventFilter; + + "RevokeDelegate(address,address)"( + vault?: null, + delegate?: null + ): RevokeDelegateEventFilter; + RevokeDelegate(vault?: null, delegate?: null): RevokeDelegateEventFilter; + }; + + estimateGas: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/SignedOwnershipProof.ts b/packages/client/typechain/contracts/fwd/SignedOwnershipProof.ts new file mode 100644 index 0000000..f073018 --- /dev/null +++ b/packages/client/typechain/contracts/fwd/SignedOwnershipProof.ts @@ -0,0 +1,256 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export declare namespace IForwardRequest { + export type ERC721ForwardRequestStruct = { + from: PromiseOrValue; + authorizer: PromiseOrValue; + to: PromiseOrValue; + nftContract: PromiseOrValue; + nftTokenId: PromiseOrValue; + nftChainId: PromiseOrValue; + targetChainId: PromiseOrValue; + value: PromiseOrValue; + gas: PromiseOrValue; + nonce: PromiseOrValue; + data: PromiseOrValue; + }; + + export type ERC721ForwardRequestStructOutput = [ + string, + string, + string, + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string + ] & { + from: string; + authorizer: string; + to: string; + nftContract: string; + nftTokenId: BigNumber; + nftChainId: BigNumber; + targetChainId: BigNumber; + value: BigNumber; + gas: BigNumber; + nonce: BigNumber; + data: string; + }; +} + +export interface SignedOwnershipProofInterface extends utils.Interface { + functions: { + "createMessage(address,address,uint256,uint256,address,uint256,uint256)": FunctionFragment; + "ownershipSigner()": FunctionFragment; + "verifyOwnershipProof((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),bytes,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "createMessage" + | "ownershipSigner" + | "verifyOwnershipProof" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "createMessage", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "ownershipSigner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "verifyOwnershipProof", + values: [ + IForwardRequest.ERC721ForwardRequestStruct, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "createMessage", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "ownershipSigner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "verifyOwnershipProof", + data: BytesLike + ): Result; + + events: {}; +} + +export interface SignedOwnershipProof extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: SignedOwnershipProofInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + ownershipSigner(overrides?: CallOverrides): Promise<[string]>; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + ownershipSigner(overrides?: CallOverrides): Promise; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + ownershipSigner(overrides?: CallOverrides): Promise; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + ownershipSigner(overrides?: CallOverrides): Promise; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + createMessage( + signer: PromiseOrValue, + authorizer: PromiseOrValue, + nonce: PromiseOrValue, + nftChainId: PromiseOrValue, + nftContract: PromiseOrValue, + tokenId: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + ownershipSigner(overrides?: CallOverrides): Promise; + + verifyOwnershipProof( + req: IForwardRequest.ERC721ForwardRequestStruct, + signature: PromiseOrValue, + timestamp: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/packages/client/typechain/contracts/fwd/index.ts b/packages/client/typechain/contracts/fwd/index.ts new file mode 100644 index 0000000..db1cb9f --- /dev/null +++ b/packages/client/typechain/contracts/fwd/index.ts @@ -0,0 +1,12 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as essentialEip712BaseSol from "./EssentialEIP712Base.sol"; +export type { essentialEip712BaseSol }; +export type { DelegationRegistry2771 } from "./DelegationRegistry2771"; +export type { EssentialContext } from "./EssentialContext"; +export type { EssentialContextUpgradeable } from "./EssentialContextUpgradeable"; +export type { EssentialForwarder } from "./EssentialForwarder"; +export type { EssentialPlaySession } from "./EssentialPlaySession"; +export type { IDelegationRegistry } from "./IDelegationRegistry"; +export type { SignedOwnershipProof } from "./SignedOwnershipProof"; diff --git a/packages/client/typechain/contracts/index.ts b/packages/client/typechain/contracts/index.ts new file mode 100644 index 0000000..1a6abbd --- /dev/null +++ b/packages/client/typechain/contracts/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as fwd from "./fwd"; +export type { fwd }; +import type * as test from "./test"; +export type { test }; diff --git a/packages/client/typechain/contracts/test/Counter.ts b/packages/client/typechain/contracts/test/Counter.ts new file mode 100644 index 0000000..1def7a0 --- /dev/null +++ b/packages/client/typechain/contracts/test/Counter.ts @@ -0,0 +1,340 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface CounterInterface extends utils.Interface { + functions: { + "collectionCount(address)": FunctionFragment; + "count(address)": FunctionFragment; + "increment()": FunctionFragment; + "isTrustedForwarder(address)": FunctionFragment; + "lastCaller()": FunctionFragment; + "minimalRequest()": FunctionFragment; + "owner()": FunctionFragment; + "setTrustedForwarder(address)": FunctionFragment; + "totalCount()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "collectionCount" + | "count" + | "increment" + | "isTrustedForwarder" + | "lastCaller" + | "minimalRequest" + | "owner" + | "setTrustedForwarder" + | "totalCount" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "collectionCount", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "count", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "increment", values?: undefined): string; + encodeFunctionData( + functionFragment: "isTrustedForwarder", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "lastCaller", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "minimalRequest", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "setTrustedForwarder", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "totalCount", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "collectionCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "count", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increment", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isTrustedForwarder", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lastCaller", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "minimalRequest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setTrustedForwarder", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "totalCount", data: BytesLike): Result; + + events: { + "Counted(address,uint256,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Counted"): EventFragment; +} + +export interface CountedEventObject { + contractAddress: string; + tokenId: BigNumber; + counter: string; +} +export type CountedEvent = TypedEvent< + [string, BigNumber, string], + CountedEventObject +>; + +export type CountedEventFilter = TypedEventFilter; + +export interface Counter extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: CounterInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + collectionCount( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + count( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + increment( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + lastCaller(overrides?: CallOverrides): Promise<[string]>; + + minimalRequest( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + owner(overrides?: CallOverrides): Promise<[string]>; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalCount(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + collectionCount( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + count( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increment( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + lastCaller(overrides?: CallOverrides): Promise; + + minimalRequest( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalCount(overrides?: CallOverrides): Promise; + + callStatic: { + collectionCount( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + count( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increment(overrides?: CallOverrides): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + lastCaller(overrides?: CallOverrides): Promise; + + minimalRequest(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalCount(overrides?: CallOverrides): Promise; + }; + + filters: { + "Counted(address,uint256,address)"( + contractAddress?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, + counter?: PromiseOrValue | null + ): CountedEventFilter; + Counted( + contractAddress?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, + counter?: PromiseOrValue | null + ): CountedEventFilter; + }; + + estimateGas: { + collectionCount( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + count( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increment( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + lastCaller(overrides?: CallOverrides): Promise; + + minimalRequest( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalCount(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + collectionCount( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + count( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increment( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + isTrustedForwarder( + forwarder: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + lastCaller(overrides?: CallOverrides): Promise; + + minimalRequest( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + setTrustedForwarder( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalCount(overrides?: CallOverrides): Promise; + }; +} diff --git a/packages/client/typechain/contracts/test/DelegationRegistry.ts b/packages/client/typechain/contracts/test/DelegationRegistry.ts new file mode 100644 index 0000000..f953dc8 --- /dev/null +++ b/packages/client/typechain/contracts/test/DelegationRegistry.ts @@ -0,0 +1,906 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export declare namespace IDelegationRegistry { + export type ContractDelegationStruct = { + contract_: PromiseOrValue; + delegate: PromiseOrValue; + }; + + export type ContractDelegationStructOutput = [string, string] & { + contract_: string; + delegate: string; + }; + + export type DelegationInfoStruct = { + type_: PromiseOrValue; + vault: PromiseOrValue; + delegate: PromiseOrValue; + contract_: PromiseOrValue; + tokenId: PromiseOrValue; + }; + + export type DelegationInfoStructOutput = [ + number, + string, + string, + string, + BigNumber + ] & { + type_: number; + vault: string; + delegate: string; + contract_: string; + tokenId: BigNumber; + }; + + export type TokenDelegationStruct = { + contract_: PromiseOrValue; + tokenId: PromiseOrValue; + delegate: PromiseOrValue; + }; + + export type TokenDelegationStructOutput = [string, BigNumber, string] & { + contract_: string; + tokenId: BigNumber; + delegate: string; + }; +} + +export interface DelegationRegistryInterface extends utils.Interface { + functions: { + "checkDelegateForAll(address,address)": FunctionFragment; + "checkDelegateForContract(address,address,address)": FunctionFragment; + "checkDelegateForToken(address,address,address,uint256)": FunctionFragment; + "delegateForAll(address,bool)": FunctionFragment; + "delegateForContract(address,address,bool)": FunctionFragment; + "delegateForToken(address,address,uint256,bool)": FunctionFragment; + "getContractLevelDelegations(address)": FunctionFragment; + "getDelegatesForAll(address)": FunctionFragment; + "getDelegatesForContract(address,address)": FunctionFragment; + "getDelegatesForToken(address,address,uint256)": FunctionFragment; + "getDelegationsByDelegate(address)": FunctionFragment; + "getTokenLevelDelegations(address)": FunctionFragment; + "revokeAllDelegates()": FunctionFragment; + "revokeDelegate(address)": FunctionFragment; + "revokeSelf(address)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "checkDelegateForAll" + | "checkDelegateForContract" + | "checkDelegateForToken" + | "delegateForAll" + | "delegateForContract" + | "delegateForToken" + | "getContractLevelDelegations" + | "getDelegatesForAll" + | "getDelegatesForContract" + | "getDelegatesForToken" + | "getDelegationsByDelegate" + | "getTokenLevelDelegations" + | "revokeAllDelegates" + | "revokeDelegate" + | "revokeSelf" + | "supportsInterface" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "checkDelegateForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "checkDelegateForContract", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "checkDelegateForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegateForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegateForContract", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegateForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getContractLevelDelegations", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForAll", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForContract", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDelegatesForToken", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getDelegationsByDelegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTokenLevelDelegations", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeAllDelegates", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokeDelegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeSelf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "checkDelegateForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "checkDelegateForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "checkDelegateForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getContractLevelDelegations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegatesForToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDelegationsByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTokenLevelDelegations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokeAllDelegates", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokeDelegate", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeSelf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: { + "DelegateForAll(address,address,bool)": EventFragment; + "DelegateForContract(address,address,address,bool)": EventFragment; + "DelegateForToken(address,address,address,uint256,bool)": EventFragment; + "RevokeAllDelegates(address)": EventFragment; + "RevokeDelegate(address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "DelegateForAll"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateForContract"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateForToken"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RevokeAllDelegates"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RevokeDelegate"): EventFragment; +} + +export interface DelegateForAllEventObject { + vault: string; + delegate: string; + value: boolean; +} +export type DelegateForAllEvent = TypedEvent< + [string, string, boolean], + DelegateForAllEventObject +>; + +export type DelegateForAllEventFilter = TypedEventFilter; + +export interface DelegateForContractEventObject { + vault: string; + delegate: string; + contract_: string; + value: boolean; +} +export type DelegateForContractEvent = TypedEvent< + [string, string, string, boolean], + DelegateForContractEventObject +>; + +export type DelegateForContractEventFilter = + TypedEventFilter; + +export interface DelegateForTokenEventObject { + vault: string; + delegate: string; + contract_: string; + tokenId: BigNumber; + value: boolean; +} +export type DelegateForTokenEvent = TypedEvent< + [string, string, string, BigNumber, boolean], + DelegateForTokenEventObject +>; + +export type DelegateForTokenEventFilter = + TypedEventFilter; + +export interface RevokeAllDelegatesEventObject { + vault: string; +} +export type RevokeAllDelegatesEvent = TypedEvent< + [string], + RevokeAllDelegatesEventObject +>; + +export type RevokeAllDelegatesEventFilter = + TypedEventFilter; + +export interface RevokeDelegateEventObject { + vault: string; + delegate: string; +} +export type RevokeDelegateEvent = TypedEvent< + [string, string], + RevokeDelegateEventObject +>; + +export type RevokeDelegateEventFilter = TypedEventFilter; + +export interface DelegationRegistry extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: DelegationRegistryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IDelegationRegistry.ContractDelegationStructOutput[]] & { + contractDelegations: IDelegationRegistry.ContractDelegationStructOutput[]; + } + >; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]] & { delegates: string[] }>; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]] & { delegates: string[] }>; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]] & { delegates: string[] }>; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IDelegationRegistry.DelegationInfoStructOutput[]] & { + info: IDelegationRegistry.DelegationInfoStructOutput[]; + } + >; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IDelegationRegistry.TokenDelegationStructOutput[]] & { + tokenDelegations: IDelegationRegistry.TokenDelegationStructOutput[]; + } + >; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates(overrides?: CallOverrides): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "DelegateForAll(address,address,bool)"( + vault?: null, + delegate?: null, + value?: null + ): DelegateForAllEventFilter; + DelegateForAll( + vault?: null, + delegate?: null, + value?: null + ): DelegateForAllEventFilter; + + "DelegateForContract(address,address,address,bool)"( + vault?: null, + delegate?: null, + contract_?: null, + value?: null + ): DelegateForContractEventFilter; + DelegateForContract( + vault?: null, + delegate?: null, + contract_?: null, + value?: null + ): DelegateForContractEventFilter; + + "DelegateForToken(address,address,address,uint256,bool)"( + vault?: null, + delegate?: null, + contract_?: null, + tokenId?: null, + value?: null + ): DelegateForTokenEventFilter; + DelegateForToken( + vault?: null, + delegate?: null, + contract_?: null, + tokenId?: null, + value?: null + ): DelegateForTokenEventFilter; + + "RevokeAllDelegates(address)"(vault?: null): RevokeAllDelegatesEventFilter; + RevokeAllDelegates(vault?: null): RevokeAllDelegatesEventFilter; + + "RevokeDelegate(address,address)"( + vault?: null, + delegate?: null + ): RevokeDelegateEventFilter; + RevokeDelegate(vault?: null, delegate?: null): RevokeDelegateEventFilter; + }; + + estimateGas: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + checkDelegateForAll( + delegate: PromiseOrValue, + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForContract( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkDelegateForToken( + delegate: PromiseOrValue, + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateForAll( + delegate: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForContract( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateForToken( + delegate: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getContractLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForAll( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForContract( + vault: PromiseOrValue, + contract_: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegatesForToken( + vault: PromiseOrValue, + contract_: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDelegationsByDelegate( + delegate: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenLevelDelegations( + vault: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeAllDelegates( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeDelegate( + delegate: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeSelf( + vault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/packages/client/typechain/contracts/test/index.ts b/packages/client/typechain/contracts/test/index.ts new file mode 100644 index 0000000..5724d56 --- /dev/null +++ b/packages/client/typechain/contracts/test/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Counter } from "./Counter"; +export type { DelegationRegistry } from "./DelegationRegistry"; diff --git a/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/index.ts b/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/index.ts new file mode 100644 index 0000000..9306542 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as proxy from "./proxy"; diff --git a/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts b/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts new file mode 100644 index 0000000..56778f8 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as utils from "./utils"; diff --git a/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts b/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts new file mode 100644 index 0000000..ad6a302 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts @@ -0,0 +1,39 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + Initializable, + InitializableInterface, +} from "../../../../../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, +]; + +export class Initializable__factory { + static readonly abi = _abi; + static createInterface(): InitializableInterface { + return new utils.Interface(_abi) as InitializableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Initializable { + return new Contract(address, _abi, signerOrProvider) as Initializable; + } +} diff --git a/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts b/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts new file mode 100644 index 0000000..4baae4a --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Initializable__factory } from "./Initializable__factory"; diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/access/AccessControl__factory.ts b/packages/client/typechain/factories/@openzeppelin/contracts/access/AccessControl__factory.ts new file mode 100644 index 0000000..6f9d7e6 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/access/AccessControl__factory.ts @@ -0,0 +1,230 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + AccessControl, + AccessControlInterface, +} from "../../../../@openzeppelin/contracts/access/AccessControl"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "previousAdminRole", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newAdminRole", + type: "bytes32", + }, + ], + name: "RoleAdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleGranted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleRevoked", + type: "event", + }, + { + inputs: [], + name: "DEFAULT_ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + ], + name: "getRoleAdmin", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "grantRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasRole", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "renounceRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "revokeRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class AccessControl__factory { + static readonly abi = _abi; + static createInterface(): AccessControlInterface { + return new utils.Interface(_abi) as AccessControlInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): AccessControl { + return new Contract(address, _abi, signerOrProvider) as AccessControl; + } +} diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts b/packages/client/typechain/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts new file mode 100644 index 0000000..e54fa6a --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts @@ -0,0 +1,198 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IAccessControl, + IAccessControlInterface, +} from "../../../../@openzeppelin/contracts/access/IAccessControl"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "previousAdminRole", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newAdminRole", + type: "bytes32", + }, + ], + name: "RoleAdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleGranted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleRevoked", + type: "event", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + ], + name: "getRoleAdmin", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "grantRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasRole", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "renounceRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "revokeRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IAccessControl__factory { + static readonly abi = _abi; + static createInterface(): IAccessControlInterface { + return new utils.Interface(_abi) as IAccessControlInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IAccessControl { + return new Contract(address, _abi, signerOrProvider) as IAccessControl; + } +} diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/access/index.ts b/packages/client/typechain/factories/@openzeppelin/contracts/access/index.ts new file mode 100644 index 0000000..b42435d --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/access/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { AccessControl__factory } from "./AccessControl__factory"; +export { IAccessControl__factory } from "./IAccessControl__factory"; diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/index.ts b/packages/client/typechain/factories/@openzeppelin/contracts/index.ts new file mode 100644 index 0000000..cac8535 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as access from "./access"; +export * as metatx from "./metatx"; +export * as utils from "./utils"; diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/metatx/ERC2771Context__factory.ts b/packages/client/typechain/factories/@openzeppelin/contracts/metatx/ERC2771Context__factory.ts new file mode 100644 index 0000000..a31dc53 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/metatx/ERC2771Context__factory.ts @@ -0,0 +1,45 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ERC2771Context, + ERC2771ContextInterface, +} from "../../../../@openzeppelin/contracts/metatx/ERC2771Context"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "forwarder", + type: "address", + }, + ], + name: "isTrustedForwarder", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class ERC2771Context__factory { + static readonly abi = _abi; + static createInterface(): ERC2771ContextInterface { + return new utils.Interface(_abi) as ERC2771ContextInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ERC2771Context { + return new Contract(address, _abi, signerOrProvider) as ERC2771Context; + } +} diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/metatx/index.ts b/packages/client/typechain/factories/@openzeppelin/contracts/metatx/index.ts new file mode 100644 index 0000000..47f15ea --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/metatx/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC2771Context__factory } from "./ERC2771Context__factory"; diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/utils/index.ts b/packages/client/typechain/factories/@openzeppelin/contracts/utils/index.ts new file mode 100644 index 0000000..03cab17 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as introspection from "./introspection"; diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts b/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts new file mode 100644 index 0000000..a0634c0 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts @@ -0,0 +1,42 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ERC165, + ERC165Interface, +} from "../../../../../@openzeppelin/contracts/utils/introspection/ERC165"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class ERC165__factory { + static readonly abi = _abi; + static createInterface(): ERC165Interface { + return new utils.Interface(_abi) as ERC165Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): ERC165 { + return new Contract(address, _abi, signerOrProvider) as ERC165; + } +} diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts b/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts new file mode 100644 index 0000000..2e3b099 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts @@ -0,0 +1,45 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC165, + IERC165Interface, +} from "../../../../../@openzeppelin/contracts/utils/introspection/IERC165"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IERC165__factory { + static readonly abi = _abi; + static createInterface(): IERC165Interface { + return new utils.Interface(_abi) as IERC165Interface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC165 { + return new Contract(address, _abi, signerOrProvider) as IERC165; + } +} diff --git a/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/index.ts b/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/index.ts new file mode 100644 index 0000000..8523e0a --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/contracts/utils/introspection/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC165__factory } from "./ERC165__factory"; +export { IERC165__factory } from "./IERC165__factory"; diff --git a/packages/client/typechain/factories/@openzeppelin/index.ts b/packages/client/typechain/factories/@openzeppelin/index.ts new file mode 100644 index 0000000..6923c15 --- /dev/null +++ b/packages/client/typechain/factories/@openzeppelin/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; +export * as contractsUpgradeable from "./contracts-upgradeable"; diff --git a/packages/client/typechain/factories/contracts/fwd/DelegationRegistry2771__factory.ts b/packages/client/typechain/factories/contracts/fwd/DelegationRegistry2771__factory.ts new file mode 100644 index 0000000..681960a --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/DelegationRegistry2771__factory.ts @@ -0,0 +1,620 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + DelegationRegistry2771, + DelegationRegistry2771Interface, +} from "../../../contracts/fwd/DelegationRegistry2771"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "trustedForwarder", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForAll", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "contract_", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForContract", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "contract_", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForToken", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "RevokeAllDelegates", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "RevokeDelegate", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "checkDelegateForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + ], + name: "checkDelegateForContract", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "checkDelegateForToken", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForContract", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getContractLevelDelegations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + internalType: "struct IDelegationRegistry.ContractDelegation[]", + name: "contractDelegations", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getDelegatesForAll", + outputs: [ + { + internalType: "address[]", + name: "delegates", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + ], + name: "getDelegatesForContract", + outputs: [ + { + internalType: "address[]", + name: "delegates", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "getDelegatesForToken", + outputs: [ + { + internalType: "address[]", + name: "delegates", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "getDelegationsByDelegate", + outputs: [ + { + components: [ + { + internalType: "enum IDelegationRegistry.DelegationType", + name: "type_", + type: "uint8", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + internalType: "struct IDelegationRegistry.DelegationInfo[]", + name: "info", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getTokenLevelDelegations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + internalType: "struct IDelegationRegistry.TokenDelegation[]", + name: "tokenDelegations", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "forwarder", + type: "address", + }, + ], + name: "isTrustedForwarder", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "revokeAllDelegates", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "revokeDelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "revokeSelf", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x60a06040523480156200001157600080fd5b5060405162003359380380620033598339818101604052810190620000379190620000de565b808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505062000110565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000a68262000079565b9050919050565b620000b88162000099565b8114620000c457600080fd5b50565b600081519050620000d881620000ad565b92915050565b600060208284031215620000f757620000f662000074565b5b60006200010784828501620000c7565b91505092915050565b60805161322d6200012c6000396000610989015261322d6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063572b6c05116100a25780639c395bc2116100715780639c395bc2146102da578063aba69cf81461030a578063ed4b878e1461033a578063f956cf941461036a578063fa352c001461039a5761010b565b8063572b6c051461022e578063685ee3e81461025e5780636f007d871461027a57806390c9a2d0146102aa5761010b565b806336137872116100de57806336137872146101bc57806349c95d29146101c65780634fc69282146101e2578063537a5c3d146102125761010b565b806301ffc9a7146101105780631221156b146101405780631b61f67514610170578063219044b0146101a0575b600080fd5b61012a6004803603810190610125919061264c565b6103b6565b6040516101379190612694565b60405180910390f35b61015a60048036038101906101559190612743565b610430565b6040516101679190612854565b60405180910390f35b61018a60048036038101906101859190612876565b610448565b6040516101979190612854565b60405180910390f35b6101ba60048036038101906101b59190612876565b61045f565b005b6101c4610473565b005b6101e060048036038101906101db91906128cf565b61050d565b005b6101fc60048036038101906101f79190612876565b610585565b6040516102099190612abf565b60405180910390f35b61022c60048036038101906102279190612ae1565b61090a565b005b61024860048036038101906102439190612876565b610985565b6040516102559190612694565b60405180910390f35b61027860048036038101906102739190612b48565b6109dd565b005b610294600480360381019061028f9190612876565b610a51565b6040516102a19190612c79565b60405180910390f35b6102c460048036038101906102bf9190612c9b565b610d05565b6040516102d19190612694565b60405180910390f35b6102f460048036038101906102ef9190612cee565b610eb4565b6040516103019190612694565b60405180910390f35b610324600480360381019061031f9190612d2e565b61104a565b6040516103319190612694565b60405180910390f35b610354600480360381019061034f9190612cee565b6111fd565b6040516103619190612854565b60405180910390f35b610384600480360381019061037f9190612876565b611215565b6040516103919190612e73565b60405180910390f35b6103b460048036038101906103af9190612876565b6114bb565b005b60007f0596d3d5000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104295750610428826114cf565b5b9050919050565b606061043f8460038585611539565b90509392505050565b6060610458826001600080611539565b9050919050565b61047061046a611a35565b82611a67565b50565b6001600061047f611a35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546104c690612ec4565b919050819055507f32d74befd0b842e19694e3e3af46263e18bcce41352c8b600ff0002b49edf6626104f6611a35565b6040516105039190612f1b565b60405180910390a1565b600061052161051a611a35565b8585611b3b565b905061053b8482846002610533611a35565b886000611c3b565b7f8d6b2f5255b8d815cc368855b2251146e003bf4e2fcccaec66145fff5c174b4f610564611a35565b8585856040516105779493929190612f36565b60405180910390a150505050565b60606000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006105d58261207d565b905060008167ffffffffffffffff8111156105f3576105f2612f7b565b5b60405190808252806020026020018201604052801561062c57816020015b6106196124d9565b8152602001906001900390816106115790505b50935060005b828110156108ee57600061064f828661209290919063ffffffff16565b90506000600460008381526020019081526020016000206040518060a00160405290816000820160009054906101000a900460ff1660038111156106965761069561294e565b5b60038111156106a8576106a761294e565b5b81526020016000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201548152505090506000816020015190506000826000015190506000600160038111156107e2576107e161294e565b5b8260038111156107f5576107f461294e565b5b0361081457610804838c6120a9565b850361080f57600190505b6108ac565b600260038111156108285761082761294e565b5b82600381111561083b5761083a61294e565b5b0361085f5761084f838c8660600151611b3b565b850361085a57600190505b6108ab565b6003808111156108725761087161294e565b5b8260038111156108855761088461294e565b5b036108aa5761089e838c866060015187608001516121a6565b85036108a957600190505b5b5b5b80156108de57838a88806108bf90612ec4565b9950815181106108d2576108d1612faa565b5b60200260200101819052505b8560010195505050505050610632565b508082111561090257808203808551038552505b505050919050565b600061091f610917611a35565b8686866121a6565b90506109388582846003610931611a35565b8989611c3b565b7fe89c6ba1e8957285aed22618f52aa1dcb9d5bb64e1533d8b55136c72fcf5aa5d610961611a35565b86868686604051610976959493929190612fe8565b60405180910390a15050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006109f06109ea611a35565b846120a9565b9050610a0a8382846001610a02611a35565b600080611c3b565b7f58781eab4a0743ab1c285a238be846a235f06cdb5b968030573a635e5f8c92fa610a33611a35565b8484604051610a449392919061303b565b60405180910390a1505050565b606060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002090506000610af08261207d565b905060008167ffffffffffffffff811115610b0e57610b0d612f7b565b5b604051908082528060200260200182016040528015610b4757816020015b610b3461255c565b815260200190600190039081610b2c5790505b50935060005b82811015610ce9576000610b6a828661209290919063ffffffff16565b90506000600460008381526020019081526020016000209050600380811115610b9657610b9561294e565b5b8160000160009054906101000a900460ff166003811115610bba57610bb961294e565b5b03610cdc57610c17888260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600301546121a6565b8203610cdb5760405180606001604052808260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826003015481526020018260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250878580610cbc90612ec4565b965081518110610ccf57610cce612faa565b5b60200260200101819052505b5b8260010192505050610b4d565b5080821115610cfd57808203808551038552505b505050919050565b600080848484600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051602001610ddc959493929190613072565b604051602081830303815290604052805190602001209050610e94816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206122a990919063ffffffff16565b610ea757610ea28585610eb4565b610eaa565b60015b9150509392505050565b6000808383600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051602001610f8994939291906130c5565b604051602081830303815290604052805190602001209050611041816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206122a990919063ffffffff16565b91505092915050565b60008085858585600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516020016111239695949392919061310a565b6040516020818303038152906040528051906020012090506111db816000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206122a990919063ffffffff16565b6111ef576111ea868686610d05565b6111f2565b60015b915050949350505050565b606061120d836002846000611539565b905092915050565b606060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060006112b48261207d565b905060008167ffffffffffffffff8111156112d2576112d1612f7b565b5b60405190808252806020026020018201604052801561130b57816020015b6112f86125a9565b8152602001906001900390816112f05790505b50935060005b8281101561149f57600061132e828661209290919063ffffffff16565b905060006004600083815260200190815260200160002090506002600381111561135b5761135a61294e565b5b8160000160009054906101000a900460ff16600381111561137f5761137e61294e565b5b03611492576113d7888260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611b3b565b82036114915760405180604001604052808260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525087858061147290612ec4565b96508151811061148557611484612faa565b5b60200260200101819052505b5b8260010192505050611311565b50808211156114b357808203808551038552505b505050919050565b6114cc816114c7611a35565b611a67565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b606060008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060006115d88261207d565b905060008167ffffffffffffffff8111156115f6576115f5612f7b565b5b6040519080825280602002602001820160405280156116245781602001602082028036833780820191505090505b50935060005b82811015611a16576000611647828661209290919063ffffffff16565b905060006004600083815260200190815260200160002090508960038111156116735761167261294e565b5b8160000160009054906101000a900460ff1660038111156116975761169661294e565b5b03611a0957600160038111156116b0576116af61294e565b5b8a60038111156116c3576116c261294e565b5b03611780576116f68b8260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166120a9565b820361177b578060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687858061172d90612ec4565b9650815181106117405761173f612faa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b611a08565b600260038111156117945761179361294e565b5b8a60038111156117a7576117a661294e565b5b036118bd578873ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036118b8576118328b8260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b611b3b565b82036118b7578060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687858061186990612ec4565b96508151811061187c5761187b612faa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b611a07565b6003808111156118d0576118cf61294e565b5b8a60038111156118e3576118e261294e565b5b03611a06578873ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561194a5750878160030154145b15611a055761197f8b8260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b8b6121a6565b8203611a04578060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168785806119b690612ec4565b9650815181106119c9576119c8612faa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b5b5b5b5b826001019250505061162a565b5080821115611a2a57808203808551038552505b505050949350505050565b6000611a4033610985565b15611a5457601436033560601c9050611a63565b611a5c6122c0565b9050611a64565b5b90565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154611af090612ec4565b919050819055507f3e34a3ee53064fb79c0ee57448f03774a627a9270b0c41286efb7d8e32dcde9381611b21611a35565b604051611b2f92919061316b565b60405180910390a15050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508486858484604051602001611c1a959493929190613072565b60405160208183030381529060405280519060200120925050509392505050565b8415611ed957611ce1866000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206122c890919063ffffffff16565b50611d3386600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206122c890919063ffffffff16565b506040518060a00160405280856003811115611d5257611d5161294e565b5b81526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152506004600088815260200190815260200160002060008201518160000160006101000a81548160ff02191690836003811115611ded57611dec61294e565b5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160030155905050612074565b611f79866000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206122df90919063ffffffff16565b50611fcb86600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206122df90919063ffffffff16565b5060046000878152602001908152602001600020600080820160006101000a81549060ff02191690556000820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905550505b50505050505050565b600061208b826000016122f6565b9050919050565b60006120a18360000183612307565b905092915050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508385838360405160200161218694939291906130c5565b604051602081830303815290604052805190602001209250505092915050565b600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508587868685856040516020016122879695949392919061310a565b6040516020818303038152906040528051906020012092505050949350505050565b60006122b88360000183612332565b905092915050565b600033905090565b60006122d78360000183612355565b905092915050565b60006122ee83600001836123c5565b905092915050565b600081600001805490509050919050565b600082600001828154811061231f5761231e612faa565b5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b60006123618383612332565b6123ba5782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506123bf565b600090505b92915050565b600080836001016000848152602001908152602001600020549050600081146124cd5760006001826123f79190613194565b905060006001866000018054905061240f9190613194565b905081811461247e5760008660000182815481106124305761242f612faa565b5b906000526020600020015490508087600001848154811061245457612453612faa565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480612492576124916131c8565b5b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506124d3565b60009150505b92915050565b6040518060a00160405280600060038111156124f8576124f761294e565b5b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612629816125f4565b811461263457600080fd5b50565b60008135905061264681612620565b92915050565b600060208284031215612662576126616125ef565b5b600061267084828501612637565b91505092915050565b60008115159050919050565b61268e81612679565b82525050565b60006020820190506126a96000830184612685565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126da826126af565b9050919050565b6126ea816126cf565b81146126f557600080fd5b50565b600081359050612707816126e1565b92915050565b6000819050919050565b6127208161270d565b811461272b57600080fd5b50565b60008135905061273d81612717565b92915050565b60008060006060848603121561275c5761275b6125ef565b5b600061276a868287016126f8565b935050602061277b868287016126f8565b925050604061278c8682870161272e565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6127cb816126cf565b82525050565b60006127dd83836127c2565b60208301905092915050565b6000602082019050919050565b600061280182612796565b61280b81856127a1565b9350612816836127b2565b8060005b8381101561284757815161282e88826127d1565b9750612839836127e9565b92505060018101905061281a565b5085935050505092915050565b6000602082019050818103600083015261286e81846127f6565b905092915050565b60006020828403121561288c5761288b6125ef565b5b600061289a848285016126f8565b91505092915050565b6128ac81612679565b81146128b757600080fd5b50565b6000813590506128c9816128a3565b92915050565b6000806000606084860312156128e8576128e76125ef565b5b60006128f6868287016126f8565b9350506020612907868287016126f8565b9250506040612918868287016128ba565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6004811061298e5761298d61294e565b5b50565b600081905061299f8261297d565b919050565b60006129af82612991565b9050919050565b6129bf816129a4565b82525050565b6129ce8161270d565b82525050565b60a0820160008201516129ea60008501826129b6565b5060208201516129fd60208501826127c2565b506040820151612a1060408501826127c2565b506060820151612a2360608501826127c2565b506080820151612a3660808501826129c5565b50505050565b6000612a4883836129d4565b60a08301905092915050565b6000602082019050919050565b6000612a6c82612922565b612a76818561292d565b9350612a818361293e565b8060005b83811015612ab2578151612a998882612a3c565b9750612aa483612a54565b925050600181019050612a85565b5085935050505092915050565b60006020820190508181036000830152612ad98184612a61565b905092915050565b60008060008060808587031215612afb57612afa6125ef565b5b6000612b09878288016126f8565b9450506020612b1a878288016126f8565b9350506040612b2b8782880161272e565b9250506060612b3c878288016128ba565b91505092959194509250565b60008060408385031215612b5f57612b5e6125ef565b5b6000612b6d858286016126f8565b9250506020612b7e858286016128ba565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b606082016000820151612bca60008501826127c2565b506020820151612bdd60208501826129c5565b506040820151612bf060408501826127c2565b50505050565b6000612c028383612bb4565b60608301905092915050565b6000602082019050919050565b6000612c2682612b88565b612c308185612b93565b9350612c3b83612ba4565b8060005b83811015612c6c578151612c538882612bf6565b9750612c5e83612c0e565b925050600181019050612c3f565b5085935050505092915050565b60006020820190508181036000830152612c938184612c1b565b905092915050565b600080600060608486031215612cb457612cb36125ef565b5b6000612cc2868287016126f8565b9350506020612cd3868287016126f8565b9250506040612ce4868287016126f8565b9150509250925092565b60008060408385031215612d0557612d046125ef565b5b6000612d13858286016126f8565b9250506020612d24858286016126f8565b9150509250929050565b60008060008060808587031215612d4857612d476125ef565b5b6000612d56878288016126f8565b9450506020612d67878288016126f8565b9350506040612d78878288016126f8565b9250506060612d898782880161272e565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b604082016000820151612dd760008501826127c2565b506020820151612dea60208501826127c2565b50505050565b6000612dfc8383612dc1565b60408301905092915050565b6000602082019050919050565b6000612e2082612d95565b612e2a8185612da0565b9350612e3583612db1565b8060005b83811015612e66578151612e4d8882612df0565b9750612e5883612e08565b925050600181019050612e39565b5085935050505092915050565b60006020820190508181036000830152612e8d8184612e15565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ecf8261270d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f0157612f00612e95565b5b600182019050919050565b612f15816126cf565b82525050565b6000602082019050612f306000830184612f0c565b92915050565b6000608082019050612f4b6000830187612f0c565b612f586020830186612f0c565b612f656040830185612f0c565b612f726060830184612685565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b612fe28161270d565b82525050565b600060a082019050612ffd6000830188612f0c565b61300a6020830187612f0c565b6130176040830186612f0c565b6130246060830185612fd9565b6130316080830184612685565b9695505050505050565b60006060820190506130506000830186612f0c565b61305d6020830185612f0c565b61306a6040830184612685565b949350505050565b600060a0820190506130876000830188612f0c565b6130946020830187612f0c565b6130a16040830186612f0c565b6130ae6060830185612fd9565b6130bb6080830184612fd9565b9695505050505050565b60006080820190506130da6000830187612f0c565b6130e76020830186612f0c565b6130f46040830185612fd9565b6131016060830184612fd9565b95945050505050565b600060c08201905061311f6000830189612f0c565b61312c6020830188612f0c565b6131396040830187612f0c565b6131466060830186612fd9565b6131536080830185612fd9565b61316060a0830184612fd9565b979650505050505050565b60006040820190506131806000830185612f0c565b61318d6020830184612f0c565b9392505050565b600061319f8261270d565b91506131aa8361270d565b92508282039050818111156131c2576131c1612e95565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122042cccb567225a5fb72dc27e8f40579d0bff66571c2350be213c6617c5033878464736f6c63430008110033"; + +type DelegationRegistry2771ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: DelegationRegistry2771ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class DelegationRegistry2771__factory extends ContractFactory { + constructor(...args: DelegationRegistry2771ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy( + trustedForwarder, + overrides || {} + ) as Promise; + } + override getDeployTransaction( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(trustedForwarder, overrides || {}); + } + override attach(address: string): DelegationRegistry2771 { + return super.attach(address) as DelegationRegistry2771; + } + override connect(signer: Signer): DelegationRegistry2771__factory { + return super.connect(signer) as DelegationRegistry2771__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): DelegationRegistry2771Interface { + return new utils.Interface(_abi) as DelegationRegistry2771Interface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): DelegationRegistry2771 { + return new Contract( + address, + _abi, + signerOrProvider + ) as DelegationRegistry2771; + } +} diff --git a/packages/client/typechain/factories/contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712__factory.ts b/packages/client/typechain/factories/contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712__factory.ts new file mode 100644 index 0000000..0b98dfb --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712__factory.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + EssentialEIP712, + EssentialEIP712Interface, +} from "../../../../contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712"; + +const _abi = [ + { + inputs: [], + name: "_domainSeparatorV4", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "id", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class EssentialEIP712__factory { + static readonly abi = _abi; + static createInterface(): EssentialEIP712Interface { + return new utils.Interface(_abi) as EssentialEIP712Interface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): EssentialEIP712 { + return new Contract(address, _abi, signerOrProvider) as EssentialEIP712; + } +} diff --git a/packages/client/typechain/factories/contracts/fwd/EssentialEIP712Base.sol/index.ts b/packages/client/typechain/factories/contracts/fwd/EssentialEIP712Base.sol/index.ts new file mode 100644 index 0000000..d846bb5 --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/EssentialEIP712Base.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { EssentialEIP712__factory } from "./EssentialEIP712__factory"; diff --git a/packages/client/typechain/factories/contracts/fwd/EssentialERC2771ContextUpgradeable__factory.ts b/packages/client/typechain/factories/contracts/fwd/EssentialERC2771ContextUpgradeable__factory.ts new file mode 100644 index 0000000..ddeb985 --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/EssentialERC2771ContextUpgradeable__factory.ts @@ -0,0 +1,90 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + EssentialContextUpgradeable, + EssentialContextUpgradeableInterface, +} from "../../../contracts/fwd/EssentialContextUpgradeable"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "forwarder", + type: "address", + }, + ], + name: "isTrustedForwarder", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trustedForwarder", + type: "address", + }, + ], + name: "setTrustedForwarder", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class EssentialContextUpgradeable__factory { + static readonly abi = _abi; + static createInterface(): EssentialContextUpgradeableInterface { + return new utils.Interface( + _abi + ) as EssentialContextUpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): EssentialContextUpgradeable { + return new Contract( + address, + _abi, + signerOrProvider + ) as EssentialContextUpgradeable; + } +} diff --git a/packages/client/typechain/factories/contracts/fwd/EssentialERC2771Context__factory.ts b/packages/client/typechain/factories/contracts/fwd/EssentialERC2771Context__factory.ts new file mode 100644 index 0000000..ba41c26 --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/EssentialERC2771Context__factory.ts @@ -0,0 +1,75 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + EssentialContext, + EssentialContextInterface, +} from "../../../contracts/fwd/EssentialContext"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "forwarder", + type: "address", + }, + ], + name: "isTrustedForwarder", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trustedForwarder", + type: "address", + }, + ], + name: "setTrustedForwarder", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class EssentialContext__factory { + static readonly abi = _abi; + static createInterface(): EssentialContextInterface { + return new utils.Interface(_abi) as EssentialContextInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): EssentialContext { + return new Contract( + address, + _abi, + signerOrProvider + ) as EssentialContext; + } +} diff --git a/packages/client/typechain/factories/contracts/fwd/EssentialForwarder__factory.ts b/packages/client/typechain/factories/contracts/fwd/EssentialForwarder__factory.ts new file mode 100644 index 0000000..e49b1d1 --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/EssentialForwarder__factory.ts @@ -0,0 +1,1027 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + EssentialForwarder, + EssentialForwarderInterface, +} from "../../../contracts/fwd/EssentialForwarder"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "InvalidOwnership", + type: "error", + }, + { + inputs: [], + name: "InvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "string[]", + name: "urls", + type: "string[]", + }, + { + internalType: "bytes", + name: "callData", + type: "bytes", + }, + { + internalType: "bytes4", + name: "callbackFunction", + type: "bytes4", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + name: "OffchainLookup", + type: "error", + }, + { + inputs: [], + name: "Unauthorized", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "previousAdminRole", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newAdminRole", + type: "bytes32", + }, + ], + name: "RoleAdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleGranted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleRevoked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "authorized", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "Session", + type: "event", + }, + { + inputs: [], + name: "ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DEFAULT_ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DelegationRegistry", + outputs: [ + { + internalType: "contract IDelegationRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "_domainSeparatorV4", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "signer", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "createMessage", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "createSession", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + ], + name: "execute", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "response", + type: "bytes", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + name: "executeWithProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "response", + type: "bytes", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + name: "executeWithProofNative", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "id", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "getNonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + ], + name: "getRoleAdmin", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "grantRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasRole", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ownershipSigner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + ], + name: "preflight", + outputs: [], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + ], + name: "preflightNative", + outputs: [], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "renounceRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "revokeRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "registry", + type: "address", + }, + ], + name: "setDelegationRegistry", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSigner", + type: "address", + }, + ], + name: "setOwnershipSigner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string[]", + name: "_urls", + type: "string[]", + }, + ], + name: "setUrls", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "urls", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "verifyOwnershipProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x6101206040523480156200001257600080fd5b506040518060400160405280601281526020017f457373656e7469616c466f7277617264657200000000000000000000000000008152506040518060400160405280600581526020017f302e302e3100000000000000000000000000000000000000000000000000000081525060008280519060200120905060008280519060200120905060007f36c25de3e541d5d970f66e4210d728721220fff5c077cc6cd008b3a0c62adab790508260c081815250508160e081815250504660a08181525050620000e78184846200019660201b60201c565b608081815250508061010081815250505050505050620001256000801b732ce6bd653220436eb8f35e146b0dd1a6013e97a7620001e460201b60201c565b6200016b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775732ce6bd653220436eb8f35e146b0dd1a6013e97a7620001e460201b60201c565b62000190732ce6bd653220436eb8f35e146b0dd1a6013e97a7620001fa60201b60201c565b62000466565b600083838330620001ac6200023e60201b60201c565b60001b604051602001620001c595949392919062000409565b6040516020818303038152906040528051906020012090509392505050565b620001f682826200024660201b60201c565b5050565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600046905090565b6200025882826200033760201b60201c565b6200033357600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002d8620003a160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000819050919050565b620003be81620003a9565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f182620003c4565b9050919050565b6200040381620003e4565b82525050565b600060a082019050620004206000830188620003b3565b6200042f6020830187620003b3565b6200043e6040830186620003b3565b6200044d6060830185620003f8565b6200045c6080830184620003b3565b9695505050505050565b60805160a05160c05160e05161010051614738620004ab6000396000610bdd01526000610c1f01526000610bfe01526000610b8b01526000610bb201526147386000f3fe60806040526004361061019c5760003560e01c8063796676be116100ec578063d547741f1161008a578063dbf0eeef11610064578063dbf0eeef14610618578063dbf42df714610649578063f2cde3ef1461067a578063f9a9c00f146106a35761019c565b8063d547741f14610593578063d66df8f0146105bc578063d6ad4394146105e75761019c565b80638c4a7b1b116100c65780638c4a7b1b146104c557806391d148541461050257806395cb1c2d1461053f578063a217fddf146105685761019c565b8063796676be146104205780637b134b4c1461045d57806381902564146104885761019c565b806336568abe1161015957806365e4ad9e1161013357806365e4ad9e146103665780636cc895a9146103a357806373aa9e94146103cc57806375b238fc146103f55761019c565b806336568abe146102d75780634254188c146103005780635c0dfff6146103295761019c565b806301ffc9a7146101a157806312ce42fd146101de578063248a9ca3146102095780632d0335ab146102465780632f2ff15d146102835780633408e470146102ac575b600080fd5b3480156101ad57600080fd5b506101c860048036038101906101c39190612646565b6106cc565b6040516101d5919061268e565b60405180910390f35b3480156101ea57600080fd5b506101f3610746565b60405161020091906126ea565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b919061273b565b610770565b60405161023d9190612777565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906127be565b61078f565b60405161027a9190612804565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a5919061281f565b6107d8565b005b3480156102b857600080fd5b506102c16107f9565b6040516102ce9190612804565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f9919061281f565b610801565b005b34801561030c57600080fd5b50610327600480360381019061032291906127be565b610884565b005b34801561033557600080fd5b50610350600480360381019061034b919061288b565b610917565b60405161035d9190612777565b60405180910390f35b34801561037257600080fd5b5061038d6004803603810190610388919061292d565b61095b565b60405161039a919061268e565b60405180910390f35b3480156103af57600080fd5b506103ca60048036038101906103c59190612b99565b610a03565b005b3480156103d857600080fd5b506103f360048036038101906103ee91906127be565b610a48565b005b34801561040157600080fd5b5061040a610ab7565b6040516104179190612777565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190612be2565b610adb565b6040516104549190612c8e565b60405180910390f35b34801561046957600080fd5b50610472610b87565b60405161047f9190612777565b60405180910390f35b34801561049457600080fd5b506104af60048036038101906104aa9190612e83565b610c49565b6040516104bc919061268e565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e79190612f8e565b610d3b565b6040516104f9919061268e565b60405180910390f35b34801561050e57600080fd5b506105296004803603810190610524919061281f565b610d9d565b604051610536919061268e565b60405180910390f35b34801561054b57600080fd5b5061056660048036038101906105619190612f8e565b610e07565b005b34801561057457600080fd5b5061057d610fc2565b60405161058a9190612777565b60405180910390f35b34801561059f57600080fd5b506105ba60048036038101906105b5919061281f565b610fc9565b005b3480156105c857600080fd5b506105d1610fea565b6040516105de9190613069565b60405180910390f35b61060160048036038101906105fc9190613084565b611010565b60405161060f92919061315a565b60405180910390f35b610632600480360381019061062d9190613084565b61115e565b60405161064092919061315a565b60405180910390f35b610663600480360381019061065e9190612f8e565b6112f9565b60405161067192919061315a565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c91906127be565b61155f565b005b3480156106af57600080fd5b506106ca60048036038101906106c5919061318a565b611596565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061073f575061073e826116c0565b5b9050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000838152602001908152602001600020600101549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107e182610770565b6107ea8161172a565b6107f4838361173e565b505050565b600046905090565b61080961181e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086d90613245565b60405180910390fd5b6108808282611826565b5050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663685ee3e88260016040518363ffffffff1660e01b81526004016108e2929190613265565b600060405180830381600087803b1580156108fc57600080fd5b505af1158015610910573d6000803e3d6000fd5b5050505050565b6000878787878787468860405160200161093898979695949392919061328e565b604051602081830303815290604052805190602001209050979650505050505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639c395bc283856040518363ffffffff1660e01b81526004016109ba92919061330c565b602060405180830381865afa1580156109d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fb9190613361565b905092915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a2d8161172a565b8160039080519060200190610a43929190612500565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a728161172a565b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b60038181548110610aeb57600080fd5b906000526020600020016000915090508054610b06906133bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610b32906133bd565b8015610b7f5780601f10610b5457610100808354040283529160200191610b7f565b820191906000526020600020905b815481529060010190602001808311610b6257829003601f168201915b505050505081565b60007f00000000000000000000000000000000000000000000000000000000000000004603610bd8577f00000000000000000000000000000000000000000000000000000000000000009050610c46565b610c437f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611907565b90505b90565b60006102588242610c5a919061341d565b10610c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c919061349d565b60405180910390fd5b6000610ccc610cc7866000015187602001518861012001518960a001518a606001518b608001518a610917565b61194b565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1a858361197b90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16149150509392505050565b6000610d9484610d4a906134bd565b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506119a2565b90509392505050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610e5e83610e14906134bd565b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611acc565b610e94576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306003846000016020810190610eaa91906127be565b856020016020810190610ebd91906127be565b60026000886000016020810190610ed491906127be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548760a00135886060016020810190610f2791906127be565b89608001354642604051602001610f4598979695949392919061328e565b60405160208183030381529060405263dbf0eeef60e01b42878787604051602001610f739493929190613742565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401610fb9959493929190613908565b60405180910390fd5b6000801b81565b610fd282610770565b610fdb8161172a565b610fe58383611826565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000606060008085858101906110269190613970565b915091506110798189898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610c49565b6110af576040517f78fc174800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110bd816020015133611c0f565b6110f3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815461113f906139cc565b9190508190555061114f81611cf4565b93509350505094509492505050565b60006060600080600086868101906111769190613a14565b92509250925061118e82602001518360000151611c0f565b6111c4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111ce8282611acc565b611204576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611253828a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085610c49565b611289576040517f78fc174800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026000836000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546112d9906139cc565b919050819055506112e982611cf4565b9450945050505094509492505050565b600060606113548561130a906134bd565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611acc565b61138a576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113b88560200160208101906113a091906127be565b8660000160208101906113b391906127be565b611c0f565b6113ee576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018561012001356114009190613a9f565b6002600087600001602081019061141791906127be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008086604001602081019061146b91906127be565b73ffffffffffffffffffffffffffffffffffffffff168761010001358860e001358980610140019061149d9190613ae2565b60008060008e60200160208101906114b591906127be565b6040516020016114ca96959493929190613bde565b6040516020818303038152906040526040516114e69190613c6c565b600060405180830381858888f193505050503d8060008114611524576040519150601f19603f3d011682016040523d82523d6000602084013e611529565b606091505b5091509150603f8761010001356115409190613cb2565b5a1161154f5761154e613ce3565b5b8181935093505050935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756115898161172a565b61159282611dde565b5050565b3060038260000160208101906115ac91906127be565b8360200160208101906115bf91906127be565b600260008660000160208101906115d691906127be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548560a0013586606001602081019061162991906127be565b8760800135464260405160200161164798979695949392919061328e565b60405160208183030381529060405263d6ad439460e01b4285604051602001611671929190613d12565b6040516020818303038152906040526040517f556f18300000000000000000000000000000000000000000000000000000000081526004016116b7959493929190613908565b60405180910390fd5b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61173b8161173661181e565b611e22565b50565b6117488282610d9d565b61181a57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506117bf61181e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600033905090565b6118308282610d9d565b1561190357600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506118a861181e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000838383306119156107f9565b60001b60405160200161192c959493929190613d42565b6040516020818303038152906040528051906020012090509392505050565b60008160405160200161195e9190613e0d565b604051602081830303815290604052805190602001209050919050565b600080600061198a8585611ebf565b9150915061199781611f40565b819250505092915050565b600080611a2c83611a1e7f7dec93b8e9ba805f4f3bd90c4e6294748385ee705578cc14c075455d492bf5078760400151886000015189602001518a60c001518b610140015180519060200120604051602001611a0396959493929190613e33565b6040516020818303038152906040528051906020012061210c565b61197b90919063ffffffff16565b905083610120015160026000866000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054148015611ab45750836000015173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b8015611ac35750468460c00151145b91505092915050565b600080611b6f83611b617f43fa348c6c9d3f16a4580fbb7f1b7f0432ed8cdc844564275311b61f50661ea08760400151886000015189602001518a606001518b61012001518c60a001518d608001518e60c001518f610140015180519060200120604051602001611b469a99989796959493929190613e94565b6040516020818303038152906040528051906020012061210c565b61197b90919063ffffffff16565b905083610120015160026000866000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054148015611bf75750836000015173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b8015611c065750468460c00151145b91505092915050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c4d5760019050611cee565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639c395bc283856040518363ffffffff1660e01b8152600401611caa92919061330c565b602060405180830381865afa158015611cc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ceb9190613361565b90505b92915050565b60006060600080846040015173ffffffffffffffffffffffffffffffffffffffff1685610100015160008761014001518860a0015189608001518a606001518b60200151604051602001611d4c959493929190613f30565b604051602081830303815290604052604051611d689190613c6c565b600060405180830381858888f193505050503d8060008114611da6576040519150601f19603f3d011682016040523d82523d6000602084013e611dab565b606091505b5091509150603f856101000151611dc29190613cb2565b5a11611dd157611dd0613ce3565b5b8181935093505050915091565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611e2c8282610d9d565b611ebb57611e518173ffffffffffffffffffffffffffffffffffffffff166014612126565b611e5f8360001c6020612126565b604051602001611e70929190614054565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb29190612c8e565b60405180910390fd5b5050565b6000806041835103611f005760008060006020860151925060408601519150606086015160001a9050611ef487828585612362565b94509450505050611f39565b6040835103611f30576000806020850151915060408501519050611f2586838361246e565b935093505050611f39565b60006002915091505b9250929050565b60006004811115611f5457611f5361408e565b5b816004811115611f6757611f6661408e565b5b03156121095760016004811115611f8157611f8061408e565b5b816004811115611f9457611f9361408e565b5b03611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb90614109565b60405180910390fd5b60026004811115611fe857611fe761408e565b5b816004811115611ffb57611ffa61408e565b5b0361203b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203290614175565b60405180910390fd5b6003600481111561204f5761204e61408e565b5b8160048111156120625761206161408e565b5b036120a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209990614207565b60405180910390fd5b6004808111156120b5576120b461408e565b5b8160048111156120c8576120c761408e565b5b03612108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ff90614299565b60405180910390fd5b5b50565b600061211f612119610b87565b836124cd565b9050919050565b60606000600283600261213991906142b9565b6121439190613a9f565b67ffffffffffffffff81111561215c5761215b612983565b5b6040519080825280601f01601f19166020018201604052801561218e5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106121c6576121c56142fb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061222a576122296142fb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261226a91906142b9565b6122749190613a9f565b90505b6001811115612314577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106122b6576122b56142fb565b5b1a60f81b8282815181106122cd576122cc6142fb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061230d9061432a565b9050612277565b5060008414612358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234f9061439f565b60405180910390fd5b8091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561239d576000600391509150612465565b601b8560ff16141580156123b55750601c8560ff1614155b156123c7576000600491509150612465565b6000600187878787604051600081526020016040526040516123ec94939291906143db565b6020604051602081039080840390855afa15801561240e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361245c57600060019250925050612465565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6124b19190613a9f565b90506124bf87828885612362565b935093505050935093915050565b600082826040516020016124e292919061446c565b60405160208183030381529060405280519060200120905092915050565b828054828255906000526020600020908101928215612548579160200282015b828111156125475782518290816125379190614630565b5091602001919060010190612520565b5b5090506125559190612559565b5090565b5b808211156125795760008181612570919061257d565b5060010161255a565b5090565b508054612589906133bd565b6000825580601f1061259b57506125ba565b601f0160209004906000526020600020908101906125b991906125bd565b5b50565b5b808211156125d65760008160009055506001016125be565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612623816125ee565b811461262e57600080fd5b50565b6000813590506126408161261a565b92915050565b60006020828403121561265c5761265b6125e4565b5b600061266a84828501612631565b91505092915050565b60008115159050919050565b61268881612673565b82525050565b60006020820190506126a3600083018461267f565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126d4826126a9565b9050919050565b6126e4816126c9565b82525050565b60006020820190506126ff60008301846126db565b92915050565b6000819050919050565b61271881612705565b811461272357600080fd5b50565b6000813590506127358161270f565b92915050565b600060208284031215612751576127506125e4565b5b600061275f84828501612726565b91505092915050565b61277181612705565b82525050565b600060208201905061278c6000830184612768565b92915050565b61279b816126c9565b81146127a657600080fd5b50565b6000813590506127b881612792565b92915050565b6000602082840312156127d4576127d36125e4565b5b60006127e2848285016127a9565b91505092915050565b6000819050919050565b6127fe816127eb565b82525050565b600060208201905061281960008301846127f5565b92915050565b60008060408385031215612836576128356125e4565b5b600061284485828601612726565b9250506020612855858286016127a9565b9150509250929050565b612868816127eb565b811461287357600080fd5b50565b6000813590506128858161285f565b92915050565b600080600080600080600060e0888a0312156128aa576128a96125e4565b5b60006128b88a828b016127a9565b97505060206128c98a828b016127a9565b96505060406128da8a828b01612876565b95505060606128eb8a828b01612876565b94505060806128fc8a828b016127a9565b93505060a061290d8a828b01612876565b92505060c061291e8a828b01612876565b91505092959891949750929550565b60008060408385031215612944576129436125e4565b5b6000612952858286016127a9565b9250506020612963858286016127a9565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6129bb82612972565b810181811067ffffffffffffffff821117156129da576129d9612983565b5b80604052505050565b60006129ed6125da565b90506129f982826129b2565b919050565b600067ffffffffffffffff821115612a1957612a18612983565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff821115612a4f57612a4e612983565b5b612a5882612972565b9050602081019050919050565b82818337600083830152505050565b6000612a87612a8284612a34565b6129e3565b905082815260208101848484011115612aa357612aa2612a2f565b5b612aae848285612a65565b509392505050565b600082601f830112612acb57612aca61296d565b5b8135612adb848260208601612a74565b91505092915050565b6000612af7612af2846129fe565b6129e3565b90508083825260208201905060208402830185811115612b1a57612b19612a2a565b5b835b81811015612b6157803567ffffffffffffffff811115612b3f57612b3e61296d565b5b808601612b4c8982612ab6565b85526020850194505050602081019050612b1c565b5050509392505050565b600082601f830112612b8057612b7f61296d565b5b8135612b90848260208601612ae4565b91505092915050565b600060208284031215612baf57612bae6125e4565b5b600082013567ffffffffffffffff811115612bcd57612bcc6125e9565b5b612bd984828501612b6b565b91505092915050565b600060208284031215612bf857612bf76125e4565b5b6000612c0684828501612876565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c49578082015181840152602081019050612c2e565b60008484015250505050565b6000612c6082612c0f565b612c6a8185612c1a565b9350612c7a818560208601612c2b565b612c8381612972565b840191505092915050565b60006020820190508181036000830152612ca88184612c55565b905092915050565b600080fd5b600080fd5b600067ffffffffffffffff821115612cd557612cd4612983565b5b612cde82612972565b9050602081019050919050565b6000612cfe612cf984612cba565b6129e3565b905082815260208101848484011115612d1a57612d19612a2f565b5b612d25848285612a65565b509392505050565b600082601f830112612d4257612d4161296d565b5b8135612d52848260208601612ceb565b91505092915050565b60006101608284031215612d7257612d71612cb0565b5b612d7d6101606129e3565b90506000612d8d848285016127a9565b6000830152506020612da1848285016127a9565b6020830152506040612db5848285016127a9565b6040830152506060612dc9848285016127a9565b6060830152506080612ddd84828501612876565b60808301525060a0612df184828501612876565b60a08301525060c0612e0584828501612876565b60c08301525060e0612e1984828501612876565b60e083015250610100612e2e84828501612876565b61010083015250610120612e4484828501612876565b6101208301525061014082013567ffffffffffffffff811115612e6a57612e69612cb5565b5b612e7684828501612d2d565b6101408301525092915050565b600080600060608486031215612e9c57612e9b6125e4565b5b600084013567ffffffffffffffff811115612eba57612eb96125e9565b5b612ec686828701612d5b565b935050602084013567ffffffffffffffff811115612ee757612ee66125e9565b5b612ef386828701612d2d565b9250506040612f0486828701612876565b9150509250925092565b600080fd5b60006101608284031215612f2a57612f29612f0e565b5b81905092915050565b600080fd5b60008083601f840112612f4e57612f4d61296d565b5b8235905067ffffffffffffffff811115612f6b57612f6a612f33565b5b602083019150836001820283011115612f8757612f86612a2a565b5b9250929050565b600080600060408486031215612fa757612fa66125e4565b5b600084013567ffffffffffffffff811115612fc557612fc46125e9565b5b612fd186828701612f13565b935050602084013567ffffffffffffffff811115612ff257612ff16125e9565b5b612ffe86828701612f38565b92509250509250925092565b6000819050919050565b600061302f61302a613025846126a9565b61300a565b6126a9565b9050919050565b600061304182613014565b9050919050565b600061305382613036565b9050919050565b61306381613048565b82525050565b600060208201905061307e600083018461305a565b92915050565b6000806000806040858703121561309e5761309d6125e4565b5b600085013567ffffffffffffffff8111156130bc576130bb6125e9565b5b6130c887828801612f38565b9450945050602085013567ffffffffffffffff8111156130eb576130ea6125e9565b5b6130f787828801612f38565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b600061312c82613105565b6131368185613110565b9350613146818560208601612c2b565b61314f81612972565b840191505092915050565b600060408201905061316f600083018561267f565b81810360208301526131818184613121565b90509392505050565b6000602082840312156131a05761319f6125e4565b5b600082013567ffffffffffffffff8111156131be576131bd6125e9565b5b6131ca84828501612f13565b91505092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061322f602f83612c1a565b915061323a826131d3565b604082019050919050565b6000602082019050818103600083015261325e81613222565b9050919050565b600060408201905061327a60008301856126db565b613287602083018461267f565b9392505050565b6000610100820190506132a4600083018b6126db565b6132b1602083018a6126db565b6132be60408301896127f5565b6132cb60608301886127f5565b6132d860808301876126db565b6132e560a08301866127f5565b6132f260c08301856127f5565b6132ff60e08301846127f5565b9998505050505050505050565b600060408201905061332160008301856126db565b61332e60208301846126db565b9392505050565b61333e81612673565b811461334957600080fd5b50565b60008151905061335b81613335565b92915050565b600060208284031215613377576133766125e4565b5b60006133858482850161334c565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806133d557607f821691505b6020821081036133e8576133e761338e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613428826127eb565b9150613433836127eb565b925082820390508181111561344b5761344a6133ee565b5b92915050565b7f5374616c65000000000000000000000000000000000000000000000000000000600082015250565b6000613487600583612c1a565b915061349282613451565b602082019050919050565b600060208201905081810360008301526134b68161347a565b9050919050565b60006134c93683612d5b565b9050919050565b60006134df60208401846127a9565b905092915050565b6134f0816126c9565b82525050565b60006135056020840184612876565b905092915050565b613516816127eb565b82525050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261354857613547613526565b5b83810192508235915060208301925067ffffffffffffffff8211156135705761356f61351c565b5b60018202360383131561358657613585613521565b5b509250929050565b600082825260208201905092915050565b60006135ab838561358e565b93506135b8838584612a65565b6135c183612972565b840190509392505050565b600061016083016135e060008401846134d0565b6135ed60008601826134e7565b506135fb60208401846134d0565b61360860208601826134e7565b5061361660408401846134d0565b61362360408601826134e7565b5061363160608401846134d0565b61363e60608601826134e7565b5061364c60808401846134f6565b613659608086018261350d565b5061366760a08401846134f6565b61367460a086018261350d565b5061368260c08401846134f6565b61368f60c086018261350d565b5061369d60e08401846134f6565b6136aa60e086018261350d565b506136b96101008401846134f6565b6136c761010086018261350d565b506136d66101208401846134f6565b6136e461012086018261350d565b506136f361014084018461352b565b85830361014087015261370783828461359f565b925050508091505092915050565b60006137218385613110565b935061372e838584612a65565b61373783612972565b840190509392505050565b600060608201905061375760008301876127f5565b818103602083015261376981866135cc565b9050818103604083015261377e818486613715565b905095945050505050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b600081546137ed816133bd565b6137f781866137ba565b9450600182166000811461381257600181146138285761385b565b60ff19831686528115156020028601935061385b565b613831856137cb565b60005b8381101561385357815481890152600182019150602081019050613834565b808801955050505b50505092915050565b600061387083836137e0565b905092915050565b6000600182019050919050565b600061389082613789565b61389a8185613794565b9350836020820285016138ac856137a5565b8060005b858110156138e7578484038952816138c88582613864565b94506138d383613878565b925060208a019950506001810190506138b0565b50829750879550505050505092915050565b613902816125ee565b82525050565b600060a08201905061391d60008301886126db565b818103602083015261392f8187613885565b905081810360408301526139438186613121565b905061395260608301856138f9565b81810360808301526139648184613121565b90509695505050505050565b60008060408385031215613987576139866125e4565b5b600061399585828601612876565b925050602083013567ffffffffffffffff8111156139b6576139b56125e9565b5b6139c285828601612d5b565b9150509250929050565b60006139d7826127eb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613a0957613a086133ee565b5b600182019050919050565b600080600060608486031215613a2d57613a2c6125e4565b5b6000613a3b86828701612876565b935050602084013567ffffffffffffffff811115613a5c57613a5b6125e9565b5b613a6886828701612d5b565b925050604084013567ffffffffffffffff811115613a8957613a886125e9565b5b613a9586828701612d2d565b9150509250925092565b6000613aaa826127eb565b9150613ab5836127eb565b9250828201905080821115613acd57613acc6133ee565b5b92915050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112613aff57613afe613ad3565b5b80840192508235915067ffffffffffffffff821115613b2157613b20613ad8565b5b602083019250600182023603831315613b3d57613b3c613add565b5b509250929050565b600081905092915050565b6000613b5c8385613b45565b9350613b69838584612a65565b82840190509392505050565b6000819050919050565b613b90613b8b826127eb565b613b75565b82525050565b60008160601b9050919050565b6000613bae82613b96565b9050919050565b6000613bc082613ba3565b9050919050565b613bd8613bd3826126c9565b613bb5565b82525050565b6000613beb82888a613b50565b9150613bf78287613b7f565b602082019150613c078286613b7f565b602082019150613c178285613bc7565b601482019150613c278284613bc7565b601482019150819050979650505050505050565b6000613c4682613105565b613c508185613b45565b9350613c60818560208601612c2b565b80840191505092915050565b6000613c788284613c3b565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613cbd826127eb565b9150613cc8836127eb565b925082613cd857613cd7613c83565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000604082019050613d2760008301856127f5565b8181036020830152613d3981846135cc565b90509392505050565b600060a082019050613d576000830188612768565b613d646020830187612768565b613d716040830186612768565b613d7e60608301856126db565b613d8b6080830184612768565b9695505050505050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000613dd6601c83613d95565b9150613de182613da0565b601c82019050919050565b6000819050919050565b613e07613e0282612705565b613dec565b82525050565b6000613e1882613dc9565b9150613e248284613df6565b60208201915081905092915050565b600060c082019050613e486000830189612768565b613e5560208301886126db565b613e6260408301876126db565b613e6f60608301866126db565b613e7c60808301856127f5565b613e8960a0830184612768565b979650505050505050565b600061014082019050613eaa600083018d612768565b613eb7602083018c6126db565b613ec4604083018b6126db565b613ed1606083018a6126db565b613ede60808301896126db565b613eeb60a08301886127f5565b613ef860c08301876127f5565b613f0560e08301866127f5565b613f136101008301856127f5565b613f21610120830184612768565b9b9a5050505050505050505050565b6000613f3c8288613c3b565b9150613f488287613b7f565b602082019150613f588286613b7f565b602082019150613f688285613bc7565b601482019150613f788284613bc7565b6014820191508190509695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613fc1601783613d95565b9150613fcc82613f8b565b601782019050919050565b6000613fe282612c0f565b613fec8185613d95565b9350613ffc818560208601612c2b565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061403e601183613d95565b915061404982614008565b601182019050919050565b600061405f82613fb4565b915061406b8285613fd7565b915061407682614031565b91506140828284613fd7565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006140f3601883612c1a565b91506140fe826140bd565b602082019050919050565b60006020820190508181036000830152614122816140e6565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061415f601f83612c1a565b915061416a82614129565b602082019050919050565b6000602082019050818103600083015261418e81614152565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006141f1602283612c1a565b91506141fc82614195565b604082019050919050565b60006020820190508181036000830152614220816141e4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000614283602283612c1a565b915061428e82614227565b604082019050919050565b600060208201905081810360008301526142b281614276565b9050919050565b60006142c4826127eb565b91506142cf836127eb565b92508282026142dd816127eb565b915082820484148315176142f4576142f36133ee565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000614335826127eb565b915060008203614348576143476133ee565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614389602083612c1a565b915061439482614353565b602082019050919050565b600060208201905081810360008301526143b88161437c565b9050919050565b600060ff82169050919050565b6143d5816143bf565b82525050565b60006080820190506143f06000830187612768565b6143fd60208301866143cc565b61440a6040830185612768565b6144176060830184612768565b95945050505050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000614456600283613d95565b915061446182614420565b600282019050919050565b600061447782614449565b91506144838285613df6565b6020820191506144938284613df6565b6020820191508190509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026144f07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826144b3565b6144fa86836144b3565b95508019841693508086168417925050509392505050565b600061452d614528614523846127eb565b61300a565b6127eb565b9050919050565b6000819050919050565b61454783614512565b61455b61455382614534565b8484546144c0565b825550505050565b600090565b614570614563565b61457b81848461453e565b505050565b5b8181101561459f57614594600082614568565b600181019050614581565b5050565b601f8211156145e4576145b5816137cb565b6145be846144a3565b810160208510156145cd578190505b6145e16145d9856144a3565b830182614580565b50505b505050565b600082821c905092915050565b6000614607600019846008026145e9565b1980831691505092915050565b600061462083836145f6565b9150826002028217905092915050565b61463982612c0f565b67ffffffffffffffff81111561465257614651612983565b5b61465c82546133bd565b6146678282856145a3565b600060209050601f83116001811461469a5760008415614688578287015190505b6146928582614614565b8655506146fa565b601f1984166146a8866137cb565b60005b828110156146d0578489015182556001820191506020850194506020810190506146ab565b868310156146ed57848901516146e9601f8916826145f6565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220cb03eb0643a4caa5e84fd1bdaffc4895c9cb94aaec751557dc703a86561834c064736f6c63430008110033"; + +type EssentialForwarderConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EssentialForwarderConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class EssentialForwarder__factory extends ContractFactory { + constructor(...args: EssentialForwarderConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): EssentialForwarder { + return super.attach(address) as EssentialForwarder; + } + override connect(signer: Signer): EssentialForwarder__factory { + return super.connect(signer) as EssentialForwarder__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EssentialForwarderInterface { + return new utils.Interface(_abi) as EssentialForwarderInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): EssentialForwarder { + return new Contract(address, _abi, signerOrProvider) as EssentialForwarder; + } +} diff --git a/packages/client/typechain/factories/contracts/fwd/EssentialPlaySession__factory.ts b/packages/client/typechain/factories/contracts/fwd/EssentialPlaySession__factory.ts new file mode 100644 index 0000000..fdec57c --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/EssentialPlaySession__factory.ts @@ -0,0 +1,239 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + EssentialPlaySession, + EssentialPlaySessionInterface, +} from "../../../contracts/fwd/EssentialPlaySession"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "trustedForwarder", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForAll", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "checkDelegateForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "createSignedSession", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "getSession", + outputs: [ + { + components: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "uint256", + name: "expiresAt", + type: "uint256", + }, + ], + internalType: "struct IForwardRequest.PlaySession", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "forwarder", + type: "address", + }, + ], + name: "isTrustedForwarder", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trustedForwarder", + type: "address", + }, + ], + name: "setTrustedForwarder", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50604051610b81380380610b818339818101604052810190610032919061011e565b8033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061014b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100eb826100c0565b9050919050565b6100fb816100e0565b811461010657600080fd5b50565b600081519050610118816100f2565b92915050565b600060208284031215610134576101336100bb565b5b600061014284828501610109565b91505092915050565b610a278061015a6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638c8e13b91161005b5780638c8e13b9146100ea5780638da5cb5b1461011a5780639c395bc214610138578063da742228146101685761007d565b8063572b6c0514610082578063581df04c146100b2578063685ee3e8146100ce575b600080fd5b61009c600480360381019061009791906106c3565b610184565b6040516100a9919061070b565b60405180910390f35b6100cc60048036038101906100c791906106c3565b6101dd565b005b6100e860048036038101906100e39190610752565b610239565b005b61010460048036038101906100ff91906106c3565b61024e565b60405161011191906107e9565b60405180910390f35b610122610307565b60405161012f9190610813565b60405180910390f35b610152600480360381019061014d919061082e565b61032d565b60405161015f919061070b565b60405180910390f35b610182600480360381019061017d91906106c3565b610416565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6101e633610184565b610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021c906108cb565b60405180910390fd5b610236816102316104e9565b61051b565b50565b801561024a57610249823261051b565b5b5050565b610256610630565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008273ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561040e575042600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410155b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049d90610937565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006104f433610184565b1561050857601436033560601c9050610517565b610510610628565b9050610518565b5b90565b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff1681526020016301e13380426105529190610986565b815250600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507f58781eab4a0743ab1c285a238be846a235f06cdb5b968030573a635e5f8c92fa8183600160405161061c939291906109ba565b60405180910390a15050565b600033905090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061069082610665565b9050919050565b6106a081610685565b81146106ab57600080fd5b50565b6000813590506106bd81610697565b92915050565b6000602082840312156106d9576106d8610660565b5b60006106e7848285016106ae565b91505092915050565b60008115159050919050565b610705816106f0565b82525050565b600060208201905061072060008301846106fc565b92915050565b61072f816106f0565b811461073a57600080fd5b50565b60008135905061074c81610726565b92915050565b6000806040838503121561076957610768610660565b5b6000610777858286016106ae565b92505060206107888582860161073d565b9150509250929050565b61079b81610685565b82525050565b6000819050919050565b6107b4816107a1565b82525050565b6040820160008201516107d06000850182610792565b5060208201516107e360208501826107ab565b50505050565b60006040820190506107fe60008301846107ba565b92915050565b61080d81610685565b82525050565b60006020820190506108286000830184610804565b92915050565b6000806040838503121561084557610844610660565b5b6000610853858286016106ae565b9250506020610864858286016106ae565b9150509250929050565b600082825260208201905092915050565b7f436f756e7465723a343239000000000000000000000000000000000000000000600082015250565b60006108b5600b8361086e565b91506108c08261087f565b602082019050919050565b600060208201905081810360008301526108e4816108a8565b9050919050565b7f3430330000000000000000000000000000000000000000000000000000000000600082015250565b600061092160038361086e565b915061092c826108eb565b602082019050919050565b6000602082019050818103600083015261095081610914565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610991826107a1565b915061099c836107a1565b92508282019050808211156109b4576109b3610957565b5b92915050565b60006060820190506109cf6000830186610804565b6109dc6020830185610804565b6109e960408301846106fc565b94935050505056fea26469706673582212207a46f9f7dee34a0ad123f6b54ae98ec2c4495cb992309aaaa789171c459d1d9a64736f6c63430008110033"; + +type EssentialPlaySessionConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EssentialPlaySessionConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class EssentialPlaySession__factory extends ContractFactory { + constructor(...args: EssentialPlaySessionConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy( + trustedForwarder, + overrides || {} + ) as Promise; + } + override getDeployTransaction( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(trustedForwarder, overrides || {}); + } + override attach(address: string): EssentialPlaySession { + return super.attach(address) as EssentialPlaySession; + } + override connect(signer: Signer): EssentialPlaySession__factory { + return super.connect(signer) as EssentialPlaySession__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EssentialPlaySessionInterface { + return new utils.Interface(_abi) as EssentialPlaySessionInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): EssentialPlaySession { + return new Contract( + address, + _abi, + signerOrProvider + ) as EssentialPlaySession; + } +} diff --git a/packages/client/typechain/factories/contracts/fwd/IDelegationRegistry__factory.ts b/packages/client/typechain/factories/contracts/fwd/IDelegationRegistry__factory.ts new file mode 100644 index 0000000..e2785b1 --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/IDelegationRegistry__factory.ts @@ -0,0 +1,525 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IDelegationRegistry, + IDelegationRegistryInterface, +} from "../../../contracts/fwd/IDelegationRegistry"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForAll", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "contract_", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForContract", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "contract_", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForToken", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "RevokeAllDelegates", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "RevokeDelegate", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "checkDelegateForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + ], + name: "checkDelegateForContract", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "checkDelegateForToken", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForContract", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getContractLevelDelegations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + internalType: "struct IDelegationRegistry.ContractDelegation[]", + name: "delegations", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getDelegatesForAll", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + ], + name: "getDelegatesForContract", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "getDelegatesForToken", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "getDelegationsByDelegate", + outputs: [ + { + components: [ + { + internalType: "enum IDelegationRegistry.DelegationType", + name: "type_", + type: "uint8", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + internalType: "struct IDelegationRegistry.DelegationInfo[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getTokenLevelDelegations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + internalType: "struct IDelegationRegistry.TokenDelegation[]", + name: "delegations", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "revokeAllDelegates", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "revokeDelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "revokeSelf", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IDelegationRegistry__factory { + static readonly abi = _abi; + static createInterface(): IDelegationRegistryInterface { + return new utils.Interface(_abi) as IDelegationRegistryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IDelegationRegistry { + return new Contract(address, _abi, signerOrProvider) as IDelegationRegistry; + } +} diff --git a/packages/client/typechain/factories/contracts/fwd/SignedOwnershipProof__factory.ts b/packages/client/typechain/factories/contracts/fwd/SignedOwnershipProof__factory.ts new file mode 100644 index 0000000..b0b68b8 --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/SignedOwnershipProof__factory.ts @@ -0,0 +1,215 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + SignedOwnershipProof, + SignedOwnershipProofInterface, +} from "../../../contracts/fwd/SignedOwnershipProof"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "signer", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "createMessage", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ownershipSigner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "nftContract", + type: "address", + }, + { + internalType: "uint256", + name: "nftTokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "nftChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "targetChainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gas", + type: "uint256", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + internalType: "struct IForwardRequest.ERC721ForwardRequest", + name: "req", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "verifyOwnershipProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50611012806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806312ce42fd146100465780635c0dfff6146100645780638190256414610094575b600080fd5b61004e6100c4565b60405161005b9190610671565b60405180910390f35b61007e60048036038101906100799190610702565b6100ed565b60405161008b91906107bd565b60405180910390f35b6100ae60048036038101906100a99190610a50565b610131565b6040516100bb9190610af6565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000878787878787468860405160200161010e989796959493929190610b20565b604051602081830303815290604052805190602001209050979650505050505050565b600061025882426101429190610bcd565b10610182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017990610c5e565b60405180910390fd5b60006101b46101af866000015187602001518861012001518960a001518a606001518b608001518a6100ed565b610221565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610200858361025190919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16149150509392505050565b6000816040516020016102349190610cf6565b604051602081830303815290604052805190602001209050919050565b60008060006102608585610278565b9150915061026d816102f9565b819250505092915050565b60008060418351036102b95760008060006020860151925060408601519150606086015160001a90506102ad878285856104c5565b945094505050506102f2565b60408351036102e95760008060208501519150604085015190506102de8683836105d1565b9350935050506102f2565b60006002915091505b9250929050565b6000600481111561030d5761030c610d1c565b5b8160048111156103205761031f610d1c565b5b03156104c2576001600481111561033a57610339610d1c565b5b81600481111561034d5761034c610d1c565b5b0361038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038490610d97565b60405180910390fd5b600260048111156103a1576103a0610d1c565b5b8160048111156103b4576103b3610d1c565b5b036103f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103eb90610e03565b60405180910390fd5b6003600481111561040857610407610d1c565b5b81600481111561041b5761041a610d1c565b5b0361045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045290610e95565b60405180910390fd5b60048081111561046e5761046d610d1c565b5b81600481111561048157610480610d1c565b5b036104c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b890610f27565b60405180910390fd5b5b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156105005760006003915091506105c8565b601b8560ff16141580156105185750601c8560ff1614155b1561052a5760006004915091506105c8565b60006001878787876040516000815260200160405260405161054f9493929190610f63565b6020604051602081039080840390855afa158015610571573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105bf576000600192509250506105c8565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6106149190610fa8565b9050610622878288856104c5565b935093505050935093915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061065b82610630565b9050919050565b61066b81610650565b82525050565b60006020820190506106866000830184610662565b92915050565b6000604051905090565b600080fd5b600080fd5b6106a981610650565b81146106b457600080fd5b50565b6000813590506106c6816106a0565b92915050565b6000819050919050565b6106df816106cc565b81146106ea57600080fd5b50565b6000813590506106fc816106d6565b92915050565b600080600080600080600060e0888a03121561072157610720610696565b5b600061072f8a828b016106b7565b97505060206107408a828b016106b7565b96505060406107518a828b016106ed565b95505060606107628a828b016106ed565b94505060806107738a828b016106b7565b93505060a06107848a828b016106ed565b92505060c06107958a828b016106ed565b91505092959891949750929550565b6000819050919050565b6107b7816107a4565b82525050565b60006020820190506107d260008301846107ae565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610826826107dd565b810181811067ffffffffffffffff82111715610845576108446107ee565b5b80604052505050565b600061085861068c565b9050610864828261081d565b919050565b600080fd5b600080fd5b600080fd5b600067ffffffffffffffff821115610893576108926107ee565b5b61089c826107dd565b9050602081019050919050565b82818337600083830152505050565b60006108cb6108c684610878565b61084e565b9050828152602081018484840111156108e7576108e6610873565b5b6108f28482856108a9565b509392505050565b600082601f83011261090f5761090e61086e565b5b813561091f8482602086016108b8565b91505092915050565b6000610160828403121561093f5761093e6107d8565b5b61094a61016061084e565b9050600061095a848285016106b7565b600083015250602061096e848285016106b7565b6020830152506040610982848285016106b7565b6040830152506060610996848285016106b7565b60608301525060806109aa848285016106ed565b60808301525060a06109be848285016106ed565b60a08301525060c06109d2848285016106ed565b60c08301525060e06109e6848285016106ed565b60e0830152506101006109fb848285016106ed565b61010083015250610120610a11848285016106ed565b6101208301525061014082013567ffffffffffffffff811115610a3757610a36610869565b5b610a43848285016108fa565b6101408301525092915050565b600080600060608486031215610a6957610a68610696565b5b600084013567ffffffffffffffff811115610a8757610a8661069b565b5b610a9386828701610928565b935050602084013567ffffffffffffffff811115610ab457610ab361069b565b5b610ac0868287016108fa565b9250506040610ad1868287016106ed565b9150509250925092565b60008115159050919050565b610af081610adb565b82525050565b6000602082019050610b0b6000830184610ae7565b92915050565b610b1a816106cc565b82525050565b600061010082019050610b36600083018b610662565b610b43602083018a610662565b610b506040830189610b11565b610b5d6060830188610b11565b610b6a6080830187610662565b610b7760a0830186610b11565b610b8460c0830185610b11565b610b9160e0830184610b11565b9998505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610bd8826106cc565b9150610be3836106cc565b9250828203905081811115610bfb57610bfa610b9e565b5b92915050565b600082825260208201905092915050565b7f5374616c65000000000000000000000000000000000000000000000000000000600082015250565b6000610c48600583610c01565b9150610c5382610c12565b602082019050919050565b60006020820190508181036000830152610c7781610c3b565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000610cbf601c83610c7e565b9150610cca82610c89565b601c82019050919050565b6000819050919050565b610cf0610ceb826107a4565b610cd5565b82525050565b6000610d0182610cb2565b9150610d0d8284610cdf565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000610d81601883610c01565b9150610d8c82610d4b565b602082019050919050565b60006020820190508181036000830152610db081610d74565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000610ded601f83610c01565b9150610df882610db7565b602082019050919050565b60006020820190508181036000830152610e1c81610de0565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000610e7f602283610c01565b9150610e8a82610e23565b604082019050919050565b60006020820190508181036000830152610eae81610e72565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000610f11602283610c01565b9150610f1c82610eb5565b604082019050919050565b60006020820190508181036000830152610f4081610f04565b9050919050565b600060ff82169050919050565b610f5d81610f47565b82525050565b6000608082019050610f7860008301876107ae565b610f856020830186610f54565b610f9260408301856107ae565b610f9f60608301846107ae565b95945050505050565b6000610fb3826106cc565b9150610fbe836106cc565b9250828201905080821115610fd657610fd5610b9e565b5b9291505056fea2646970667358221220ee8e798e16deea3f2bcf454314e90e73e4b5fef28054788a92a9a2100311959b64736f6c63430008110033"; + +type SignedOwnershipProofConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: SignedOwnershipProofConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class SignedOwnershipProof__factory extends ContractFactory { + constructor(...args: SignedOwnershipProofConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): SignedOwnershipProof { + return super.attach(address) as SignedOwnershipProof; + } + override connect(signer: Signer): SignedOwnershipProof__factory { + return super.connect(signer) as SignedOwnershipProof__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): SignedOwnershipProofInterface { + return new utils.Interface(_abi) as SignedOwnershipProofInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): SignedOwnershipProof { + return new Contract( + address, + _abi, + signerOrProvider + ) as SignedOwnershipProof; + } +} diff --git a/packages/client/typechain/factories/contracts/fwd/index.ts b/packages/client/typechain/factories/contracts/fwd/index.ts new file mode 100644 index 0000000..62b49ba --- /dev/null +++ b/packages/client/typechain/factories/contracts/fwd/index.ts @@ -0,0 +1,11 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as essentialEip712BaseSol from "./EssentialEIP712Base.sol"; +export { DelegationRegistry2771__factory } from "./DelegationRegistry2771__factory"; +export { EssentialContext__factory } from "./EssentialContext__factory"; +export { EssentialContextUpgradeable__factory } from "./EssentialContextUpgradeable__factory"; +export { EssentialForwarder__factory } from "./EssentialForwarder__factory"; +export { EssentialPlaySession__factory } from "./EssentialPlaySession__factory"; +export { IDelegationRegistry__factory } from "./IDelegationRegistry__factory"; +export { SignedOwnershipProof__factory } from "./SignedOwnershipProof__factory"; diff --git a/packages/client/typechain/factories/contracts/index.ts b/packages/client/typechain/factories/contracts/index.ts new file mode 100644 index 0000000..5c1742a --- /dev/null +++ b/packages/client/typechain/factories/contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as fwd from "./fwd"; +export * as test from "./test"; diff --git a/packages/client/typechain/factories/contracts/test/Counter__factory.ts b/packages/client/typechain/factories/contracts/test/Counter__factory.ts new file mode 100644 index 0000000..a8e32ec --- /dev/null +++ b/packages/client/typechain/factories/contracts/test/Counter__factory.ts @@ -0,0 +1,224 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + Counter, + CounterInterface, +} from "../../../contracts/test/Counter"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "trustedForwarder", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "contractAddress", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "counter", + type: "address", + }, + ], + name: "Counted", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "collectionCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "count", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "increment", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "forwarder", + type: "address", + }, + ], + name: "isTrustedForwarder", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lastCaller", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "minimalRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trustedForwarder", + type: "address", + }, + ], + name: "setTrustedForwarder", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "totalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50604051610bd2380380610bd28339818101604052810190610032919061011e565b8033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061014b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100eb826100c0565b9050919050565b6100fb816100e0565b811461010657600080fd5b50565b600081519050610118816100f2565b92915050565b600060208284031215610134576101336100bb565b5b600061014284828501610109565b91505092915050565b610a788061015a6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b14610134578063bb2d0d9214610152578063d09de08a1461015c578063d17744cd14610166578063da7422281461019657610093565b806305d85eda146100985780632113522a146100c857806334eafb11146100e6578063572b6c0514610104575b600080fd5b6100b260048036038101906100ad919061082c565b6101b2565b6040516100bf9190610872565b60405180910390f35b6100d06101ca565b6040516100dd919061089c565b60405180910390f35b6100ee6101f0565b6040516100fb9190610872565b60405180910390f35b61011e6004803603810190610119919061082c565b6101f6565b60405161012b91906108d2565b60405180910390f35b61013c61024f565b604051610149919061089c565b60405180910390f35b61015a610275565b005b61016461030d565b005b610180600480360381019061017b919061082c565b610600565b60405161018d9190610872565b60405180910390f35b6101b060048036038101906101ab919061082c565b610618565b005b60046020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61027e336101f6565b6102bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b49061094a565b60405180910390fd5b60006102c76106eb565b905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610316336101f6565b610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c9061094a565b60405180910390fd5b600061035f61071d565b9050600061036b6106eb565b9050600073ffffffffffffffffffffffffffffffffffffffff1660056000846000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008460200151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044b906109b6565b60405180910390fd5b8060056000846000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008460200151815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060026000815460010191905081905550600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001019190508190555060036000836000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055508073ffffffffffffffffffffffffffffffffffffffff168260200151836000015173ffffffffffffffffffffffffffffffffffffffff167fe39cf6ce097c10dae6d67cc8b50f2e294be57dc01c496713b260b16300fbe42460405160405180910390a45050565b60036020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069f90610a22565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006106f6336101f6565b1561070a57601436033560601c9050610719565b61071261078a565b905061071a565b5b90565b610725610792565b6000806000610733336101f6565b156107515760683603359250602836033560601c9050604836033591505b60405180606001604052808273ffffffffffffffffffffffffffffffffffffffff16815260200183815260200184815250935050505090565b600033905090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107f9826107ce565b9050919050565b610809816107ee565b811461081457600080fd5b50565b60008135905061082681610800565b92915050565b600060208284031215610842576108416107c9565b5b600061085084828501610817565b91505092915050565b6000819050919050565b61086c81610859565b82525050565b60006020820190506108876000830184610863565b92915050565b610896816107ee565b82525050565b60006020820190506108b1600083018461088d565b92915050565b60008115159050919050565b6108cc816108b7565b82525050565b60006020820190506108e760008301846108c3565b92915050565b600082825260208201905092915050565b7f436f756e7465723a343239000000000000000000000000000000000000000000600082015250565b6000610934600b836108ed565b915061093f826108fe565b602082019050919050565b6000602082019050818103600083015261096381610927565b9050919050565b7f4e465420616c726561647920636f756e74656400000000000000000000000000600082015250565b60006109a06013836108ed565b91506109ab8261096a565b602082019050919050565b600060208201905081810360008301526109cf81610993565b9050919050565b7f3430330000000000000000000000000000000000000000000000000000000000600082015250565b6000610a0c6003836108ed565b9150610a17826109d6565b602082019050919050565b60006020820190508181036000830152610a3b816109ff565b905091905056fea2646970667358221220c4ddab5cf5c96cc412d339be5a1cfa1e55398f6818f3c4ec9d2e3e82b75f14e364736f6c63430008110033"; + +type CounterConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: CounterConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Counter__factory extends ContractFactory { + constructor(...args: CounterConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(trustedForwarder, overrides || {}) as Promise; + } + override getDeployTransaction( + trustedForwarder: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(trustedForwarder, overrides || {}); + } + override attach(address: string): Counter { + return super.attach(address) as Counter; + } + override connect(signer: Signer): Counter__factory { + return super.connect(signer) as Counter__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): CounterInterface { + return new utils.Interface(_abi) as CounterInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Counter { + return new Contract(address, _abi, signerOrProvider) as Counter; + } +} diff --git a/packages/client/typechain/factories/contracts/test/DelegationRegistry__factory.ts b/packages/client/typechain/factories/contracts/test/DelegationRegistry__factory.ts new file mode 100644 index 0000000..7b0304c --- /dev/null +++ b/packages/client/typechain/factories/contracts/test/DelegationRegistry__factory.ts @@ -0,0 +1,581 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + DelegationRegistry, + DelegationRegistryInterface, +} from "../../../contracts/test/DelegationRegistry"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForAll", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "contract_", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForContract", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "contract_", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "DelegateForToken", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "RevokeAllDelegates", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "RevokeDelegate", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "checkDelegateForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + ], + name: "checkDelegateForContract", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "checkDelegateForToken", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForContract", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "bool", + name: "value", + type: "bool", + }, + ], + name: "delegateForToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getContractLevelDelegations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + internalType: "struct IDelegationRegistry.ContractDelegation[]", + name: "contractDelegations", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getDelegatesForAll", + outputs: [ + { + internalType: "address[]", + name: "delegates", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + ], + name: "getDelegatesForContract", + outputs: [ + { + internalType: "address[]", + name: "delegates", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "getDelegatesForToken", + outputs: [ + { + internalType: "address[]", + name: "delegates", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "getDelegationsByDelegate", + outputs: [ + { + components: [ + { + internalType: "enum IDelegationRegistry.DelegationType", + name: "type_", + type: "uint8", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + internalType: "struct IDelegationRegistry.DelegationInfo[]", + name: "info", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "getTokenLevelDelegations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "contract_", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + internalType: "struct IDelegationRegistry.TokenDelegation[]", + name: "tokenDelegations", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "revokeAllDelegates", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegate", + type: "address", + }, + ], + name: "revokeDelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "revokeSelf", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b506130fe806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063685ee3e811610097578063aba69cf811610066578063aba69cf8146102cf578063ed4b878e146102ff578063f956cf941461032f578063fa352c001461035f57610100565b8063685ee3e8146102235780636f007d871461023f57806390c9a2d01461026f5780639c395bc21461029f57610100565b806336137872116100d357806336137872146101b157806349c95d29146101bb5780634fc69282146101d7578063537a5c3d1461020757610100565b806301ffc9a7146101055780631221156b146101355780631b61f67514610165578063219044b014610195575b600080fd5b61011f600480360381019061011a919061251d565b61037b565b60405161012c9190612565565b60405180910390f35b61014f600480360381019061014a9190612614565b6103f5565b60405161015c9190612725565b60405180910390f35b61017f600480360381019061017a9190612747565b61040d565b60405161018c9190612725565b60405180910390f35b6101af60048036038101906101aa9190612747565b610424565b005b6101b9610431565b005b6101d560048036038101906101d091906127a0565b6104bd565b005b6101f160048036038101906101ec9190612747565b610520565b6040516101fe9190612990565b60405180910390f35b610221600480360381019061021c91906129b2565b6108a5565b005b61023d60048036038101906102389190612a19565b61090b565b005b61025960048036038101906102549190612747565b61096a565b6040516102669190612b4a565b60405180910390f35b61028960048036038101906102849190612b6c565b610c1e565b6040516102969190612565565b60405180910390f35b6102b960048036038101906102b49190612bbf565b610dcd565b6040516102c69190612565565b60405180910390f35b6102e960048036038101906102e49190612bff565b610f63565b6040516102f69190612565565b60405180910390f35b61031960048036038101906103149190612bbf565b611116565b6040516103269190612725565b60405180910390f35b61034960048036038101906103449190612747565b61112e565b6040516103569190612d44565b60405180910390f35b61037960048036038101906103749190612747565b6113d4565b005b60007f0596d3d5000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103ee57506103ed826113e1565b5b9050919050565b6060610404846003858561144b565b90509392505050565b606061041d82600160008061144b565b9050919050565b61042e3382611947565b50565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815461047d90612d95565b919050819055507f32d74befd0b842e19694e3e3af46263e18bcce41352c8b600ff0002b49edf662336040516104b39190612dec565b60405180910390a1565b60006104ca338585611a14565b90506104dd848284600233886000611b14565b7f8d6b2f5255b8d815cc368855b2251146e003bf4e2fcccaec66145fff5c174b4f338585856040516105129493929190612e07565b60405180910390a150505050565b60606000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061057082611f56565b905060008167ffffffffffffffff81111561058e5761058d612e4c565b5b6040519080825280602002602001820160405280156105c757816020015b6105b46123aa565b8152602001906001900390816105ac5790505b50935060005b828110156108895760006105ea8286611f6b90919063ffffffff16565b90506000600460008381526020019081526020016000206040518060a00160405290816000820160009054906101000a900460ff1660038111156106315761063061281f565b5b60038111156106435761064261281f565b5b81526020016000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015481525050905060008160200151905060008260000151905060006001600381111561077d5761077c61281f565b5b8260038111156107905761078f61281f565b5b036107af5761079f838c611f82565b85036107aa57600190505b610847565b600260038111156107c3576107c261281f565b5b8260038111156107d6576107d561281f565b5b036107fa576107ea838c8660600151611a14565b85036107f557600190505b610846565b60038081111561080d5761080c61281f565b5b8260038111156108205761081f61281f565b5b0361084557610839838c8660600151876080015161207f565b850361084457600190505b5b5b5b801561087957838a888061085a90612d95565b99508151811061086d5761086c612e7b565b5b60200260200101819052505b85600101955050505050506105cd565b508082111561089d57808203808551038552505b505050919050565b60006108b33386868661207f565b90506108c58582846003338989611b14565b7fe89c6ba1e8957285aed22618f52aa1dcb9d5bb64e1533d8b55136c72fcf5aa5d33868686866040516108fc959493929190612eb9565b60405180910390a15050505050565b60006109173384611f82565b905061092a838284600133600080611b14565b7f58781eab4a0743ab1c285a238be846a235f06cdb5b968030573a635e5f8c92fa33848460405161095d93929190612f0c565b60405180910390a1505050565b606060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002090506000610a0982611f56565b905060008167ffffffffffffffff811115610a2757610a26612e4c565b5b604051908082528060200260200182016040528015610a6057816020015b610a4d61242d565b815260200190600190039081610a455790505b50935060005b82811015610c02576000610a838286611f6b90919063ffffffff16565b90506000600460008381526020019081526020016000209050600380811115610aaf57610aae61281f565b5b8160000160009054906101000a900460ff166003811115610ad357610ad261281f565b5b03610bf557610b30888260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846003015461207f565b8203610bf45760405180606001604052808260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826003015481526020018260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250878580610bd590612d95565b965081518110610be857610be7612e7b565b5b60200260200101819052505b5b8260010192505050610a66565b5080821115610c1657808203808551038552505b505050919050565b600080848484600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051602001610cf5959493929190612f43565b604051602081830303815290604052805190602001209050610dad816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002061218290919063ffffffff16565b610dc057610dbb8585610dcd565b610dc3565b60015b9150509392505050565b6000808383600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051602001610ea29493929190612f96565b604051602081830303815290604052805190602001209050610f5a816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002061218290919063ffffffff16565b91505092915050565b60008085858585600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405160200161103c96959493929190612fdb565b6040516020818303038152906040528051906020012090506110f4816000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002061218290919063ffffffff16565b61110857611103868686610c1e565b61110b565b60015b915050949350505050565b606061112683600284600061144b565b905092915050565b606060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060006111cd82611f56565b905060008167ffffffffffffffff8111156111eb576111ea612e4c565b5b60405190808252806020026020018201604052801561122457816020015b61121161247a565b8152602001906001900390816112095790505b50935060005b828110156113b85760006112478286611f6b90919063ffffffff16565b90506000600460008381526020019081526020016000209050600260038111156112745761127361281f565b5b8160000160009054906101000a900460ff1660038111156112985761129761281f565b5b036113ab576112f0888260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a14565b82036113aa5760405180604001604052808260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525087858061138b90612d95565b96508151811061139e5761139d612e7b565b5b60200260200101819052505b5b826001019250505061122a565b50808211156113cc57808203808551038552505b505050919050565b6113de8133611947565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b606060008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060006114ea82611f56565b905060008167ffffffffffffffff81111561150857611507612e4c565b5b6040519080825280602002602001820160405280156115365781602001602082028036833780820191505090505b50935060005b828110156119285760006115598286611f6b90919063ffffffff16565b905060006004600083815260200190815260200160002090508960038111156115855761158461281f565b5b8160000160009054906101000a900460ff1660038111156115a9576115a861281f565b5b0361191b57600160038111156115c2576115c161281f565b5b8a60038111156115d5576115d461281f565b5b03611692576116088b8260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611f82565b820361168d578060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687858061163f90612d95565b96508151811061165257611651612e7b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b61191a565b600260038111156116a6576116a561281f565b5b8a60038111156116b9576116b861281f565b5b036117cf578873ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036117ca576117448b8260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b611a14565b82036117c9578060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687858061177b90612d95565b96508151811061178e5761178d612e7b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b611919565b6003808111156117e2576117e161281f565b5b8a60038111156117f5576117f461281f565b5b03611918578873ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561185c5750878160030154145b15611917576118918b8260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b8b61207f565b8203611916578060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168785806118c890612d95565b9650815181106118db576118da612e7b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b5b5b5b5b826001019250505061153c565b508082111561193c57808203808551038552505b505050949350505050565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546119d090612d95565b919050819055507f3e34a3ee53064fb79c0ee57448f03774a627a9270b0c41286efb7d8e32dcde938133604051611a0892919061303c565b60405180910390a15050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508486858484604051602001611af3959493929190612f43565b60405160208183030381529060405280519060200120925050509392505050565b8415611db257611bba866000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002061219990919063ffffffff16565b50611c0c86600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061219990919063ffffffff16565b506040518060a00160405280856003811115611c2b57611c2a61281f565b5b81526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152506004600088815260200190815260200160002060008201518160000160006101000a81548160ff02191690836003811115611cc657611cc561281f565b5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160030155905050611f4d565b611e52866000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206121b090919063ffffffff16565b50611ea486600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206121b090919063ffffffff16565b5060046000878152602001908152602001600020600080820160006101000a81549060ff02191690556000820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905550505b50505050505050565b6000611f64826000016121c7565b9050919050565b6000611f7a83600001836121d8565b905092915050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508385838360405160200161205f9493929190612f96565b604051602081830303815290604052805190602001209250505092915050565b600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085878686858560405160200161216096959493929190612fdb565b6040516020818303038152906040528051906020012092505050949350505050565b60006121918360000183612203565b905092915050565b60006121a88360000183612226565b905092915050565b60006121bf8360000183612296565b905092915050565b600081600001805490509050919050565b60008260000182815481106121f0576121ef612e7b565b5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b60006122328383612203565b61228b578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612290565b600090505b92915050565b6000808360010160008481526020019081526020016000205490506000811461239e5760006001826122c89190613065565b90506000600186600001805490506122e09190613065565b905081811461234f57600086600001828154811061230157612300612e7b565b5b906000526020600020015490508087600001848154811061232557612324612e7b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061236357612362613099565b5b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506123a4565b60009150505b92915050565b6040518060a00160405280600060038111156123c9576123c861281f565b5b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124fa816124c5565b811461250557600080fd5b50565b600081359050612517816124f1565b92915050565b600060208284031215612533576125326124c0565b5b600061254184828501612508565b91505092915050565b60008115159050919050565b61255f8161254a565b82525050565b600060208201905061257a6000830184612556565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125ab82612580565b9050919050565b6125bb816125a0565b81146125c657600080fd5b50565b6000813590506125d8816125b2565b92915050565b6000819050919050565b6125f1816125de565b81146125fc57600080fd5b50565b60008135905061260e816125e8565b92915050565b60008060006060848603121561262d5761262c6124c0565b5b600061263b868287016125c9565b935050602061264c868287016125c9565b925050604061265d868287016125ff565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61269c816125a0565b82525050565b60006126ae8383612693565b60208301905092915050565b6000602082019050919050565b60006126d282612667565b6126dc8185612672565b93506126e783612683565b8060005b838110156127185781516126ff88826126a2565b975061270a836126ba565b9250506001810190506126eb565b5085935050505092915050565b6000602082019050818103600083015261273f81846126c7565b905092915050565b60006020828403121561275d5761275c6124c0565b5b600061276b848285016125c9565b91505092915050565b61277d8161254a565b811461278857600080fd5b50565b60008135905061279a81612774565b92915050565b6000806000606084860312156127b9576127b86124c0565b5b60006127c7868287016125c9565b93505060206127d8868287016125c9565b92505060406127e98682870161278b565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6004811061285f5761285e61281f565b5b50565b60008190506128708261284e565b919050565b600061288082612862565b9050919050565b61289081612875565b82525050565b61289f816125de565b82525050565b60a0820160008201516128bb6000850182612887565b5060208201516128ce6020850182612693565b5060408201516128e16040850182612693565b5060608201516128f46060850182612693565b5060808201516129076080850182612896565b50505050565b600061291983836128a5565b60a08301905092915050565b6000602082019050919050565b600061293d826127f3565b61294781856127fe565b93506129528361280f565b8060005b8381101561298357815161296a888261290d565b975061297583612925565b925050600181019050612956565b5085935050505092915050565b600060208201905081810360008301526129aa8184612932565b905092915050565b600080600080608085870312156129cc576129cb6124c0565b5b60006129da878288016125c9565b94505060206129eb878288016125c9565b93505060406129fc878288016125ff565b9250506060612a0d8782880161278b565b91505092959194509250565b60008060408385031215612a3057612a2f6124c0565b5b6000612a3e858286016125c9565b9250506020612a4f8582860161278b565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b606082016000820151612a9b6000850182612693565b506020820151612aae6020850182612896565b506040820151612ac16040850182612693565b50505050565b6000612ad38383612a85565b60608301905092915050565b6000602082019050919050565b6000612af782612a59565b612b018185612a64565b9350612b0c83612a75565b8060005b83811015612b3d578151612b248882612ac7565b9750612b2f83612adf565b925050600181019050612b10565b5085935050505092915050565b60006020820190508181036000830152612b648184612aec565b905092915050565b600080600060608486031215612b8557612b846124c0565b5b6000612b93868287016125c9565b9350506020612ba4868287016125c9565b9250506040612bb5868287016125c9565b9150509250925092565b60008060408385031215612bd657612bd56124c0565b5b6000612be4858286016125c9565b9250506020612bf5858286016125c9565b9150509250929050565b60008060008060808587031215612c1957612c186124c0565b5b6000612c27878288016125c9565b9450506020612c38878288016125c9565b9350506040612c49878288016125c9565b9250506060612c5a878288016125ff565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b604082016000820151612ca86000850182612693565b506020820151612cbb6020850182612693565b50505050565b6000612ccd8383612c92565b60408301905092915050565b6000602082019050919050565b6000612cf182612c66565b612cfb8185612c71565b9350612d0683612c82565b8060005b83811015612d37578151612d1e8882612cc1565b9750612d2983612cd9565b925050600181019050612d0a565b5085935050505092915050565b60006020820190508181036000830152612d5e8184612ce6565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612da0826125de565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dd257612dd1612d66565b5b600182019050919050565b612de6816125a0565b82525050565b6000602082019050612e016000830184612ddd565b92915050565b6000608082019050612e1c6000830187612ddd565b612e296020830186612ddd565b612e366040830185612ddd565b612e436060830184612556565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b612eb3816125de565b82525050565b600060a082019050612ece6000830188612ddd565b612edb6020830187612ddd565b612ee86040830186612ddd565b612ef56060830185612eaa565b612f026080830184612556565b9695505050505050565b6000606082019050612f216000830186612ddd565b612f2e6020830185612ddd565b612f3b6040830184612556565b949350505050565b600060a082019050612f586000830188612ddd565b612f656020830187612ddd565b612f726040830186612ddd565b612f7f6060830185612eaa565b612f8c6080830184612eaa565b9695505050505050565b6000608082019050612fab6000830187612ddd565b612fb86020830186612ddd565b612fc56040830185612eaa565b612fd26060830184612eaa565b95945050505050565b600060c082019050612ff06000830189612ddd565b612ffd6020830188612ddd565b61300a6040830187612ddd565b6130176060830186612eaa565b6130246080830185612eaa565b61303160a0830184612eaa565b979650505050505050565b60006040820190506130516000830185612ddd565b61305e6020830184612ddd565b9392505050565b6000613070826125de565b915061307b836125de565b925082820390508181111561309357613092612d66565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122005d806ee6bce48fa380305761bd8a4fa49db01772ea8e8e4ad7e58b3a171d06e64736f6c63430008110033"; + +type DelegationRegistryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: DelegationRegistryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class DelegationRegistry__factory extends ContractFactory { + constructor(...args: DelegationRegistryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): DelegationRegistry { + return super.attach(address) as DelegationRegistry; + } + override connect(signer: Signer): DelegationRegistry__factory { + return super.connect(signer) as DelegationRegistry__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): DelegationRegistryInterface { + return new utils.Interface(_abi) as DelegationRegistryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): DelegationRegistry { + return new Contract(address, _abi, signerOrProvider) as DelegationRegistry; + } +} diff --git a/packages/client/typechain/factories/contracts/test/index.ts b/packages/client/typechain/factories/contracts/test/index.ts new file mode 100644 index 0000000..ff8872c --- /dev/null +++ b/packages/client/typechain/factories/contracts/test/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Counter__factory } from "./Counter__factory"; +export { DelegationRegistry__factory } from "./DelegationRegistry__factory"; diff --git a/packages/client/typechain/factories/index.ts b/packages/client/typechain/factories/index.ts new file mode 100644 index 0000000..6ff9ace --- /dev/null +++ b/packages/client/typechain/factories/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as openzeppelin from "./@openzeppelin"; +export * as contracts from "./contracts"; diff --git a/packages/client/typechain/hardhat.d.ts b/packages/client/typechain/hardhat.d.ts new file mode 100644 index 0000000..73fb77c --- /dev/null +++ b/packages/client/typechain/hardhat.d.ts @@ -0,0 +1,177 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { ethers } from "ethers"; +import { + FactoryOptions, + HardhatEthersHelpers as HardhatEthersHelpersBase, +} from "@nomiclabs/hardhat-ethers/types"; + +import * as Contracts from "."; + +declare module "hardhat/types/runtime" { + interface HardhatEthersHelpers extends HardhatEthersHelpersBase { + getContractFactory( + name: "Initializable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AccessControl", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IAccessControl", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC2771Context", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC165", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC165", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "DelegationRegistry2771", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EssentialEIP712", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EssentialContext", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EssentialContextUpgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EssentialForwarder", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EssentialPlaySession", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IDelegationRegistry", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "SignedOwnershipProof", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Counter", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "DelegationRegistry", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + + getContractAt( + name: "Initializable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AccessControl", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IAccessControl", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC2771Context", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC165", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC165", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "DelegationRegistry2771", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EssentialEIP712", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EssentialContext", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EssentialContextUpgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EssentialForwarder", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EssentialPlaySession", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IDelegationRegistry", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "SignedOwnershipProof", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Counter", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "DelegationRegistry", + address: string, + signer?: ethers.Signer + ): Promise; + + // default types + getContractFactory( + name: string, + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + abi: any[], + bytecode: ethers.utils.BytesLike, + signer?: ethers.Signer + ): Promise; + getContractAt( + nameOrAbi: string | any[], + address: string, + signer?: ethers.Signer + ): Promise; + } +} diff --git a/packages/client/typechain/index.ts b/packages/client/typechain/index.ts new file mode 100644 index 0000000..245f730 --- /dev/null +++ b/packages/client/typechain/index.ts @@ -0,0 +1,40 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as openzeppelin from "./@openzeppelin"; +export type { openzeppelin }; +import type * as contracts from "./contracts"; +export type { contracts }; +export * as factories from "./factories"; +export type { Initializable } from "./@openzeppelin/contracts-upgradeable/proxy/utils/Initializable"; +export { Initializable__factory } from "./factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory"; +export type { AccessControl } from "./@openzeppelin/contracts/access/AccessControl"; +export { AccessControl__factory } from "./factories/@openzeppelin/contracts/access/AccessControl__factory"; +export type { IAccessControl } from "./@openzeppelin/contracts/access/IAccessControl"; +export { IAccessControl__factory } from "./factories/@openzeppelin/contracts/access/IAccessControl__factory"; +export type { ERC2771Context } from "./@openzeppelin/contracts/metatx/ERC2771Context"; +export { ERC2771Context__factory } from "./factories/@openzeppelin/contracts/metatx/ERC2771Context__factory"; +export type { ERC165 } from "./@openzeppelin/contracts/utils/introspection/ERC165"; +export { ERC165__factory } from "./factories/@openzeppelin/contracts/utils/introspection/ERC165__factory"; +export type { IERC165 } from "./@openzeppelin/contracts/utils/introspection/IERC165"; +export { IERC165__factory } from "./factories/@openzeppelin/contracts/utils/introspection/IERC165__factory"; +export type { DelegationRegistry2771 } from "./contracts/fwd/DelegationRegistry2771"; +export { DelegationRegistry2771__factory } from "./factories/contracts/fwd/DelegationRegistry2771__factory"; +export type { EssentialEIP712 } from "./contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712"; +export { EssentialEIP712__factory } from "./factories/contracts/fwd/EssentialEIP712Base.sol/EssentialEIP712__factory"; +export type { EssentialContext } from "./contracts/fwd/EssentialContext"; +export { EssentialContext__factory } from "./factories/contracts/fwd/EssentialContext__factory"; +export type { EssentialContextUpgradeable } from "./contracts/fwd/EssentialContextUpgradeable"; +export { EssentialContextUpgradeable__factory } from "./factories/contracts/fwd/EssentialContextUpgradeable__factory"; +export type { EssentialForwarder } from "./contracts/fwd/EssentialForwarder"; +export { EssentialForwarder__factory } from "./factories/contracts/fwd/EssentialForwarder__factory"; +export type { EssentialPlaySession } from "./contracts/fwd/EssentialPlaySession"; +export { EssentialPlaySession__factory } from "./factories/contracts/fwd/EssentialPlaySession__factory"; +export type { IDelegationRegistry } from "./contracts/fwd/IDelegationRegistry"; +export { IDelegationRegistry__factory } from "./factories/contracts/fwd/IDelegationRegistry__factory"; +export type { SignedOwnershipProof } from "./contracts/fwd/SignedOwnershipProof"; +export { SignedOwnershipProof__factory } from "./factories/contracts/fwd/SignedOwnershipProof__factory"; +export type { Counter } from "./contracts/test/Counter"; +export { Counter__factory } from "./factories/contracts/test/Counter__factory"; +export type { DelegationRegistry } from "./contracts/test/DelegationRegistry"; +export { DelegationRegistry__factory } from "./factories/contracts/test/DelegationRegistry__factory"; diff --git a/packages/client/yarn.lock b/packages/client/yarn.lock new file mode 100644 index 0000000..ac41b54 --- /dev/null +++ b/packages/client/yarn.lock @@ -0,0 +1,1008 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adraffy/ens-normalize@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" + integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== + +"@eslint/eslintrc@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.0.tgz#82256f164cc9e0b59669efc19d57f8092706841d" + integrity sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.44.0": + version "8.44.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.44.0.tgz#961a5903c74139390478bdc808bcde3fc45ab7af" + integrity sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw== + +"@humanwhocodes/config-array@^0.11.10": + version "0.11.10" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" + integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@noble/curves@1.0.0", "@noble/curves@~1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" + integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== + dependencies: + "@noble/hashes" "1.3.0" + +"@noble/hashes@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" + integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== + +"@noble/hashes@~1.3.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" + integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@scure/base@~1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" + integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== + +"@scure/bip32@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" + integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== + dependencies: + "@noble/curves" "~1.0.0" + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" + integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + +"@types/json-schema@^7.0.9": + version "7.0.12" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== + +"@types/node@^18.11.18": + version "18.16.19" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.19.tgz#cb03fca8910fdeb7595b755126a8a78144714eea" + integrity sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA== + +"@types/semver@^7.3.12": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" + integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== + +"@typescript-eslint/eslint-plugin@^5.21.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.21.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@wagmi/chains@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.6.0.tgz#eb992ad28dbaaab729b5bcab3e5b461e8a035656" + integrity sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw== + +abitype@0.8.11: + version "0.8.11" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.11.tgz#66e1cf2cbf46f48d0e57132d7c1c392447536cc1" + integrity sha512-bM4v2dKvX08sZ9IU38IN5BKmN+ZkOSd2oI4a9f0ejHYZQYV6cDr7j+d95ga0z2XHG36Y4jzoG5Z7qDqxp7fi/A== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^8.5.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== + +eslint-plugin-prettier@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-simple-import-sort@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" + integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.0: + version "7.2.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.1.tgz#936821d3462675f25a18ac5fd88a67cc15b393bd" + integrity sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== + +eslint@^8.14.0: + version "8.45.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.45.0.tgz#bab660f90d18e1364352c0a6b7c6db8edb458b78" + integrity sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.1.0" + "@eslint/js" "8.44.0" + "@humanwhocodes/config-array" "^0.11.10" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.6.0" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-glob@^3.2.9: + version "3.3.0" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0" + integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isomorphic-ws@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" + integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^2.6.2: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +semver@^7.3.7: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +typescript@^4.5.4: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +viem@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.3.0.tgz#99c941e9bcfc62b53ffc5bd7470d7900a00d876c" + integrity sha512-gCtachbNPG9G9D7UNuiqLaLf8IFV15FypBrSpXEFeeEczXxI+Jgi9FTwDS+NJLreVrjBeZXQVj1ITTqKpItw4w== + dependencies: + "@adraffy/ens-normalize" "1.9.0" + "@noble/curves" "1.0.0" + "@noble/hashes" "1.3.0" + "@scure/bip32" "1.3.0" + "@scure/bip39" "1.2.0" + "@wagmi/chains" "1.6.0" + abitype "0.8.11" + isomorphic-ws "5.0.0" + ws "8.12.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" + integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==