Class: ReadWriteErc4626Hyperdrive
Hierarchy
-
ReadErc4626HyperdriveMixin
&ReadWriteHyperdrive
<this
>↳
ReadWriteErc4626Hyperdrive
Constructors
constructor
• new ReadWriteErc4626Hyperdrive(options
): ReadWriteErc4626Hyperdrive
Parameters
Name | Type |
---|---|
options | ReadWriteHyperdriveOptions |
Returns
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).constructor
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:28
Properties
contract
• contract: CachedReadWriteContract
<readonly [{ inputs
: readonly [] ; name
: "PERMIT_TYPEHASH"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minLpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minApr"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxApr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "addLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "balanceOf"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "baseToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256[]"
; name
: "ids"
; type
: "uint256[]"
}, { internalType
: "uint256[]"
; name
: "values"
; type
: "uint256[]"
}] ; name
: "batchTransferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxIterations"
; type
: "uint256"
}] ; name
: "checkpoint"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "collectGovernanceFee"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "decimals"
; outputs
: readonly [{ internalType
: "uint8"
; name
: ""
; type
: "uint8"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "domainSeparator"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpoint"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "vaultSharePrice"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.Checkpoint"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpointExposure"
; outputs
: readonly [{ internalType
: "int256"
; name
: ""
; type
: "int256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getMarketState"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "shareReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "bondReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longExposure"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longsOutstanding"
; type
: "uint128"
}, { internalType
: "int128"
; name
: "shareAdjustment"
; type
: "int128"
}, { internalType
: "uint128"
; name
: "shortsOutstanding"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "shortAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "bool"
; name
: "isInitialized"
; type
: "bool"
}, { internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}, { internalType
: "uint112"
; name
: "zombieBaseProceeds"
; type
: "uint112"
}, { internalType
: "uint128"
; name
: "zombieShareReserves"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.MarketState"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolConfig"
; outputs
: readonly [{ components
: readonly [{ internalType
: "contract IERC20"
; name
: "baseToken"
; type
: "address"
}, { internalType
: "contract IERC20"
; name
: "vaultSharesToken"
; type
: "address"
}, { internalType
: "address"
; name
: "linkerFactory"
; type
: "address"
}, { internalType
: "bytes32"
; name
: "linkerCodeHash"
; type
: "bytes32"
}, { internalType
: "uint256"
; name
: "initialVaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumTransactionAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "positionDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "checkpointDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "timeStretch"
; type
: "uint256"
}, { internalType
: "address"
; name
: "governance"
; type
: "address"
}, { internalType
: "address"
; name
: "feeCollector"
; type
: "address"
}, { internalType
: "address"
; name
: "sweepCollector"
; type
: "address"
}, { components
: readonly [{ internalType
: "uint256"
; name
: "curve"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "flat"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "governanceLP"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "governanceZombie"
; type
: "uint256"
}] ; internalType
: "struct IHyperdrive.Fees"
; name
: "fees"
; type
: "tuple"
}] ; internalType
: "struct IHyperdrive.PoolConfig"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolInfo"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint256"
; name
: "shareReserves"
; type
: "uint256"
}, { internalType
: "int256"
; name
: "shareAdjustment"
; type
: "int256"
}, { internalType
: "uint256"
; name
: "zombieBaseProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "zombieShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpTotalSupply"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesReadyToWithdraw"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longExposure"
; type
: "uint256"
}] ; internalType
: "struct IHyperdrive.PoolInfo"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getUncollectedGovernanceFees"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getWithdrawPool"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "readyToWithdraw"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "proceeds"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.WithdrawPool"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_apr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "initialize"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "isApprovedForAll"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_account"
; type
: "address"
}] ; name
: "isPauser"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256[]"
; name
: "_slots"
; type
: "uint256[]"
}] ; name
: "load"
; outputs
: readonly [{ internalType
: "bytes32[]"
; name
: ""
; type
: "bytes32[]"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "name"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "nonces"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_amount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondProceeds"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxDeposit"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "deposit"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "bool"
; name
: "_status"
; type
: "bool"
}] ; name
: "pause"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "perTokenApprovals"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}, { internalType
: "bool"
; name
: "_approved"
; type
: "bool"
}, { internalType
: "uint256"
; name
: "deadline"
; type
: "uint256"
}, { internalType
: "uint8"
; name
: "v"
; type
: "uint8"
}, { internalType
: "bytes32"
; name
: "r"
; type
: "bytes32"
}, { internalType
: "bytes32"
; name
: "s"
; type
: "bytes32"
}] ; name
: "permitForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_withdrawalShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "redeemWithdrawalShares"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesRedeemed"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_lpShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "removeLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalShares"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "setApproval"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "setApprovalBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "setApprovalForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setFeeCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setGovernance"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "who"
; type
: "address"
}, { internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "setPauser"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setSweepCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "contract IERC20"
; name
: "_target"
; type
: "address"
}] ; name
: "sweep"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "symbol"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target0"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target1"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target2"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target3"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target4"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "totalSupply"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "transferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "transferFromBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "vaultSharesToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "AddLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "owner"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "spender"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "Approval"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "account"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "ApprovalForAll"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "basePayment"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "fees"
; type
: "uint256"
}] ; name
: "CollectGovernanceFee"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "uint256"
; name
: "checkpointTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "checkpointVaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedShorts"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedLongs"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "CreateCheckpoint"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newFeeCollector"
; type
: "address"
}] ; name
: "FeeCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newGovernance"
; type
: "address"
}] ; name
: "GovernanceUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "apr"
; type
: "uint256"
}] ; name
: "Initialize"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseProceeds"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: false
; internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}] ; name
: "PauseStatusUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newPauser"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "PauserUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}] ; name
: "RedeemWithdrawalShares"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "RemoveLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "target"
; type
: "address"
}] ; name
: "Sweep"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newSweepCollector"
; type
: "address"
}] ; name
: "SweepCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "from"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "to"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "id"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "TransferSingle"
; type
: "event"
}, { inputs
: readonly [] ; name
: "BatchInputLengthMismatch"
; type
: "error"
}, { inputs
: readonly [] ; name
: "BelowMinimumContribution"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DecreasedPresentValueWhenAddingLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DistributeExcessIdleFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpInvalidExponent"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpiredDeadline"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientBalance"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidApr"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidCheckpointTime"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidERC20Bridge"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidFeeDestination"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidInitialVaultSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidLPSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidPresentValue"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidSignature"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidTimestamp"
; type
: "error"
}, { inputs
: readonly [] ; name
: "LnInvalidInput"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumTransactionAmount"
; type
: "error"
}, { inputs
: readonly [] ; name
: "NotPayable"
; type
: "error"
}, { inputs
: readonly [] ; name
: "OutputLimit"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolAlreadyInitialized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolIsPaused"
; type
: "error"
}, { inputs
: readonly [] ; name
: "RestrictedZeroAddress"
; type
: "error"
}, { inputs
: readonly [{ internalType
: "bytes"
; name
: "data"
; type
: "bytes"
}] ; name
: "ReturnData"
; type
: "error"
}, { inputs
: readonly [] ; name
: "SweepFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "TransferFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "Unauthorized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnexpectedSuccess"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt256"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint112"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsupportedToken"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UpdateLiquidityFailed"
; type
: "error"
}]>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).contract
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:25
contractFactory
• contractFactory: ReadWriteContractFactory
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).contractFactory
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:26
name
• name: string
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).name
Defined in
packages/hyperdrive-js-core/src/model/ReadModel.ts:27
network
• network: Network
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).network
Defined in
packages/hyperdrive-js-core/src/model/ReadModel.ts:28
Methods
addLiquidity
▸ addLiquidity(«destructured»
): Promise
<`0x${string}`>
Adds liquidity to the pool.
Parameters
Name | Type |
---|---|
«destructured» | ReadWriteParams <{ asBase? : boolean ; contribution : bigint ; destination : `0x${string}` ; extraData? : `0x${string}` ; maxAPR : bigint ; minAPR : bigint ; minLpSharePrice : bigint }> |
Returns
Promise
<`0x${string}`>
lpShares The number of LP tokens created
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).addLiquidity
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:321
checkpoint
▸ checkpoint(time
): Promise
<`0x${string}`>
Allows anyone to mint a new checkpoint.
Parameters
Name | Type | Description |
---|---|---|
time | ReadWriteParams <{ time : number }> | The time (in seconds) of the checkpoint to create. |
Returns
Promise
<`0x${string}`>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).checkpoint
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:64
closeLong
▸ closeLong(«destructured»
): Promise
<`0x${string}`>
Closes a long position.
Parameters
Name | Type |
---|---|
«destructured» | ReadWriteParams <{ asBase? : boolean ; bondAmountIn : bigint ; destination : `0x${string}` ; extraData? : `0x${string}` ; maturityTime : bigint ; minAmountOut : bigint }> |
Returns
Promise
<`0x${string}`>
The amount of underlying asset the user receives.
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).closeLong
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:236
closeShort
▸ closeShort(«destructured»
): Promise
<`0x${string}`>
Closes a short position.
Parameters
Name | Type |
---|---|
«destructured» | ReadWriteParams <{ asBase? : boolean ; bondAmountIn : bigint ; destination : `0x${string}` ; extraData? : `0x${string}` ; maturityTime : bigint ; minAmountOut : bigint }> |
Returns
Promise
<`0x${string}`>
The amount of base tokens produced by closing this short
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).closeShort
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:278
getBaseToken
▸ getBaseToken(options?
): Promise
<ReadWriteErc20
| ReadWriteEth
>
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<ReadWriteErc20
| ReadWriteEth
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getBaseToken
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:32
getCheckpoint
▸ getCheckpoint(«destructured»
): Promise
<{ vaultSharePrice
: bigint
}>
Parameters
Name | Type |
---|---|
«destructured» | Object |
› checkpointId | bigint |
› options? | ContractReadOptions |
Returns
Promise
<{ vaultSharePrice
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getCheckpoint
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:125
getCheckpointEvents
▸ getCheckpointEvents(options?
): Promise
<CheckpointEvent
[]>
Parameters
Name | Type |
---|---|
options? | ContractGetEventsOptions <readonly [{ inputs : readonly [] ; name : "PERMIT_TYPEHASH" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_minLpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "_minApr" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxApr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "addLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }] ; name : "balanceOf" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "baseToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" }, { internalType : "uint256[]" ; name : "values" ; type : "uint256[]" }] ; name : "batchTransferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxIterations" ; type : "uint256" }] ; name : "checkpoint" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeLong" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeShort" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "collectGovernanceFee" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "decimals" ; outputs : readonly [{ internalType : "uint8" ; name : "" ; type : "uint8" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "domainSeparator" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpoint" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "vaultSharePrice" ; type : "uint128" }] ; internalType : "struct IHyperdrive.Checkpoint" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpointExposure" ; outputs : readonly [{ internalType : "int256" ; name : "" ; type : "int256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getMarketState" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "shareReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "bondReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "longExposure" ; type : "uint128" }, { internalType : "uint128" ; name : "longsOutstanding" ; type : "uint128" }, { internalType : "int128" ; name : "shareAdjustment" ; type : "int128" }, { internalType : "uint128" ; name : "shortsOutstanding" ; type : "uint128" }, { internalType : "uint128" ; name : "longAverageMaturityTime" ; type : "uint128" }, { internalType : "uint128" ; name : "shortAverageMaturityTime" ; type : "uint128" }, { internalType : "bool" ; name : "isInitialized" ; type : "bool" }, { internalType : "bool" ; name : "isPaused" ; type : "bool" }, { internalType : "uint112" ; name : "zombieBaseProceeds" ; type : "uint112" }, { internalType : "uint128" ; name : "zombieShareReserves" ; type : "uint128" }] ; internalType : "struct IHyperdrive.MarketState" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolConfig" ; outputs : readonly [{ components : readonly [{ internalType : "contract IERC20" ; name : "baseToken" ; type : "address" }, { internalType : "contract IERC20" ; name : "vaultSharesToken" ; type : "address" }, { internalType : "address" ; name : "linkerFactory" ; type : "address" }, { internalType : "bytes32" ; name : "linkerCodeHash" ; type : "bytes32" }, { internalType : "uint256" ; name : "initialVaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumTransactionAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "positionDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "checkpointDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "timeStretch" ; type : "uint256" }, { internalType : "address" ; name : "governance" ; type : "address" }, { internalType : "address" ; name : "feeCollector" ; type : "address" }, { internalType : "address" ; name : "sweepCollector" ; type : "address" }, { components : readonly [{ internalType : "uint256" ; name : "curve" ; type : "uint256" }, { internalType : "uint256" ; name : "flat" ; type : "uint256" }, { internalType : "uint256" ; name : "governanceLP" ; type : "uint256" }, { internalType : "uint256" ; name : "governanceZombie" ; type : "uint256" }] ; internalType : "struct IHyperdrive.Fees" ; name : "fees" ; type : "tuple" }] ; internalType : "struct IHyperdrive.PoolConfig" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolInfo" ; outputs : readonly [{ components : readonly [{ internalType : "uint256" ; name : "shareReserves" ; type : "uint256" }, { internalType : "int256" ; name : "shareAdjustment" ; type : "int256" }, { internalType : "uint256" ; name : "zombieBaseProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "zombieShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "bondReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "lpTotalSupply" ; type : "uint256" }, { internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "longAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "shortsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "shortAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesReadyToWithdraw" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longExposure" ; type : "uint256" }] ; internalType : "struct IHyperdrive.PoolInfo" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getUncollectedGovernanceFees" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getWithdrawPool" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "readyToWithdraw" ; type : "uint128" }, { internalType : "uint128" ; name : "proceeds" ; type : "uint128" }] ; internalType : "struct IHyperdrive.WithdrawPool" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_apr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "initialize" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "isApprovedForAll" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_account" ; type : "address" }] ; name : "isPauser" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256[]" ; name : "_slots" ; type : "uint256[]" }] ; name : "load" ; outputs : readonly [{ internalType : "bytes32[]" ; name : "" ; type : "bytes32[]" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "name" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }] ; name : "nonces" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_amount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openLong" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "bondProceeds" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxDeposit" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openShort" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "deposit" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "bool" ; name : "_status" ; type : "bool" }] ; name : "pause" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "perTokenApprovals" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }, { internalType : "bool" ; name : "_approved" ; type : "bool" }, { internalType : "uint256" ; name : "deadline" ; type : "uint256" }, { internalType : "uint8" ; name : "v" ; type : "uint8" }, { internalType : "bytes32" ; name : "r" ; type : "bytes32" }, { internalType : "bytes32" ; name : "s" ; type : "bytes32" }] ; name : "permitForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_withdrawalShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "redeemWithdrawalShares" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesRedeemed" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_lpShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "removeLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalShares" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "setApproval" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "setApprovalBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "setApprovalForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setFeeCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setGovernance" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "who" ; type : "address" }, { internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "setPauser" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setSweepCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "contract IERC20" ; name : "_target" ; type : "address" }] ; name : "sweep" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "symbol" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target0" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target1" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target2" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target3" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target4" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "totalSupply" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "transferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "transferFromBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "vaultSharesToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "AddLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "owner" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "spender" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "Approval" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "account" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "ApprovalForAll" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "basePayment" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "fees" ; type : "uint256" }] ; name : "CollectGovernanceFee" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "uint256" ; name : "checkpointTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "checkpointVaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedShorts" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedLongs" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "CreateCheckpoint" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newFeeCollector" ; type : "address" }] ; name : "FeeCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newGovernance" ; type : "address" }] ; name : "GovernanceUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "apr" ; type : "uint256" }] ; name : "Initialize" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "baseProceeds" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : false ; internalType : "bool" ; name : "isPaused" ; type : "bool" }] ; name : "PauseStatusUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newPauser" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "PauserUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }] ; name : "RedeemWithdrawalShares" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "RemoveLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "target" ; type : "address" }] ; name : "Sweep" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newSweepCollector" ; type : "address" }] ; name : "SweepCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "from" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "to" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "TransferSingle" ; type : "event" }, { inputs : readonly [] ; name : "BatchInputLengthMismatch" ; type : "error" }, { inputs : readonly [] ; name : "BelowMinimumContribution" ; type : "error" }, { inputs : readonly [] ; name : "DecreasedPresentValueWhenAddingLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "DistributeExcessIdleFailed" ; type : "error" }, { inputs : readonly [] ; name : "ExpInvalidExponent" ; type : "error" }, { inputs : readonly [] ; name : "ExpiredDeadline" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientBalance" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "InvalidApr" ; type : "error" }, { inputs : readonly [] ; name : "InvalidCheckpointTime" ; type : "error" }, { inputs : readonly [] ; name : "InvalidERC20Bridge" ; type : "error" }, { inputs : readonly [] ; name : "InvalidFeeDestination" ; type : "error" }, { inputs : readonly [] ; name : "InvalidInitialVaultSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidLPSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidPresentValue" ; type : "error" }, { inputs : readonly [] ; name : "InvalidSignature" ; type : "error" }, { inputs : readonly [] ; name : "InvalidTimestamp" ; type : "error" }, { inputs : readonly [] ; name : "LnInvalidInput" ; type : "error" }, { inputs : readonly [] ; name : "MinimumSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "MinimumTransactionAmount" ; type : "error" }, { inputs : readonly [] ; name : "NotPayable" ; type : "error" }, { inputs : readonly [] ; name : "OutputLimit" ; type : "error" }, { inputs : readonly [] ; name : "PoolAlreadyInitialized" ; type : "error" }, { inputs : readonly [] ; name : "PoolIsPaused" ; type : "error" }, { inputs : readonly [] ; name : "RestrictedZeroAddress" ; type : "error" }, { inputs : readonly [{ internalType : "bytes" ; name : "data" ; type : "bytes" }] ; name : "ReturnData" ; type : "error" }, { inputs : readonly [] ; name : "SweepFailed" ; type : "error" }, { inputs : readonly [] ; name : "TransferFailed" ; type : "error" }, { inputs : readonly [] ; name : "Unauthorized" ; type : "error" }, { inputs : readonly [] ; name : "UnexpectedSuccess" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt128" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt256" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint112" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint128" ; type : "error" }, { inputs : readonly [] ; name : "UnsupportedToken" ; type : "error" }, { inputs : readonly [] ; name : "UpdateLiquidityFailed" ; type : "error" }], "CreateCheckpoint" > |
Returns
Promise
<CheckpointEvent
[]>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getCheckpointEvents
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:567
getCheckpointExposure
▸ getCheckpointExposure(«destructured»
): Promise
<bigint
>
Parameters
Name | Type |
---|---|
«destructured» | Object |
› checkpointId | bigint |
› options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getCheckpointExposure
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:139
getClosedLongs
▸ getClosedLongs(«destructured»
): Promise
<ClosedLong
[]>
Gets the closed longs by a specific user.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› account | `0x${string}` |
› options? | ContractReadOptions |
Returns
Promise
<ClosedLong
[]>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getClosedLongs
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:793
getClosedLpShares
▸ getClosedLpShares(«destructured»
): Promise
<ClosedLpShares
[]>
Gets the amount of closed LP shares a user has.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› account | `0x${string}` |
› options? | ContractReadOptions |
Returns
Promise
<ClosedLpShares
[]>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getClosedLpShares
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1156
getClosedShorts
▸ getClosedShorts(«destructured»
): Promise
<ClosedShort
[]>
Gets the inactive shorts opened by a specific user.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› account | `0x${string}` |
› options? | ContractReadOptions |
Returns
Promise
<ClosedShort
[]>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getClosedShorts
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:838
getDecimals
▸ getDecimals(): Promise
<number
>
Returns
Promise
<number
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getDecimals
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:106
getIdleLiquidity
▸ getIdleLiquidity(options?
): Promise
<bigint
>
Gets the market liquidity available for trading and removing LP.
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getIdleLiquidity
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:234
getImpliedRate
▸ getImpliedRate(«destructured»
): Promise
<bigint
>
Gets the implied variable rate of opening a short
Parameters
Name | Type |
---|---|
«destructured» | Object |
› bondAmount | bigint |
› options? | ContractReadOptions |
› timestamp | bigint |
› variableApy | bigint |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getImpliedRate
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:197
getLongEvents
▸ getLongEvents(options?
): Promise
<{ assetId
: bigint
; baseAmount
: bigint
; blockNumber
: undefined
| bigint
; bondAmount
: bigint
; eventName
: "CloseLong"
| "OpenLong"
; trader
: `0x${string}` ; transactionHash
: undefined
| `0x${string}` }[]>
Parameters
Name | Type |
---|---|
options? | ContractGetEventsOptions <readonly [{ inputs : readonly [] ; name : "PERMIT_TYPEHASH" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_minLpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "_minApr" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxApr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "addLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }] ; name : "balanceOf" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "baseToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" }, { internalType : "uint256[]" ; name : "values" ; type : "uint256[]" }] ; name : "batchTransferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxIterations" ; type : "uint256" }] ; name : "checkpoint" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeLong" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeShort" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "collectGovernanceFee" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "decimals" ; outputs : readonly [{ internalType : "uint8" ; name : "" ; type : "uint8" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "domainSeparator" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpoint" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "vaultSharePrice" ; type : "uint128" }] ; internalType : "struct IHyperdrive.Checkpoint" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpointExposure" ; outputs : readonly [{ internalType : "int256" ; name : "" ; type : "int256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getMarketState" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "shareReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "bondReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "longExposure" ; type : "uint128" }, { internalType : "uint128" ; name : "longsOutstanding" ; type : "uint128" }, { internalType : "int128" ; name : "shareAdjustment" ; type : "int128" }, { internalType : "uint128" ; name : "shortsOutstanding" ; type : "uint128" }, { internalType : "uint128" ; name : "longAverageMaturityTime" ; type : "uint128" }, { internalType : "uint128" ; name : "shortAverageMaturityTime" ; type : "uint128" }, { internalType : "bool" ; name : "isInitialized" ; type : "bool" }, { internalType : "bool" ; name : "isPaused" ; type : "bool" }, { internalType : "uint112" ; name : "zombieBaseProceeds" ; type : "uint112" }, { internalType : "uint128" ; name : "zombieShareReserves" ; type : "uint128" }] ; internalType : "struct IHyperdrive.MarketState" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolConfig" ; outputs : readonly [{ components : readonly [{ internalType : "contract IERC20" ; name : "baseToken" ; type : "address" }, { internalType : "contract IERC20" ; name : "vaultSharesToken" ; type : "address" }, { internalType : "address" ; name : "linkerFactory" ; type : "address" }, { internalType : "bytes32" ; name : "linkerCodeHash" ; type : "bytes32" }, { internalType : "uint256" ; name : "initialVaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumTransactionAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "positionDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "checkpointDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "timeStretch" ; type : "uint256" }, { internalType : "address" ; name : "governance" ; type : "address" }, { internalType : "address" ; name : "feeCollector" ; type : "address" }, { internalType : "address" ; name : "sweepCollector" ; type : "address" }, { components : readonly [{ internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }] ; internalType : "struct IHyperdrive.Fees" ; name : "fees" ; type : "tuple" }] ; internalType : "struct IHyperdrive.PoolConfig" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolInfo" ; outputs : readonly [{ components : readonly [{ internalType : "uint256" ; name : "shareReserves" ; type : "uint256" }, { internalType : "int256" ; name : "shareAdjustment" ; type : "int256" }, { internalType : "uint256" ; name : "zombieBaseProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "zombieShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "bondReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "lpTotalSupply" ; type : "uint256" }, { internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "longAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "shortsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "shortAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesReadyToWithdraw" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longExposure" ; type : "uint256" }] ; internalType : "struct IHyperdrive.PoolInfo" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getUncollectedGovernanceFees" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getWithdrawPool" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "readyToWithdraw" ; type : "uint128" }, { internalType : "uint128" ; name : "proceeds" ; type : "uint128" }] ; internalType : "struct IHyperdrive.WithdrawPool" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_apr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "initialize" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "isApprovedForAll" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_account" ; type : "address" }] ; name : "isPauser" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256[]" ; name : "_slots" ; type : "uint256[]" }] ; name : "load" ; outputs : readonly [{ internalType : "bytes32[]" ; name : "" ; type : "bytes32[]" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "name" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }] ; name : "nonces" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_amount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openLong" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "bondProceeds" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxDeposit" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openShort" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "deposit" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "bool" ; name : "_status" ; type : "bool" }] ; name : "pause" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "perTokenApprovals" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }, { internalType : "bool" ; name : "_approved" ; type : "bool" }, { internalType : "uint256" ; name : "deadline" ; type : "uint256" }, { internalType : "uint8" ; name : "v" ; type : "uint8" }, { internalType : "bytes32" ; name : "r" ; type : "bytes32" }, { internalType : "bytes32" ; name : "s" ; type : "bytes32" }] ; name : "permitForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_withdrawalShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "redeemWithdrawalShares" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesRedeemed" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_lpShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "removeLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalShares" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "setApproval" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "setApprovalBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "setApprovalForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setFeeCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setGovernance" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "who" ; type : "address" }, { internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "setPauser" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setSweepCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "contract IERC20" ; name : "_target" ; type : "address" }] ; name : "sweep" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "symbol" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target0" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target1" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target2" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target3" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target4" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "totalSupply" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "transferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "transferFromBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "vaultSharesToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "AddLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "owner" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "spender" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "Approval" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "account" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "ApprovalForAll" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "basePayment" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "fees" ; type : "uint256" }] ; name : "CollectGovernanceFee" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "uint256" ; name : "checkpointTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "checkpointVaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedShorts" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedLongs" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "CreateCheckpoint" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newFeeCollector" ; type : "address" }] ; name : "FeeCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newGovernance" ; type : "address" }] ; name : "GovernanceUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "apr" ; type : "uint256" }] ; name : "Initialize" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "baseProceeds" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : false ; internalType : "bool" ; name : "isPaused" ; type : "bool" }] ; name : "PauseStatusUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newPauser" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "PauserUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }] ; name : "RedeemWithdrawalShares" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "RemoveLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "target" ; type : "address" }] ; name : "Sweep" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newSweepCollector" ; type : "address" }] ; name : "SweepCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "from" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "to" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "TransferSingle" ; type : "event" }, { inputs : readonly [] ; name : "BatchInputLengthMismatch" ; type : "error" }, { inputs : readonly [] ; name : "BelowMinimumContribution" ; type : "error" }, { inputs : readonly [] ; name : "DecreasedPresentValueWhenAddingLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "DistributeExcessIdleFailed" ; type : "error" }, { inputs : readonly [] ; name : "ExpInvalidExponent" ; type : "error" }, { inputs : readonly [] ; name : "ExpiredDeadline" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientBalance" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "InvalidApr" ; type : "error" }, { inputs : readonly [] ; name : "InvalidCheckpointTime" ; type : "error" }, { inputs : readonly [] ; name : "InvalidERC20Bridge" ; type : "error" }, { inputs : readonly [] ; name : "InvalidFeeDestination" ; type : "error" }, { inputs : readonly [] ; name : "InvalidInitialVaultSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidLPSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidPresentValue" ; type : "error" }, { inputs : readonly [] ; name : "InvalidSignature" ; type : "error" }, { inputs : readonly [] ; name : "InvalidTimestamp" ; type : "error" }, { inputs : readonly [] ; name : "LnInvalidInput" ; type : "error" }, { inputs : readonly [] ; name : "MinimumSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "MinimumTransactionAmount" ; type : "error" }, { inputs : readonly [] ; name : "NotPayable" ; type : "error" }, { inputs : readonly [] ; name : "OutputLimit" ; type : "error" }, { inputs : readonly [] ; name : "PoolAlreadyInitialized" ; type : "error" }, { inputs : readonly [] ; name : "PoolIsPaused" ; type : "error" }, { inputs : readonly [] ; name : "RestrictedZeroAddress" ; type : "error" }, { inputs : readonly [{ internalType : "bytes" ; name : "data" ; type : "bytes" }] ; name : "ReturnData" ; type : "error" }, { inputs : readonly [] ; name : "SweepFailed" ; type : "error" }, { inputs : readonly [] ; name : "TransferFailed" ; type : "error" }, { inputs : readonly [] ; name : "Unauthorized" ; type : "error" }, { inputs : readonly [] ; name : "UnexpectedSuccess" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt128" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt256" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint112" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint128" ; type : "error" }, { inputs : readonly [] ; name : "UnsupportedToken" ; type : "error" }, { inputs : readonly [] ; name : "UpdateLiquidityFailed" ; type : "error" }], "OpenLong" > & ContractGetEventsOptions <readonly [{ inputs : readonly [] ; name : "PERMIT_TYPEHASH" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_minLpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "_minApr" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxApr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "addLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }] ; name : "balanceOf" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "baseToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" }, { internalType : "uint256[]" ; name : "values" ; type : "uint256[]" }] ; name : "batchTransferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxIterations" ; type : "uint256" }] ; name : "checkpoint" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeLong" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeShort" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "collectGovernanceFee" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "decimals" ; outputs : readonly [{ internalType : "uint8" ; name : "" ; type : "uint8" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "domainSeparator" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpoint" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "vaultSharePrice" ; type : "uint128" }] ; internalType : "struct IHyperdrive.Checkpoint" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpointExposure" ; outputs : readonly [{ internalType : "int256" ; name : "" ; type : "int256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getMarketState" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "shareReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "bondReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "longExposure" ; type : "uint128" }, { internalType : "uint128" ; name : "longsOutstanding" ; type : "uint128" }, { internalType : "int128" ; name : "shareAdjustment" ; type : "int128" }, { internalType : "uint128" ; name : "shortsOutstanding" ; type : "uint128" }, { internalType : "uint128" ; name : "longAverageMaturityTime" ; type : "uint128" }, { internalType : "uint128" ; name : "shortAverageMaturityTime" ; type : "uint128" }, { internalType : "bool" ; name : "isInitialized" ; type : "bool" }, { internalType : "bool" ; name : "isPaused" ; type : "bool" }, { internalType : "uint112" ; name : "zombieBaseProceeds" ; type : "uint112" }, { internalType : "uint128" ; name : "zombieShareReserves" ; type : "uint128" }] ; internalType : "struct IHyperdrive.MarketState" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolConfig" ; outputs : readonly [{ components : readonly [{ internalType : "contract IERC20" ; name : "baseToken" ; type : "address" }, { internalType : "contract IERC20" ; name : "vaultSharesToken" ; type : "address" }, { internalType : "address" ; name : "linkerFactory" ; type : "address" }, { internalType : "bytes32" ; name : "linkerCodeHash" ; type : "bytes32" }, { internalType : "uint256" ; name : "initialVaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumTransactionAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "positionDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "checkpointDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "timeStretch" ; type : "uint256" }, { internalType : "address" ; name : "governance" ; type : "address" }, { internalType : "address" ; name : "feeCollector" ; type : "address" }, { internalType : "address" ; name : "sweepCollector" ; type : "address" }, { components : readonly [{ internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }] ; internalType : "struct IHyperdrive.Fees" ; name : "fees" ; type : "tuple" }] ; internalType : "struct IHyperdrive.PoolConfig" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolInfo" ; outputs : readonly [{ components : readonly [{ internalType : "uint256" ; name : "shareReserves" ; type : "uint256" }, { internalType : "int256" ; name : "shareAdjustment" ; type : "int256" }, { internalType : "uint256" ; name : "zombieBaseProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "zombieShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "bondReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "lpTotalSupply" ; type : "uint256" }, { internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "longAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "shortsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "shortAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesReadyToWithdraw" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longExposure" ; type : "uint256" }] ; internalType : "struct IHyperdrive.PoolInfo" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getUncollectedGovernanceFees" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getWithdrawPool" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "readyToWithdraw" ; type : "uint128" }, { internalType : "uint128" ; name : "proceeds" ; type : "uint128" }] ; internalType : "struct IHyperdrive.WithdrawPool" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_apr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "initialize" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "isApprovedForAll" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_account" ; type : "address" }] ; name : "isPauser" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256[]" ; name : "_slots" ; type : "uint256[]" }] ; name : "load" ; outputs : readonly [{ internalType : "bytes32[]" ; name : "" ; type : "bytes32[]" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "name" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }] ; name : "nonces" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_amount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openLong" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "bondProceeds" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxDeposit" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openShort" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "deposit" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "bool" ; name : "_status" ; type : "bool" }] ; name : "pause" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "perTokenApprovals" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }, { internalType : "bool" ; name : "_approved" ; type : "bool" }, { internalType : "uint256" ; name : "deadline" ; type : "uint256" }, { internalType : "uint8" ; name : "v" ; type : "uint8" }, { internalType : "bytes32" ; name : "r" ; type : "bytes32" }, { internalType : "bytes32" ; name : "s" ; type : "bytes32" }] ; name : "permitForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_withdrawalShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "redeemWithdrawalShares" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesRedeemed" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_lpShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "removeLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalShares" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "setApproval" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "setApprovalBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "setApprovalForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setFeeCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setGovernance" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "who" ; type : "address" }, { internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "setPauser" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setSweepCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "contract IERC20" ; name : "_target" ; type : "address" }] ; name : "sweep" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "symbol" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target0" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target1" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target2" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target3" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target4" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "totalSupply" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "transferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "transferFromBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "vaultSharesToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "AddLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "owner" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "spender" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "Approval" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "account" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "ApprovalForAll" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "basePayment" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "fees" ; type : "uint256" }] ; name : "CollectGovernanceFee" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "uint256" ; name : "checkpointTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "checkpointVaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedShorts" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedLongs" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "CreateCheckpoint" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newFeeCollector" ; type : "address" }] ; name : "FeeCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newGovernance" ; type : "address" }] ; name : "GovernanceUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "apr" ; type : "uint256" }] ; name : "Initialize" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "baseProceeds" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : false ; internalType : "bool" ; name : "isPaused" ; type : "bool" }] ; name : "PauseStatusUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newPauser" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "PauserUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }] ; name : "RedeemWithdrawalShares" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "RemoveLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "target" ; type : "address" }] ; name : "Sweep" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newSweepCollector" ; type : "address" }] ; name : "SweepCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "from" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "to" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "TransferSingle" ; type : "event" }, { inputs : readonly [] ; name : "BatchInputLengthMismatch" ; type : "error" }, { inputs : readonly [] ; name : "BelowMinimumContribution" ; type : "error" }, { inputs : readonly [] ; name : "DecreasedPresentValueWhenAddingLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "DistributeExcessIdleFailed" ; type : "error" }, { inputs : readonly [] ; name : "ExpInvalidExponent" ; type : "error" }, { inputs : readonly [] ; name : "ExpiredDeadline" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientBalance" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "InvalidApr" ; type : "error" }, { inputs : readonly [] ; name : "InvalidCheckpointTime" ; type : "error" }, { inputs : readonly [] ; name : "InvalidERC20Bridge" ; type : "error" }, { inputs : readonly [] ; name : "InvalidFeeDestination" ; type : "error" }, { inputs : readonly [] ; name : "InvalidInitialVaultSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidLPSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidPresentValue" ; type : "error" }, { inputs : readonly [] ; name : "InvalidSignature" ; type : "error" }, { inputs : readonly [] ; name : "InvalidTimestamp" ; type : "error" }, { inputs : readonly [] ; name : "LnInvalidInput" ; type : "error" }, { inputs : readonly [] ; name : "MinimumSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "MinimumTransactionAmount" ; type : "error" }, { inputs : readonly [] ; name : "NotPayable" ; type : "error" }, { inputs : readonly [] ; name : "OutputLimit" ; type : "error" }, { inputs : readonly [] ; name : "PoolAlreadyInitialized" ; type : "error" }, { inputs : readonly [] ; name : "PoolIsPaused" ; type : "error" }, { inputs : readonly [] ; name : "RestrictedZeroAddress" ; type : "error" }, { inputs : readonly [{ internalType : "bytes" ; name : "data" ; type : "bytes" }] ; name : "ReturnData" ; type : "error" }, { inputs : readonly [] ; name : "SweepFailed" ; type : "error" }, { inputs : readonly [] ; name : "TransferFailed" ; type : "error" }, { inputs : readonly [] ; name : "Unauthorized" ; type : "error" }, { inputs : readonly [] ; name : "UnexpectedSuccess" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt128" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt256" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint112" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint128" ; type : "error" }, { inputs : readonly [] ; name : "UnsupportedToken" ; type : "error" }, { inputs : readonly [] ; name : "UpdateLiquidityFailed" ; type : "error" }], "CloseLong" > |
Returns
Promise
<{ assetId
: bigint
; baseAmount
: bigint
; blockNumber
: undefined
| bigint
; bondAmount
: bigint
; eventName
: "CloseLong"
| "OpenLong"
; trader
: `0x${string}` ; transactionHash
: undefined
| `0x${string}` }[]>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getLongEvents
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:410
getLongPrice
▸ getLongPrice(options?
): Promise
<bigint
>
Gets the spot price of a long
Parameters
Name | Type | Description |
---|---|---|
options? | ContractReadOptions | The read options |
Returns
Promise
<bigint
>
the spot price of a long
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getLongPrice
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:375
getLpApy
▸ getLpApy(«destructured»
): Promise
<{ lpApy
: number
}>
This returns the LP APY using the following formula for continuous compounding: r = rate of return p_0 = from lpSharePrice p_1 = to lpSharePrice t = time frame between p_0 and p_1 r = ln(p_1 / p_0) / t
Parameters
Name | Type |
---|---|
«destructured» | Object |
› fromBlock | bigint |
› toBlock | bigint |
Returns
Promise
<{ lpApy
: number
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getLpApy
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:510
getLpEvents
▸ getLpEvents(options?
): Promise
<{ addLiquidity
: Event
<readonly [{ inputs
: readonly [] ; name
: "PERMIT_TYPEHASH"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minLpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minApr"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxApr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "addLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "balanceOf"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "baseToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256[]"
; name
: "ids"
; type
: "uint256[]"
}, { internalType
: "uint256[]"
; name
: "values"
; type
: "uint256[]"
}] ; name
: "batchTransferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxIterations"
; type
: "uint256"
}] ; name
: "checkpoint"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "collectGovernanceFee"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "decimals"
; outputs
: readonly [{ internalType
: "uint8"
; name
: ""
; type
: "uint8"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "domainSeparator"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpoint"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "vaultSharePrice"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.Checkpoint"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpointExposure"
; outputs
: readonly [{ internalType
: "int256"
; name
: ""
; type
: "int256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getMarketState"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "shareReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "bondReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longExposure"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longsOutstanding"
; type
: "uint128"
}, { internalType
: "int128"
; name
: "shareAdjustment"
; type
: "int128"
}, { internalType
: "uint128"
; name
: "shortsOutstanding"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "shortAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "bool"
; name
: "isInitialized"
; type
: "bool"
}, { internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}, { internalType
: "uint112"
; name
: "zombieBaseProceeds"
; type
: "uint112"
}, { internalType
: "uint128"
; name
: "zombieShareReserves"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.MarketState"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolConfig"
; outputs
: readonly [{ components
: readonly [{ internalType
: "contract IERC20"
; name
: "baseToken"
; type
: "address"
}, { internalType
: "contract IERC20"
; name
: "vaultSharesToken"
; type
: "address"
}, { internalType
: "address"
; name
: "linkerFactory"
; type
: "address"
}, { internalType
: "bytes32"
; name
: "linkerCodeHash"
; type
: "bytes32"
}, { internalType
: "uint256"
; name
: "initialVaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumTransactionAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "positionDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "checkpointDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "timeStretch"
; type
: "uint256"
}, { internalType
: "address"
; name
: "governance"
; type
: "address"
}, { internalType
: "address"
; name
: "feeCollector"
; type
: "address"
}, { internalType
: "address"
; name
: "sweepCollector"
; type
: "address"
}, { components
: readonly [..., ..., ..., ...] ; internalType
: "struct IHyperdrive.Fees"
; name
: "fees"
; type
: "tuple"
}] ; internalType
: "struct IHyperdrive.PoolConfig"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolInfo"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint256"
; name
: "shareReserves"
; type
: "uint256"
}, { internalType
: "int256"
; name
: "shareAdjustment"
; type
: "int256"
}, { internalType
: "uint256"
; name
: "zombieBaseProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "zombieShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpTotalSupply"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesReadyToWithdraw"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longExposure"
; type
: "uint256"
}] ; internalType
: "struct IHyperdrive.PoolInfo"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getUncollectedGovernanceFees"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getWithdrawPool"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "readyToWithdraw"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "proceeds"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.WithdrawPool"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_apr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "initialize"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "isApprovedForAll"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_account"
; type
: "address"
}] ; name
: "isPauser"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256[]"
; name
: "_slots"
; type
: "uint256[]"
}] ; name
: "load"
; outputs
: readonly [{ internalType
: "bytes32[]"
; name
: ""
; type
: "bytes32[]"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "name"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "nonces"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_amount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondProceeds"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxDeposit"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "deposit"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "bool"
; name
: "_status"
; type
: "bool"
}] ; name
: "pause"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "perTokenApprovals"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}, { internalType
: "bool"
; name
: "_approved"
; type
: "bool"
}, { internalType
: "uint256"
; name
: "deadline"
; type
: "uint256"
}, { internalType
: "uint8"
; name
: "v"
; type
: "uint8"
}, { internalType
: "bytes32"
; name
: "r"
; type
: "bytes32"
}, { internalType
: "bytes32"
; name
: "s"
; type
: "bytes32"
}] ; name
: "permitForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_withdrawalShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "redeemWithdrawalShares"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesRedeemed"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_lpShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "removeLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalShares"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "setApproval"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "setApprovalBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "setApprovalForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setFeeCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setGovernance"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "who"
; type
: "address"
}, { internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "setPauser"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setSweepCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "contract IERC20"
; name
: "_target"
; type
: "address"
}] ; name
: "sweep"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "symbol"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target0"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target1"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target2"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target3"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target4"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "totalSupply"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "transferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "transferFromBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "vaultSharesToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "AddLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "owner"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "spender"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "Approval"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "account"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "ApprovalForAll"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "basePayment"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "fees"
; type
: "uint256"
}] ; name
: "CollectGovernanceFee"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "uint256"
; name
: "checkpointTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "checkpointVaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedShorts"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedLongs"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "CreateCheckpoint"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newFeeCollector"
; type
: "address"
}] ; name
: "FeeCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newGovernance"
; type
: "address"
}] ; name
: "GovernanceUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "apr"
; type
: "uint256"
}] ; name
: "Initialize"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseProceeds"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: false
; internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}] ; name
: "PauseStatusUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newPauser"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "PauserUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}] ; name
: "RedeemWithdrawalShares"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "RemoveLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "target"
; type
: "address"
}] ; name
: "Sweep"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newSweepCollector"
; type
: "address"
}] ; name
: "SweepCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "from"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "to"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "id"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "TransferSingle"
; type
: "event"
}, { inputs
: readonly [] ; name
: "BatchInputLengthMismatch"
; type
: "error"
}, { inputs
: readonly [] ; name
: "BelowMinimumContribution"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DecreasedPresentValueWhenAddingLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DistributeExcessIdleFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpInvalidExponent"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpiredDeadline"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientBalance"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidApr"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidCheckpointTime"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidERC20Bridge"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidFeeDestination"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidInitialVaultSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidLPSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidPresentValue"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidSignature"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidTimestamp"
; type
: "error"
}, { inputs
: readonly [] ; name
: "LnInvalidInput"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumTransactionAmount"
; type
: "error"
}, { inputs
: readonly [] ; name
: "NotPayable"
; type
: "error"
}, { inputs
: readonly [] ; name
: "OutputLimit"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolAlreadyInitialized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolIsPaused"
; type
: "error"
}, { inputs
: readonly [] ; name
: "RestrictedZeroAddress"
; type
: "error"
}, { inputs
: readonly [{ internalType
: "bytes"
; name
: "data"
; type
: "bytes"
}] ; name
: "ReturnData"
; type
: "error"
}, { inputs
: readonly [] ; name
: "SweepFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "TransferFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "Unauthorized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnexpectedSuccess"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt256"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint112"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsupportedToken"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UpdateLiquidityFailed"
; type
: "error"
}], "AddLiquidity"
>[] ; redeemWithdrawalShares
: Event
<readonly [{ inputs
: readonly [] ; name
: "PERMIT_TYPEHASH"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minLpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minApr"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxApr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "addLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "balanceOf"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "baseToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256[]"
; name
: "ids"
; type
: "uint256[]"
}, { internalType
: "uint256[]"
; name
: "values"
; type
: "uint256[]"
}] ; name
: "batchTransferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxIterations"
; type
: "uint256"
}] ; name
: "checkpoint"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "collectGovernanceFee"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "decimals"
; outputs
: readonly [{ internalType
: "uint8"
; name
: ""
; type
: "uint8"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "domainSeparator"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpoint"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "vaultSharePrice"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.Checkpoint"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpointExposure"
; outputs
: readonly [{ internalType
: "int256"
; name
: ""
; type
: "int256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getMarketState"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "shareReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "bondReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longExposure"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longsOutstanding"
; type
: "uint128"
}, { internalType
: "int128"
; name
: "shareAdjustment"
; type
: "int128"
}, { internalType
: "uint128"
; name
: "shortsOutstanding"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "shortAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "bool"
; name
: "isInitialized"
; type
: "bool"
}, { internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}, { internalType
: "uint112"
; name
: "zombieBaseProceeds"
; type
: "uint112"
}, { internalType
: "uint128"
; name
: "zombieShareReserves"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.MarketState"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolConfig"
; outputs
: readonly [{ components
: readonly [{ internalType
: "contract IERC20"
; name
: "baseToken"
; type
: "address"
}, { internalType
: "contract IERC20"
; name
: "vaultSharesToken"
; type
: "address"
}, { internalType
: "address"
; name
: "linkerFactory"
; type
: "address"
}, { internalType
: "bytes32"
; name
: "linkerCodeHash"
; type
: "bytes32"
}, { internalType
: "uint256"
; name
: "initialVaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumTransactionAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "positionDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "checkpointDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "timeStretch"
; type
: "uint256"
}, { internalType
: "address"
; name
: "governance"
; type
: "address"
}, { internalType
: "address"
; name
: "feeCollector"
; type
: "address"
}, { internalType
: "address"
; name
: "sweepCollector"
; type
: "address"
}, { components
: readonly [..., ..., ..., ...] ; internalType
: "struct IHyperdrive.Fees"
; name
: "fees"
; type
: "tuple"
}] ; internalType
: "struct IHyperdrive.PoolConfig"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolInfo"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint256"
; name
: "shareReserves"
; type
: "uint256"
}, { internalType
: "int256"
; name
: "shareAdjustment"
; type
: "int256"
}, { internalType
: "uint256"
; name
: "zombieBaseProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "zombieShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpTotalSupply"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesReadyToWithdraw"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longExposure"
; type
: "uint256"
}] ; internalType
: "struct IHyperdrive.PoolInfo"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getUncollectedGovernanceFees"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getWithdrawPool"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "readyToWithdraw"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "proceeds"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.WithdrawPool"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_apr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "initialize"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "isApprovedForAll"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_account"
; type
: "address"
}] ; name
: "isPauser"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256[]"
; name
: "_slots"
; type
: "uint256[]"
}] ; name
: "load"
; outputs
: readonly [{ internalType
: "bytes32[]"
; name
: ""
; type
: "bytes32[]"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "name"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "nonces"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_amount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondProceeds"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxDeposit"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "deposit"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "bool"
; name
: "_status"
; type
: "bool"
}] ; name
: "pause"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "perTokenApprovals"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}, { internalType
: "bool"
; name
: "_approved"
; type
: "bool"
}, { internalType
: "uint256"
; name
: "deadline"
; type
: "uint256"
}, { internalType
: "uint8"
; name
: "v"
; type
: "uint8"
}, { internalType
: "bytes32"
; name
: "r"
; type
: "bytes32"
}, { internalType
: "bytes32"
; name
: "s"
; type
: "bytes32"
}] ; name
: "permitForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_withdrawalShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "redeemWithdrawalShares"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesRedeemed"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_lpShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "removeLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalShares"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "setApproval"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "setApprovalBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "setApprovalForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setFeeCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setGovernance"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "who"
; type
: "address"
}, { internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "setPauser"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setSweepCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "contract IERC20"
; name
: "_target"
; type
: "address"
}] ; name
: "sweep"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "symbol"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target0"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target1"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target2"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target3"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target4"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "totalSupply"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "transferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "transferFromBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "vaultSharesToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "AddLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "owner"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "spender"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "Approval"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "account"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "ApprovalForAll"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "basePayment"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "fees"
; type
: "uint256"
}] ; name
: "CollectGovernanceFee"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "uint256"
; name
: "checkpointTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "checkpointVaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedShorts"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedLongs"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "CreateCheckpoint"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newFeeCollector"
; type
: "address"
}] ; name
: "FeeCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newGovernance"
; type
: "address"
}] ; name
: "GovernanceUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "apr"
; type
: "uint256"
}] ; name
: "Initialize"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseProceeds"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: false
; internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}] ; name
: "PauseStatusUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newPauser"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "PauserUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}] ; name
: "RedeemWithdrawalShares"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "RemoveLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "target"
; type
: "address"
}] ; name
: "Sweep"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newSweepCollector"
; type
: "address"
}] ; name
: "SweepCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "from"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "to"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "id"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "TransferSingle"
; type
: "event"
}, { inputs
: readonly [] ; name
: "BatchInputLengthMismatch"
; type
: "error"
}, { inputs
: readonly [] ; name
: "BelowMinimumContribution"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DecreasedPresentValueWhenAddingLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DistributeExcessIdleFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpInvalidExponent"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpiredDeadline"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientBalance"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidApr"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidCheckpointTime"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidERC20Bridge"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidFeeDestination"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidInitialVaultSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidLPSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidPresentValue"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidSignature"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidTimestamp"
; type
: "error"
}, { inputs
: readonly [] ; name
: "LnInvalidInput"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumTransactionAmount"
; type
: "error"
}, { inputs
: readonly [] ; name
: "NotPayable"
; type
: "error"
}, { inputs
: readonly [] ; name
: "OutputLimit"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolAlreadyInitialized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolIsPaused"
; type
: "error"
}, { inputs
: readonly [] ; name
: "RestrictedZeroAddress"
; type
: "error"
}, { inputs
: readonly [{ internalType
: "bytes"
; name
: "data"
; type
: "bytes"
}] ; name
: "ReturnData"
; type
: "error"
}, { inputs
: readonly [] ; name
: "SweepFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "TransferFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "Unauthorized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnexpectedSuccess"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt256"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint112"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsupportedToken"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UpdateLiquidityFailed"
; type
: "error"
}], "RedeemWithdrawalShares"
>[] ; removeLiquidity
: Event
<readonly [{ inputs
: readonly [] ; name
: "PERMIT_TYPEHASH"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minLpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minApr"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxApr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "addLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "balanceOf"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "baseToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256[]"
; name
: "ids"
; type
: "uint256[]"
}, { internalType
: "uint256[]"
; name
: "values"
; type
: "uint256[]"
}] ; name
: "batchTransferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxIterations"
; type
: "uint256"
}] ; name
: "checkpoint"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "collectGovernanceFee"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "decimals"
; outputs
: readonly [{ internalType
: "uint8"
; name
: ""
; type
: "uint8"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "domainSeparator"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpoint"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "vaultSharePrice"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.Checkpoint"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpointExposure"
; outputs
: readonly [{ internalType
: "int256"
; name
: ""
; type
: "int256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getMarketState"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "shareReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "bondReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longExposure"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longsOutstanding"
; type
: "uint128"
}, { internalType
: "int128"
; name
: "shareAdjustment"
; type
: "int128"
}, { internalType
: "uint128"
; name
: "shortsOutstanding"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "shortAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "bool"
; name
: "isInitialized"
; type
: "bool"
}, { internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}, { internalType
: "uint112"
; name
: "zombieBaseProceeds"
; type
: "uint112"
}, { internalType
: "uint128"
; name
: "zombieShareReserves"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.MarketState"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolConfig"
; outputs
: readonly [{ components
: readonly [{ internalType
: "contract IERC20"
; name
: "baseToken"
; type
: "address"
}, { internalType
: "contract IERC20"
; name
: "vaultSharesToken"
; type
: "address"
}, { internalType
: "address"
; name
: "linkerFactory"
; type
: "address"
}, { internalType
: "bytes32"
; name
: "linkerCodeHash"
; type
: "bytes32"
}, { internalType
: "uint256"
; name
: "initialVaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumTransactionAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "positionDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "checkpointDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "timeStretch"
; type
: "uint256"
}, { internalType
: "address"
; name
: "governance"
; type
: "address"
}, { internalType
: "address"
; name
: "feeCollector"
; type
: "address"
}, { internalType
: "address"
; name
: "sweepCollector"
; type
: "address"
}, { components
: readonly [..., ..., ..., ...] ; internalType
: "struct IHyperdrive.Fees"
; name
: "fees"
; type
: "tuple"
}] ; internalType
: "struct IHyperdrive.PoolConfig"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolInfo"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint256"
; name
: "shareReserves"
; type
: "uint256"
}, { internalType
: "int256"
; name
: "shareAdjustment"
; type
: "int256"
}, { internalType
: "uint256"
; name
: "zombieBaseProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "zombieShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpTotalSupply"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesReadyToWithdraw"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longExposure"
; type
: "uint256"
}] ; internalType
: "struct IHyperdrive.PoolInfo"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getUncollectedGovernanceFees"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getWithdrawPool"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "readyToWithdraw"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "proceeds"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.WithdrawPool"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_apr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "initialize"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "isApprovedForAll"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_account"
; type
: "address"
}] ; name
: "isPauser"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256[]"
; name
: "_slots"
; type
: "uint256[]"
}] ; name
: "load"
; outputs
: readonly [{ internalType
: "bytes32[]"
; name
: ""
; type
: "bytes32[]"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "name"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "nonces"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_amount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondProceeds"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxDeposit"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "deposit"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "bool"
; name
: "_status"
; type
: "bool"
}] ; name
: "pause"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "perTokenApprovals"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}, { internalType
: "bool"
; name
: "_approved"
; type
: "bool"
}, { internalType
: "uint256"
; name
: "deadline"
; type
: "uint256"
}, { internalType
: "uint8"
; name
: "v"
; type
: "uint8"
}, { internalType
: "bytes32"
; name
: "r"
; type
: "bytes32"
}, { internalType
: "bytes32"
; name
: "s"
; type
: "bytes32"
}] ; name
: "permitForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_withdrawalShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "redeemWithdrawalShares"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesRedeemed"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_lpShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "removeLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalShares"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "setApproval"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "setApprovalBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "setApprovalForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setFeeCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setGovernance"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "who"
; type
: "address"
}, { internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "setPauser"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setSweepCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "contract IERC20"
; name
: "_target"
; type
: "address"
}] ; name
: "sweep"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "symbol"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target0"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target1"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target2"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target3"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target4"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "totalSupply"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "transferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "transferFromBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "vaultSharesToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "AddLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "owner"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "spender"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "Approval"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "account"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "ApprovalForAll"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "basePayment"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "fees"
; type
: "uint256"
}] ; name
: "CollectGovernanceFee"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "uint256"
; name
: "checkpointTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "checkpointVaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedShorts"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedLongs"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "CreateCheckpoint"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newFeeCollector"
; type
: "address"
}] ; name
: "FeeCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newGovernance"
; type
: "address"
}] ; name
: "GovernanceUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "apr"
; type
: "uint256"
}] ; name
: "Initialize"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseProceeds"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: false
; internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}] ; name
: "PauseStatusUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newPauser"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "PauserUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}] ; name
: "RedeemWithdrawalShares"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "RemoveLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "target"
; type
: "address"
}] ; name
: "Sweep"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newSweepCollector"
; type
: "address"
}] ; name
: "SweepCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "from"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "to"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "id"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "TransferSingle"
; type
: "event"
}, { inputs
: readonly [] ; name
: "BatchInputLengthMismatch"
; type
: "error"
}, { inputs
: readonly [] ; name
: "BelowMinimumContribution"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DecreasedPresentValueWhenAddingLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DistributeExcessIdleFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpInvalidExponent"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpiredDeadline"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientBalance"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidApr"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidCheckpointTime"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidERC20Bridge"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidFeeDestination"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidInitialVaultSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidLPSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidPresentValue"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidSignature"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidTimestamp"
; type
: "error"
}, { inputs
: readonly [] ; name
: "LnInvalidInput"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumTransactionAmount"
; type
: "error"
}, { inputs
: readonly [] ; name
: "NotPayable"
; type
: "error"
}, { inputs
: readonly [] ; name
: "OutputLimit"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolAlreadyInitialized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolIsPaused"
; type
: "error"
}, { inputs
: readonly [] ; name
: "RestrictedZeroAddress"
; type
: "error"
}, { inputs
: readonly [{ internalType
: "bytes"
; name
: "data"
; type
: "bytes"
}] ; name
: "ReturnData"
; type
: "error"
}, { inputs
: readonly [] ; name
: "SweepFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "TransferFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "Unauthorized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnexpectedSuccess"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt256"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint112"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsupportedToken"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UpdateLiquidityFailed"
; type
: "error"
}], "RemoveLiquidity"
>[] }>
Parameters
Name | Type |
---|---|
options? | ContractGetEventsOptions <readonly [{ inputs : readonly [] ; name : "PERMIT_TYPEHASH" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_minLpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "_minApr" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxApr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "addLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }] ; name : "balanceOf" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "baseToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" }, { internalType : "uint256[]" ; name : "values" ; type : "uint256[]" }] ; name : "batchTransferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxIterations" ; type : "uint256" }] ; name : "checkpoint" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeLong" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeShort" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "collectGovernanceFee" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "decimals" ; outputs : readonly [{ internalType : "uint8" ; name : "" ; type : "uint8" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "domainSeparator" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpoint" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "vaultSharePrice" ; type : "uint128" }] ; internalType : "struct IHyperdrive.Checkpoint" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpointExposure" ; outputs : readonly [{ internalType : "int256" ; name : "" ; type : "int256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getMarketState" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "shareReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "bondReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "longExposure" ; type : "uint128" }, { internalType : "uint128" ; name : "longsOutstanding" ; type : "uint128" }, { internalType : "int128" ; name : "shareAdjustment" ; type : "int128" }, { internalType : "uint128" ; name : "shortsOutstanding" ; type : "uint128" }, { internalType : "uint128" ; name : "longAverageMaturityTime" ; type : "uint128" }, { internalType : "uint128" ; name : "shortAverageMaturityTime" ; type : "uint128" }, { internalType : "bool" ; name : "isInitialized" ; type : "bool" }, { internalType : "bool" ; name : "isPaused" ; type : "bool" }, { internalType : "uint112" ; name : "zombieBaseProceeds" ; type : "uint112" }, { internalType : "uint128" ; name : "zombieShareReserves" ; type : "uint128" }] ; internalType : "struct IHyperdrive.MarketState" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolConfig" ; outputs : readonly [{ components : readonly [{ internalType : "contract IERC20" ; name : "baseToken" ; type : "address" }, { internalType : "contract IERC20" ; name : "vaultSharesToken" ; type : "address" }, { internalType : "address" ; name : "linkerFactory" ; type : "address" }, { internalType : "bytes32" ; name : "linkerCodeHash" ; type : "bytes32" }, { internalType : "uint256" ; name : "initialVaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumTransactionAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "positionDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "checkpointDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "timeStretch" ; type : "uint256" }, { internalType : "address" ; name : "governance" ; type : "address" }, { internalType : "address" ; name : "feeCollector" ; type : "address" }, { internalType : "address" ; name : "sweepCollector" ; type : "address" }, { components : readonly [{ internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }] ; internalType : "struct IHyperdrive.Fees" ; name : "fees" ; type : "tuple" }] ; internalType : "struct IHyperdrive.PoolConfig" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolInfo" ; outputs : readonly [{ components : readonly [{ internalType : "uint256" ; name : "shareReserves" ; type : "uint256" }, { internalType : "int256" ; name : "shareAdjustment" ; type : "int256" }, { internalType : "uint256" ; name : "zombieBaseProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "zombieShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "bondReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "lpTotalSupply" ; type : "uint256" }, { internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "longAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "shortsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "shortAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesReadyToWithdraw" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longExposure" ; type : "uint256" }] ; internalType : "struct IHyperdrive.PoolInfo" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getUncollectedGovernanceFees" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getWithdrawPool" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "readyToWithdraw" ; type : "uint128" }, { internalType : "uint128" ; name : "proceeds" ; type : "uint128" }] ; internalType : "struct IHyperdrive.WithdrawPool" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_apr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "initialize" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "isApprovedForAll" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_account" ; type : "address" }] ; name : "isPauser" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256[]" ; name : "_slots" ; type : "uint256[]" }] ; name : "load" ; outputs : readonly [{ internalType : "bytes32[]" ; name : "" ; type : "bytes32[]" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "name" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }] ; name : "nonces" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_amount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openLong" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "bondProceeds" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxDeposit" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openShort" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "deposit" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "bool" ; name : "_status" ; type : "bool" }] ; name : "pause" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "perTokenApprovals" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }, { internalType : "bool" ; name : "_approved" ; type : "bool" }, { internalType : "uint256" ; name : "deadline" ; type : "uint256" }, { internalType : "uint8" ; name : "v" ; type : "uint8" }, { internalType : "bytes32" ; name : "r" ; type : "bytes32" }, { internalType : "bytes32" ; name : "s" ; type : "bytes32" }] ; name : "permitForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_withdrawalShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "redeemWithdrawalShares" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesRedeemed" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_lpShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "removeLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalShares" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "setApproval" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "setApprovalBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "setApprovalForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setFeeCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setGovernance" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "who" ; type : "address" }, { internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "setPauser" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setSweepCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "contract IERC20" ; name : "_target" ; type : "address" }] ; name : "sweep" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "symbol" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target0" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target1" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target2" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target3" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target4" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "totalSupply" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "transferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "transferFromBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "vaultSharesToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "AddLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "owner" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "spender" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "Approval" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "account" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "ApprovalForAll" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "basePayment" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "fees" ; type : "uint256" }] ; name : "CollectGovernanceFee" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "uint256" ; name : "checkpointTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "checkpointVaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedShorts" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedLongs" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "CreateCheckpoint" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newFeeCollector" ; type : "address" }] ; name : "FeeCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newGovernance" ; type : "address" }] ; name : "GovernanceUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "apr" ; type : "uint256" }] ; name : "Initialize" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "baseProceeds" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : false ; internalType : "bool" ; name : "isPaused" ; type : "bool" }] ; name : "PauseStatusUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newPauser" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "PauserUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }] ; name : "RedeemWithdrawalShares" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "RemoveLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "target" ; type : "address" }] ; name : "Sweep" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newSweepCollector" ; type : "address" }] ; name : "SweepCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "from" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "to" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "TransferSingle" ; type : "event" }, { inputs : readonly [] ; name : "BatchInputLengthMismatch" ; type : "error" }, { inputs : readonly [] ; name : "BelowMinimumContribution" ; type : "error" }, { inputs : readonly [] ; name : "DecreasedPresentValueWhenAddingLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "DistributeExcessIdleFailed" ; type : "error" }, { inputs : readonly [] ; name : "ExpInvalidExponent" ; type : "error" }, { inputs : readonly [] ; name : "ExpiredDeadline" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientBalance" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "InvalidApr" ; type : "error" }, { inputs : readonly [] ; name : "InvalidCheckpointTime" ; type : "error" }, { inputs : readonly [] ; name : "InvalidERC20Bridge" ; type : "error" }, { inputs : readonly [] ; name : "InvalidFeeDestination" ; type : "error" }, { inputs : readonly [] ; name : "InvalidInitialVaultSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidLPSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidPresentValue" ; type : "error" }, { inputs : readonly [] ; name : "InvalidSignature" ; type : "error" }, { inputs : readonly [] ; name : "InvalidTimestamp" ; type : "error" }, { inputs : readonly [] ; name : "LnInvalidInput" ; type : "error" }, { inputs : readonly [] ; name : "MinimumSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "MinimumTransactionAmount" ; type : "error" }, { inputs : readonly [] ; name : "NotPayable" ; type : "error" }, { inputs : readonly [] ; name : "OutputLimit" ; type : "error" }, { inputs : readonly [] ; name : "PoolAlreadyInitialized" ; type : "error" }, { inputs : readonly [] ; name : "PoolIsPaused" ; type : "error" }, { inputs : readonly [] ; name : "RestrictedZeroAddress" ; type : "error" }, { inputs : readonly [{ internalType : "bytes" ; name : "data" ; type : "bytes" }] ; name : "ReturnData" ; type : "error" }, { inputs : readonly [] ; name : "SweepFailed" ; type : "error" }, { inputs : readonly [] ; name : "TransferFailed" ; type : "error" }, { inputs : readonly [] ; name : "Unauthorized" ; type : "error" }, { inputs : readonly [] ; name : "UnexpectedSuccess" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt128" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt256" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint112" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint128" ; type : "error" }, { inputs : readonly [] ; name : "UnsupportedToken" ; type : "error" }, { inputs : readonly [] ; name : "UpdateLiquidityFailed" ; type : "error" }], "AddLiquidity" > & ContractGetEventsOptions <readonly [{ inputs : readonly [] ; name : "PERMIT_TYPEHASH" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_minLpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "_minApr" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxApr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "addLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }] ; name : "balanceOf" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "baseToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" }, { internalType : "uint256[]" ; name : "values" ; type : "uint256[]" }] ; name : "batchTransferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxIterations" ; type : "uint256" }] ; name : "checkpoint" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeLong" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeShort" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "collectGovernanceFee" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "decimals" ; outputs : readonly [{ internalType : "uint8" ; name : "" ; type : "uint8" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "domainSeparator" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpoint" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "vaultSharePrice" ; type : "uint128" }] ; internalType : "struct IHyperdrive.Checkpoint" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpointExposure" ; outputs : readonly [{ internalType : "int256" ; name : "" ; type : "int256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getMarketState" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "shareReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "bondReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "longExposure" ; type : "uint128" }, { internalType : "uint128" ; name : "longsOutstanding" ; type : "uint128" }, { internalType : "int128" ; name : "shareAdjustment" ; type : "int128" }, { internalType : "uint128" ; name : "shortsOutstanding" ; type : "uint128" }, { internalType : "uint128" ; name : "longAverageMaturityTime" ; type : "uint128" }, { internalType : "uint128" ; name : "shortAverageMaturityTime" ; type : "uint128" }, { internalType : "bool" ; name : "isInitialized" ; type : "bool" }, { internalType : "bool" ; name : "isPaused" ; type : "bool" }, { internalType : "uint112" ; name : "zombieBaseProceeds" ; type : "uint112" }, { internalType : "uint128" ; name : "zombieShareReserves" ; type : "uint128" }] ; internalType : "struct IHyperdrive.MarketState" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolConfig" ; outputs : readonly [{ components : readonly [{ internalType : "contract IERC20" ; name : "baseToken" ; type : "address" }, { internalType : "contract IERC20" ; name : "vaultSharesToken" ; type : "address" }, { internalType : "address" ; name : "linkerFactory" ; type : "address" }, { internalType : "bytes32" ; name : "linkerCodeHash" ; type : "bytes32" }, { internalType : "uint256" ; name : "initialVaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumTransactionAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "positionDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "checkpointDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "timeStretch" ; type : "uint256" }, { internalType : "address" ; name : "governance" ; type : "address" }, { internalType : "address" ; name : "feeCollector" ; type : "address" }, { internalType : "address" ; name : "sweepCollector" ; type : "address" }, { components : readonly [{ internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }] ; internalType : "struct IHyperdrive.Fees" ; name : "fees" ; type : "tuple" }] ; internalType : "struct IHyperdrive.PoolConfig" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolInfo" ; outputs : readonly [{ components : readonly [{ internalType : "uint256" ; name : "shareReserves" ; type : "uint256" }, { internalType : "int256" ; name : "shareAdjustment" ; type : "int256" }, { internalType : "uint256" ; name : "zombieBaseProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "zombieShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "bondReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "lpTotalSupply" ; type : "uint256" }, { internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "longAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "shortsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "shortAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesReadyToWithdraw" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longExposure" ; type : "uint256" }] ; internalType : "struct IHyperdrive.PoolInfo" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getUncollectedGovernanceFees" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getWithdrawPool" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "readyToWithdraw" ; type : "uint128" }, { internalType : "uint128" ; name : "proceeds" ; type : "uint128" }] ; internalType : "struct IHyperdrive.WithdrawPool" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_apr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "initialize" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "isApprovedForAll" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_account" ; type : "address" }] ; name : "isPauser" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256[]" ; name : "_slots" ; type : "uint256[]" }] ; name : "load" ; outputs : readonly [{ internalType : "bytes32[]" ; name : "" ; type : "bytes32[]" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "name" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }] ; name : "nonces" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_amount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openLong" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "bondProceeds" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxDeposit" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openShort" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "deposit" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "bool" ; name : "_status" ; type : "bool" }] ; name : "pause" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "perTokenApprovals" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }, { internalType : "bool" ; name : "_approved" ; type : "bool" }, { internalType : "uint256" ; name : "deadline" ; type : "uint256" }, { internalType : "uint8" ; name : "v" ; type : "uint8" }, { internalType : "bytes32" ; name : "r" ; type : "bytes32" }, { internalType : "bytes32" ; name : "s" ; type : "bytes32" }] ; name : "permitForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_withdrawalShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "redeemWithdrawalShares" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesRedeemed" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_lpShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "removeLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalShares" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "setApproval" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "setApprovalBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "setApprovalForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setFeeCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setGovernance" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "who" ; type : "address" }, { internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "setPauser" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setSweepCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "contract IERC20" ; name : "_target" ; type : "address" }] ; name : "sweep" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "symbol" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target0" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target1" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target2" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target3" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target4" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "totalSupply" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "transferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "transferFromBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "vaultSharesToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "AddLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "owner" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "spender" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "Approval" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "account" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "ApprovalForAll" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "basePayment" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "fees" ; type : "uint256" }] ; name : "CollectGovernanceFee" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "uint256" ; name : "checkpointTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "checkpointVaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedShorts" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedLongs" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "CreateCheckpoint" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newFeeCollector" ; type : "address" }] ; name : "FeeCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newGovernance" ; type : "address" }] ; name : "GovernanceUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "apr" ; type : "uint256" }] ; name : "Initialize" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "baseProceeds" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : false ; internalType : "bool" ; name : "isPaused" ; type : "bool" }] ; name : "PauseStatusUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newPauser" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "PauserUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }] ; name : "RedeemWithdrawalShares" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "RemoveLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "target" ; type : "address" }] ; name : "Sweep" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newSweepCollector" ; type : "address" }] ; name : "SweepCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "from" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "to" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "TransferSingle" ; type : "event" }, { inputs : readonly [] ; name : "BatchInputLengthMismatch" ; type : "error" }, { inputs : readonly [] ; name : "BelowMinimumContribution" ; type : "error" }, { inputs : readonly [] ; name : "DecreasedPresentValueWhenAddingLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "DistributeExcessIdleFailed" ; type : "error" }, { inputs : readonly [] ; name : "ExpInvalidExponent" ; type : "error" }, { inputs : readonly [] ; name : "ExpiredDeadline" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientBalance" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "InvalidApr" ; type : "error" }, { inputs : readonly [] ; name : "InvalidCheckpointTime" ; type : "error" }, { inputs : readonly [] ; name : "InvalidERC20Bridge" ; type : "error" }, { inputs : readonly [] ; name : "InvalidFeeDestination" ; type : "error" }, { inputs : readonly [] ; name : "InvalidInitialVaultSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidLPSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidPresentValue" ; type : "error" }, { inputs : readonly [] ; name : "InvalidSignature" ; type : "error" }, { inputs : readonly [] ; name : "InvalidTimestamp" ; type : "error" }, { inputs : readonly [] ; name : "LnInvalidInput" ; type : "error" }, { inputs : readonly [] ; name : "MinimumSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "MinimumTransactionAmount" ; type : "error" }, { inputs : readonly [] ; name : "NotPayable" ; type : "error" }, { inputs : readonly [] ; name : "OutputLimit" ; type : "error" }, { inputs : readonly [] ; name : "PoolAlreadyInitialized" ; type : "error" }, { inputs : readonly [] ; name : "PoolIsPaused" ; type : "error" }, { inputs : readonly [] ; name : "RestrictedZeroAddress" ; type : "error" }, { inputs : readonly [{ internalType : "bytes" ; name : "data" ; type : "bytes" }] ; name : "ReturnData" ; type : "error" }, { inputs : readonly [] ; name : "SweepFailed" ; type : "error" }, { inputs : readonly [] ; name : "TransferFailed" ; type : "error" }, { inputs : readonly [] ; name : "Unauthorized" ; type : "error" }, { inputs : readonly [] ; name : "UnexpectedSuccess" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt128" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt256" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint112" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint128" ; type : "error" }, { inputs : readonly [] ; name : "UnsupportedToken" ; type : "error" }, { inputs : readonly [] ; name : "UpdateLiquidityFailed" ; type : "error" }], "RemoveLiquidity" > & ContractGetEventsOptions <readonly [{ inputs : readonly [] ; name : "PERMIT_TYPEHASH" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_minLpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "_minApr" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxApr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "addLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }] ; name : "balanceOf" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "baseToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" }, { internalType : "uint256[]" ; name : "values" ; type : "uint256[]" }] ; name : "batchTransferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxIterations" ; type : "uint256" }] ; name : "checkpoint" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeLong" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeShort" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "collectGovernanceFee" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "decimals" ; outputs : readonly [{ internalType : "uint8" ; name : "" ; type : "uint8" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "domainSeparator" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpoint" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "vaultSharePrice" ; type : "uint128" }] ; internalType : "struct IHyperdrive.Checkpoint" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpointExposure" ; outputs : readonly [{ internalType : "int256" ; name : "" ; type : "int256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getMarketState" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "shareReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "bondReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "longExposure" ; type : "uint128" }, { internalType : "uint128" ; name : "longsOutstanding" ; type : "uint128" }, { internalType : "int128" ; name : "shareAdjustment" ; type : "int128" }, { internalType : "uint128" ; name : "shortsOutstanding" ; type : "uint128" }, { internalType : "uint128" ; name : "longAverageMaturityTime" ; type : "uint128" }, { internalType : "uint128" ; name : "shortAverageMaturityTime" ; type : "uint128" }, { internalType : "bool" ; name : "isInitialized" ; type : "bool" }, { internalType : "bool" ; name : "isPaused" ; type : "bool" }, { internalType : "uint112" ; name : "zombieBaseProceeds" ; type : "uint112" }, { internalType : "uint128" ; name : "zombieShareReserves" ; type : "uint128" }] ; internalType : "struct IHyperdrive.MarketState" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolConfig" ; outputs : readonly [{ components : readonly [{ internalType : "contract IERC20" ; name : "baseToken" ; type : "address" }, { internalType : "contract IERC20" ; name : "vaultSharesToken" ; type : "address" }, { internalType : "address" ; name : "linkerFactory" ; type : "address" }, { internalType : "bytes32" ; name : "linkerCodeHash" ; type : "bytes32" }, { internalType : "uint256" ; name : "initialVaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumTransactionAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "positionDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "checkpointDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "timeStretch" ; type : "uint256" }, { internalType : "address" ; name : "governance" ; type : "address" }, { internalType : "address" ; name : "feeCollector" ; type : "address" }, { internalType : "address" ; name : "sweepCollector" ; type : "address" }, { components : readonly [{ internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }] ; internalType : "struct IHyperdrive.Fees" ; name : "fees" ; type : "tuple" }] ; internalType : "struct IHyperdrive.PoolConfig" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolInfo" ; outputs : readonly [{ components : readonly [{ internalType : "uint256" ; name : "shareReserves" ; type : "uint256" }, { internalType : "int256" ; name : "shareAdjustment" ; type : "int256" }, { internalType : "uint256" ; name : "zombieBaseProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "zombieShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "bondReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "lpTotalSupply" ; type : "uint256" }, { internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "longAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "shortsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "shortAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesReadyToWithdraw" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longExposure" ; type : "uint256" }] ; internalType : "struct IHyperdrive.PoolInfo" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getUncollectedGovernanceFees" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getWithdrawPool" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "readyToWithdraw" ; type : "uint128" }, { internalType : "uint128" ; name : "proceeds" ; type : "uint128" }] ; internalType : "struct IHyperdrive.WithdrawPool" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_apr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "initialize" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "isApprovedForAll" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_account" ; type : "address" }] ; name : "isPauser" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256[]" ; name : "_slots" ; type : "uint256[]" }] ; name : "load" ; outputs : readonly [{ internalType : "bytes32[]" ; name : "" ; type : "bytes32[]" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "name" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }] ; name : "nonces" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_amount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openLong" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "bondProceeds" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxDeposit" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openShort" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "deposit" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "bool" ; name : "_status" ; type : "bool" }] ; name : "pause" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "perTokenApprovals" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }, { internalType : "bool" ; name : "_approved" ; type : "bool" }, { internalType : "uint256" ; name : "deadline" ; type : "uint256" }, { internalType : "uint8" ; name : "v" ; type : "uint8" }, { internalType : "bytes32" ; name : "r" ; type : "bytes32" }, { internalType : "bytes32" ; name : "s" ; type : "bytes32" }] ; name : "permitForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_withdrawalShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "redeemWithdrawalShares" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesRedeemed" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_lpShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "removeLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalShares" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "setApproval" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "setApprovalBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "setApprovalForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setFeeCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setGovernance" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "who" ; type : "address" }, { internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "setPauser" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setSweepCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "contract IERC20" ; name : "_target" ; type : "address" }] ; name : "sweep" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "symbol" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target0" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target1" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target2" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target3" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target4" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "totalSupply" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "transferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "transferFromBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "vaultSharesToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "AddLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "owner" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "spender" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "Approval" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "account" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "ApprovalForAll" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "basePayment" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "fees" ; type : "uint256" }] ; name : "CollectGovernanceFee" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "uint256" ; name : "checkpointTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "checkpointVaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedShorts" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedLongs" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "CreateCheckpoint" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newFeeCollector" ; type : "address" }] ; name : "FeeCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newGovernance" ; type : "address" }] ; name : "GovernanceUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "apr" ; type : "uint256" }] ; name : "Initialize" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "baseProceeds" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : false ; internalType : "bool" ; name : "isPaused" ; type : "bool" }] ; name : "PauseStatusUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newPauser" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "PauserUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }] ; name : "RedeemWithdrawalShares" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "RemoveLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "target" ; type : "address" }] ; name : "Sweep" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newSweepCollector" ; type : "address" }] ; name : "SweepCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "from" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "to" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "TransferSingle" ; type : "event" }, { inputs : readonly [] ; name : "BatchInputLengthMismatch" ; type : "error" }, { inputs : readonly [] ; name : "BelowMinimumContribution" ; type : "error" }, { inputs : readonly [] ; name : "DecreasedPresentValueWhenAddingLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "DistributeExcessIdleFailed" ; type : "error" }, { inputs : readonly [] ; name : "ExpInvalidExponent" ; type : "error" }, { inputs : readonly [] ; name : "ExpiredDeadline" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientBalance" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "InvalidApr" ; type : "error" }, { inputs : readonly [] ; name : "InvalidCheckpointTime" ; type : "error" }, { inputs : readonly [] ; name : "InvalidERC20Bridge" ; type : "error" }, { inputs : readonly [] ; name : "InvalidFeeDestination" ; type : "error" }, { inputs : readonly [] ; name : "InvalidInitialVaultSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidLPSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidPresentValue" ; type : "error" }, { inputs : readonly [] ; name : "InvalidSignature" ; type : "error" }, { inputs : readonly [] ; name : "InvalidTimestamp" ; type : "error" }, { inputs : readonly [] ; name : "LnInvalidInput" ; type : "error" }, { inputs : readonly [] ; name : "MinimumSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "MinimumTransactionAmount" ; type : "error" }, { inputs : readonly [] ; name : "NotPayable" ; type : "error" }, { inputs : readonly [] ; name : "OutputLimit" ; type : "error" }, { inputs : readonly [] ; name : "PoolAlreadyInitialized" ; type : "error" }, { inputs : readonly [] ; name : "PoolIsPaused" ; type : "error" }, { inputs : readonly [] ; name : "RestrictedZeroAddress" ; type : "error" }, { inputs : readonly [{ internalType : "bytes" ; name : "data" ; type : "bytes" }] ; name : "ReturnData" ; type : "error" }, { inputs : readonly [] ; name : "SweepFailed" ; type : "error" }, { inputs : readonly [] ; name : "TransferFailed" ; type : "error" }, { inputs : readonly [] ; name : "Unauthorized" ; type : "error" }, { inputs : readonly [] ; name : "UnexpectedSuccess" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt128" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt256" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint112" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint128" ; type : "error" }, { inputs : readonly [] ; name : "UnsupportedToken" ; type : "error" }, { inputs : readonly [] ; name : "UpdateLiquidityFailed" ; type : "error" }], "RedeemWithdrawalShares" > |
Returns
Promise
<{ addLiquidity
: Event
<readonly [{ inputs
: readonly [] ; name
: "PERMIT_TYPEHASH"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minLpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minApr"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxApr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "addLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "balanceOf"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "baseToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256[]"
; name
: "ids"
; type
: "uint256[]"
}, { internalType
: "uint256[]"
; name
: "values"
; type
: "uint256[]"
}] ; name
: "batchTransferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxIterations"
; type
: "uint256"
}] ; name
: "checkpoint"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "collectGovernanceFee"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "decimals"
; outputs
: readonly [{ internalType
: "uint8"
; name
: ""
; type
: "uint8"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "domainSeparator"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpoint"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "vaultSharePrice"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.Checkpoint"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpointExposure"
; outputs
: readonly [{ internalType
: "int256"
; name
: ""
; type
: "int256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getMarketState"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "shareReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "bondReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longExposure"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longsOutstanding"
; type
: "uint128"
}, { internalType
: "int128"
; name
: "shareAdjustment"
; type
: "int128"
}, { internalType
: "uint128"
; name
: "shortsOutstanding"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "shortAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "bool"
; name
: "isInitialized"
; type
: "bool"
}, { internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}, { internalType
: "uint112"
; name
: "zombieBaseProceeds"
; type
: "uint112"
}, { internalType
: "uint128"
; name
: "zombieShareReserves"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.MarketState"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolConfig"
; outputs
: readonly [{ components
: readonly [{ internalType
: "contract IERC20"
; name
: "baseToken"
; type
: "address"
}, { internalType
: "contract IERC20"
; name
: "vaultSharesToken"
; type
: "address"
}, { internalType
: "address"
; name
: "linkerFactory"
; type
: "address"
}, { internalType
: "bytes32"
; name
: "linkerCodeHash"
; type
: "bytes32"
}, { internalType
: "uint256"
; name
: "initialVaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumTransactionAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "positionDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "checkpointDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "timeStretch"
; type
: "uint256"
}, { internalType
: "address"
; name
: "governance"
; type
: "address"
}, { internalType
: "address"
; name
: "feeCollector"
; type
: "address"
}, { internalType
: "address"
; name
: "sweepCollector"
; type
: "address"
}, { components
: readonly [..., ..., ..., ...] ; internalType
: "struct IHyperdrive.Fees"
; name
: "fees"
; type
: "tuple"
}] ; internalType
: "struct IHyperdrive.PoolConfig"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolInfo"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint256"
; name
: "shareReserves"
; type
: "uint256"
}, { internalType
: "int256"
; name
: "shareAdjustment"
; type
: "int256"
}, { internalType
: "uint256"
; name
: "zombieBaseProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "zombieShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpTotalSupply"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesReadyToWithdraw"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longExposure"
; type
: "uint256"
}] ; internalType
: "struct IHyperdrive.PoolInfo"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getUncollectedGovernanceFees"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getWithdrawPool"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "readyToWithdraw"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "proceeds"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.WithdrawPool"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_apr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "initialize"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "isApprovedForAll"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_account"
; type
: "address"
}] ; name
: "isPauser"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256[]"
; name
: "_slots"
; type
: "uint256[]"
}] ; name
: "load"
; outputs
: readonly [{ internalType
: "bytes32[]"
; name
: ""
; type
: "bytes32[]"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "name"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "nonces"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_amount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondProceeds"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxDeposit"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "deposit"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "bool"
; name
: "_status"
; type
: "bool"
}] ; name
: "pause"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "perTokenApprovals"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}, { internalType
: "bool"
; name
: "_approved"
; type
: "bool"
}, { internalType
: "uint256"
; name
: "deadline"
; type
: "uint256"
}, { internalType
: "uint8"
; name
: "v"
; type
: "uint8"
}, { internalType
: "bytes32"
; name
: "r"
; type
: "bytes32"
}, { internalType
: "bytes32"
; name
: "s"
; type
: "bytes32"
}] ; name
: "permitForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_withdrawalShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "redeemWithdrawalShares"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesRedeemed"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_lpShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "removeLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalShares"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "setApproval"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "setApprovalBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "setApprovalForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setFeeCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setGovernance"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "who"
; type
: "address"
}, { internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "setPauser"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setSweepCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "contract IERC20"
; name
: "_target"
; type
: "address"
}] ; name
: "sweep"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "symbol"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target0"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target1"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target2"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target3"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target4"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "totalSupply"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "transferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "transferFromBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "vaultSharesToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "AddLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "owner"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "spender"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "Approval"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "account"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "ApprovalForAll"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "basePayment"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "fees"
; type
: "uint256"
}] ; name
: "CollectGovernanceFee"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "uint256"
; name
: "checkpointTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "checkpointVaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedShorts"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedLongs"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "CreateCheckpoint"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newFeeCollector"
; type
: "address"
}] ; name
: "FeeCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newGovernance"
; type
: "address"
}] ; name
: "GovernanceUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "apr"
; type
: "uint256"
}] ; name
: "Initialize"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseProceeds"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: false
; internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}] ; name
: "PauseStatusUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newPauser"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "PauserUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}] ; name
: "RedeemWithdrawalShares"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "RemoveLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "target"
; type
: "address"
}] ; name
: "Sweep"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newSweepCollector"
; type
: "address"
}] ; name
: "SweepCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "from"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "to"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "id"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "TransferSingle"
; type
: "event"
}, { inputs
: readonly [] ; name
: "BatchInputLengthMismatch"
; type
: "error"
}, { inputs
: readonly [] ; name
: "BelowMinimumContribution"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DecreasedPresentValueWhenAddingLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DistributeExcessIdleFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpInvalidExponent"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpiredDeadline"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientBalance"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidApr"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidCheckpointTime"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidERC20Bridge"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidFeeDestination"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidInitialVaultSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidLPSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidPresentValue"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidSignature"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidTimestamp"
; type
: "error"
}, { inputs
: readonly [] ; name
: "LnInvalidInput"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumTransactionAmount"
; type
: "error"
}, { inputs
: readonly [] ; name
: "NotPayable"
; type
: "error"
}, { inputs
: readonly [] ; name
: "OutputLimit"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolAlreadyInitialized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolIsPaused"
; type
: "error"
}, { inputs
: readonly [] ; name
: "RestrictedZeroAddress"
; type
: "error"
}, { inputs
: readonly [{ internalType
: "bytes"
; name
: "data"
; type
: "bytes"
}] ; name
: "ReturnData"
; type
: "error"
}, { inputs
: readonly [] ; name
: "SweepFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "TransferFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "Unauthorized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnexpectedSuccess"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt256"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint112"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsupportedToken"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UpdateLiquidityFailed"
; type
: "error"
}], "AddLiquidity"
>[] ; redeemWithdrawalShares
: Event
<readonly [{ inputs
: readonly [] ; name
: "PERMIT_TYPEHASH"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minLpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minApr"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxApr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "addLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "balanceOf"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "baseToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256[]"
; name
: "ids"
; type
: "uint256[]"
}, { internalType
: "uint256[]"
; name
: "values"
; type
: "uint256[]"
}] ; name
: "batchTransferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxIterations"
; type
: "uint256"
}] ; name
: "checkpoint"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "collectGovernanceFee"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "decimals"
; outputs
: readonly [{ internalType
: "uint8"
; name
: ""
; type
: "uint8"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "domainSeparator"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpoint"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "vaultSharePrice"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.Checkpoint"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpointExposure"
; outputs
: readonly [{ internalType
: "int256"
; name
: ""
; type
: "int256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getMarketState"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "shareReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "bondReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longExposure"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longsOutstanding"
; type
: "uint128"
}, { internalType
: "int128"
; name
: "shareAdjustment"
; type
: "int128"
}, { internalType
: "uint128"
; name
: "shortsOutstanding"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "shortAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "bool"
; name
: "isInitialized"
; type
: "bool"
}, { internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}, { internalType
: "uint112"
; name
: "zombieBaseProceeds"
; type
: "uint112"
}, { internalType
: "uint128"
; name
: "zombieShareReserves"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.MarketState"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolConfig"
; outputs
: readonly [{ components
: readonly [{ internalType
: "contract IERC20"
; name
: "baseToken"
; type
: "address"
}, { internalType
: "contract IERC20"
; name
: "vaultSharesToken"
; type
: "address"
}, { internalType
: "address"
; name
: "linkerFactory"
; type
: "address"
}, { internalType
: "bytes32"
; name
: "linkerCodeHash"
; type
: "bytes32"
}, { internalType
: "uint256"
; name
: "initialVaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumTransactionAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "positionDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "checkpointDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "timeStretch"
; type
: "uint256"
}, { internalType
: "address"
; name
: "governance"
; type
: "address"
}, { internalType
: "address"
; name
: "feeCollector"
; type
: "address"
}, { internalType
: "address"
; name
: "sweepCollector"
; type
: "address"
}, { components
: readonly [..., ..., ..., ...] ; internalType
: "struct IHyperdrive.Fees"
; name
: "fees"
; type
: "tuple"
}] ; internalType
: "struct IHyperdrive.PoolConfig"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolInfo"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint256"
; name
: "shareReserves"
; type
: "uint256"
}, { internalType
: "int256"
; name
: "shareAdjustment"
; type
: "int256"
}, { internalType
: "uint256"
; name
: "zombieBaseProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "zombieShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpTotalSupply"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesReadyToWithdraw"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longExposure"
; type
: "uint256"
}] ; internalType
: "struct IHyperdrive.PoolInfo"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getUncollectedGovernanceFees"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getWithdrawPool"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "readyToWithdraw"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "proceeds"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.WithdrawPool"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_apr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "initialize"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "isApprovedForAll"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_account"
; type
: "address"
}] ; name
: "isPauser"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256[]"
; name
: "_slots"
; type
: "uint256[]"
}] ; name
: "load"
; outputs
: readonly [{ internalType
: "bytes32[]"
; name
: ""
; type
: "bytes32[]"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "name"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "nonces"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_amount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondProceeds"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxDeposit"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "deposit"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "bool"
; name
: "_status"
; type
: "bool"
}] ; name
: "pause"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "perTokenApprovals"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}, { internalType
: "bool"
; name
: "_approved"
; type
: "bool"
}, { internalType
: "uint256"
; name
: "deadline"
; type
: "uint256"
}, { internalType
: "uint8"
; name
: "v"
; type
: "uint8"
}, { internalType
: "bytes32"
; name
: "r"
; type
: "bytes32"
}, { internalType
: "bytes32"
; name
: "s"
; type
: "bytes32"
}] ; name
: "permitForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_withdrawalShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "redeemWithdrawalShares"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesRedeemed"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_lpShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "removeLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalShares"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "setApproval"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "setApprovalBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "setApprovalForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setFeeCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setGovernance"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "who"
; type
: "address"
}, { internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "setPauser"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setSweepCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "contract IERC20"
; name
: "_target"
; type
: "address"
}] ; name
: "sweep"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "symbol"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target0"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target1"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target2"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target3"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target4"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "totalSupply"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "transferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "transferFromBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "vaultSharesToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "AddLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "owner"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "spender"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "Approval"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "account"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "ApprovalForAll"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "basePayment"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "fees"
; type
: "uint256"
}] ; name
: "CollectGovernanceFee"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "uint256"
; name
: "checkpointTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "checkpointVaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedShorts"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedLongs"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "CreateCheckpoint"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newFeeCollector"
; type
: "address"
}] ; name
: "FeeCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newGovernance"
; type
: "address"
}] ; name
: "GovernanceUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "apr"
; type
: "uint256"
}] ; name
: "Initialize"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseProceeds"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: false
; internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}] ; name
: "PauseStatusUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newPauser"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "PauserUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}] ; name
: "RedeemWithdrawalShares"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "RemoveLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "target"
; type
: "address"
}] ; name
: "Sweep"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newSweepCollector"
; type
: "address"
}] ; name
: "SweepCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "from"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "to"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "id"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "TransferSingle"
; type
: "event"
}, { inputs
: readonly [] ; name
: "BatchInputLengthMismatch"
; type
: "error"
}, { inputs
: readonly [] ; name
: "BelowMinimumContribution"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DecreasedPresentValueWhenAddingLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DistributeExcessIdleFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpInvalidExponent"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpiredDeadline"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientBalance"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidApr"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidCheckpointTime"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidERC20Bridge"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidFeeDestination"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidInitialVaultSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidLPSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidPresentValue"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidSignature"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidTimestamp"
; type
: "error"
}, { inputs
: readonly [] ; name
: "LnInvalidInput"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumTransactionAmount"
; type
: "error"
}, { inputs
: readonly [] ; name
: "NotPayable"
; type
: "error"
}, { inputs
: readonly [] ; name
: "OutputLimit"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolAlreadyInitialized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolIsPaused"
; type
: "error"
}, { inputs
: readonly [] ; name
: "RestrictedZeroAddress"
; type
: "error"
}, { inputs
: readonly [{ internalType
: "bytes"
; name
: "data"
; type
: "bytes"
}] ; name
: "ReturnData"
; type
: "error"
}, { inputs
: readonly [] ; name
: "SweepFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "TransferFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "Unauthorized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnexpectedSuccess"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt256"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint112"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsupportedToken"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UpdateLiquidityFailed"
; type
: "error"
}], "RedeemWithdrawalShares"
>[] ; removeLiquidity
: Event
<readonly [{ inputs
: readonly [] ; name
: "PERMIT_TYPEHASH"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minLpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minApr"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxApr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "addLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "balanceOf"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "baseToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256[]"
; name
: "ids"
; type
: "uint256[]"
}, { internalType
: "uint256[]"
; name
: "values"
; type
: "uint256[]"
}] ; name
: "batchTransferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxIterations"
; type
: "uint256"
}] ; name
: "checkpoint"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "closeShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "collectGovernanceFee"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "decimals"
; outputs
: readonly [{ internalType
: "uint8"
; name
: ""
; type
: "uint8"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "domainSeparator"
; outputs
: readonly [{ internalType
: "bytes32"
; name
: ""
; type
: "bytes32"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpoint"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "vaultSharePrice"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.Checkpoint"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_checkpointTime"
; type
: "uint256"
}] ; name
: "getCheckpointExposure"
; outputs
: readonly [{ internalType
: "int256"
; name
: ""
; type
: "int256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getMarketState"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "shareReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "bondReserves"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longExposure"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longsOutstanding"
; type
: "uint128"
}, { internalType
: "int128"
; name
: "shareAdjustment"
; type
: "int128"
}, { internalType
: "uint128"
; name
: "shortsOutstanding"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "longAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "shortAverageMaturityTime"
; type
: "uint128"
}, { internalType
: "bool"
; name
: "isInitialized"
; type
: "bool"
}, { internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}, { internalType
: "uint112"
; name
: "zombieBaseProceeds"
; type
: "uint112"
}, { internalType
: "uint128"
; name
: "zombieShareReserves"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.MarketState"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolConfig"
; outputs
: readonly [{ components
: readonly [{ internalType
: "contract IERC20"
; name
: "baseToken"
; type
: "address"
}, { internalType
: "contract IERC20"
; name
: "vaultSharesToken"
; type
: "address"
}, { internalType
: "address"
; name
: "linkerFactory"
; type
: "address"
}, { internalType
: "bytes32"
; name
: "linkerCodeHash"
; type
: "bytes32"
}, { internalType
: "uint256"
; name
: "initialVaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "minimumTransactionAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "positionDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "checkpointDuration"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "timeStretch"
; type
: "uint256"
}, { internalType
: "address"
; name
: "governance"
; type
: "address"
}, { internalType
: "address"
; name
: "feeCollector"
; type
: "address"
}, { internalType
: "address"
; name
: "sweepCollector"
; type
: "address"
}, { components
: readonly [..., ..., ..., ...] ; internalType
: "struct IHyperdrive.Fees"
; name
: "fees"
; type
: "tuple"
}] ; internalType
: "struct IHyperdrive.PoolConfig"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getPoolInfo"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint256"
; name
: "shareReserves"
; type
: "uint256"
}, { internalType
: "int256"
; name
: "shareAdjustment"
; type
: "int256"
}, { internalType
: "uint256"
; name
: "zombieBaseProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "zombieShareReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondReserves"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpTotalSupply"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortsOutstanding"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "shortAverageMaturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesReadyToWithdraw"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesProceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "longExposure"
; type
: "uint256"
}] ; internalType
: "struct IHyperdrive.PoolInfo"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getUncollectedGovernanceFees"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "getWithdrawPool"
; outputs
: readonly [{ components
: readonly [{ internalType
: "uint128"
; name
: "readyToWithdraw"
; type
: "uint128"
}, { internalType
: "uint128"
; name
: "proceeds"
; type
: "uint128"
}] ; internalType
: "struct IHyperdrive.WithdrawPool"
; name
: ""
; type
: "tuple"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_contribution"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_apr"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "initialize"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "lpShares"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "isApprovedForAll"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_account"
; type
: "address"
}] ; name
: "isPauser"
; outputs
: readonly [{ internalType
: "bool"
; name
: ""
; type
: "bool"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256[]"
; name
: "_slots"
; type
: "uint256[]"
}] ; name
: "load"
; outputs
: readonly [{ internalType
: "bytes32[]"
; name
: ""
; type
: "bytes32[]"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "name"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}] ; name
: "nonces"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_amount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutput"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openLong"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "bondProceeds"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_bondAmount"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_maxDeposit"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minVaultSharePrice"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "openShort"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "deposit"
; type
: "uint256"
}] ; stateMutability
: "payable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "bool"
; name
: "_status"
; type
: "bool"
}] ; name
: "pause"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}, { internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}] ; name
: "perTokenApprovals"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "owner"
; type
: "address"
}, { internalType
: "address"
; name
: "spender"
; type
: "address"
}, { internalType
: "bool"
; name
: "_approved"
; type
: "bool"
}, { internalType
: "uint256"
; name
: "deadline"
; type
: "uint256"
}, { internalType
: "uint8"
; name
: "v"
; type
: "uint8"
}, { internalType
: "bytes32"
; name
: "r"
; type
: "bytes32"
}, { internalType
: "bytes32"
; name
: "s"
; type
: "bytes32"
}] ; name
: "permitForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_withdrawalShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "redeemWithdrawalShares"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalSharesRedeemed"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "_lpShares"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "_minOutputPerShare"
; type
: "uint256"
}, { components
: readonly [{ internalType
: "address"
; name
: "destination"
; type
: "address"
}, { internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { internalType
: "bytes"
; name
: "extraData"
; type
: "bytes"
}] ; internalType
: "struct IHyperdrive.Options"
; name
: "_options"
; type
: "tuple"
}] ; name
: "removeLiquidity"
; outputs
: readonly [{ internalType
: "uint256"
; name
: "proceeds"
; type
: "uint256"
}, { internalType
: "uint256"
; name
: "withdrawalShares"
; type
: "uint256"
}] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "setApproval"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "setApprovalBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "operator"
; type
: "address"
}, { internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "setApprovalForAll"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setFeeCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setGovernance"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "who"
; type
: "address"
}, { internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "setPauser"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "address"
; name
: "_who"
; type
: "address"
}] ; name
: "setSweepCollector"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "contract IERC20"
; name
: "_target"
; type
: "address"
}] ; name
: "sweep"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "symbol"
; outputs
: readonly [{ internalType
: "string"
; name
: ""
; type
: "string"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target0"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target1"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target2"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target3"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [] ; name
: "target4"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenId"
; type
: "uint256"
}] ; name
: "totalSupply"
; outputs
: readonly [{ internalType
: "uint256"
; name
: ""
; type
: "uint256"
}] ; stateMutability
: "view"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}] ; name
: "transferFrom"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [{ internalType
: "uint256"
; name
: "tokenID"
; type
: "uint256"
}, { internalType
: "address"
; name
: "from"
; type
: "address"
}, { internalType
: "address"
; name
: "to"
; type
: "address"
}, { internalType
: "uint256"
; name
: "amount"
; type
: "uint256"
}, { internalType
: "address"
; name
: "caller"
; type
: "address"
}] ; name
: "transferFromBridge"
; outputs
: readonly [] ; stateMutability
: "nonpayable"
; type
: "function"
}, { inputs
: readonly [] ; name
: "vaultSharesToken"
; outputs
: readonly [{ internalType
: "address"
; name
: ""
; type
: "address"
}] ; stateMutability
: "view"
; type
: "function"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "AddLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "owner"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "spender"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "Approval"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "account"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "approved"
; type
: "bool"
}] ; name
: "ApprovalForAll"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "basePayment"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "CloseShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "fees"
; type
: "uint256"
}] ; name
: "CollectGovernanceFee"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "uint256"
; name
: "checkpointTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "checkpointVaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultSharePrice"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedShorts"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturedLongs"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "CreateCheckpoint"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newFeeCollector"
; type
: "address"
}] ; name
: "FeeCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newGovernance"
; type
: "address"
}] ; name
: "GovernanceUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "apr"
; type
: "uint256"
}] ; name
: "Initialize"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenLong"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "trader"
; type
: "address"
}, { indexed
: true
; internalType
: "uint256"
; name
: "assetId"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "maturityTime"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseProceeds"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "bondAmount"
; type
: "uint256"
}] ; name
: "OpenShort"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: false
; internalType
: "bool"
; name
: "isPaused"
; type
: "bool"
}] ; name
: "PauseStatusUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newPauser"
; type
: "address"
}, { indexed
: false
; internalType
: "bool"
; name
: "status"
; type
: "bool"
}] ; name
: "PauserUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}] ; name
: "RedeemWithdrawalShares"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "provider"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "destination"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "baseAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "vaultShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "bool"
; name
: "asBase"
; type
: "bool"
}, { indexed
: false
; internalType
: "uint256"
; name
: "withdrawalShareAmount"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "lpSharePrice"
; type
: "uint256"
}] ; name
: "RemoveLiquidity"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "collector"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "target"
; type
: "address"
}] ; name
: "Sweep"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "newSweepCollector"
; type
: "address"
}] ; name
: "SweepCollectorUpdated"
; type
: "event"
}, { anonymous
: false
; inputs
: readonly [{ indexed
: true
; internalType
: "address"
; name
: "operator"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "from"
; type
: "address"
}, { indexed
: true
; internalType
: "address"
; name
: "to"
; type
: "address"
}, { indexed
: false
; internalType
: "uint256"
; name
: "id"
; type
: "uint256"
}, { indexed
: false
; internalType
: "uint256"
; name
: "value"
; type
: "uint256"
}] ; name
: "TransferSingle"
; type
: "event"
}, { inputs
: readonly [] ; name
: "BatchInputLengthMismatch"
; type
: "error"
}, { inputs
: readonly [] ; name
: "BelowMinimumContribution"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DecreasedPresentValueWhenAddingLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "DistributeExcessIdleFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpInvalidExponent"
; type
: "error"
}, { inputs
: readonly [] ; name
: "ExpiredDeadline"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientBalance"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InsufficientLiquidity"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidApr"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidCheckpointTime"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidERC20Bridge"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidFeeDestination"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidInitialVaultSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidLPSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidPresentValue"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidSignature"
; type
: "error"
}, { inputs
: readonly [] ; name
: "InvalidTimestamp"
; type
: "error"
}, { inputs
: readonly [] ; name
: "LnInvalidInput"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumSharePrice"
; type
: "error"
}, { inputs
: readonly [] ; name
: "MinimumTransactionAmount"
; type
: "error"
}, { inputs
: readonly [] ; name
: "NotPayable"
; type
: "error"
}, { inputs
: readonly [] ; name
: "OutputLimit"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolAlreadyInitialized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "PoolIsPaused"
; type
: "error"
}, { inputs
: readonly [] ; name
: "RestrictedZeroAddress"
; type
: "error"
}, { inputs
: readonly [{ internalType
: "bytes"
; name
: "data"
; type
: "bytes"
}] ; name
: "ReturnData"
; type
: "error"
}, { inputs
: readonly [] ; name
: "SweepFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "TransferFailed"
; type
: "error"
}, { inputs
: readonly [] ; name
: "Unauthorized"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnexpectedSuccess"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToInt256"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint112"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsafeCastToUint128"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UnsupportedToken"
; type
: "error"
}, { inputs
: readonly [] ; name
: "UpdateLiquidityFailed"
; type
: "error"
}], "RemoveLiquidity"
>[] }>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getLpEvents
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:473
getLpShares
▸ getLpShares(«destructured»
): Promise
<bigint
>
Gets the amount of LP shares a user has.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› account | `0x${string}` |
› options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getLpShares
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1001
getLpSharesTotalSupply
▸ getLpSharesTotalSupply(args?
): Promise
<bigint
>
Parameters
Name | Type |
---|---|
args? | Object |
args.options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getLpSharesTotalSupply
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:988
getMarketState
▸ getMarketState(options?
): Promise
<{ bondReserves
: bigint
; isInitialized
: boolean
; isPaused
: boolean
; longAverageMaturityTime
: bigint
; longExposure
: bigint
; longsOutstanding
: bigint
; shareAdjustment
: bigint
; shareReserves
: bigint
; shortAverageMaturityTime
: bigint
; shortsOutstanding
: bigint
; zombieBaseProceeds
: bigint
; zombieShareReserves
: bigint
}>
This function retrieves the market state. This is helpful for retrieving general market state statistics, such as whether the market has been paused.
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<{ bondReserves
: bigint
; isInitialized
: boolean
; isPaused
: boolean
; longAverageMaturityTime
: bigint
; longExposure
: bigint
; longsOutstanding
: bigint
; shareAdjustment
: bigint
; shareReserves
: bigint
; shortAverageMaturityTime
: bigint
; shortsOutstanding
: bigint
; zombieBaseProceeds
: bigint
; zombieShareReserves
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getMarketState
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:159
getMaxLong
▸ getMaxLong(options?
): Promise
<{ maxBaseIn
: bigint
; maxBondsOut
: bigint
; maxSharesIn
: bigint
}>
Gets the maximum amount of bonds a user can open a long for.
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<{ maxBaseIn
: bigint
; maxBondsOut
: bigint
; maxSharesIn
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getMaxLong
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:939
getMaxShort
▸ getMaxShort(options?
): Promise
<{ maxBaseIn
: bigint
; maxBondsOut
: bigint
; maxSharesIn
: bigint
}>
Gets the maximum amount of bonds a user can open a short for.
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<{ maxBaseIn
: bigint
; maxBondsOut
: bigint
; maxSharesIn
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getMaxShort
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:884
getOpenLongs
▸ getOpenLongs(account
): Promise
<Long
[]>
Gets the active longs opened by a specific user.
Parameters
Name | Type | Description |
---|---|---|
account | Object | The user's address |
account.account | `0x${string}` | - |
account.options? | ContractReadOptions | - |
Returns
Promise
<Long
[]>
the active longs opened by a specific user
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getOpenLongs
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:639
getOpenLpPosition
▸ getOpenLpPosition(«destructured»
): Promise
<{ baseAmountPaid
: bigint
; baseValue
: bigint
; lpShareBalance
: bigint
; sharesValue
: bigint
}>
Gets a user's current LP position.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› account | `0x${string}` |
› options? | ContractReadOptions |
Returns
Promise
<{ baseAmountPaid
: bigint
; baseValue
: bigint
; lpShareBalance
: bigint
; sharesValue
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getOpenLpPosition
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1018
getOpenShorts
▸ getOpenShorts(account
): Promise
<OpenShort
[]>
Gets the active shorts opened by a specific user.
Parameters
Name | Type | Description |
---|---|---|
account | Object | The user's address |
account.account | `0x${string}` | - |
account.options? | ContractReadOptions | - |
Returns
Promise
<OpenShort
[]>
the active shorts opened by a specific user
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getOpenShorts
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:669
getPoolConfig
▸ getPoolConfig(options?
): Promise
<{ baseToken
: `0x${string}` ; checkpointDuration
: bigint
; feeCollector
: `0x${string}` ; fees
: { curve
: bigint
; flat
: bigint
; governanceLP
: bigint
; governanceZombie
: bigint
} ; governance
: `0x${string}` ; initialVaultSharePrice
: bigint
; linkerCodeHash
: `0x${string}` ; linkerFactory
: `0x${string}` ; minimumShareReserves
: bigint
; minimumTransactionAmount
: bigint
; positionDuration
: bigint
; sweepCollector
: `0x${string}` ; timeStretch
: bigint
; vaultSharesToken
: `0x${string}` }>
Gets the pool's configuration parameters
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<{ baseToken
: `0x${string}` ; checkpointDuration
: bigint
; feeCollector
: `0x${string}` ; fees
: { curve
: bigint
; flat
: bigint
; governanceLP
: bigint
; governanceZombie
: bigint
} ; governance
: `0x${string}` ; initialVaultSharePrice
: bigint
; linkerCodeHash
: `0x${string}` ; linkerFactory
: `0x${string}` ; minimumShareReserves
: bigint
; minimumTransactionAmount
: bigint
; positionDuration
: bigint
; sweepCollector
: `0x${string}` ; timeStretch
: bigint
; vaultSharesToken
: `0x${string}` }>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getPoolConfig
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:166
getPoolInfo
▸ getPoolInfo(options?
): Promise
<{ bondReserves
: bigint
; longAverageMaturityTime
: bigint
; longExposure
: bigint
; longsOutstanding
: bigint
; lpSharePrice
: bigint
; lpTotalSupply
: bigint
; shareAdjustment
: bigint
; shareReserves
: bigint
; shortAverageMaturityTime
: bigint
; shortsOutstanding
: bigint
; vaultSharePrice
: bigint
; withdrawalSharesProceeds
: bigint
; withdrawalSharesReadyToWithdraw
: bigint
; zombieBaseProceeds
: bigint
; zombieShareReserves
: bigint
}>
Gets info about the pool's reserves and other state that is important to evaluate potential trades.
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<{ bondReserves
: bigint
; longAverageMaturityTime
: bigint
; longExposure
: bigint
; longsOutstanding
: bigint
; lpSharePrice
: bigint
; lpTotalSupply
: bigint
; shareAdjustment
: bigint
; shareReserves
: bigint
; shortAverageMaturityTime
: bigint
; shortsOutstanding
: bigint
; vaultSharePrice
: bigint
; withdrawalSharesProceeds
: bigint
; withdrawalSharesReadyToWithdraw
: bigint
; zombieBaseProceeds
: bigint
; zombieShareReserves
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getPoolInfo
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:174
getPresentValue
▸ getPresentValue(options?
): Promise
<bigint
>
Gets the total present value of the pool.
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getPresentValue
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:251
getRedeemedWithdrawalShares
▸ getRedeemedWithdrawalShares(«destructured»
): Promise
<RedeemedWithdrawalShares
[]>
Gets the amount of redeemed withdrawal shares a user has.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› account | `0x${string}` |
› options? | ContractReadOptions |
Returns
Promise
<RedeemedWithdrawalShares
[]>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getRedeemedWithdrawalShares
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1210
getSharesToken
▸ getSharesToken(options?
): Promise
<ReadWriteErc4626
>
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<ReadWriteErc4626
>
Overrides
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getSharesToken
Defined in
packages/hyperdrive-js-core/src/hyperdrive/erc4626/ReadWriteErc4626Hyperdrive.ts:9
getShortAccruedYield
▸ getShortAccruedYield(«destructured»
): Promise
<bigint
>
Gets the yield accrued on an amount of bonds shorted in a given checkpoint. Note that shorts stop accruing yield once they reach maturity.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› bondAmount | bigint |
› checkpointId | bigint |
› decimals | number |
› options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getShortAccruedYield
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:272
getShortEvents
▸ getShortEvents(options?
): Promise
<{ assetId
: bigint
; baseAmount
: bigint
; blockNumber
: undefined
| bigint
; bondAmount
: bigint
; eventName
: "CloseShort"
| "OpenShort"
; trader
: `0x${string}` ; transactionHash
: undefined
| `0x${string}` }[]>
Parameters
Name | Type |
---|---|
options? | ContractGetEventsOptions <readonly [{ inputs : readonly [] ; name : "PERMIT_TYPEHASH" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_minLpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "_minApr" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxApr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "addLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }] ; name : "balanceOf" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "baseToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" }, { internalType : "uint256[]" ; name : "values" ; type : "uint256[]" }] ; name : "batchTransferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxIterations" ; type : "uint256" }] ; name : "checkpoint" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeLong" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeShort" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "collectGovernanceFee" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "decimals" ; outputs : readonly [{ internalType : "uint8" ; name : "" ; type : "uint8" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "domainSeparator" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpoint" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "vaultSharePrice" ; type : "uint128" }] ; internalType : "struct IHyperdrive.Checkpoint" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpointExposure" ; outputs : readonly [{ internalType : "int256" ; name : "" ; type : "int256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getMarketState" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "shareReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "bondReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "longExposure" ; type : "uint128" }, { internalType : "uint128" ; name : "longsOutstanding" ; type : "uint128" }, { internalType : "int128" ; name : "shareAdjustment" ; type : "int128" }, { internalType : "uint128" ; name : "shortsOutstanding" ; type : "uint128" }, { internalType : "uint128" ; name : "longAverageMaturityTime" ; type : "uint128" }, { internalType : "uint128" ; name : "shortAverageMaturityTime" ; type : "uint128" }, { internalType : "bool" ; name : "isInitialized" ; type : "bool" }, { internalType : "bool" ; name : "isPaused" ; type : "bool" }, { internalType : "uint112" ; name : "zombieBaseProceeds" ; type : "uint112" }, { internalType : "uint128" ; name : "zombieShareReserves" ; type : "uint128" }] ; internalType : "struct IHyperdrive.MarketState" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolConfig" ; outputs : readonly [{ components : readonly [{ internalType : "contract IERC20" ; name : "baseToken" ; type : "address" }, { internalType : "contract IERC20" ; name : "vaultSharesToken" ; type : "address" }, { internalType : "address" ; name : "linkerFactory" ; type : "address" }, { internalType : "bytes32" ; name : "linkerCodeHash" ; type : "bytes32" }, { internalType : "uint256" ; name : "initialVaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumTransactionAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "positionDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "checkpointDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "timeStretch" ; type : "uint256" }, { internalType : "address" ; name : "governance" ; type : "address" }, { internalType : "address" ; name : "feeCollector" ; type : "address" }, { internalType : "address" ; name : "sweepCollector" ; type : "address" }, { components : readonly [{ internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }] ; internalType : "struct IHyperdrive.Fees" ; name : "fees" ; type : "tuple" }] ; internalType : "struct IHyperdrive.PoolConfig" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolInfo" ; outputs : readonly [{ components : readonly [{ internalType : "uint256" ; name : "shareReserves" ; type : "uint256" }, { internalType : "int256" ; name : "shareAdjustment" ; type : "int256" }, { internalType : "uint256" ; name : "zombieBaseProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "zombieShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "bondReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "lpTotalSupply" ; type : "uint256" }, { internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "longAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "shortsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "shortAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesReadyToWithdraw" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longExposure" ; type : "uint256" }] ; internalType : "struct IHyperdrive.PoolInfo" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getUncollectedGovernanceFees" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getWithdrawPool" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "readyToWithdraw" ; type : "uint128" }, { internalType : "uint128" ; name : "proceeds" ; type : "uint128" }] ; internalType : "struct IHyperdrive.WithdrawPool" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_apr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "initialize" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "isApprovedForAll" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_account" ; type : "address" }] ; name : "isPauser" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256[]" ; name : "_slots" ; type : "uint256[]" }] ; name : "load" ; outputs : readonly [{ internalType : "bytes32[]" ; name : "" ; type : "bytes32[]" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "name" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }] ; name : "nonces" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_amount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openLong" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "bondProceeds" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxDeposit" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openShort" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "deposit" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "bool" ; name : "_status" ; type : "bool" }] ; name : "pause" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "perTokenApprovals" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }, { internalType : "bool" ; name : "_approved" ; type : "bool" }, { internalType : "uint256" ; name : "deadline" ; type : "uint256" }, { internalType : "uint8" ; name : "v" ; type : "uint8" }, { internalType : "bytes32" ; name : "r" ; type : "bytes32" }, { internalType : "bytes32" ; name : "s" ; type : "bytes32" }] ; name : "permitForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_withdrawalShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "redeemWithdrawalShares" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesRedeemed" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_lpShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "removeLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalShares" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "setApproval" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "setApprovalBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "setApprovalForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setFeeCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setGovernance" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "who" ; type : "address" }, { internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "setPauser" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setSweepCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "contract IERC20" ; name : "_target" ; type : "address" }] ; name : "sweep" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "symbol" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target0" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target1" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target2" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target3" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target4" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "totalSupply" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "transferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "transferFromBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "vaultSharesToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "AddLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "owner" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "spender" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "Approval" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "account" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "ApprovalForAll" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "basePayment" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "fees" ; type : "uint256" }] ; name : "CollectGovernanceFee" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "uint256" ; name : "checkpointTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "checkpointVaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedShorts" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedLongs" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "CreateCheckpoint" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newFeeCollector" ; type : "address" }] ; name : "FeeCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newGovernance" ; type : "address" }] ; name : "GovernanceUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "apr" ; type : "uint256" }] ; name : "Initialize" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "baseProceeds" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : false ; internalType : "bool" ; name : "isPaused" ; type : "bool" }] ; name : "PauseStatusUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newPauser" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "PauserUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }] ; name : "RedeemWithdrawalShares" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "RemoveLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "target" ; type : "address" }] ; name : "Sweep" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newSweepCollector" ; type : "address" }] ; name : "SweepCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "from" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "to" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "TransferSingle" ; type : "event" }, { inputs : readonly [] ; name : "BatchInputLengthMismatch" ; type : "error" }, { inputs : readonly [] ; name : "BelowMinimumContribution" ; type : "error" }, { inputs : readonly [] ; name : "DecreasedPresentValueWhenAddingLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "DistributeExcessIdleFailed" ; type : "error" }, { inputs : readonly [] ; name : "ExpInvalidExponent" ; type : "error" }, { inputs : readonly [] ; name : "ExpiredDeadline" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientBalance" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "InvalidApr" ; type : "error" }, { inputs : readonly [] ; name : "InvalidCheckpointTime" ; type : "error" }, { inputs : readonly [] ; name : "InvalidERC20Bridge" ; type : "error" }, { inputs : readonly [] ; name : "InvalidFeeDestination" ; type : "error" }, { inputs : readonly [] ; name : "InvalidInitialVaultSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidLPSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidPresentValue" ; type : "error" }, { inputs : readonly [] ; name : "InvalidSignature" ; type : "error" }, { inputs : readonly [] ; name : "InvalidTimestamp" ; type : "error" }, { inputs : readonly [] ; name : "LnInvalidInput" ; type : "error" }, { inputs : readonly [] ; name : "MinimumSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "MinimumTransactionAmount" ; type : "error" }, { inputs : readonly [] ; name : "NotPayable" ; type : "error" }, { inputs : readonly [] ; name : "OutputLimit" ; type : "error" }, { inputs : readonly [] ; name : "PoolAlreadyInitialized" ; type : "error" }, { inputs : readonly [] ; name : "PoolIsPaused" ; type : "error" }, { inputs : readonly [] ; name : "RestrictedZeroAddress" ; type : "error" }, { inputs : readonly [{ internalType : "bytes" ; name : "data" ; type : "bytes" }] ; name : "ReturnData" ; type : "error" }, { inputs : readonly [] ; name : "SweepFailed" ; type : "error" }, { inputs : readonly [] ; name : "TransferFailed" ; type : "error" }, { inputs : readonly [] ; name : "Unauthorized" ; type : "error" }, { inputs : readonly [] ; name : "UnexpectedSuccess" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt128" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt256" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint112" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint128" ; type : "error" }, { inputs : readonly [] ; name : "UnsupportedToken" ; type : "error" }, { inputs : readonly [] ; name : "UpdateLiquidityFailed" ; type : "error" }], "OpenShort" > & ContractGetEventsOptions <readonly [{ inputs : readonly [] ; name : "PERMIT_TYPEHASH" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_minLpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "_minApr" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxApr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "addLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }] ; name : "balanceOf" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "baseToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" }, { internalType : "uint256[]" ; name : "values" ; type : "uint256[]" }] ; name : "batchTransferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxIterations" ; type : "uint256" }] ; name : "checkpoint" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeLong" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "closeShort" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "collectGovernanceFee" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "decimals" ; outputs : readonly [{ internalType : "uint8" ; name : "" ; type : "uint8" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "domainSeparator" ; outputs : readonly [{ internalType : "bytes32" ; name : "" ; type : "bytes32" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpoint" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "vaultSharePrice" ; type : "uint128" }] ; internalType : "struct IHyperdrive.Checkpoint" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_checkpointTime" ; type : "uint256" }] ; name : "getCheckpointExposure" ; outputs : readonly [{ internalType : "int256" ; name : "" ; type : "int256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getMarketState" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "shareReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "bondReserves" ; type : "uint128" }, { internalType : "uint128" ; name : "longExposure" ; type : "uint128" }, { internalType : "uint128" ; name : "longsOutstanding" ; type : "uint128" }, { internalType : "int128" ; name : "shareAdjustment" ; type : "int128" }, { internalType : "uint128" ; name : "shortsOutstanding" ; type : "uint128" }, { internalType : "uint128" ; name : "longAverageMaturityTime" ; type : "uint128" }, { internalType : "uint128" ; name : "shortAverageMaturityTime" ; type : "uint128" }, { internalType : "bool" ; name : "isInitialized" ; type : "bool" }, { internalType : "bool" ; name : "isPaused" ; type : "bool" }, { internalType : "uint112" ; name : "zombieBaseProceeds" ; type : "uint112" }, { internalType : "uint128" ; name : "zombieShareReserves" ; type : "uint128" }] ; internalType : "struct IHyperdrive.MarketState" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolConfig" ; outputs : readonly [{ components : readonly [{ internalType : "contract IERC20" ; name : "baseToken" ; type : "address" }, { internalType : "contract IERC20" ; name : "vaultSharesToken" ; type : "address" }, { internalType : "address" ; name : "linkerFactory" ; type : "address" }, { internalType : "bytes32" ; name : "linkerCodeHash" ; type : "bytes32" }, { internalType : "uint256" ; name : "initialVaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "minimumTransactionAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "positionDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "checkpointDuration" ; type : "uint256" }, { internalType : "uint256" ; name : "timeStretch" ; type : "uint256" }, { internalType : "address" ; name : "governance" ; type : "address" }, { internalType : "address" ; name : "feeCollector" ; type : "address" }, { internalType : "address" ; name : "sweepCollector" ; type : "address" }, { components : readonly [{ internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }, { internalType : ... ; name : ... ; type : ... }] ; internalType : "struct IHyperdrive.Fees" ; name : "fees" ; type : "tuple" }] ; internalType : "struct IHyperdrive.PoolConfig" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getPoolInfo" ; outputs : readonly [{ components : readonly [{ internalType : "uint256" ; name : "shareReserves" ; type : "uint256" }, { internalType : "int256" ; name : "shareAdjustment" ; type : "int256" }, { internalType : "uint256" ; name : "zombieBaseProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "zombieShareReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "bondReserves" ; type : "uint256" }, { internalType : "uint256" ; name : "lpTotalSupply" ; type : "uint256" }, { internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "longAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "shortsOutstanding" ; type : "uint256" }, { internalType : "uint256" ; name : "shortAverageMaturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesReadyToWithdraw" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesProceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }, { internalType : "uint256" ; name : "longExposure" ; type : "uint256" }] ; internalType : "struct IHyperdrive.PoolInfo" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getUncollectedGovernanceFees" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "getWithdrawPool" ; outputs : readonly [{ components : readonly [{ internalType : "uint128" ; name : "readyToWithdraw" ; type : "uint128" }, { internalType : "uint128" ; name : "proceeds" ; type : "uint128" }] ; internalType : "struct IHyperdrive.WithdrawPool" ; name : "" ; type : "tuple" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_contribution" ; type : "uint256" }, { internalType : "uint256" ; name : "_apr" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "initialize" ; outputs : readonly [{ internalType : "uint256" ; name : "lpShares" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "isApprovedForAll" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_account" ; type : "address" }] ; name : "isPauser" ; outputs : readonly [{ internalType : "bool" ; name : "" ; type : "bool" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256[]" ; name : "_slots" ; type : "uint256[]" }] ; name : "load" ; outputs : readonly [{ internalType : "bytes32[]" ; name : "" ; type : "bytes32[]" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "name" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }] ; name : "nonces" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_amount" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutput" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openLong" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "bondProceeds" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_bondAmount" ; type : "uint256" }, { internalType : "uint256" ; name : "_maxDeposit" ; type : "uint256" }, { internalType : "uint256" ; name : "_minVaultSharePrice" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "openShort" ; outputs : readonly [{ internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { internalType : "uint256" ; name : "deposit" ; type : "uint256" }] ; stateMutability : "payable" ; type : "function" }, { inputs : readonly [{ internalType : "bool" ; name : "_status" ; type : "bool" }] ; name : "pause" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }, { internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }] ; name : "perTokenApprovals" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "owner" ; type : "address" }, { internalType : "address" ; name : "spender" ; type : "address" }, { internalType : "bool" ; name : "_approved" ; type : "bool" }, { internalType : "uint256" ; name : "deadline" ; type : "uint256" }, { internalType : "uint8" ; name : "v" ; type : "uint8" }, { internalType : "bytes32" ; name : "r" ; type : "bytes32" }, { internalType : "bytes32" ; name : "s" ; type : "bytes32" }] ; name : "permitForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_withdrawalShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "redeemWithdrawalShares" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalSharesRedeemed" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "_lpShares" ; type : "uint256" }, { internalType : "uint256" ; name : "_minOutputPerShare" ; type : "uint256" }, { components : readonly [{ internalType : "address" ; name : "destination" ; type : "address" }, { internalType : "bool" ; name : "asBase" ; type : "bool" }, { internalType : "bytes" ; name : "extraData" ; type : "bytes" }] ; internalType : "struct IHyperdrive.Options" ; name : "_options" ; type : "tuple" }] ; name : "removeLiquidity" ; outputs : readonly [{ internalType : "uint256" ; name : "proceeds" ; type : "uint256" }, { internalType : "uint256" ; name : "withdrawalShares" ; type : "uint256" }] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "setApproval" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "setApprovalBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "operator" ; type : "address" }, { internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "setApprovalForAll" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setFeeCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setGovernance" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "who" ; type : "address" }, { internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "setPauser" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "address" ; name : "_who" ; type : "address" }] ; name : "setSweepCollector" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "contract IERC20" ; name : "_target" ; type : "address" }] ; name : "sweep" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "symbol" ; outputs : readonly [{ internalType : "string" ; name : "" ; type : "string" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target0" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target1" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target2" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target3" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [] ; name : "target4" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenId" ; type : "uint256" }] ; name : "totalSupply" ; outputs : readonly [{ internalType : "uint256" ; name : "" ; type : "uint256" }] ; stateMutability : "view" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }] ; name : "transferFrom" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [{ internalType : "uint256" ; name : "tokenID" ; type : "uint256" }, { internalType : "address" ; name : "from" ; type : "address" }, { internalType : "address" ; name : "to" ; type : "address" }, { internalType : "uint256" ; name : "amount" ; type : "uint256" }, { internalType : "address" ; name : "caller" ; type : "address" }] ; name : "transferFromBridge" ; outputs : readonly [] ; stateMutability : "nonpayable" ; type : "function" }, { inputs : readonly [] ; name : "vaultSharesToken" ; outputs : readonly [{ internalType : "address" ; name : "" ; type : "address" }] ; stateMutability : "view" ; type : "function" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "AddLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "owner" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "spender" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "Approval" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "account" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" }] ; name : "ApprovalForAll" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "basePayment" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "CloseShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "fees" ; type : "uint256" }] ; name : "CollectGovernanceFee" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "uint256" ; name : "checkpointTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "checkpointVaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultSharePrice" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedShorts" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturedLongs" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "CreateCheckpoint" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newFeeCollector" ; type : "address" }] ; name : "FeeCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newGovernance" ; type : "address" }] ; name : "GovernanceUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "apr" ; type : "uint256" }] ; name : "Initialize" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenLong" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "trader" ; type : "address" }, { indexed : true ; internalType : "uint256" ; name : "assetId" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "maturityTime" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "baseProceeds" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "bondAmount" ; type : "uint256" }] ; name : "OpenShort" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : false ; internalType : "bool" ; name : "isPaused" ; type : "bool" }] ; name : "PauseStatusUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newPauser" ; type : "address" }, { indexed : false ; internalType : "bool" ; name : "status" ; type : "bool" }] ; name : "PauserUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }] ; name : "RedeemWithdrawalShares" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "provider" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "destination" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "lpAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "baseAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "vaultShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "bool" ; name : "asBase" ; type : "bool" }, { indexed : false ; internalType : "uint256" ; name : "withdrawalShareAmount" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "lpSharePrice" ; type : "uint256" }] ; name : "RemoveLiquidity" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "collector" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "target" ; type : "address" }] ; name : "Sweep" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "newSweepCollector" ; type : "address" }] ; name : "SweepCollectorUpdated" ; type : "event" }, { anonymous : false ; inputs : readonly [{ indexed : true ; internalType : "address" ; name : "operator" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "from" ; type : "address" }, { indexed : true ; internalType : "address" ; name : "to" ; type : "address" }, { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" }, { indexed : false ; internalType : "uint256" ; name : "value" ; type : "uint256" }] ; name : "TransferSingle" ; type : "event" }, { inputs : readonly [] ; name : "BatchInputLengthMismatch" ; type : "error" }, { inputs : readonly [] ; name : "BelowMinimumContribution" ; type : "error" }, { inputs : readonly [] ; name : "DecreasedPresentValueWhenAddingLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "DistributeExcessIdleFailed" ; type : "error" }, { inputs : readonly [] ; name : "ExpInvalidExponent" ; type : "error" }, { inputs : readonly [] ; name : "ExpiredDeadline" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientBalance" ; type : "error" }, { inputs : readonly [] ; name : "InsufficientLiquidity" ; type : "error" }, { inputs : readonly [] ; name : "InvalidApr" ; type : "error" }, { inputs : readonly [] ; name : "InvalidCheckpointTime" ; type : "error" }, { inputs : readonly [] ; name : "InvalidERC20Bridge" ; type : "error" }, { inputs : readonly [] ; name : "InvalidFeeDestination" ; type : "error" }, { inputs : readonly [] ; name : "InvalidInitialVaultSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidLPSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "InvalidPresentValue" ; type : "error" }, { inputs : readonly [] ; name : "InvalidSignature" ; type : "error" }, { inputs : readonly [] ; name : "InvalidTimestamp" ; type : "error" }, { inputs : readonly [] ; name : "LnInvalidInput" ; type : "error" }, { inputs : readonly [] ; name : "MinimumSharePrice" ; type : "error" }, { inputs : readonly [] ; name : "MinimumTransactionAmount" ; type : "error" }, { inputs : readonly [] ; name : "NotPayable" ; type : "error" }, { inputs : readonly [] ; name : "OutputLimit" ; type : "error" }, { inputs : readonly [] ; name : "PoolAlreadyInitialized" ; type : "error" }, { inputs : readonly [] ; name : "PoolIsPaused" ; type : "error" }, { inputs : readonly [] ; name : "RestrictedZeroAddress" ; type : "error" }, { inputs : readonly [{ internalType : "bytes" ; name : "data" ; type : "bytes" }] ; name : "ReturnData" ; type : "error" }, { inputs : readonly [] ; name : "SweepFailed" ; type : "error" }, { inputs : readonly [] ; name : "TransferFailed" ; type : "error" }, { inputs : readonly [] ; name : "Unauthorized" ; type : "error" }, { inputs : readonly [] ; name : "UnexpectedSuccess" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt128" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToInt256" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint112" ; type : "error" }, { inputs : readonly [] ; name : "UnsafeCastToUint128" ; type : "error" }, { inputs : readonly [] ; name : "UnsupportedToken" ; type : "error" }, { inputs : readonly [] ; name : "UpdateLiquidityFailed" ; type : "error" }], "CloseShort" > |
Returns
Promise
<{ assetId
: bigint
; baseAmount
: bigint
; blockNumber
: undefined
| bigint
; bondAmount
: bigint
; eventName
: "CloseShort"
| "OpenShort"
; trader
: `0x${string}` ; transactionHash
: undefined
| `0x${string}` }[]>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getShortEvents
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:441
getSpotRate
▸ getSpotRate(options?
): Promise
<bigint
>
Gets the pool's fixed APR, i.e. the fixed rate a user locks in when they open a long.
Parameters
Name | Type |
---|---|
options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getSpotRate
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:182
getTradingVolume
▸ getTradingVolume(options?
): Promise
<{ longVolume
: bigint
; shortVolume
: bigint
; totalVolume
: bigint
}>
Calculates the total trading volume in bonds given a block window.
Parameters
Name | Type | Description |
---|---|---|
options? | Object | - |
options.fromBlock? | bigint | BlockTag | The start block, defaults to "earliest" |
options.toBlock? | bigint | BlockTag | The end block, defaults to "latest" |
Returns
Promise
<{ longVolume
: bigint
; shortVolume
: bigint
; totalVolume
: bigint
}>
the total amount of bonds traded
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getTradingVolume
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:323
getWithdrawalShares
▸ getWithdrawalShares(«destructured»
): Promise
<bigint
>
Gets the amount of withdrawal shares a user has.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› account | `0x${string}` |
› options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getWithdrawalShares
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1193
getYieldSourceRate
▸ getYieldSourceRate(«destructured»
): Promise
<bigint
>
Parameters
Name | Type |
---|---|
«destructured» | Object |
› options? | ContractReadOptions |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).getYieldSourceRate
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:110
initialize
▸ initialize(«destructured»
): Promise
<`0x${string}`>
Allows the first LP to initialize the market with a target APR.
Parameters
Name | Type |
---|---|
«destructured» | ReadWriteParams <{ apr : bigint ; asBase? : boolean ; contribution : bigint ; destination : `0x${string}` ; extraData? : `0x${string}` }> |
Returns
Promise
<`0x${string}`>
The initial number of LP shares created.
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).initialize
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:109
openLong
▸ openLong(«destructured»
): Promise
<`0x${string}`>
Opens a new long position.
Parameters
Name | Type |
---|---|
«destructured» | ReadWriteParams <{ amount : bigint ; asBase? : boolean ; destination : `0x${string}` ; extraData? : `0x${string}` ; minBondsOut : bigint ; minVaultSharePrice : bigint }> |
Returns
Promise
<`0x${string}`>
bondProceeds - The amount of bonds the user received
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).openLong
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:152
openShort
▸ openShort(«destructured»
): Promise
<`0x${string}`>
Opens a new short position.
Parameters
Name | Type |
---|---|
«destructured» | ReadWriteParams <{ asBase? : boolean ; bondAmount : bigint ; destination : `0x${string}` ; extraData? : `0x${string}` ; maxDeposit : bigint ; minVaultSharePrice : bigint }> |
Returns
Promise
<`0x${string}`>
maturityTime - The maturity time of the short.
traderDeposit - The amount the user deposited for this trade.
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).openShort
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:194
pause
▸ pause(paused
): Promise
<`0x${string}`>
Allows an authorized address to pause this contract
Parameters
Name | Type | Description |
---|---|---|
paused | ReadWriteParams <{ paused : boolean }> | True to pause all deposits and false to unpause them |
Returns
Promise
<`0x${string}`>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).pause
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:83
previewAddLiquidity
▸ previewAddLiquidity(«destructured»
): Promise
<{ lpSharesOut
: bigint
; slippagePaid
: bigint
}>
Predicts the amount of LP shares a user will receive when adding liquidity.
Parameters
Name | Type | Default value |
---|---|---|
«destructured» | Object | undefined |
› asBase | boolean | undefined |
› contribution | bigint | undefined |
› destination | `0x${string}` | undefined |
› extraData? | `0x${string}` | DEFAULT_EXTRA_DATA |
› maxAPR | bigint | undefined |
› minAPR | bigint | undefined |
› minLpSharePrice | bigint | undefined |
› options? | ContractWriteOptions | undefined |
Returns
Promise
<{ lpSharesOut
: bigint
; slippagePaid
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).previewAddLiquidity
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1508
previewCloseLong
▸ previewCloseLong(«destructured»
): Promise
<bigint
>
Predicts the amount of base asset a user will receive when closing a long.
Parameters
Name | Type | Default value |
---|---|---|
«destructured» | Object | undefined |
› asBase | boolean | undefined |
› bondAmountIn | bigint | undefined |
› destination | `0x${string}` | undefined |
› extraData? | `0x${string}` | ZERO_ADDRESS |
› maturityTime | bigint | undefined |
› minAmountOut | bigint | undefined |
› options? | ContractWriteOptions | undefined |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).previewCloseLong
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1444
previewCloseShort
▸ previewCloseShort(«destructured»
): Promise
<bigint
>
Predicts the amount of base asset a user will receive when closing a short.
Parameters
Name | Type | Default value |
---|---|---|
«destructured» | Object | undefined |
› asBase | boolean | undefined |
› destination | `0x${string}` | undefined |
› extraData? | `0x${string}` | DEFAULT_EXTRA_DATA |
› maturityTime | bigint | undefined |
› minAmountOut | bigint | undefined |
› options? | ContractWriteOptions | undefined |
› shortAmountIn | bigint | undefined |
Returns
Promise
<bigint
>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).previewCloseShort
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1476
previewOpenLong
▸ previewOpenLong(«destructured»
): Promise
<{ bondProceeds
: bigint
; curveFee
: bigint
; maturityTime
: bigint
; spotPriceAfterOpen
: bigint
; spotRateAfterOpen
: bigint
}>
Predicts the amount of bonds a user will receive when opening a long in either base or shares. The curve fee returned from this function is paid in bonds.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› amountIn | bigint |
› asBase | boolean |
› options? | ContractReadOptions |
Returns
Promise
<{ bondProceeds
: bigint
; curveFee
: bigint
; maturityTime
: bigint
; spotPriceAfterOpen
: bigint
; spotRateAfterOpen
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).previewOpenLong
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1251
previewOpenShort
▸ previewOpenShort(«destructured»
): Promise
<{ curveFee
: bigint
; maturityTime
: bigint
; spotPriceAfterOpen
: bigint
; spotRateAfterOpen
: bigint
; traderDeposit
: bigint
}>
Predicts the amount of base asset it will cost to open a short.
Parameters
Name | Type |
---|---|
«destructured» | Object |
› amountOfBondsToShort | bigint |
› asBase | boolean |
› options? | ContractReadOptions |
Returns
Promise
<{ curveFee
: bigint
; maturityTime
: bigint
; spotPriceAfterOpen
: bigint
; spotRateAfterOpen
: bigint
; traderDeposit
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).previewOpenShort
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1341
previewRedeemWithdrawalShares
▸ previewRedeemWithdrawalShares(«destructured»
): Promise
<{ asBase
: boolean
; baseProceeds
: bigint
; sharesProceeds
: bigint
; withdrawalSharesRedeemed
: bigint
}>
Predicts the amount of base asset and redeemed shares a user will receive when redeeming withdrawal shares.
Parameters
Name | Type | Default value |
---|---|---|
«destructured» | Object | undefined |
› asBase | boolean | undefined |
› destination | `0x${string}` | undefined |
› extraData? | `0x${string}` | DEFAULT_EXTRA_DATA |
› minOutputPerShare | bigint | undefined |
› options? | ContractWriteOptions | undefined |
› withdrawalSharesIn | bigint | undefined |
Returns
Promise
<{ asBase
: boolean
; baseProceeds
: bigint
; sharesProceeds
: bigint
; withdrawalSharesRedeemed
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).previewRedeemWithdrawalShares
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1604
previewRemoveLiquidity
▸ previewRemoveLiquidity(«destructured»
): Promise
<{ proceeds
: bigint
; withdrawalShares
: bigint
}>
Predicts the amount of base asset and withdrawlshares a user will receive when removing liquidity.
Parameters
Name | Type | Default value |
---|---|---|
«destructured» | Object | undefined |
› asBase | boolean | undefined |
› destination | `0x${string}` | undefined |
› extraData? | `0x${string}` | DEFAULT_EXTRA_DATA |
› lpSharesIn | bigint | undefined |
› minOutputPerShare | bigint | undefined |
› options? | ContractWriteOptions | undefined |
Returns
Promise
<{ proceeds
: bigint
; withdrawalShares
: bigint
}>
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).previewRemoveLiquidity
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadHyperdrive/ReadHyperdrive.ts:1565
redeemWithdrawalShares
▸ redeemWithdrawalShares(«destructured»
): Promise
<`0x${string}`>
Redeems withdrawal shares.
Parameters
Name | Type |
---|---|
«destructured» | ReadWriteParams <{ asBase? : boolean ; destination : `0x${string}` ; extraData? : `0x${string}` ; minOutputPerShare : bigint ; withdrawalSharesIn : bigint }> |
Returns
Promise
<`0x${string}`>
baseProceeds The amount of base the LP received.
sharesRedeemed The amount of withdrawal shares that were redeemed.
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).redeemWithdrawalShares
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:407
removeLiquidity
▸ removeLiquidity(«destructured»
): Promise
<`0x${string}`>
Removes liquidity from the pool.
Parameters
Name | Type |
---|---|
«destructured» | ReadWriteParams <{ asBase? : boolean ; destination : `0x${string}` ; extraData? : `0x${string}` ; lpSharesIn : bigint ; minOutputPerShare : bigint }> |
Returns
Promise
<`0x${string}`>
baseProceeds - The base the LP removing liquidity receives. The LP receives a proportional amount of the pool's idle capital
withdrawShares - The base that the LP receives buys out some of their LP shares, but it may not be sufficient to fully buy the LP out. In this case, the LP receives withdrawal shares equal in value to the present value they are owed. As idle capital becomes available, the pool will buy back these shares.
Inherited from
readErc4626HyperdriveMixin( ReadWriteHyperdrive, ).removeLiquidity
Defined in
packages/hyperdrive-js-core/src/hyperdrive/ReadWriteHyperdrive.ts:367