Class UserVaultV5

Hierarchy

Constructors

Methods

  • Parameters

    • __namedParameters: {
          vaultId: bigint;
          collections: `0x${string}`[];
          tokenIds: bigint[];
          oldCollections?: `0x${string}`[];
          oldTokenIds?: bigint[];
          tokens?: `0x${string}`[];
      }
      • vaultId: bigint
      • collections: `0x${string}`[]
      • tokenIds: bigint[]
      • Optional oldCollections?: `0x${string}`[]
      • Optional oldTokenIds?: bigint[]
      • Optional tokens?: `0x${string}`[]

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            events: {
                vaultId: bigint;
                collection: `0x${string}`;
                tokenId: bigint;
            }[];
            oldEvents: {
                vaultId: bigint;
                collection: `0x${string}`;
                tokenId: bigint;
            }[];
        }>);
    }>

  • Parameters

    • nfts: {
          collection: `0x${string}`;
          tokenIds: bigint[];
          isOldErc721?: boolean;
      }[]

    Returns Promise<{
        vaultId: bigint;
        receipts: {
            vaultId: bigint;
            collection: `0x${string}`;
            tokenId: bigint;
        }[];
    }>

  • Parameters

    • __namedParameters: {
          vaultId: bigint;
          collection: `0x${string}`;
          tokenIds: bigint[];
      }
      • vaultId: bigint
      • collection: `0x${string}`
      • tokenIds: bigint[]

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            vaultId: bigint;
            collection: `0x${string}`;
            tokenId: bigint;
        }>);
    }>

Properties

