Vaults module class

Param: config

SDK configuration

Param: config.chainId

SupportedChainId

Param: config.publicClient

Public Client

Param: config.graphClient

GraphQl Client

Param: config.oracleClients

Oracle Clients

Param: config.walletClient

Wallet Client

Param: config.operatingFor

If set, the module will read data and send multi-invoker transactions on behalf of this address.

Returns

Vaults module instance

Constructors

Properties

Accessors

Constructors

Properties

config: VaultConfig
defaultAddress: `0x${string}` = zeroAddress

Accessors

  • get build(): {
        claim: ((args) => Promise<{
            data: `0x${string}`;
            to: `0x${string}`;
            value: bigint;
        }>);
        deposit: ((args) => Promise<{
            data: `0x${string}`;
            to: `0x${string}`;
            value: bigint;
        }>);
        redeem: ((args) => Promise<{
            data: `0x${string}`;
            to: `0x${string}`;
            value: bigint;
        }>);
    }
  • Returns {
        claim: ((args) => Promise<{
            data: `0x${string}`;
            to: `0x${string}`;
            value: bigint;
        }>);
        deposit: ((args) => Promise<{
            data: `0x${string}`;
            to: `0x${string}`;
            value: bigint;
        }>);
        redeem: ((args) => Promise<{
            data: `0x${string}`;
            to: `0x${string}`;
            value: bigint;
        }>);
    }

    • claim: ((args) => Promise<{
          data: `0x${string}`;
          to: `0x${string}`;
          value: bigint;
      }>)

      Build a transaction to claim rewards from a vault

      Returns

      Vault claim transaction data.

        • (args): Promise<{
              data: `0x${string}`;
              to: `0x${string}`;
              value: bigint;
          }>
        • Returns Promise<{
              data: `0x${string}`;
              to: `0x${string}`;
              value: bigint;
          }>

    • deposit: ((args) => Promise<{
          data: `0x${string}`;
          to: `0x${string}`;
          value: bigint;
      }>)

      Build a transaction to deposit into a vault

      Returns

      Vault deposit transaction data.

        • (args): Promise<{
              data: `0x${string}`;
              to: `0x${string}`;
              value: bigint;
          }>
        • Returns Promise<{
              data: `0x${string}`;
              to: `0x${string}`;
              value: bigint;
          }>

    • redeem: ((args) => Promise<{
          data: `0x${string}`;
          to: `0x${string}`;
          value: bigint;
      }>)

      Build a transaction to redeem shares from a vault

        • (args): Promise<{
              data: `0x${string}`;
              to: `0x${string}`;
              value: bigint;
          }>
        • Returns Promise<{
              data: `0x${string}`;
              to: `0x${string}`;
              value: bigint;
          }>

  • get read(): {
        vaultCommitments: ((args) => Promise<{
            commitAction: {
                action: number;
                args: `0x${string}`;
            };
            value: bigint;
        }[]>);
        vaultPositionHistory: ((args?) => Promise<Record<PerennialVaultType, {
            claims: Log<bigint, number, false, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }, true, [{
                anonymous: false;
                inputs: readonly [{
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }];
                name: "Updated";
                type: "event";
            }], "Updated">[];
            currentPositionClaims: bigint;
            currentPositionDeposits: bigint;
            deposits: Log<bigint, number, false, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }, true, [{
                anonymous: false;
                inputs: readonly [{
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }];
                name: "Updated";
                type: "event";
            }], "Updated">[];
            logs: GetLogsReturnType<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }, [{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }], true, 0n, "latest">;
            redeems: Log<bigint, number, false, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }, true, [{
                anonymous: false;
                inputs: readonly [{
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }];
                name: "Updated";
                type: "event";
            }], "Updated">[];
            vault: PerennialVaultType;
            vaultAddress: `0x${string}`;
        }>>);
        vaultSnapshots: ((args?) => Promise<undefined | {
            commitments: readonly `0x${string}`[];
            settles: readonly `0x${string}`[];
            updates: readonly `0x${string}`[];
            user: undefined | {
                alpha: undefined | VaultAccountSnapshot;
                bravo: undefined | VaultAccountSnapshot;
            };
            vault: {
                alpha: undefined | VaultSnapshot;
                bravo: undefined | VaultSnapshot;
            };
        }>);
    }
  • Returns {
        vaultCommitments: ((args) => Promise<{
            commitAction: {
                action: number;
                args: `0x${string}`;
            };
            value: bigint;
        }[]>);
        vaultPositionHistory: ((args?) => Promise<Record<PerennialVaultType, {
            claims: Log<bigint, number, false, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }, true, [{
                anonymous: false;
                inputs: readonly [{
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }];
                name: "Updated";
                type: "event";
            }], "Updated">[];
            currentPositionClaims: bigint;
            currentPositionDeposits: bigint;
            deposits: Log<bigint, number, false, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }, true, [{
                anonymous: false;
                inputs: readonly [{
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }];
                name: "Updated";
                type: "event";
            }], "Updated">[];
            logs: GetLogsReturnType<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }, [{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }], true, 0n, "latest">;
            redeems: Log<bigint, number, false, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                }, {
                    indexed: false;
                    internalType: "uint256";
                    name: "version";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "depositAssets";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "redeemShares";
                    type: "uint256";
                }, {
                    indexed: false;
                    internalType: "UFixed6";
                    name: "claimAssets";
                    type: "uint256";
                }];
                name: "Updated";
                type: "event";
            }, true, [{
                anonymous: false;
                inputs: readonly [{
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }, {
                    indexed: ...;
                    internalType: ...;
                    name: ...;
                    type: ...;
                }];
                name: "Updated";
                type: "event";
            }], "Updated">[];
            vault: PerennialVaultType;
            vaultAddress: `0x${string}`;
        }>>);
        vaultSnapshots: ((args?) => Promise<undefined | {
            commitments: readonly `0x${string}`[];
            settles: readonly `0x${string}`[];
            updates: readonly `0x${string}`[];
            user: undefined | {
                alpha: undefined | VaultAccountSnapshot;
                bravo: undefined | VaultAccountSnapshot;
            };
            vault: {
                alpha: undefined | VaultSnapshot;
                bravo: undefined | VaultSnapshot;
            };
        }>);
    }

    • vaultCommitments: ((args) => Promise<{
          commitAction: {
              action: number;
              args: `0x${string}`;
          };
          value: bigint;
      }[]>)

      Fetches the vault commitments

      Returns

      The vault commitments.

        • (args): Promise<{
              commitAction: {
                  action: number;
                  args: `0x${string}`;
              };
              value: bigint;
          }[]>
        • Parameters

          • args: OmitBound<{
                chainId: 1424 | 42161 | 60850 | 421614;
                marketOracles: SupportedMarketMapping<{
                    commitmentGasOracle: `0x${string}`;
                    id: `0x${string}`;
                    market: SupportedMarket;
                    marketAddress: `0x${string}`;
                    maxSettlementFee: bigint;
                    minValidTime: bigint;
                    oracleAddress: `0x${string}`;
                    oracleFactoryAddress: `0x${string}`;
                    oracleName: string;
                    settlementGasOracle: `0x${string}`;
                    staleAfter: bigint;
                    subOracleAddress: `0x${string}`;
                    subOracleFactoryAddress: `0x${string}`;
                    subOracleFactoryType: string;
                    underlyingId: `0x${string}`;
                }>;
                oracleClients: OracleClients;
                preMarketSnapshots: readonly {
                    currentOracleVersion: bigint;
                    global: {
                        currentId: bigint;
                        exposure: bigint;
                        latestId: bigint;
                        latestPrice: bigint;
                        oracleFee: bigint;
                        pAccumulator: {
                            _skew: bigint;
                            _value: bigint;
                        };
                        protocolFee: bigint;
                        riskFee: bigint;
                    };
                    latestOracleVersion: {
                        price: bigint;
                        timestamp: bigint;
                        valid: boolean;
                    };
                    marketAddress: `0x${string}`;
                    nextPosition: {
                        long: bigint;
                        maker: bigint;
                        short: bigint;
                        timestamp: bigint;
                    };
                    oracle: `0x${string}`;
                    parameter: {
                        closed: boolean;
                        fundingFee: bigint;
                        interestFee: bigint;
                        makerFee: bigint;
                        maxPendingGlobal: bigint;
                        maxPendingLocal: bigint;
                        maxPriceDeviation: bigint;
                        riskFee: bigint;
                        settle: boolean;
                        takerFee: bigint;
                    };
                    pendingOrder: {
                        collateral: bigint;
                        longNeg: bigint;
                        longPos: bigint;
                        makerNeg: bigint;
                        makerPos: bigint;
                        makerReferral: bigint;
                        orders: bigint;
                        protection: bigint;
                        shortNeg: bigint;
                        shortPos: bigint;
                        takerReferral: bigint;
                        timestamp: bigint;
                    };
                    pendingPositions: readonly {
                        long: bigint;
                        maker: bigint;
                        short: bigint;
                        timestamp: bigint;
                    }[];
                    position: {
                        long: bigint;
                        maker: bigint;
                        short: bigint;
                        timestamp: bigint;
                    };
                    riskParameter: {
                        efficiencyLimit: bigint;
                        liquidationFee: bigint;
                        maintenance: bigint;
                        makerFee: {
                            linearFee: bigint;
                            proportionalFee: bigint;
                            scale: bigint;
                        };
                        makerLimit: bigint;
                        makerReceiveOnly: boolean;
                        margin: bigint;
                        minMaintenance: bigint;
                        minMargin: bigint;
                        pController: {
                            k: bigint;
                            max: bigint;
                            min: bigint;
                        };
                        staleAfter: bigint;
                        takerFee: {
                            adiabaticFee: bigint;
                            linearFee: bigint;
                            proportionalFee: bigint;
                            scale: bigint;
                        };
                        utilizationCurve: {
                            maxRate: bigint;
                            minRate: bigint;
                            targetRate: bigint;
                            targetUtilization: bigint;
                        };
                    };
                    versions: readonly {
                        liquidationFee: {
                            _value: bigint;
                        };
                        longValue: {
                            _value: bigint;
                        };
                        makerFee: {
                            _value: bigint;
                        };
                        makerOffset: {
                            _value: bigint;
                        };
                        makerValue: {
                            _value: bigint;
                        };
                        price: bigint;
                        settlementFee: {
                            _value: bigint;
                        };
                        shortValue: {
                            _value: bigint;
                        };
                        takerFee: {
                            _value: bigint;
                        };
                        takerNegOffset: {
                            _value: bigint;
                        };
                        takerPosOffset: {
                            _value: bigint;
                        };
                        valid: boolean;
                    }[];
                }[];
                publicClient: {
                    account: undefined;
                    batch?: {
                        multicall?: boolean | {
                            batchSize?: number;
                            wait?: number;
                        };
                    };
                    cacheTime: number;
                    call: ((parameters) => Promise<CallReturnType>);
                    ccipRead?: false | {
                        request?: ((parameters) => Promise<`0x${(...)}`>);
                    };
                    chain: undefined | Chain;
                    createBlockFilter: (() => Promise<{
                        id: `0x${string}`;
                        request: EIP1193RequestFn<readonly [{
                            Method: ...;
                            Parameters: ...;
                            ReturnType: ...;
                        }, {
                            Method: ...;
                            Parameters: ...;
                            ReturnType: ...;
                        }, {
                            Method: ...;
                            Parameters: ...;
                            ReturnType: ...;
                        }]>;
                        type: "block";
                    }>);
                    createContractEventFilter: (<const TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>(args) => Promise<CreateContractEventFilterReturnType<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>>);
                    createEventFilter: (<const TAbiEvent, const TAbiEvents, TStrict, TFromBlock, TToBlock, _EventName, _Args>(args?) => Promise<{
                        [K in string | number | symbol]: Filter<"event", TAbiEvents, _EventName, _Args, TStrict, TFromBlock, TToBlock>[K]
                    }>);
                    createPendingTransactionFilter: (() => Promise<{
                        id: `0x${string}`;
                        request: EIP1193RequestFn<readonly [{
                            Method: ...;
                            Parameters: ...;
                            ReturnType: ...;
                        }, {
                            Method: ...;
                            Parameters: ...;
                            ReturnType: ...;
                        }, {
                            Method: ...;
                            Parameters: ...;
                            ReturnType: ...;
                        }]>;
                        type: "transaction";
                    }>);
                    estimateContractGas: (<TChain, const abi, functionName, args>(args) => Promise<bigint>);
                    estimateFeesPerGas: (<TChainOverride, TType>(args?) => Promise<EstimateFeesPerGasReturnType>);
                    estimateGas: ((args) => Promise<bigint>);
                    estimateMaxPriorityFeePerGas: (<TChainOverride>(args?) => Promise<bigint>);
                    extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined, PublicRpcSchema, {
                        [K in string | number | symbol]: client[K]
                    } & PublicActions<Transport, undefined | Chain>>);
                    getBalance: ((args) => Promise<bigint>);
                    getBlobBaseFee: (() => Promise<bigint>);
                    getBlock: (<TIncludeTransactions, TBlockTag>(args?) => Promise<{
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: TBlockTag extends "pending"
                            ? null
                            : `0x${string}`;
                        logsBloom: TBlockTag extends "pending"
                            ? null
                            : `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: TBlockTag extends "pending"
                            ? null
                            : `0x${string}`;
                        number: TBlockTag extends "pending"
                            ? null
                            : bigint;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: TIncludeTransactions extends true
                            ? ((...) | (...) | (...) | (...))[]
                            : `0x${(...)}`[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    }>);
                    getBlockNumber: ((args?) => Promise<bigint>);
                    getBlockTransactionCount: ((args?) => Promise<number>);
                    getBytecode: ((args) => Promise<GetBytecodeReturnType>);
                    getChainId: (() => Promise<number>);
                    getContractEvents: (<const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>);
                    getEnsAddress: ((args) => Promise<GetEnsAddressReturnType>);
                    getEnsAvatar: ((args) => Promise<GetEnsAvatarReturnType>);
                    getEnsName: ((args) => Promise<GetEnsNameReturnType>);
                    getEnsResolver: ((args) => Promise<`0x${string}`>);
                    getEnsText: ((args) => Promise<GetEnsTextReturnType>);
                    getFeeHistory: ((args) => Promise<GetFeeHistoryReturnType>);
                    getFilterChanges: (<TFilterType, const TAbi, TEventName, TStrict, TFromBlock, TToBlock>(args) => Promise<GetFilterChangesReturnType<TFilterType, TAbi, TEventName, TStrict, TFromBlock, TToBlock>>);
                    getFilterLogs: (<const TAbi, TEventName, TStrict, TFromBlock, TToBlock>(args) => Promise<GetFilterLogsReturnType<TAbi, TEventName, TStrict, TFromBlock, TToBlock>>);
                    getGasPrice: (() => Promise<bigint>);
                    getLogs: (<const TAbiEvent, const TAbiEvents, TStrict, TFromBlock, TToBlock>(args?) => Promise<GetLogsReturnType<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock>>);
                    getProof: ((args) => Promise<GetProofReturnType>);
                    getStorageAt: ((args) => Promise<GetStorageAtReturnType>);
                    getTransaction: (<TBlockTag>(args) => Promise<{
                        accessList?: undefined;
                        blobVersionedHashes?: undefined;
                        blockHash: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : `0x${(...)}`;
                        blockNumber: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : bigint;
                        chainId?: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice: bigint;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas?: undefined;
                        maxPriorityFeePerGas?: undefined;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${(...)}`;
                        transactionIndex: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : number;
                        type: "legacy";
                        typeHex: null | `0x${(...)}`;
                        v: bigint;
                        value: bigint;
                        yParity?: undefined;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes?: undefined;
                        blockHash: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : `0x${(...)}`;
                        blockNumber: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : bigint;
                        chainId: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice: bigint;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas?: undefined;
                        maxPriorityFeePerGas?: undefined;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${(...)}`;
                        transactionIndex: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : number;
                        type: "eip2930";
                        typeHex: null | `0x${(...)}`;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes?: undefined;
                        blockHash: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : `0x${(...)}`;
                        blockNumber: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : bigint;
                        chainId: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${(...)}`;
                        transactionIndex: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : number;
                        type: "eip1559";
                        typeHex: null | `0x${(...)}`;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes: `0x${(...)}`[];
                        blockHash: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : `0x${(...)}`;
                        blockNumber: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : bigint;
                        chainId: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${(...)}`;
                        transactionIndex: ((...) extends (...)
                                ? (...)
                                : (...)) extends true
                            ? null
                            : number;
                        type: "eip4844";
                        typeHex: null | `0x${(...)}`;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    }>);
                    getTransactionConfirmations: ((args) => Promise<bigint>);
                    getTransactionCount: ((args) => Promise<number>);
                    getTransactionReceipt: ((args) => Promise<TransactionReceipt>);
                    key: string;
                    multicall: (<const contracts, allowFailure>(args) => Promise<MulticallReturnType<contracts, allowFailure>>);
                    name: string;
                    pollingInterval: number;
                    prepareTransactionRequest: (<const TRequest, TChainOverride, TAccountOverride>(args) => Promise<{
                        [K in string | number | symbol]: (UnionRequiredBy<(...), (...)> & ((...) extends (...)
                            ? (...)
                            : (...)))[K]
                    }>);
                    readContract: (<const abi, functionName, args>(args) => Promise<ReadContractReturnType<abi, functionName, args>>);
                    request: EIP1193RequestFn<PublicRpcSchema>;
                    sendRawTransaction: ((args) => Promise<`0x${string}`>);
                    simulateContract: (<const abi, functionName, args, chainOverride, accountOverride>(args) => Promise<SimulateContractReturnType<abi, functionName, args, undefined | Chain, undefined | Account, chainOverride, accountOverride>>);
                    transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
                    type: string;
                    uid: string;
                    uninstallFilter: ((args) => Promise<boolean>);
                    verifyMessage: ((args) => Promise<boolean>);
                    verifyTypedData: ((args) => Promise<boolean>);
                    waitForTransactionReceipt: ((args) => Promise<TransactionReceipt>);
                    watchBlockNumber: ((args) => WatchBlockNumberReturnType);
                    watchBlocks: (<TIncludeTransactions, TBlockTag>(args) => WatchBlocksReturnType);
                    watchContractEvent: (<const TAbi, TEventName, TStrict>(args) => WatchContractEventReturnType);
                    watchEvent: (<const TAbiEvent, const TAbiEvents, TStrict>(args) => WatchEventReturnType);
                    watchPendingTransactions: ((args) => WatchPendingTransactionsReturnType);
                };
            }>

          Returns Promise<{
              commitAction: {
                  action: number;
                  args: `0x${string}`;
              };
              value: bigint;
          }[]>

    • vaultPositionHistory: ((args?) => Promise<Record<PerennialVaultType, {
          claims: Log<bigint, number, false, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  internalType: "address";
                  name: "sender";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "uint256";
                  name: "version";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "depositAssets";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "redeemShares";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "claimAssets";
                  type: "uint256";
              }];
              name: "Updated";
              type: "event";
          }, true, [{
              anonymous: false;
              inputs: readonly [{
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }];
              name: "Updated";
              type: "event";
          }], "Updated">[];
          currentPositionClaims: bigint;
          currentPositionDeposits: bigint;
          deposits: Log<bigint, number, false, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  internalType: "address";
                  name: "sender";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "uint256";
                  name: "version";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "depositAssets";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "redeemShares";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "claimAssets";
                  type: "uint256";
              }];
              name: "Updated";
              type: "event";
          }, true, [{
              anonymous: false;
              inputs: readonly [{
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }];
              name: "Updated";
              type: "event";
          }], "Updated">[];
          logs: GetLogsReturnType<{
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  internalType: "address";
                  name: "sender";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "uint256";
                  name: "version";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "depositAssets";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "redeemShares";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "claimAssets";
                  type: "uint256";
              }];
              name: "Updated";
              type: "event";
          }, [{
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  internalType: "address";
                  name: "sender";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "uint256";
                  name: "version";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "depositAssets";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "redeemShares";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "claimAssets";
                  type: "uint256";
              }];
              name: "Updated";
              type: "event";
          }], true, 0n, "latest">;
          redeems: Log<bigint, number, false, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  internalType: "address";
                  name: "sender";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "uint256";
                  name: "version";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "depositAssets";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "redeemShares";
                  type: "uint256";
              }, {
                  indexed: false;
                  internalType: "UFixed6";
                  name: "claimAssets";
                  type: "uint256";
              }];
              name: "Updated";
              type: "event";
          }, true, [{
              anonymous: false;
              inputs: readonly [{
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }, {
                  indexed: ...;
                  internalType: ...;
                  name: ...;
                  type: ...;
              }];
              name: "Updated";
              type: "event";
          }], "Updated">[];
          vault: PerennialVaultType;
          vaultAddress: `0x${string}`;
      }>>)

      Fetches the vault position history

      Returns

      The vault position history.

        • (args?): Promise<Record<PerennialVaultType, {
              claims: Log<bigint, number, false, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }, true, [{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }];
                  name: "Updated";
                  type: "event";
              }], "Updated">[];
              currentPositionClaims: bigint;
              currentPositionDeposits: bigint;
              deposits: Log<bigint, number, false, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }, true, [{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }];
                  name: "Updated";
                  type: "event";
              }], "Updated">[];
              logs: GetLogsReturnType<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }, [{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }], true, 0n, "latest">;
              redeems: Log<bigint, number, false, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }, true, [{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }];
                  name: "Updated";
                  type: "event";
              }], "Updated">[];
              vault: PerennialVaultType;
              vaultAddress: `0x${string}`;
          }>>
        • Parameters

          • args: OmitBound<{
                address: `0x${string}`;
                chainId: 1424 | 42161 | 60850 | 421614;
                publicClient: {
                    account: undefined;
                    batch?: {
                        multicall?: boolean | {
                            batchSize?: (...) | (...);
                            wait?: (...) | (...);
                        };
                    };
                    cacheTime: number;
                    call: ((parameters) => Promise<CallReturnType>);
                    ccipRead?: false | {
                        request?: ((parameters) => Promise<(...)>);
                    };
                    chain: undefined | Chain;
                    createBlockFilter: (() => Promise<{
                        id: `0x${string}`;
                        request: EIP1193RequestFn<readonly [(...), (...), (...)]>;
                        type: "block";
                    }>);
                    createContractEventFilter: (<const TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>(args) => Promise<CreateContractEventFilterReturnType<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>>);
                    createEventFilter: (<const TAbiEvent, const TAbiEvents, TStrict, TFromBlock, TToBlock, _EventName, _Args>(args?) => Promise<{
                        [K in string | number | symbol]: Filter<(...), (...), (...), (...), (...), (...), (...)>[K]
                    }>);
                    createPendingTransactionFilter: (() => Promise<{
                        id: `0x${string}`;
                        request: EIP1193RequestFn<readonly [(...), (...), (...)]>;
                        type: "transaction";
                    }>);
                    estimateContractGas: (<TChain, const abi, functionName, args>(args) => Promise<bigint>);
                    estimateFeesPerGas: (<TChainOverride, TType>(args?) => Promise<EstimateFeesPerGasReturnType>);
                    estimateGas: ((args) => Promise<bigint>);
                    estimateMaxPriorityFeePerGas: (<TChainOverride>(args?) => Promise<bigint>);
                    extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined, PublicRpcSchema, {
                        [K in (...) | (...) | (...)]: (...)[(...)]
                    } & PublicActions<Transport, (...) | (...)>>);
                    getBalance: ((args) => Promise<bigint>);
                    getBlobBaseFee: (() => Promise<bigint>);
                    getBlock: (<TIncludeTransactions, TBlockTag>(args?) => Promise<{
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: TBlockTag extends "pending"
                            ? null
                            : `0x${(...)}`;
                        logsBloom: TBlockTag extends "pending"
                            ? null
                            : `0x${(...)}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: TBlockTag extends "pending"
                            ? null
                            : `0x${(...)}`;
                        number: TBlockTag extends "pending"
                            ? null
                            : bigint;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${(...)}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: TIncludeTransactions extends true
                            ? (...)[]
                            : (...)[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${(...)}`[];
                        withdrawals?: (...)[];
                        withdrawalsRoot?: `0x${(...)}`;
                    }>);
                    getBlockNumber: ((args?) => Promise<bigint>);
                    getBlockTransactionCount: ((args?) => Promise<number>);
                    getBytecode: ((args) => Promise<GetBytecodeReturnType>);
                    getChainId: (() => Promise<number>);
                    getContractEvents: (<const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>);
                    getEnsAddress: ((args) => Promise<GetEnsAddressReturnType>);
                    getEnsAvatar: ((args) => Promise<GetEnsAvatarReturnType>);
                    getEnsName: ((args) => Promise<GetEnsNameReturnType>);
                    getEnsResolver: ((args) => Promise<`0x${string}`>);
                    getEnsText: ((args) => Promise<GetEnsTextReturnType>);
                    getFeeHistory: ((args) => Promise<GetFeeHistoryReturnType>);
                    getFilterChanges: (<TFilterType, const TAbi, TEventName, TStrict, TFromBlock, TToBlock>(args) => Promise<GetFilterChangesReturnType<TFilterType, TAbi, TEventName, TStrict, TFromBlock, TToBlock>>);
                    getFilterLogs: (<const TAbi, TEventName, TStrict, TFromBlock, TToBlock>(args) => Promise<GetFilterLogsReturnType<TAbi, TEventName, TStrict, TFromBlock, TToBlock>>);
                    getGasPrice: (() => Promise<bigint>);
                    getLogs: (<const TAbiEvent, const TAbiEvents, TStrict, TFromBlock, TToBlock>(args?) => Promise<GetLogsReturnType<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock>>);
                    getProof: ((args) => Promise<GetProofReturnType>);
                    getStorageAt: ((args) => Promise<GetStorageAtReturnType>);
                    getTransaction: (<TBlockTag>(args) => Promise<{
                        accessList?: undefined;
                        blobVersionedHashes?: undefined;
                        blockHash: (...) extends (...)
                            ? (...)
                            : (...);
                        blockNumber: (...) extends (...)
                            ? (...)
                            : (...);
                        chainId?: (...) | (...);
                        from: `0x${(...)}`;
                        gas: bigint;
                        gasPrice: bigint;
                        hash: `0x${(...)}`;
                        input: `0x${(...)}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas?: undefined;
                        maxPriorityFeePerGas?: undefined;
                        nonce: number;
                        r: `0x${(...)}`;
                        s: `0x${(...)}`;
                        to: (...) | (...);
                        transactionIndex: (...) extends (...)
                            ? (...)
                            : (...);
                        type: "legacy";
                        typeHex: (...) | (...);
                        v: bigint;
                        value: bigint;
                        yParity?: undefined;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes?: undefined;
                        blockHash: (...) extends (...)
                            ? (...)
                            : (...);
                        blockNumber: (...) extends (...)
                            ? (...)
                            : (...);
                        chainId: number;
                        from: `0x${(...)}`;
                        gas: bigint;
                        gasPrice: bigint;
                        hash: `0x${(...)}`;
                        input: `0x${(...)}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas?: undefined;
                        maxPriorityFeePerGas?: undefined;
                        nonce: number;
                        r: `0x${(...)}`;
                        s: `0x${(...)}`;
                        to: (...) | (...);
                        transactionIndex: (...) extends (...)
                            ? (...)
                            : (...);
                        type: "eip2930";
                        typeHex: (...) | (...);
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes?: undefined;
                        blockHash: (...) extends (...)
                            ? (...)
                            : (...);
                        blockNumber: (...) extends (...)
                            ? (...)
                            : (...);
                        chainId: number;
                        from: `0x${(...)}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${(...)}`;
                        input: `0x${(...)}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${(...)}`;
                        s: `0x${(...)}`;
                        to: (...) | (...);
                        transactionIndex: (...) extends (...)
                            ? (...)
                            : (...);
                        type: "eip1559";
                        typeHex: (...) | (...);
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes: (...)[];
                        blockHash: (...) extends (...)
                            ? (...)
                            : (...);
                        blockNumber: (...) extends (...)
                            ? (...)
                            : (...);
                        chainId: number;
                        from: `0x${(...)}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${(...)}`;
                        input: `0x${(...)}`;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${(...)}`;
                        s: `0x${(...)}`;
                        to: (...) | (...);
                        transactionIndex: (...) extends (...)
                            ? (...)
                            : (...);
                        type: "eip4844";
                        typeHex: (...) | (...);
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    }>);
                    getTransactionConfirmations: ((args) => Promise<bigint>);
                    getTransactionCount: ((args) => Promise<number>);
                    getTransactionReceipt: ((args) => Promise<TransactionReceipt>);
                    key: string;
                    multicall: (<const contracts, allowFailure>(args) => Promise<MulticallReturnType<contracts, allowFailure>>);
                    name: string;
                    pollingInterval: number;
                    prepareTransactionRequest: (<const TRequest, TChainOverride, TAccountOverride>(args) => Promise<{
                        [K in string | number | symbol]: ((...) & (...))[K]
                    }>);
                    readContract: (<const abi, functionName, args>(args) => Promise<ReadContractReturnType<abi, functionName, args>>);
                    request: EIP1193RequestFn<PublicRpcSchema>;
                    sendRawTransaction: ((args) => Promise<`0x${string}`>);
                    simulateContract: (<const abi, functionName, args, chainOverride, accountOverride>(args) => Promise<SimulateContractReturnType<abi, functionName, args, undefined | Chain, undefined | Account, chainOverride, accountOverride>>);
                    transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
                    type: string;
                    uid: string;
                    uninstallFilter: ((args) => Promise<boolean>);
                    verifyMessage: ((args) => Promise<boolean>);
                    verifyTypedData: ((args) => Promise<boolean>);
                    waitForTransactionReceipt: ((args) => Promise<TransactionReceipt>);
                    watchBlockNumber: ((args) => WatchBlockNumberReturnType);
                    watchBlocks: (<TIncludeTransactions, TBlockTag>(args) => WatchBlocksReturnType);
                    watchContractEvent: (<const TAbi, TEventName, TStrict>(args) => WatchContractEventReturnType);
                    watchEvent: (<const TAbiEvent, const TAbiEvents, TStrict>(args) => WatchEventReturnType);
                    watchPendingTransactions: ((args) => WatchPendingTransactionsReturnType);
                };
            }> & OptionalAddress = {}

          Returns Promise<Record<PerennialVaultType, {
              claims: Log<bigint, number, false, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }, true, [{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }];
                  name: "Updated";
                  type: "event";
              }], "Updated">[];
              currentPositionClaims: bigint;
              currentPositionDeposits: bigint;
              deposits: Log<bigint, number, false, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }, true, [{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }];
                  name: "Updated";
                  type: "event";
              }], "Updated">[];
              logs: GetLogsReturnType<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }, [{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }], true, 0n, "latest">;
              redeems: Log<bigint, number, false, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      internalType: "address";
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "uint256";
                      name: "version";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "depositAssets";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "redeemShares";
                      type: "uint256";
                  }, {
                      indexed: false;
                      internalType: "UFixed6";
                      name: "claimAssets";
                      type: "uint256";
                  }];
                  name: "Updated";
                  type: "event";
              }, true, [{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }, {
                      indexed: ...;
                      internalType: ...;
                      name: ...;
                      type: ...;
                  }];
                  name: "Updated";
                  type: "event";
              }], "Updated">[];
              vault: PerennialVaultType;
              vaultAddress: `0x${string}`;
          }>>

    • vaultSnapshots: ((args?) => Promise<undefined | {
          commitments: readonly `0x${string}`[];
          settles: readonly `0x${string}`[];
          updates: readonly `0x${string}`[];
          user: undefined | {
              alpha: undefined | VaultAccountSnapshot;
              bravo: undefined | VaultAccountSnapshot;
          };
          vault: {
              alpha: undefined | VaultSnapshot;
              bravo: undefined | VaultSnapshot;
          };
      }>)

      Fetches the vault snapshots

      Returns

      VaultSnapshots

        • (args?): Promise<undefined | {
              commitments: readonly `0x${string}`[];
              settles: readonly `0x${string}`[];
              updates: readonly `0x${string}`[];
              user: undefined | {
                  alpha: undefined | VaultAccountSnapshot;
                  bravo: undefined | VaultAccountSnapshot;
              };
              vault: {
                  alpha: undefined | VaultSnapshot;
                  bravo: undefined | VaultSnapshot;
              };
          }>
        • Parameters

          • args: OmitBound<{
                address: `0x${string}`;
                chainId: 1424 | 42161 | 60850 | 421614;
                marketOracles?: SupportedMarketMapping<{
                    commitmentGasOracle: `0x${string}`;
                    id: `0x${string}`;
                    market: SupportedMarket;
                    marketAddress: `0x${string}`;
                    maxSettlementFee: bigint;
                    minValidTime: bigint;
                    oracleAddress: `0x${string}`;
                    oracleFactoryAddress: `0x${string}`;
                    oracleName: string;
                    settlementGasOracle: `0x${string}`;
                    staleAfter: bigint;
                    subOracleAddress: `0x${string}`;
                    subOracleFactoryAddress: `0x${string}`;
                    subOracleFactoryType: string;
                    underlyingId: `0x${string}`;
                }>;
                onError?: (() => void);
                onSuccess?: (() => void);
                oracleClients: OracleClients;
                publicClient: {
                    account: undefined;
                    batch?: {
                        multicall?: boolean | {
                            batchSize?: (...) | (...);
                            wait?: (...) | (...);
                        };
                    };
                    cacheTime: number;
                    call: ((parameters) => Promise<CallReturnType>);
                    ccipRead?: false | {
                        request?: ((parameters) => Promise<(...)>);
                    };
                    chain: undefined | Chain;
                    createBlockFilter: (() => Promise<{
                        id: `0x${string}`;
                        request: EIP1193RequestFn<readonly [(...), (...), (...)]>;
                        type: "block";
                    }>);
                    createContractEventFilter: (<const TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>(args) => Promise<CreateContractEventFilterReturnType<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>>);
                    createEventFilter: (<const TAbiEvent, const TAbiEvents, TStrict, TFromBlock, TToBlock, _EventName, _Args>(args?) => Promise<{
                        [K in string | number | symbol]: Filter<(...), (...), (...), (...), (...), (...), (...)>[K]
                    }>);
                    createPendingTransactionFilter: (() => Promise<{
                        id: `0x${string}`;
                        request: EIP1193RequestFn<readonly [(...), (...), (...)]>;
                        type: "transaction";
                    }>);
                    estimateContractGas: (<TChain, const abi, functionName, args>(args) => Promise<bigint>);
                    estimateFeesPerGas: (<TChainOverride, TType>(args?) => Promise<EstimateFeesPerGasReturnType>);
                    estimateGas: ((args) => Promise<bigint>);
                    estimateMaxPriorityFeePerGas: (<TChainOverride>(args?) => Promise<bigint>);
                    extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined, PublicRpcSchema, {
                        [K in (...) | (...) | (...)]: (...)[(...)]
                    } & PublicActions<Transport, (...) | (...)>>);
                    getBalance: ((args) => Promise<bigint>);
                    getBlobBaseFee: (() => Promise<bigint>);
                    getBlock: (<TIncludeTransactions, TBlockTag>(args?) => Promise<{
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: TBlockTag extends "pending"
                            ? null
                            : `0x${(...)}`;
                        logsBloom: TBlockTag extends "pending"
                            ? null
                            : `0x${(...)}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: TBlockTag extends "pending"
                            ? null
                            : `0x${(...)}`;
                        number: TBlockTag extends "pending"
                            ? null
                            : bigint;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${(...)}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: TIncludeTransactions extends true
                            ? (...)[]
                            : (...)[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${(...)}`[];
                        withdrawals?: (...)[];
                        withdrawalsRoot?: `0x${(...)}`;
                    }>);
                    getBlockNumber: ((args?) => Promise<bigint>);
                    getBlockTransactionCount: ((args?) => Promise<number>);
                    getBytecode: ((args) => Promise<GetBytecodeReturnType>);
                    getChainId: (() => Promise<number>);
                    getContractEvents: (<const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>);
                    getEnsAddress: ((args) => Promise<GetEnsAddressReturnType>);
                    getEnsAvatar: ((args) => Promise<GetEnsAvatarReturnType>);
                    getEnsName: ((args) => Promise<GetEnsNameReturnType>);
                    getEnsResolver: ((args) => Promise<`0x${string}`>);
                    getEnsText: ((args) => Promise<GetEnsTextReturnType>);
                    getFeeHistory: ((args) => Promise<GetFeeHistoryReturnType>);
                    getFilterChanges: (<TFilterType, const TAbi, TEventName, TStrict, TFromBlock, TToBlock>(args) => Promise<GetFilterChangesReturnType<TFilterType, TAbi, TEventName, TStrict, TFromBlock, TToBlock>>);
                    getFilterLogs: (<const TAbi, TEventName, TStrict, TFromBlock, TToBlock>(args) => Promise<GetFilterLogsReturnType<TAbi, TEventName, TStrict, TFromBlock, TToBlock>>);
                    getGasPrice: (() => Promise<bigint>);
                    getLogs: (<const TAbiEvent, const TAbiEvents, TStrict, TFromBlock, TToBlock>(args?) => Promise<GetLogsReturnType<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock>>);
                    getProof: ((args) => Promise<GetProofReturnType>);
                    getStorageAt: ((args) => Promise<GetStorageAtReturnType>);
                    getTransaction: (<TBlockTag>(args) => Promise<{
                        accessList?: undefined;
                        blobVersionedHashes?: undefined;
                        blockHash: (...) extends (...)
                            ? (...)
                            : (...);
                        blockNumber: (...) extends (...)
                            ? (...)
                            : (...);
                        chainId?: (...) | (...);
                        from: `0x${(...)}`;
                        gas: bigint;
                        gasPrice: bigint;
                        hash: `0x${(...)}`;
                        input: `0x${(...)}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas?: undefined;
                        maxPriorityFeePerGas?: undefined;
                        nonce: number;
                        r: `0x${(...)}`;
                        s: `0x${(...)}`;
                        to: (...) | (...);
                        transactionIndex: (...) extends (...)
                            ? (...)
                            : (...);
                        type: "legacy";
                        typeHex: (...) | (...);
                        v: bigint;
                        value: bigint;
                        yParity?: undefined;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes?: undefined;
                        blockHash: (...) extends (...)
                            ? (...)
                            : (...);
                        blockNumber: (...) extends (...)
                            ? (...)
                            : (...);
                        chainId: number;
                        from: `0x${(...)}`;
                        gas: bigint;
                        gasPrice: bigint;
                        hash: `0x${(...)}`;
                        input: `0x${(...)}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas?: undefined;
                        maxPriorityFeePerGas?: undefined;
                        nonce: number;
                        r: `0x${(...)}`;
                        s: `0x${(...)}`;
                        to: (...) | (...);
                        transactionIndex: (...) extends (...)
                            ? (...)
                            : (...);
                        type: "eip2930";
                        typeHex: (...) | (...);
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes?: undefined;
                        blockHash: (...) extends (...)
                            ? (...)
                            : (...);
                        blockNumber: (...) extends (...)
                            ? (...)
                            : (...);
                        chainId: number;
                        from: `0x${(...)}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${(...)}`;
                        input: `0x${(...)}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${(...)}`;
                        s: `0x${(...)}`;
                        to: (...) | (...);
                        transactionIndex: (...) extends (...)
                            ? (...)
                            : (...);
                        type: "eip1559";
                        typeHex: (...) | (...);
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    } | {
                        accessList: AccessList;
                        blobVersionedHashes: (...)[];
                        blockHash: (...) extends (...)
                            ? (...)
                            : (...);
                        blockNumber: (...) extends (...)
                            ? (...)
                            : (...);
                        chainId: number;
                        from: `0x${(...)}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${(...)}`;
                        input: `0x${(...)}`;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${(...)}`;
                        s: `0x${(...)}`;
                        to: (...) | (...);
                        transactionIndex: (...) extends (...)
                            ? (...)
                            : (...);
                        type: "eip4844";
                        typeHex: (...) | (...);
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    }>);
                    getTransactionConfirmations: ((args) => Promise<bigint>);
                    getTransactionCount: ((args) => Promise<number>);
                    getTransactionReceipt: ((args) => Promise<TransactionReceipt>);
                    key: string;
                    multicall: (<const contracts, allowFailure>(args) => Promise<MulticallReturnType<contracts, allowFailure>>);
                    name: string;
                    pollingInterval: number;
                    prepareTransactionRequest: (<const TRequest, TChainOverride, TAccountOverride>(args) => Promise<{
                        [K in string | number | symbol]: ((...) & (...))[K]
                    }>);
                    readContract: (<const abi, functionName, args>(args) => Promise<ReadContractReturnType<abi, functionName, args>>);
                    request: EIP1193RequestFn<PublicRpcSchema>;
                    sendRawTransaction: ((args) => Promise<`0x${string}`>);
                    simulateContract: (<const abi, functionName, args, chainOverride, accountOverride>(args) => Promise<SimulateContractReturnType<abi, functionName, args, undefined | Chain, undefined | Account, chainOverride, accountOverride>>);
                    transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
                    type: string;
                    uid: string;
                    uninstallFilter: ((args) => Promise<boolean>);
                    verifyMessage: ((args) => Promise<boolean>);
                    verifyTypedData: ((args) => Promise<boolean>);
                    waitForTransactionReceipt: ((args) => Promise<TransactionReceipt>);
                    watchBlockNumber: ((args) => WatchBlockNumberReturnType);
                    watchBlocks: (<TIncludeTransactions, TBlockTag>(args) => WatchBlocksReturnType);
                    watchContractEvent: (<const TAbi, TEventName, TStrict>(args) => WatchContractEventReturnType);
                    watchEvent: (<const TAbiEvent, const TAbiEvents, TStrict>(args) => WatchEventReturnType);
                    watchPendingTransactions: ((args) => WatchPendingTransactionsReturnType);
                };
            }> & OptionalAddress = {}

          Returns Promise<undefined | {
              commitments: readonly `0x${string}`[];
              settles: readonly `0x${string}`[];
              updates: readonly `0x${string}`[];
              user: undefined | {
                  alpha: undefined | VaultAccountSnapshot;
                  bravo: undefined | VaultAccountSnapshot;
              };
              vault: {
                  alpha: undefined | VaultSnapshot;
                  bravo: undefined | VaultSnapshot;
              };
          }>

  • get write(): {
        claim: ((...args) => Promise<`0x${string}`>);
        deposit: ((...args) => Promise<`0x${string}`>);
        redeem: ((...args) => Promise<`0x${string}`>);
    }
  • Returns {
        claim: ((...args) => Promise<`0x${string}`>);
        deposit: ((...args) => Promise<`0x${string}`>);
        redeem: ((...args) => Promise<`0x${string}`>);
    }

    • claim: ((...args) => Promise<`0x${string}`>)

      Claim rewards from a vault

      Returns

      Transaction hash

    • deposit: ((...args) => Promise<`0x${string}`>)

      Deposit into a vault

      Returns

      Transaction hash

    • redeem: ((...args) => Promise<`0x${string}`>)

      Redeem shares from a vault

      Returns

      Transaction hash