abi: readonly [{
    stateMutability: "nonpayable";
    type: "constructor";
    inputs: readonly [{
        name: "currencyManager";
        internalType: "address";
        type: "address";
    }, {
        name: "collectionManager";
        internalType: "address";
        type: "address";
    }];
}, {
    type: "error";
    inputs: readonly [];
    name: "AssetNotOwnedError";
}, {
    type: "error";
    inputs: readonly [];
    name: "CollectionNotWhitelistedError";
}, {
    type: "error";
    inputs: readonly [];
    name: "CurrencyNotWhitelistedError";
}, {
    type: "error";
    inputs: readonly [];
    name: "LengthMismatchError";
}, {
    type: "error";
    inputs: readonly [{
        name: "vaultId";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "NotApprovedError";
}, {
    type: "error";
    inputs: readonly [{
        name: "vaultId";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "VaultNotExistsError";
}, {
    type: "error";
    inputs: readonly [];
    name: "WithdrawingETHError";
}, {
    type: "error";
    inputs: readonly [];
    name: "WrongMethodError";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "owner";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "spender";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "id";
        internalType: "uint256";
        type: "uint256";
        indexed: true;
    }];
    name: "Approval";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "owner";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "operator";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "approved";
        internalType: "bool";
        type: "bool";
        indexed: false;
    }];
    name: "ApprovalForAll";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "vaultId";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }, {
        name: "token";
        internalType: "address";
        type: "address";
        indexed: false;
    }, {
        name: "amount";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }];
    name: "ERC20Deposited";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "vaultId";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }, {
        name: "token";
        internalType: "address";
        type: "address";
        indexed: false;
    }, {
        name: "amount";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }];
    name: "ERC20Withdrawn";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "vaultId";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }, {
        name: "collection";
        internalType: "address";
        type: "address";
        indexed: false;
    }, {
        name: "tokenId";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }];
    name: "ERC721Deposited";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "vaultId";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }, {
        name: "collection";
        internalType: "address";
        type: "address";
        indexed: false;
    }, {
        name: "tokenId";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }];
    name: "ERC721Withdrawn";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "user";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "newOwner";
        internalType: "address";
        type: "address";
        indexed: true;
    }];
    name: "OwnershipTransferred";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "from";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "to";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "id";
        internalType: "uint256";
        type: "uint256";
        indexed: true;
    }];
    name: "Transfer";
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_token";
        internalType: "address";
        type: "address";
    }];
    name: "ERC20BalanceOf";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "_collection";
        internalType: "address";
        type: "address";
    }, {
        name: "_tokenId";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "ERC721OwnerOf";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "ETH";
    outputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "spender";
        internalType: "address";
        type: "address";
    }, {
        name: "id";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "approve";
    outputs: readonly [];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "owner";
        internalType: "address";
        type: "address";
    }];
    name: "balanceOf";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_assetRecipient";
        internalType: "address";
        type: "address";
    }];
    name: "burn";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_collections";
        internalType: "address[]";
        type: "address[]";
    }, {
        name: "_tokenIds";
        internalType: "uint256[]";
        type: "uint256[]";
    }, {
        name: "_tokens";
        internalType: "address[]";
        type: "address[]";
    }];
    name: "burnAndWithdraw";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_token";
        internalType: "address";
        type: "address";
    }, {
        name: "_amount";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "depositERC20";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_collection";
        internalType: "address";
        type: "address";
    }, {
        name: "_tokenId";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "depositERC721";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_collection";
        internalType: "address";
        type: "address";
    }, {
        name: "_tokenIds";
        internalType: "uint256[]";
        type: "uint256[]";
    }];
    name: "depositERC721s";
    outputs: readonly [];
}, {
    stateMutability: "payable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "depositEth";
    outputs: readonly [];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "getApproved";
    outputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }, {
        name: "";
        internalType: "address";
        type: "address";
    }];
    name: "isApprovedForAll";
    outputs: readonly [{
        name: "";
        internalType: "bool";
        type: "bool";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [];
    name: "mint";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "name";
    outputs: readonly [{
        name: "";
        internalType: "string";
        type: "string";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }, {
        name: "";
        internalType: "address";
        type: "address";
    }, {
        name: "";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "";
        internalType: "bytes";
        type: "bytes";
    }];
    name: "onERC721Received";
    outputs: readonly [{
        name: "";
        internalType: "bytes4";
        type: "bytes4";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "owner";
    outputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "id";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "ownerOf";
    outputs: readonly [{
        name: "owner";
        internalType: "address";
        type: "address";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "from";
        internalType: "address";
        type: "address";
    }, {
        name: "to";
        internalType: "address";
        type: "address";
    }, {
        name: "id";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "safeTransferFrom";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "from";
        internalType: "address";
        type: "address";
    }, {
        name: "to";
        internalType: "address";
        type: "address";
    }, {
        name: "id";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "data";
        internalType: "bytes";
        type: "bytes";
    }];
    name: "safeTransferFrom";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "operator";
        internalType: "address";
        type: "address";
    }, {
        name: "approved";
        internalType: "bool";
        type: "bool";
    }];
    name: "setApprovalForAll";
    outputs: readonly [];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "interfaceId";
        internalType: "bytes4";
        type: "bytes4";
    }];
    name: "supportsInterface";
    outputs: readonly [{
        name: "";
        internalType: "bool";
        type: "bool";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "symbol";
    outputs: readonly [{
        name: "";
        internalType: "string";
        type: "string";
    }];
}, {
    stateMutability: "pure";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "tokenURI";
    outputs: readonly [{
        name: "";
        internalType: "string";
        type: "string";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "from";
        internalType: "address";
        type: "address";
    }, {
        name: "to";
        internalType: "address";
        type: "address";
    }, {
        name: "id";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "transferFrom";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "newOwner";
        internalType: "address";
        type: "address";
    }];
    name: "transferOwnership";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_token";
        internalType: "address";
        type: "address";
    }];
    name: "withdrawERC20";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_tokens";
        internalType: "address[]";
        type: "address[]";
    }];
    name: "withdrawERC20s";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_collection";
        internalType: "address";
        type: "address";
    }, {
        name: "_tokenId";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "withdrawERC721";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_collections";
        internalType: "address[]";
        type: "address[]";
    }, {
        name: "_tokenIds";
        internalType: "uint256[]";
        type: "uint256[]";
    }];
    name: "withdrawERC721s";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_vaultId";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "withdrawEth";
    outputs: readonly [];
}]
address: `0x${string}`
bcClient: {}

Type declaration

    wallet: {}

    Type declaration

      contract: GetContractReturnType<readonly [{
          stateMutability: "nonpayable";
          type: "constructor";
          inputs: readonly [{
              name: "currencyManager";
              internalType: "address";
              type: "address";
          }, {
              name: "collectionManager";
              internalType: "address";
              type: "address";
          }];
      }, {
          type: "error";
          inputs: readonly [];
          name: "AssetNotOwnedError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "CollectionNotWhitelistedError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "CurrencyNotWhitelistedError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "LengthMismatchError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "NotApprovedError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "VaultNotExistsError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "WithdrawingETHError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "WrongMethodError";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "spender";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }];
          name: "Approval";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "operator";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "approved";
              internalType: "bool";
              type: "bool";
              indexed: false;
          }];
          name: "ApprovalForAll";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "token";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "ERC20Deposited";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "token";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "ERC20Withdrawn";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "collection";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "tokenId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "ERC721Deposited";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "collection";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "tokenId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "ERC721Withdrawn";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "user";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "to";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }];
          name: "Transfer";
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_token";
              internalType: "address";
              type: "address";
          }];
          name: "ERC20BalanceOf";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "_collection";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "ERC721OwnerOf";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "ETH";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "spender";
              internalType: "address";
              type: "address";
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "approve";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
          }];
          name: "balanceOf";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_assetRecipient";
              internalType: "address";
              type: "address";
          }];
          name: "burn";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collections";
              internalType: "address[]";
              type: "address[]";
          }, {
              name: "_tokenIds";
              internalType: "uint256[]";
              type: "uint256[]";
          }, {
              name: "_tokens";
              internalType: "address[]";
              type: "address[]";
          }];
          name: "burnAndWithdraw";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_token";
              internalType: "address";
              type: "address";
          }, {
              name: "_amount";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "depositERC20";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collection";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "depositERC721";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collection";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenIds";
              internalType: "uint256[]";
              type: "uint256[]";
          }];
          name: "depositERC721s";
          outputs: readonly [];
      }, {
          stateMutability: "payable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "depositEth";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getApproved";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "address";
              type: "address";
          }];
          name: "isApprovedForAll";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [];
          name: "mint";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "name";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "onERC721Received";
          outputs: readonly [{
              name: "";
              internalType: "bytes4";
              type: "bytes4";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "ownerOf";
          outputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
          }, {
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "safeTransferFrom";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
          }, {
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "safeTransferFrom";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "operator";
              internalType: "address";
              type: "address";
          }, {
              name: "approved";
              internalType: "bool";
              type: "bool";
          }];
          name: "setApprovalForAll";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "interfaceId";
              internalType: "bytes4";
              type: "bytes4";
          }];
          name: "supportsInterface";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "symbol";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "pure";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "tokenURI";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
          }, {
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "transferFrom";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_token";
              internalType: "address";
              type: "address";
          }];
          name: "withdrawERC20";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_tokens";
              internalType: "address[]";
              type: "address[]";
          }];
          name: "withdrawERC20s";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collection";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "withdrawERC721";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collections";
              internalType: "address[]";
              type: "address[]";
          }, {
              name: "_tokenIds";
              internalType: "uint256[]";
              type: "uint256[]";
          }];
          name: "withdrawERC721s";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "withdrawEth";
          outputs: readonly [];
      }], {} | {}>
      safeContractWrite: {
          transferOwnership: ((args, options?) => Promise<`0x${string}`>);
          onERC721Received: ((args, options?) => Promise<`0x${string}`>);
          approve: ((args, options?) => Promise<`0x${string}`>);
          transferFrom: ((args, options?) => Promise<`0x${string}`>);
          safeTransferFrom: ((args, options?) => Promise<`0x${string}`>);
          setApprovalForAll: ((args, options?) => Promise<`0x${string}`>);
          mint: ((args, options?) => Promise<`0x${string}`>);
          burn: ((args, options?) => Promise<`0x${string}`>);
          burnAndWithdraw: ((args, options?) => Promise<`0x${string}`>);
          depositERC20: ((args, options?) => Promise<`0x${string}`>);
          depositERC721: ((args, options?) => Promise<`0x${string}`>);
          depositERC721s: ((args, options?) => Promise<`0x${string}`>);
          depositEth: ((args, options?) => Promise<`0x${string}`>);
          withdrawERC20: ((args, options?) => Promise<`0x${string}`>);
          withdrawERC20s: ((args, options?) => Promise<`0x${string}`>);
          withdrawERC721: ((args, options?) => Promise<`0x${string}`>);
          withdrawERC721s: ((args, options?) => Promise<`0x${string}`>);
          withdrawEth: ((args, options?) => Promise<`0x${string}`>);
      }

      Type declaration

      • transferOwnership: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • onERC721Received: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • approve: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • transferFrom: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, `0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • safeTransferFrom: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: (undefined | readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]) & Widen<readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]>
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • setApprovalForAll: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, Widen<boolean>] | readonly [`0x${string}`, boolean] & readonly [`0x${string}`, Widen<boolean>]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • mint: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: undefined | readonly []
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • burn: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, `0x${string}`]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • burnAndWithdraw: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[]] | readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[]] & readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[]]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • depositERC20: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, `0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • depositERC721: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, `0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • depositERC721s: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, `0x${string}`, readonly bigint[]] | readonly [bigint, `0x${string}`, readonly bigint[]] & readonly [bigint, `0x${string}`, readonly bigint[]]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • depositEth: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • withdrawERC20: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, `0x${string}`]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • withdrawERC20s: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, readonly `0x${string}`[]] | readonly [bigint, readonly `0x${string}`[]] & readonly [bigint, readonly `0x${string}`[]]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • withdrawERC721: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, `0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • withdrawERC721s: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, readonly `0x${string}`[], readonly bigint[]] | readonly [bigint, readonly `0x${string}`[], readonly bigint[]] & readonly [bigint, readonly `0x${string}`[], readonly bigint[]]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • withdrawEth: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
          stateMutability: "nonpayable";
          type: "constructor";
          inputs: readonly [{
              name: "currencyManager";
              internalType: "address";
              type: "address";
          }, {
              name: "collectionManager";
              internalType: "address";
              type: "address";
          }];
      }, {
          type: "error";
          inputs: readonly [];
          name: "AssetNotOwnedError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "CollectionNotWhitelistedError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "CurrencyNotWhitelistedError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "LengthMismatchError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "NotApprovedError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "VaultNotExistsError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "WithdrawingETHError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "WrongMethodError";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "spender";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }];
          name: "Approval";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "operator";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "approved";
              internalType: "bool";
              type: "bool";
              indexed: false;
          }];
          name: "ApprovalForAll";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "token";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "ERC20Deposited";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "token";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "ERC20Withdrawn";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "collection";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "tokenId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "ERC721Deposited";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "vaultId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "collection";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "tokenId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "ERC721Withdrawn";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "user";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "to";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }];
          name: "Transfer";
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_token";
              internalType: "address";
              type: "address";
          }];
          name: "ERC20BalanceOf";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "_collection";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "ERC721OwnerOf";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "ETH";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "spender";
              internalType: "address";
              type: "address";
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "approve";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
          }];
          name: "balanceOf";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_assetRecipient";
              internalType: "address";
              type: "address";
          }];
          name: "burn";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collections";
              internalType: "address[]";
              type: "address[]";
          }, {
              name: "_tokenIds";
              internalType: "uint256[]";
              type: "uint256[]";
          }, {
              name: "_tokens";
              internalType: "address[]";
              type: "address[]";
          }];
          name: "burnAndWithdraw";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_token";
              internalType: "address";
              type: "address";
          }, {
              name: "_amount";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "depositERC20";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collection";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "depositERC721";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collection";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenIds";
              internalType: "uint256[]";
              type: "uint256[]";
          }];
          name: "depositERC721s";
          outputs: readonly [];
      }, {
          stateMutability: "payable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "depositEth";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getApproved";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "address";
              type: "address";
          }];
          name: "isApprovedForAll";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [];
          name: "mint";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "name";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "onERC721Received";
          outputs: readonly [{
              name: "";
              internalType: "bytes4";
              type: "bytes4";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "ownerOf";
          outputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
          }, {
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "safeTransferFrom";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
          }, {
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "safeTransferFrom";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "operator";
              internalType: "address";
              type: "address";
          }, {
              name: "approved";
              internalType: "bool";
              type: "bool";
          }];
          name: "setApprovalForAll";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "interfaceId";
              internalType: "bytes4";
              type: "bytes4";
          }];
          name: "supportsInterface";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "symbol";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "pure";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "tokenURI";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
          }, {
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "id";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "transferFrom";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_token";
              internalType: "address";
              type: "address";
          }];
          name: "withdrawERC20";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_tokens";
              internalType: "address[]";
              type: "address[]";
          }];
          name: "withdrawERC20s";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collection";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "withdrawERC721";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_collections";
              internalType: "address[]";
              type: "address[]";
          }, {
              name: "_tokenIds";
              internalType: "uint256[]";
              type: "uint256[]";
          }];
          name: "withdrawERC721s";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_vaultId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "withdrawEth";
          outputs: readonly [];
      }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn")[]
          ? TFunctionName[number]
          : TFunctionName>)

      Type declaration

        • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
              stateMutability: "nonpayable";
              type: "constructor";
              inputs: readonly [{
                  name: "currencyManager";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "collectionManager";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              type: "error";
              inputs: readonly [];
              name: "AssetNotOwnedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CollectionNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CurrencyNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "LengthMismatchError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "NotApprovedError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "VaultNotExistsError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "WithdrawingETHError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "WrongMethodError";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "spender";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: true;
              }];
              name: "Approval";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "operator";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "approved";
                  internalType: "bool";
                  type: "bool";
                  indexed: false;
              }];
              name: "ApprovalForAll";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "token";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "ERC20Deposited";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "token";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "ERC20Withdrawn";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "collection";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "ERC721Deposited";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "collection";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "ERC721Withdrawn";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "user";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipTransferred";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: true;
              }];
              name: "Transfer";
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_token";
                  internalType: "address";
                  type: "address";
              }];
              name: "ERC20BalanceOf";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "_collection";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "ERC721OwnerOf";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "ETH";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "spender";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "approve";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
              name: "balanceOf";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_assetRecipient";
                  internalType: "address";
                  type: "address";
              }];
              name: "burn";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collections";
                  internalType: "address[]";
                  type: "address[]";
              }, {
                  name: "_tokenIds";
                  internalType: "uint256[]";
                  type: "uint256[]";
              }, {
                  name: "_tokens";
                  internalType: "address[]";
                  type: "address[]";
              }];
              name: "burnAndWithdraw";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_token";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_amount";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "depositERC20";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collection";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "depositERC721";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collection";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenIds";
                  internalType: "uint256[]";
                  type: "uint256[]";
              }];
              name: "depositERC721s";
              outputs: readonly [];
          }, {
              stateMutability: "payable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "depositEth";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "getApproved";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
              name: "isApprovedForAll";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [];
              name: "mint";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "onERC721Received";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes4";
                  type: "bytes4";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "owner";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "ownerOf";
              outputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "safeTransferFrom";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "data";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "safeTransferFrom";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "operator";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "approved";
                  internalType: "bool";
                  type: "bool";
              }];
              name: "setApprovalForAll";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "interfaceId";
                  internalType: "bytes4";
                  type: "bytes4";
              }];
              name: "supportsInterface";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "symbol";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "pure";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "tokenURI";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "transferFrom";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
              }];
              name: "transferOwnership";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_token";
                  internalType: "address";
                  type: "address";
              }];
              name: "withdrawERC20";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_tokens";
                  internalType: "address[]";
                  type: "address[]";
              }];
              name: "withdrawERC20s";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collection";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "withdrawERC721";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collections";
                  internalType: "address[]";
                  type: "address[]";
              }, {
                  name: "_tokenIds";
                  internalType: "uint256[]";
                  type: "uint256[]";
              }];
              name: "withdrawERC721s";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "withdrawEth";
              outputs: readonly [];
          }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn")[]
              ? TFunctionName[number]
              : TFunctionName>
        • Type Parameters

          • TFunctionName extends "OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn"

          Parameters

          • eventName: TFunctionName
          • logs: Log<bigint, number, false>[]

          Returns ParseEventLogsReturnType<readonly [{
              stateMutability: "nonpayable";
              type: "constructor";
              inputs: readonly [{
                  name: "currencyManager";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "collectionManager";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              type: "error";
              inputs: readonly [];
              name: "AssetNotOwnedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CollectionNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CurrencyNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "LengthMismatchError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "NotApprovedError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "VaultNotExistsError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "WithdrawingETHError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "WrongMethodError";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "spender";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: true;
              }];
              name: "Approval";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "operator";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "approved";
                  internalType: "bool";
                  type: "bool";
                  indexed: false;
              }];
              name: "ApprovalForAll";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "token";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "ERC20Deposited";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "token";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "ERC20Withdrawn";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "collection";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "ERC721Deposited";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "vaultId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "collection";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "ERC721Withdrawn";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "user";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipTransferred";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: true;
              }];
              name: "Transfer";
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_token";
                  internalType: "address";
                  type: "address";
              }];
              name: "ERC20BalanceOf";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "_collection";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "ERC721OwnerOf";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "ETH";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "spender";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "approve";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
              name: "balanceOf";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_assetRecipient";
                  internalType: "address";
                  type: "address";
              }];
              name: "burn";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collections";
                  internalType: "address[]";
                  type: "address[]";
              }, {
                  name: "_tokenIds";
                  internalType: "uint256[]";
                  type: "uint256[]";
              }, {
                  name: "_tokens";
                  internalType: "address[]";
                  type: "address[]";
              }];
              name: "burnAndWithdraw";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_token";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_amount";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "depositERC20";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collection";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "depositERC721";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collection";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenIds";
                  internalType: "uint256[]";
                  type: "uint256[]";
              }];
              name: "depositERC721s";
              outputs: readonly [];
          }, {
              stateMutability: "payable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "depositEth";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "getApproved";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
              name: "isApprovedForAll";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [];
              name: "mint";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "onERC721Received";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes4";
                  type: "bytes4";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "owner";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "ownerOf";
              outputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "safeTransferFrom";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "data";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "safeTransferFrom";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "operator";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "approved";
                  internalType: "bool";
                  type: "bool";
              }];
              name: "setApprovalForAll";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "interfaceId";
                  internalType: "bytes4";
                  type: "bytes4";
              }];
              name: "supportsInterface";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "symbol";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "pure";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "tokenURI";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "id";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "transferFrom";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
              }];
              name: "transferOwnership";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_token";
                  internalType: "address";
                  type: "address";
              }];
              name: "withdrawERC20";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_tokens";
                  internalType: "address[]";
                  type: "address[]";
              }];
              name: "withdrawERC20s";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collection";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "withdrawERC721";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_collections";
                  internalType: "address[]";
                  type: "address[]";
              }, {
                  name: "_tokenIds";
                  internalType: "uint256[]";
                  type: "uint256[]";
              }];
              name: "withdrawERC721s";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_vaultId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "withdrawEth";
              outputs: readonly [];
          }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn")[]
              ? TFunctionName[number]
              : TFunctionName>