@voltr/vault-sdk 1.0.21 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/extensions/batchFetchers.d.ts +7 -0
- package/dist/extensions/batchFetchers.d.ts.map +1 -0
- package/dist/extensions/batchFetchers.js +63 -0
- package/dist/extensions/batchFetchers.js.map +1 -0
- package/dist/extensions/decimal.d.ts +11 -0
- package/dist/extensions/decimal.d.ts.map +1 -0
- package/dist/extensions/decimal.js +19 -0
- package/dist/extensions/decimal.js.map +1 -0
- package/dist/extensions/fees.d.ts +6 -0
- package/dist/extensions/fees.d.ts.map +1 -0
- package/dist/extensions/fees.js +23 -0
- package/dist/extensions/fees.js.map +1 -0
- package/dist/extensions/index.d.ts +10 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +26 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/lpEconomics.d.ts +27 -0
- package/dist/extensions/lpEconomics.d.ts.map +1 -0
- package/dist/extensions/lpEconomics.js +140 -0
- package/dist/extensions/lpEconomics.js.map +1 -0
- package/dist/extensions/math.d.ts +90 -0
- package/dist/extensions/math.d.ts.map +1 -0
- package/dist/extensions/math.js +182 -0
- package/dist/extensions/math.js.map +1 -0
- package/dist/extensions/metadataPda.d.ts +18 -0
- package/dist/extensions/metadataPda.d.ts.map +1 -0
- package/dist/extensions/metadataPda.js +34 -0
- package/dist/extensions/metadataPda.js.map +1 -0
- package/dist/extensions/position.d.ts +19 -0
- package/dist/extensions/position.d.ts.map +1 -0
- package/dist/extensions/position.js +28 -0
- package/dist/extensions/position.js.map +1 -0
- package/dist/extensions/rpc.d.ts +8 -0
- package/dist/extensions/rpc.d.ts.map +1 -0
- package/dist/{types/voltr_vault.js → extensions/rpc.js} +1 -0
- package/dist/extensions/rpc.js.map +1 -0
- package/dist/extensions/withdrawals.d.ts +16 -0
- package/dist/extensions/withdrawals.d.ts.map +1 -0
- package/dist/extensions/withdrawals.js +59 -0
- package/dist/extensions/withdrawals.js.map +1 -0
- package/dist/generated/accounts/adaptorAddReceipt.d.ts +57 -0
- package/dist/generated/accounts/adaptorAddReceipt.d.ts.map +1 -0
- package/dist/generated/accounts/adaptorAddReceipt.js +82 -0
- package/dist/generated/accounts/adaptorAddReceipt.js.map +1 -0
- package/dist/generated/accounts/directWithdrawInitReceipt.d.ts +60 -0
- package/dist/generated/accounts/directWithdrawInitReceipt.d.ts.map +1 -0
- package/dist/generated/accounts/directWithdrawInitReceipt.js +95 -0
- package/dist/generated/accounts/directWithdrawInitReceipt.js.map +1 -0
- package/dist/generated/accounts/index.d.ts +14 -0
- package/dist/generated/accounts/index.d.ts.map +1 -0
- package/dist/generated/accounts/index.js +30 -0
- package/dist/generated/accounts/index.js.map +1 -0
- package/dist/generated/accounts/protocol.d.ts +57 -0
- package/dist/generated/accounts/protocol.d.ts.map +1 -0
- package/dist/generated/accounts/protocol.js +82 -0
- package/dist/generated/accounts/protocol.js.map +1 -0
- package/dist/generated/accounts/requestWithdrawVaultReceipt.d.ts +43 -0
- package/dist/generated/accounts/requestWithdrawVaultReceipt.d.ts.map +1 -0
- package/dist/generated/accounts/requestWithdrawVaultReceipt.js +85 -0
- package/dist/generated/accounts/requestWithdrawVaultReceipt.js.map +1 -0
- package/dist/generated/accounts/strategyInitReceipt.d.ts +69 -0
- package/dist/generated/accounts/strategyInitReceipt.d.ts.map +1 -0
- package/dist/generated/accounts/strategyInitReceipt.js +91 -0
- package/dist/generated/accounts/strategyInitReceipt.js.map +1 -0
- package/dist/generated/accounts/vault.d.ts +100 -0
- package/dist/generated/accounts/vault.d.ts.map +1 -0
- package/dist/generated/accounts/vault.js +105 -0
- package/dist/generated/accounts/vault.js.map +1 -0
- package/dist/generated/errors/index.d.ts +9 -0
- package/dist/generated/errors/index.d.ts.map +1 -0
- package/dist/{types → generated/errors}/index.js +9 -2
- package/dist/generated/errors/index.js.map +1 -0
- package/dist/generated/errors/voltrVault.d.ts +52 -0
- package/dist/generated/errors/voltrVault.d.ts.map +1 -0
- package/dist/generated/errors/voltrVault.js +77 -0
- package/dist/generated/errors/voltrVault.js.map +1 -0
- package/dist/generated/index.d.ts +14 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +30 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/instructions/acceptProtocolAdmin.d.ts +47 -0
- package/dist/generated/instructions/acceptProtocolAdmin.d.ts.map +1 -0
- package/dist/generated/instructions/acceptProtocolAdmin.js +103 -0
- package/dist/generated/instructions/acceptProtocolAdmin.js.map +1 -0
- package/dist/generated/instructions/acceptVaultAdmin.d.ts +40 -0
- package/dist/generated/instructions/acceptVaultAdmin.d.ts.map +1 -0
- package/dist/generated/instructions/acceptVaultAdmin.js +75 -0
- package/dist/generated/instructions/acceptVaultAdmin.js.map +1 -0
- package/dist/generated/instructions/addAdaptor.d.ts +67 -0
- package/dist/generated/instructions/addAdaptor.d.ts.map +1 -0
- package/dist/generated/instructions/addAdaptor.js +149 -0
- package/dist/generated/instructions/addAdaptor.js.map +1 -0
- package/dist/generated/instructions/calibrateHighWaterMark.d.ts +63 -0
- package/dist/generated/instructions/calibrateHighWaterMark.d.ts.map +1 -0
- package/dist/generated/instructions/calibrateHighWaterMark.js +150 -0
- package/dist/generated/instructions/calibrateHighWaterMark.js.map +1 -0
- package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.d.ts +55 -0
- package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.d.ts.map +1 -0
- package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.js +121 -0
- package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.js.map +1 -0
- package/dist/generated/instructions/cancelRequestWithdrawVault.d.ts +84 -0
- package/dist/generated/instructions/cancelRequestWithdrawVault.d.ts.map +1 -0
- package/dist/generated/instructions/cancelRequestWithdrawVault.js +208 -0
- package/dist/generated/instructions/cancelRequestWithdrawVault.js.map +1 -0
- package/dist/generated/instructions/closeStrategy.d.ts +67 -0
- package/dist/generated/instructions/closeStrategy.d.ts.map +1 -0
- package/dist/generated/instructions/closeStrategy.js +149 -0
- package/dist/generated/instructions/closeStrategy.js.map +1 -0
- package/dist/generated/instructions/createLpMetadata.d.ts +88 -0
- package/dist/generated/instructions/createLpMetadata.d.ts.map +1 -0
- package/dist/generated/instructions/createLpMetadata.js +194 -0
- package/dist/generated/instructions/createLpMetadata.js.map +1 -0
- package/dist/generated/instructions/depositStrategy.d.ts +111 -0
- package/dist/generated/instructions/depositStrategy.d.ts.map +1 -0
- package/dist/generated/instructions/depositStrategy.js +277 -0
- package/dist/generated/instructions/depositStrategy.js.map +1 -0
- package/dist/generated/instructions/depositVault.d.ts +108 -0
- package/dist/generated/instructions/depositVault.d.ts.map +1 -0
- package/dist/generated/instructions/depositVault.js +258 -0
- package/dist/generated/instructions/depositVault.js.map +1 -0
- package/dist/generated/instructions/directWithdrawStrategy.d.ts +125 -0
- package/dist/generated/instructions/directWithdrawStrategy.d.ts.map +1 -0
- package/dist/generated/instructions/directWithdrawStrategy.js +338 -0
- package/dist/generated/instructions/directWithdrawStrategy.js.map +1 -0
- package/dist/generated/instructions/directWithdrawStrategyWithTolerance.d.ts +129 -0
- package/dist/generated/instructions/directWithdrawStrategyWithTolerance.d.ts.map +1 -0
- package/dist/generated/instructions/directWithdrawStrategyWithTolerance.js +338 -0
- package/dist/generated/instructions/directWithdrawStrategyWithTolerance.js.map +1 -0
- package/dist/generated/instructions/harvestFee.d.ts +87 -0
- package/dist/generated/instructions/harvestFee.d.ts.map +1 -0
- package/dist/generated/instructions/harvestFee.js +220 -0
- package/dist/generated/instructions/harvestFee.js.map +1 -0
- package/dist/generated/instructions/index.d.ts +35 -0
- package/dist/generated/instructions/index.d.ts.map +1 -0
- package/dist/generated/instructions/index.js +51 -0
- package/dist/generated/instructions/index.js.map +1 -0
- package/dist/generated/instructions/initProtocol.d.ts +60 -0
- package/dist/generated/instructions/initProtocol.d.ts.map +1 -0
- package/dist/generated/instructions/initProtocol.js +130 -0
- package/dist/generated/instructions/initProtocol.js.map +1 -0
- package/dist/generated/instructions/initializeDirectWithdrawStrategy.d.ts +92 -0
- package/dist/generated/instructions/initializeDirectWithdrawStrategy.d.ts.map +1 -0
- package/dist/generated/instructions/initializeDirectWithdrawStrategy.js +214 -0
- package/dist/generated/instructions/initializeDirectWithdrawStrategy.js.map +1 -0
- package/dist/generated/instructions/initializeStrategy.d.ts +88 -0
- package/dist/generated/instructions/initializeStrategy.d.ts.map +1 -0
- package/dist/generated/instructions/initializeStrategy.js +210 -0
- package/dist/generated/instructions/initializeStrategy.js.map +1 -0
- package/dist/generated/instructions/initializeVault.d.ts +172 -0
- package/dist/generated/instructions/initializeVault.d.ts.map +1 -0
- package/dist/generated/instructions/initializeVault.js +289 -0
- package/dist/generated/instructions/initializeVault.js.map +1 -0
- package/dist/generated/instructions/instantWithdrawStrategy.d.ts +133 -0
- package/dist/generated/instructions/instantWithdrawStrategy.d.ts.map +1 -0
- package/dist/generated/instructions/instantWithdrawStrategy.js +320 -0
- package/dist/generated/instructions/instantWithdrawStrategy.js.map +1 -0
- package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.d.ts +137 -0
- package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.d.ts.map +1 -0
- package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.js +320 -0
- package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.js.map +1 -0
- package/dist/generated/instructions/instantWithdrawVault.d.ts +112 -0
- package/dist/generated/instructions/instantWithdrawVault.d.ts.map +1 -0
- package/dist/generated/instructions/instantWithdrawVault.js +249 -0
- package/dist/generated/instructions/instantWithdrawVault.js.map +1 -0
- package/dist/generated/instructions/removeAdaptor.d.ts +63 -0
- package/dist/generated/instructions/removeAdaptor.d.ts.map +1 -0
- package/dist/generated/instructions/removeAdaptor.js +144 -0
- package/dist/generated/instructions/removeAdaptor.js.map +1 -0
- package/dist/generated/instructions/requestWithdrawVault.d.ts +104 -0
- package/dist/generated/instructions/requestWithdrawVault.d.ts.map +1 -0
- package/dist/generated/instructions/requestWithdrawVault.js +225 -0
- package/dist/generated/instructions/requestWithdrawVault.js.map +1 -0
- package/dist/generated/instructions/updateProtocol.d.ts +57 -0
- package/dist/generated/instructions/updateProtocol.d.ts.map +1 -0
- package/dist/generated/instructions/updateProtocol.js +111 -0
- package/dist/generated/instructions/updateProtocol.js.map +1 -0
- package/dist/generated/instructions/updateVaultConfig.d.ts +65 -0
- package/dist/generated/instructions/updateVaultConfig.d.ts.map +1 -0
- package/dist/generated/instructions/updateVaultConfig.js +133 -0
- package/dist/generated/instructions/updateVaultConfig.js.map +1 -0
- package/dist/generated/instructions/updateVaultProtocolFee.d.ts +65 -0
- package/dist/generated/instructions/updateVaultProtocolFee.d.ts.map +1 -0
- package/dist/generated/instructions/updateVaultProtocolFee.js +132 -0
- package/dist/generated/instructions/updateVaultProtocolFee.js.map +1 -0
- package/dist/generated/instructions/withdrawStrategy.d.ts +111 -0
- package/dist/generated/instructions/withdrawStrategy.d.ts.map +1 -0
- package/dist/generated/instructions/withdrawStrategy.js +277 -0
- package/dist/generated/instructions/withdrawStrategy.js.map +1 -0
- package/dist/generated/instructions/withdrawVault.d.ts +103 -0
- package/dist/generated/instructions/withdrawVault.d.ts.map +1 -0
- package/dist/generated/instructions/withdrawVault.js +258 -0
- package/dist/generated/instructions/withdrawVault.js.map +1 -0
- package/dist/generated/pdas/adaptorAddReceipt.d.ts +16 -0
- package/dist/generated/pdas/adaptorAddReceipt.d.ts.map +1 -0
- package/dist/generated/pdas/adaptorAddReceipt.js +26 -0
- package/dist/generated/pdas/adaptorAddReceipt.js.map +1 -0
- package/dist/generated/pdas/directWithdrawInitReceipt.d.ts +16 -0
- package/dist/generated/pdas/directWithdrawInitReceipt.d.ts.map +1 -0
- package/dist/generated/pdas/directWithdrawInitReceipt.js +26 -0
- package/dist/generated/pdas/directWithdrawInitReceipt.js.map +1 -0
- package/dist/generated/pdas/index.d.ts +17 -0
- package/dist/generated/pdas/index.d.ts.map +1 -0
- package/dist/generated/pdas/index.js +33 -0
- package/dist/generated/pdas/index.js.map +1 -0
- package/dist/generated/pdas/protocol.d.ts +12 -0
- package/dist/generated/pdas/protocol.d.ts.map +1 -0
- package/dist/generated/pdas/protocol.js +21 -0
- package/dist/generated/pdas/protocol.js.map +1 -0
- package/dist/generated/pdas/requestWithdrawVaultReceipt.d.ts +16 -0
- package/dist/generated/pdas/requestWithdrawVaultReceipt.d.ts.map +1 -0
- package/dist/generated/pdas/requestWithdrawVaultReceipt.js +27 -0
- package/dist/generated/pdas/requestWithdrawVaultReceipt.js.map +1 -0
- package/dist/generated/pdas/strategyInitReceipt.d.ts +16 -0
- package/dist/generated/pdas/strategyInitReceipt.d.ts.map +1 -0
- package/dist/generated/pdas/strategyInitReceipt.js +26 -0
- package/dist/generated/pdas/strategyInitReceipt.js.map +1 -0
- package/dist/generated/pdas/vaultAssetIdleAuth.d.ts +15 -0
- package/dist/generated/pdas/vaultAssetIdleAuth.d.ts.map +1 -0
- package/dist/generated/pdas/vaultAssetIdleAuth.js +25 -0
- package/dist/generated/pdas/vaultAssetIdleAuth.js.map +1 -0
- package/dist/generated/pdas/vaultLpMint.d.ts +15 -0
- package/dist/generated/pdas/vaultLpMint.d.ts.map +1 -0
- package/dist/generated/pdas/vaultLpMint.js +24 -0
- package/dist/generated/pdas/vaultLpMint.js.map +1 -0
- package/dist/generated/pdas/vaultLpMintAuth.d.ts +15 -0
- package/dist/generated/pdas/vaultLpMintAuth.d.ts.map +1 -0
- package/dist/generated/pdas/vaultLpMintAuth.js +25 -0
- package/dist/generated/pdas/vaultLpMintAuth.js.map +1 -0
- package/dist/generated/pdas/vaultStrategyAuth.d.ts +16 -0
- package/dist/generated/pdas/vaultStrategyAuth.d.ts.map +1 -0
- package/dist/generated/pdas/vaultStrategyAuth.js +26 -0
- package/dist/generated/pdas/vaultStrategyAuth.js.map +1 -0
- package/dist/generated/programs/index.d.ts +9 -0
- package/dist/generated/programs/index.d.ts.map +1 -0
- package/dist/generated/programs/index.js +25 -0
- package/dist/generated/programs/index.js.map +1 -0
- package/dist/generated/programs/voltrVault.d.ts +172 -0
- package/dist/generated/programs/voltrVault.d.ts.map +1 -0
- package/dist/generated/programs/voltrVault.js +447 -0
- package/dist/generated/programs/voltrVault.js.map +1 -0
- package/dist/generated/types/acceptProtocolAdminEvent.d.ts +24 -0
- package/dist/generated/types/acceptProtocolAdminEvent.d.ts.map +1 -0
- package/dist/generated/types/acceptProtocolAdminEvent.js +33 -0
- package/dist/generated/types/acceptProtocolAdminEvent.js.map +1 -0
- package/dist/generated/types/acceptVaultAdminEvent.d.ts +24 -0
- package/dist/generated/types/acceptVaultAdminEvent.d.ts.map +1 -0
- package/dist/generated/types/acceptVaultAdminEvent.js +33 -0
- package/dist/generated/types/acceptVaultAdminEvent.js.map +1 -0
- package/dist/generated/types/addAdaptorEvent.d.ts +28 -0
- package/dist/generated/types/addAdaptorEvent.d.ts.map +1 -0
- package/dist/generated/types/addAdaptorEvent.js +37 -0
- package/dist/generated/types/addAdaptorEvent.js.map +1 -0
- package/dist/generated/types/calibrateHighWaterMarkEvent.d.ts +34 -0
- package/dist/generated/types/calibrateHighWaterMarkEvent.d.ts.map +1 -0
- package/dist/generated/types/calibrateHighWaterMarkEvent.js +43 -0
- package/dist/generated/types/calibrateHighWaterMarkEvent.js.map +1 -0
- package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.d.ts +30 -0
- package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.d.ts.map +1 -0
- package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.js +39 -0
- package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.js.map +1 -0
- package/dist/generated/types/cancelRequestWithdrawVaultEvent.d.ts +32 -0
- package/dist/generated/types/cancelRequestWithdrawVaultEvent.d.ts.map +1 -0
- package/dist/generated/types/cancelRequestWithdrawVaultEvent.js +41 -0
- package/dist/generated/types/cancelRequestWithdrawVaultEvent.js.map +1 -0
- package/dist/generated/types/closeStrategyEvent.d.ts +26 -0
- package/dist/generated/types/closeStrategyEvent.d.ts.map +1 -0
- package/dist/generated/types/closeStrategyEvent.js +35 -0
- package/dist/generated/types/closeStrategyEvent.js.map +1 -0
- package/dist/generated/types/depositStrategyEvent.d.ts +52 -0
- package/dist/generated/types/depositStrategyEvent.d.ts.map +1 -0
- package/dist/generated/types/depositStrategyEvent.js +61 -0
- package/dist/generated/types/depositStrategyEvent.js.map +1 -0
- package/dist/generated/types/depositVaultEvent.d.ts +48 -0
- package/dist/generated/types/depositVaultEvent.d.ts.map +1 -0
- package/dist/generated/types/depositVaultEvent.js +57 -0
- package/dist/generated/types/depositVaultEvent.js.map +1 -0
- package/dist/generated/types/directWithdrawStrategyEvent.d.ts +62 -0
- package/dist/generated/types/directWithdrawStrategyEvent.d.ts.map +1 -0
- package/dist/generated/types/directWithdrawStrategyEvent.js +71 -0
- package/dist/generated/types/directWithdrawStrategyEvent.js.map +1 -0
- package/dist/generated/types/feeConfiguration.d.ts +33 -0
- package/dist/generated/types/feeConfiguration.d.ts.map +1 -0
- package/dist/generated/types/feeConfiguration.js +43 -0
- package/dist/generated/types/feeConfiguration.js.map +1 -0
- package/dist/generated/types/feeState.d.ts +32 -0
- package/dist/generated/types/feeState.d.ts.map +1 -0
- package/dist/generated/types/feeState.js +33 -0
- package/dist/generated/types/feeState.js.map +1 -0
- package/dist/generated/types/feeUpdate.d.ts +24 -0
- package/dist/generated/types/feeUpdate.d.ts.map +1 -0
- package/dist/generated/types/feeUpdate.js +29 -0
- package/dist/generated/types/feeUpdate.js.map +1 -0
- package/dist/generated/types/harvestFeeEvent.d.ts +32 -0
- package/dist/generated/types/harvestFeeEvent.d.ts.map +1 -0
- package/dist/generated/types/harvestFeeEvent.js +41 -0
- package/dist/generated/types/harvestFeeEvent.js.map +1 -0
- package/dist/generated/types/highWaterMark.d.ts +28 -0
- package/dist/generated/types/highWaterMark.d.ts.map +1 -0
- package/dist/generated/types/highWaterMark.js +31 -0
- package/dist/generated/types/highWaterMark.js.map +1 -0
- package/dist/generated/types/index.d.ts +44 -0
- package/dist/generated/types/index.d.ts.map +1 -0
- package/dist/generated/types/index.js +60 -0
- package/dist/generated/types/index.js.map +1 -0
- package/dist/generated/types/initProtocolEvent.d.ts +22 -0
- package/dist/generated/types/initProtocolEvent.d.ts.map +1 -0
- package/dist/generated/types/initProtocolEvent.js +31 -0
- package/dist/generated/types/initProtocolEvent.js.map +1 -0
- package/dist/generated/types/initializeDirectWithdrawStrategyEvent.d.ts +34 -0
- package/dist/generated/types/initializeDirectWithdrawStrategyEvent.d.ts.map +1 -0
- package/dist/generated/types/initializeDirectWithdrawStrategyEvent.js +55 -0
- package/dist/generated/types/initializeDirectWithdrawStrategyEvent.js.map +1 -0
- package/dist/generated/types/initializeStrategyEvent.d.ts +32 -0
- package/dist/generated/types/initializeStrategyEvent.d.ts.map +1 -0
- package/dist/generated/types/initializeStrategyEvent.js +41 -0
- package/dist/generated/types/initializeStrategyEvent.js.map +1 -0
- package/dist/generated/types/initializeVaultEvent.d.ts +56 -0
- package/dist/generated/types/initializeVaultEvent.d.ts.map +1 -0
- package/dist/generated/types/initializeVaultEvent.js +71 -0
- package/dist/generated/types/initializeVaultEvent.js.map +1 -0
- package/dist/generated/types/instantWithdrawStrategyEvent.d.ts +68 -0
- package/dist/generated/types/instantWithdrawStrategyEvent.d.ts.map +1 -0
- package/dist/generated/types/instantWithdrawStrategyEvent.js +77 -0
- package/dist/generated/types/instantWithdrawStrategyEvent.js.map +1 -0
- package/dist/generated/types/instantWithdrawVaultEvent.d.ts +56 -0
- package/dist/generated/types/instantWithdrawVaultEvent.d.ts.map +1 -0
- package/dist/generated/types/instantWithdrawVaultEvent.js +65 -0
- package/dist/generated/types/instantWithdrawVaultEvent.js.map +1 -0
- package/dist/generated/types/lockedProfitState.d.ts +20 -0
- package/dist/generated/types/lockedProfitState.d.ts.map +1 -0
- package/dist/generated/types/lockedProfitState.js +29 -0
- package/dist/generated/types/lockedProfitState.js.map +1 -0
- package/dist/generated/types/protocolConfigField.d.ts +17 -0
- package/dist/generated/types/protocolConfigField.d.ts.map +1 -0
- package/dist/generated/types/protocolConfigField.js +29 -0
- package/dist/generated/types/protocolConfigField.js.map +1 -0
- package/dist/generated/types/protocolFeeField.d.ts +17 -0
- package/dist/generated/types/protocolFeeField.d.ts.map +1 -0
- package/dist/generated/types/protocolFeeField.js +29 -0
- package/dist/generated/types/protocolFeeField.js.map +1 -0
- package/dist/generated/types/removeAdaptorEvent.d.ts +26 -0
- package/dist/generated/types/removeAdaptorEvent.d.ts.map +1 -0
- package/dist/generated/types/removeAdaptorEvent.js +35 -0
- package/dist/generated/types/removeAdaptorEvent.js.map +1 -0
- package/dist/generated/types/requestWithdrawVaultEvent.d.ts +44 -0
- package/dist/generated/types/requestWithdrawVaultEvent.d.ts.map +1 -0
- package/dist/generated/types/requestWithdrawVaultEvent.js +53 -0
- package/dist/generated/types/requestWithdrawVaultEvent.js.map +1 -0
- package/dist/generated/types/updateProtocolEvent.d.ts +28 -0
- package/dist/generated/types/updateProtocolEvent.d.ts.map +1 -0
- package/dist/generated/types/updateProtocolEvent.js +37 -0
- package/dist/generated/types/updateProtocolEvent.js.map +1 -0
- package/dist/generated/types/updateVaultConfigEvent.d.ts +28 -0
- package/dist/generated/types/updateVaultConfigEvent.d.ts.map +1 -0
- package/dist/generated/types/updateVaultConfigEvent.js +37 -0
- package/dist/generated/types/updateVaultConfigEvent.js.map +1 -0
- package/dist/generated/types/updateVaultEvent.d.ts +62 -0
- package/dist/generated/types/updateVaultEvent.d.ts.map +1 -0
- package/dist/generated/types/updateVaultEvent.js +71 -0
- package/dist/generated/types/updateVaultEvent.js.map +1 -0
- package/dist/generated/types/updateVaultProtocolFeeEvent.d.ts +28 -0
- package/dist/generated/types/updateVaultProtocolFeeEvent.d.ts.map +1 -0
- package/dist/generated/types/updateVaultProtocolFeeEvent.js +37 -0
- package/dist/generated/types/updateVaultProtocolFeeEvent.js.map +1 -0
- package/dist/generated/types/vaultAsset.d.ts +36 -0
- package/dist/generated/types/vaultAsset.d.ts.map +1 -0
- package/dist/generated/types/vaultAsset.js +35 -0
- package/dist/generated/types/vaultAsset.js.map +1 -0
- package/dist/generated/types/vaultConfigField.d.ts +28 -0
- package/dist/generated/types/vaultConfigField.d.ts.map +1 -0
- package/dist/generated/types/vaultConfigField.js +40 -0
- package/dist/generated/types/vaultConfigField.js.map +1 -0
- package/dist/generated/types/vaultConfiguration.d.ts +40 -0
- package/dist/generated/types/vaultConfiguration.d.ts.map +1 -0
- package/dist/generated/types/vaultConfiguration.js +37 -0
- package/dist/generated/types/vaultConfiguration.js.map +1 -0
- package/dist/generated/types/vaultLp.d.ts +23 -0
- package/dist/generated/types/vaultLp.d.ts.map +1 -0
- package/dist/generated/types/vaultLp.js +33 -0
- package/dist/generated/types/vaultLp.js.map +1 -0
- package/dist/generated/types/withdrawStrategyEvent.d.ts +52 -0
- package/dist/generated/types/withdrawStrategyEvent.d.ts.map +1 -0
- package/dist/generated/types/withdrawStrategyEvent.js +61 -0
- package/dist/generated/types/withdrawStrategyEvent.js.map +1 -0
- package/dist/generated/types/withdrawVaultEvent.d.ts +50 -0
- package/dist/generated/types/withdrawVaultEvent.d.ts.map +1 -0
- package/dist/generated/types/withdrawVaultEvent.js +59 -0
- package/dist/generated/types/withdrawVaultEvent.js.map +1 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -0
- package/package.json +31 -27
- package/src/extensions/batchFetchers.ts +121 -0
- package/src/extensions/decimal.ts +15 -0
- package/src/extensions/fees.ts +36 -0
- package/src/extensions/index.ts +9 -0
- package/src/extensions/lpEconomics.ts +225 -0
- package/src/extensions/math.ts +338 -0
- package/src/extensions/metadataPda.ts +47 -0
- package/src/extensions/position.ts +54 -0
- package/src/extensions/rpc.ts +17 -0
- package/src/extensions/withdrawals.ts +113 -0
- package/src/generated/accounts/adaptorAddReceipt.ts +194 -0
- package/src/generated/accounts/directWithdrawInitReceipt.ts +235 -0
- package/src/generated/accounts/index.ts +14 -0
- package/src/generated/accounts/protocol.ts +176 -0
- package/src/generated/accounts/requestWithdrawVaultReceipt.ts +197 -0
- package/src/generated/accounts/strategyInitReceipt.ts +221 -0
- package/src/generated/accounts/vault.ts +274 -0
- package/src/generated/errors/index.ts +9 -0
- package/src/generated/errors/voltrVault.ts +112 -0
- package/src/generated/index.ts +14 -0
- package/src/generated/instructions/acceptProtocolAdmin.ts +248 -0
- package/src/generated/instructions/acceptVaultAdmin.ts +187 -0
- package/src/generated/instructions/addAdaptor.ts +391 -0
- package/src/generated/instructions/calibrateHighWaterMark.ts +394 -0
- package/src/generated/instructions/calibrateHighWaterMarkUnsafe.ts +311 -0
- package/src/generated/instructions/cancelRequestWithdrawVault.ts +546 -0
- package/src/generated/instructions/closeStrategy.ts +395 -0
- package/src/generated/instructions/createLpMetadata.ts +501 -0
- package/src/generated/instructions/depositStrategy.ts +737 -0
- package/src/generated/instructions/depositVault.ts +686 -0
- package/src/generated/instructions/directWithdrawStrategy.ts +903 -0
- package/src/generated/instructions/directWithdrawStrategyWithTolerance.ts +913 -0
- package/src/generated/instructions/harvestFee.ts +599 -0
- package/src/generated/instructions/index.ts +35 -0
- package/src/generated/instructions/initProtocol.ts +329 -0
- package/src/generated/instructions/initializeDirectWithdrawStrategy.ts +576 -0
- package/src/generated/instructions/initializeStrategy.ts +557 -0
- package/src/generated/instructions/initializeVault.ts +784 -0
- package/src/generated/instructions/instantWithdrawStrategy.ts +870 -0
- package/src/generated/instructions/instantWithdrawStrategyWithTolerance.ts +878 -0
- package/src/generated/instructions/instantWithdrawVault.ts +670 -0
- package/src/generated/instructions/removeAdaptor.ts +371 -0
- package/src/generated/instructions/requestWithdrawVault.ts +608 -0
- package/src/generated/instructions/updateProtocol.ts +270 -0
- package/src/generated/instructions/updateVaultConfig.ts +343 -0
- package/src/generated/instructions/updateVaultProtocolFee.ts +344 -0
- package/src/generated/instructions/withdrawStrategy.ts +737 -0
- package/src/generated/instructions/withdrawVault.ts +685 -0
- package/src/generated/pdas/adaptorAddReceipt.ts +42 -0
- package/src/generated/pdas/directWithdrawInitReceipt.ts +42 -0
- package/src/generated/pdas/index.ts +17 -0
- package/src/generated/pdas/protocol.ts +30 -0
- package/src/generated/pdas/requestWithdrawVaultReceipt.ts +43 -0
- package/src/generated/pdas/strategyInitReceipt.ts +42 -0
- package/src/generated/pdas/vaultAssetIdleAuth.ts +40 -0
- package/src/generated/pdas/vaultLpMint.ts +39 -0
- package/src/generated/pdas/vaultLpMintAuth.ts +40 -0
- package/src/generated/pdas/vaultStrategyAuth.ts +42 -0
- package/src/generated/programs/index.ts +9 -0
- package/src/generated/programs/voltrVault.ts +1261 -0
- package/src/generated/types/acceptProtocolAdminEvent.ts +63 -0
- package/src/generated/types/acceptVaultAdminEvent.ts +63 -0
- package/src/generated/types/addAdaptorEvent.ts +68 -0
- package/src/generated/types/calibrateHighWaterMarkEvent.ts +85 -0
- package/src/generated/types/calibrateHighWaterMarkUnsafeEvent.ts +77 -0
- package/src/generated/types/cancelRequestWithdrawVaultEvent.ts +81 -0
- package/src/generated/types/closeStrategyEvent.ts +67 -0
- package/src/generated/types/depositStrategyEvent.ts +121 -0
- package/src/generated/types/depositVaultEvent.ts +113 -0
- package/src/generated/types/directWithdrawStrategyEvent.ts +141 -0
- package/src/generated/types/feeConfiguration.ts +84 -0
- package/src/generated/types/feeState.ts +67 -0
- package/src/generated/types/feeUpdate.ts +50 -0
- package/src/generated/types/harvestFeeEvent.ts +76 -0
- package/src/generated/types/highWaterMark.ts +66 -0
- package/src/generated/types/index.ts +44 -0
- package/src/generated/types/initProtocolEvent.ts +61 -0
- package/src/generated/types/initializeDirectWithdrawStrategyEvent.ts +104 -0
- package/src/generated/types/initializeStrategyEvent.ts +81 -0
- package/src/generated/types/initializeVaultEvent.ts +141 -0
- package/src/generated/types/instantWithdrawStrategyEvent.ts +155 -0
- package/src/generated/types/instantWithdrawVaultEvent.ts +131 -0
- package/src/generated/types/lockedProfitState.ts +52 -0
- package/src/generated/types/protocolConfigField.ts +41 -0
- package/src/generated/types/protocolFeeField.ts +41 -0
- package/src/generated/types/removeAdaptorEvent.ts +67 -0
- package/src/generated/types/requestWithdrawVaultEvent.ts +107 -0
- package/src/generated/types/updateProtocolEvent.ts +77 -0
- package/src/generated/types/updateVaultConfigEvent.ts +77 -0
- package/src/generated/types/updateVaultEvent.ts +141 -0
- package/src/generated/types/updateVaultProtocolFeeEvent.ts +79 -0
- package/src/generated/types/vaultAsset.ts +81 -0
- package/src/generated/types/vaultConfigField.ts +52 -0
- package/src/generated/types/vaultConfiguration.ts +87 -0
- package/src/generated/types/vaultLp.ts +61 -0
- package/src/generated/types/withdrawStrategyEvent.ts +121 -0
- package/src/generated/types/withdrawVaultEvent.ts +117 -0
- package/src/index.ts +2 -0
- package/README.md +0 -453
- package/dist/client.d.ts +0 -1544
- package/dist/client.js +0 -1964
- package/dist/constants.d.ts +0 -20
- package/dist/constants.js +0 -27
- package/dist/decimals.d.ts +0 -3
- package/dist/decimals.js +0 -10
- package/dist/idl/voltr_vault.json +0 -9029
- package/dist/types/index.d.ts +0 -2
- package/dist/types/vault.d.ts +0 -70
- package/dist/types/vault.js +0 -29
- package/dist/types/voltr_vault.d.ts +0 -9035
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEAD_WEIGHT_LP = exports.SECONDS_PER_YEAR = exports.MAX_FEE_BPS = void 0;
|
|
4
|
+
exports.maxBigInt = maxBigInt;
|
|
5
|
+
exports.minBigInt = minBigInt;
|
|
6
|
+
exports.ceilDivBigInt = ceilDivBigInt;
|
|
7
|
+
exports.nowSeconds = nowSeconds;
|
|
8
|
+
exports.calculateLockedProfit = calculateLockedProfit;
|
|
9
|
+
exports.calculateUnrealisedLpFees = calculateUnrealisedLpFees;
|
|
10
|
+
exports.getTotalLpSupplyInclFees = getTotalLpSupplyInclFees;
|
|
11
|
+
exports.calculateAssetsForWithdrawAmount = calculateAssetsForWithdrawAmount;
|
|
12
|
+
exports.calculateLpForWithdrawAmount = calculateLpForWithdrawAmount;
|
|
13
|
+
exports.calculateLpForDepositAmount = calculateLpForDepositAmount;
|
|
14
|
+
exports.MAX_FEE_BPS = 10000n;
|
|
15
|
+
exports.SECONDS_PER_YEAR = BigInt(365 * 24 * 60 * 60);
|
|
16
|
+
/**
|
|
17
|
+
* Matches `DEAD_WEIGHT` in the program. The first deposit ever made into a
|
|
18
|
+
* vault donates this many LP units permanently to the vault to prevent
|
|
19
|
+
* inflation/donation attacks; subsequent deposits are unaffected.
|
|
20
|
+
*/
|
|
21
|
+
exports.DEAD_WEIGHT_LP = 1000n;
|
|
22
|
+
function maxBigInt(a, b) {
|
|
23
|
+
return a > b ? a : b;
|
|
24
|
+
}
|
|
25
|
+
function minBigInt(a, b) {
|
|
26
|
+
return a < b ? a : b;
|
|
27
|
+
}
|
|
28
|
+
/** Ceiling division for positive bigints. */
|
|
29
|
+
function ceilDivBigInt(a, b) {
|
|
30
|
+
return (a + b - 1n) / b;
|
|
31
|
+
}
|
|
32
|
+
function nowSeconds() {
|
|
33
|
+
return BigInt(Math.floor(Date.now() / 1000));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Mirrors the program-side locked-profit decay: the locked profit drops
|
|
37
|
+
* linearly over `lockedProfitDegradationDuration` and is zero once that
|
|
38
|
+
* window has elapsed. Note: the legacy JS SDK measured elapsed time from
|
|
39
|
+
* `lastUpdatedLockedProfit` (an amount, not a timestamp), which produced
|
|
40
|
+
* incorrect values; this port follows the program, which uses `lastReport`.
|
|
41
|
+
*/
|
|
42
|
+
function calculateLockedProfit(lastUpdatedLockedProfit, lockedProfitDegradationDuration, currentTimeSec, lastReport) {
|
|
43
|
+
if (lockedProfitDegradationDuration === 0n)
|
|
44
|
+
return 0n;
|
|
45
|
+
const duration = currentTimeSec - lastReport;
|
|
46
|
+
if (duration <= 0n)
|
|
47
|
+
return lastUpdatedLockedProfit;
|
|
48
|
+
if (duration >= lockedProfitDegradationDuration)
|
|
49
|
+
return 0n;
|
|
50
|
+
return ((lastUpdatedLockedProfit *
|
|
51
|
+
(lockedProfitDegradationDuration - duration)) /
|
|
52
|
+
lockedProfitDegradationDuration);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Estimates the LP that would be minted to cover management fees accrued
|
|
56
|
+
* since `lastManagementFeeUpdateTs`. Returns 0n when the inputs make the
|
|
57
|
+
* fee calculation undefined (no time elapsed, no assets, etc.).
|
|
58
|
+
*
|
|
59
|
+
* Both rounding steps are ceiling divisions, matching the program's
|
|
60
|
+
* `calc_management_fee_amount_in_asset` and `calc_fee_lp_to_mint` — flooring
|
|
61
|
+
* the asset fee first would understate the LP that should be minted whenever
|
|
62
|
+
* the accrued fee isn't an exact multiple of the denominator.
|
|
63
|
+
*/
|
|
64
|
+
function calculateUnrealisedLpFees(currentTotalLp, assetTotalValue, lastManagementFeeUpdateTs, managementFeeBps, currentTimeSec = nowSeconds()) {
|
|
65
|
+
if (lastManagementFeeUpdateTs === 0n ||
|
|
66
|
+
assetTotalValue === 0n ||
|
|
67
|
+
managementFeeBps === 0n) {
|
|
68
|
+
return 0n;
|
|
69
|
+
}
|
|
70
|
+
const timeElapsed = maxBigInt(0n, currentTimeSec - lastManagementFeeUpdateTs);
|
|
71
|
+
if (timeElapsed === 0n)
|
|
72
|
+
return 0n;
|
|
73
|
+
const feeAmountInAsset = ceilDivBigInt(assetTotalValue * timeElapsed * managementFeeBps, exports.MAX_FEE_BPS * exports.SECONDS_PER_YEAR);
|
|
74
|
+
// Matches the program's `handle_management_fee`: when accrued fees would
|
|
75
|
+
// meet or exceed the vault's asset value, the on-chain instruction reverts
|
|
76
|
+
// with FeeExceedsTotalAssetValue. Quoting 0 here would silently mask a
|
|
77
|
+
// state where every deposit/withdraw transaction is going to fail.
|
|
78
|
+
if (feeAmountInAsset >= assetTotalValue) {
|
|
79
|
+
throw new Error("Accrued management fees exceed vault total asset value (program would revert with FeeExceedsTotalAssetValue)");
|
|
80
|
+
}
|
|
81
|
+
const lpDenominator = assetTotalValue - feeAmountInAsset;
|
|
82
|
+
return ceilDivBigInt(feeAmountInAsset * currentTotalLp, lpDenominator);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Total LP supply the program treats as outstanding for accounting:
|
|
86
|
+
* circulating LP + accumulated (but unharvested) fee LP + dead weight LP.
|
|
87
|
+
* Matches `Vault::get_total_lp_supply_incl_fees` in the program.
|
|
88
|
+
*/
|
|
89
|
+
function getTotalLpSupplyInclFees(args) {
|
|
90
|
+
return (args.lpSupply +
|
|
91
|
+
args.vaultAccumulatedLpAdminFees +
|
|
92
|
+
args.vaultAccumulatedLpManagerFees +
|
|
93
|
+
args.vaultAccumulatedLpProtocolFees +
|
|
94
|
+
args.vaultDeadWeight);
|
|
95
|
+
}
|
|
96
|
+
function calculateAssetsForWithdrawAmount(inputs) {
|
|
97
|
+
const { vaultTotalValue, vaultLastUpdatedLockedProfit, vaultLastReport, vaultLockedProfitDegradationDuration, vaultAccumulatedLpAdminFees, vaultAccumulatedLpManagerFees, vaultAccumulatedLpProtocolFees, vaultDeadWeight, vaultRedemptionFeeBps, vaultManagementFeeBps, vaultLastManagementFeeUpdateTs, lpSupply, lpAmount, currentTimeSec = nowSeconds(), } = inputs;
|
|
98
|
+
if (lpSupply <= 0n)
|
|
99
|
+
throw new Error("Invalid LP supply");
|
|
100
|
+
if (vaultTotalValue <= 0n)
|
|
101
|
+
throw new Error("Invalid total assets");
|
|
102
|
+
const lockedProfit = calculateLockedProfit(vaultLastUpdatedLockedProfit, vaultLockedProfitDegradationDuration, currentTimeSec, vaultLastReport);
|
|
103
|
+
const totalUnlockedValue = vaultTotalValue - lockedProfit;
|
|
104
|
+
const lpSupplyInclAccumulatedFees = getTotalLpSupplyInclFees({
|
|
105
|
+
lpSupply,
|
|
106
|
+
vaultAccumulatedLpAdminFees,
|
|
107
|
+
vaultAccumulatedLpManagerFees,
|
|
108
|
+
vaultAccumulatedLpProtocolFees,
|
|
109
|
+
vaultDeadWeight,
|
|
110
|
+
});
|
|
111
|
+
const unrealisedLpFees = calculateUnrealisedLpFees(lpSupplyInclAccumulatedFees, vaultTotalValue, vaultLastManagementFeeUpdateTs, BigInt(vaultManagementFeeBps), currentTimeSec);
|
|
112
|
+
const lpSupplyInclFees = lpSupplyInclAccumulatedFees + unrealisedLpFees;
|
|
113
|
+
// The program floors asset_to_redeem (favours the vault on the redeem side).
|
|
114
|
+
const numerator = lpAmount * totalUnlockedValue * BigInt(10_000 - vaultRedemptionFeeBps);
|
|
115
|
+
const denominator = lpSupplyInclFees * 10000n;
|
|
116
|
+
return numerator / denominator;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Computes the LP that must be burned to redeem at least `assetAmount`,
|
|
120
|
+
* matching `calc_withdraw_lp_to_burn` in the program (which rounds up so
|
|
121
|
+
* the burn always covers the requested asset amount). Flooring here would
|
|
122
|
+
* underquote the burn and either revert or short-redeem.
|
|
123
|
+
*/
|
|
124
|
+
function calculateLpForWithdrawAmount(inputs) {
|
|
125
|
+
const { vaultTotalValue, vaultLastUpdatedLockedProfit, vaultLastReport, vaultLockedProfitDegradationDuration, vaultAccumulatedLpAdminFees, vaultAccumulatedLpManagerFees, vaultAccumulatedLpProtocolFees, vaultDeadWeight, vaultRedemptionFeeBps, vaultManagementFeeBps, vaultLastManagementFeeUpdateTs, lpSupply, assetAmount, currentTimeSec = nowSeconds(), } = inputs;
|
|
126
|
+
if (lpSupply <= 0n)
|
|
127
|
+
throw new Error("Invalid LP supply");
|
|
128
|
+
if (vaultTotalValue <= 0n)
|
|
129
|
+
throw new Error("Invalid total assets");
|
|
130
|
+
const lockedProfit = calculateLockedProfit(vaultLastUpdatedLockedProfit, vaultLockedProfitDegradationDuration, currentTimeSec, vaultLastReport);
|
|
131
|
+
const totalUnlockedValue = vaultTotalValue - lockedProfit;
|
|
132
|
+
const lpSupplyInclAccumulatedFees = getTotalLpSupplyInclFees({
|
|
133
|
+
lpSupply,
|
|
134
|
+
vaultAccumulatedLpAdminFees,
|
|
135
|
+
vaultAccumulatedLpManagerFees,
|
|
136
|
+
vaultAccumulatedLpProtocolFees,
|
|
137
|
+
vaultDeadWeight,
|
|
138
|
+
});
|
|
139
|
+
const unrealisedLpFees = calculateUnrealisedLpFees(lpSupplyInclAccumulatedFees, vaultTotalValue, vaultLastManagementFeeUpdateTs, BigInt(vaultManagementFeeBps), currentTimeSec);
|
|
140
|
+
const lpSupplyInclFees = lpSupplyInclAccumulatedFees + unrealisedLpFees;
|
|
141
|
+
const numerator = assetAmount * lpSupplyInclFees * 10000n;
|
|
142
|
+
const denominator = totalUnlockedValue * BigInt(10_000 - vaultRedemptionFeeBps);
|
|
143
|
+
return ceilDivBigInt(numerator, denominator);
|
|
144
|
+
}
|
|
145
|
+
function calculateLpForDepositAmount(inputs) {
|
|
146
|
+
const { vaultTotalValue, vaultAccumulatedLpAdminFees, vaultAccumulatedLpManagerFees, vaultAccumulatedLpProtocolFees, vaultDeadWeight, vaultIssuanceFeeBps, vaultManagementFeeBps, vaultLastManagementFeeUpdateTs, lpSupply, assetAmount, assetDecimals, lpDecimals, currentTimeSec = nowSeconds(), } = inputs;
|
|
147
|
+
const lpSupplyInclAccumulatedFees = getTotalLpSupplyInclFees({
|
|
148
|
+
lpSupply,
|
|
149
|
+
vaultAccumulatedLpAdminFees,
|
|
150
|
+
vaultAccumulatedLpManagerFees,
|
|
151
|
+
vaultAccumulatedLpProtocolFees,
|
|
152
|
+
vaultDeadWeight,
|
|
153
|
+
});
|
|
154
|
+
const unrealisedLpFees = calculateUnrealisedLpFees(lpSupplyInclAccumulatedFees, vaultTotalValue, vaultLastManagementFeeUpdateTs, BigInt(vaultManagementFeeBps), currentTimeSec);
|
|
155
|
+
const lpSupplyInclFees = lpSupplyInclAccumulatedFees + unrealisedLpFees;
|
|
156
|
+
let lpToMintBeforeDeadWeight;
|
|
157
|
+
if (lpSupplyInclFees === 0n) {
|
|
158
|
+
lpToMintBeforeDeadWeight =
|
|
159
|
+
(assetAmount * 10n ** BigInt(lpDecimals)) / 10n ** BigInt(assetDecimals);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// The program floors mint quantity (favours existing holders on the
|
|
163
|
+
// mint side), so we mirror that here.
|
|
164
|
+
const numerator = assetAmount * lpSupplyInclFees * BigInt(10_000 - vaultIssuanceFeeBps);
|
|
165
|
+
const totalAssetPostDeposit = vaultTotalValue + assetAmount;
|
|
166
|
+
const denominator = totalAssetPostDeposit * 10000n -
|
|
167
|
+
assetAmount * BigInt(10_000 - vaultIssuanceFeeBps);
|
|
168
|
+
lpToMintBeforeDeadWeight = numerator / denominator;
|
|
169
|
+
}
|
|
170
|
+
// First-ever deposit pays DEAD_WEIGHT_LP into the vault permanently. The
|
|
171
|
+
// program rejects deposits that don't clear that floor, so we surface the
|
|
172
|
+
// same condition here rather than silently quoting a value the user can't
|
|
173
|
+
// actually receive.
|
|
174
|
+
if (vaultDeadWeight === 0n) {
|
|
175
|
+
if (lpToMintBeforeDeadWeight < exports.DEAD_WEIGHT_LP) {
|
|
176
|
+
throw new Error(`First deposit must mint at least ${exports.DEAD_WEIGHT_LP} LP (would mint ${lpToMintBeforeDeadWeight})`);
|
|
177
|
+
}
|
|
178
|
+
return lpToMintBeforeDeadWeight - exports.DEAD_WEIGHT_LP;
|
|
179
|
+
}
|
|
180
|
+
return lpToMintBeforeDeadWeight;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/extensions/math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Address, type ProgramDerivedAddress } from "@solana/kit";
|
|
2
|
+
/**
|
|
3
|
+
* Metaplex Token Metadata program ID. Codama can't derive PDAs that depend on
|
|
4
|
+
* an external program, so we keep this helper hand-written.
|
|
5
|
+
*/
|
|
6
|
+
export declare const METAPLEX_METADATA_PROGRAM_ADDRESS: Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
|
|
7
|
+
/**
|
|
8
|
+
* Derives the LP metadata PDA owned by the Metaplex Token Metadata program for
|
|
9
|
+
* a given Voltr vault. Mirrors the legacy SDK's `findLpMetadataAccount(vault)`
|
|
10
|
+
* convenience: caller supplies the vault, we compute the LP mint PDA and then
|
|
11
|
+
* the metadata PDA off of it.
|
|
12
|
+
*/
|
|
13
|
+
export declare function findLpMetadataPda(seeds: {
|
|
14
|
+
vault: Address;
|
|
15
|
+
}, config?: {
|
|
16
|
+
voltrProgramAddress?: Address;
|
|
17
|
+
}): Promise<ProgramDerivedAddress>;
|
|
18
|
+
//# sourceMappingURL=metadataPda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadataPda.d.ts","sourceRoot":"","sources":["../../src/extensions/metadataPda.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAIrB;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EACK,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAM1G;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,EACzB,MAAM,GAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7C,OAAO,CAAC,qBAAqB,CAAC,CAgBhC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.METAPLEX_METADATA_PROGRAM_ADDRESS = void 0;
|
|
4
|
+
exports.findLpMetadataPda = findLpMetadataPda;
|
|
5
|
+
const kit_1 = require("@solana/kit");
|
|
6
|
+
const generated_1 = require("../generated");
|
|
7
|
+
/**
|
|
8
|
+
* Metaplex Token Metadata program ID. Codama can't derive PDAs that depend on
|
|
9
|
+
* an external program, so we keep this helper hand-written.
|
|
10
|
+
*/
|
|
11
|
+
exports.METAPLEX_METADATA_PROGRAM_ADDRESS = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
|
|
12
|
+
const METADATA_SEED = new Uint8Array([
|
|
13
|
+
109, 101, 116, 97, 100, 97, 116, 97,
|
|
14
|
+
]); // "metadata"
|
|
15
|
+
/**
|
|
16
|
+
* Derives the LP metadata PDA owned by the Metaplex Token Metadata program for
|
|
17
|
+
* a given Voltr vault. Mirrors the legacy SDK's `findLpMetadataAccount(vault)`
|
|
18
|
+
* convenience: caller supplies the vault, we compute the LP mint PDA and then
|
|
19
|
+
* the metadata PDA off of it.
|
|
20
|
+
*/
|
|
21
|
+
async function findLpMetadataPda(seeds, config = {}) {
|
|
22
|
+
const [lpMint] = await (0, generated_1.findVaultLpMintPda)({ vault: seeds.vault }, {
|
|
23
|
+
programAddress: config.voltrProgramAddress ?? generated_1.VOLTR_VAULT_PROGRAM_ADDRESS,
|
|
24
|
+
});
|
|
25
|
+
return await (0, kit_1.getProgramDerivedAddress)({
|
|
26
|
+
programAddress: exports.METAPLEX_METADATA_PROGRAM_ADDRESS,
|
|
27
|
+
seeds: [
|
|
28
|
+
(0, kit_1.getBytesEncoder)().encode(METADATA_SEED),
|
|
29
|
+
(0, kit_1.getAddressEncoder)().encode(exports.METAPLEX_METADATA_PROGRAM_ADDRESS),
|
|
30
|
+
(0, kit_1.getAddressEncoder)().encode(lpMint),
|
|
31
|
+
],
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=metadataPda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadataPda.js","sourceRoot":"","sources":["../../src/extensions/metadataPda.ts"],"names":[],"mappings":";;;AA2BA,8CAmBC;AA9CD,qCAMqB;AAErB,4CAA+E;AAE/E;;;GAGG;AACU,QAAA,iCAAiC,GAC5C,6CAAuG,CAAC;AAE1G,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC;IACnC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;CACpC,CAAC,CAAC,CAAC,aAAa;AAEjB;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CACrC,KAAyB,EACzB,SAA4C,EAAE;IAE9C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAA,8BAAkB,EACvC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EACtB;QACE,cAAc,EACZ,MAAM,CAAC,mBAAmB,IAAI,uCAA2B;KAC5D,CACF,CAAC;IACF,OAAO,MAAM,IAAA,8BAAwB,EAAC;QACpC,cAAc,EAAE,yCAAiC;QACjD,KAAK,EAAE;YACL,IAAA,qBAAe,GAAE,CAAC,MAAM,CAAC,aAAa,CAAC;YACvC,IAAA,uBAAiB,GAAE,CAAC,MAAM,CAAC,yCAAiC,CAAC;YAC7D,IAAA,uBAAiB,GAAE,CAAC,MAAM,CAAC,MAAM,CAAC;SACnC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Address } from "@solana/kit";
|
|
2
|
+
import type { ExtensionsRpc } from "./rpc";
|
|
3
|
+
export type StrategyPositionInfo = {
|
|
4
|
+
strategyId: Address;
|
|
5
|
+
/** Position value in raw asset base units. */
|
|
6
|
+
amount: bigint;
|
|
7
|
+
};
|
|
8
|
+
export type VaultPositionAndTotalValues = {
|
|
9
|
+
/** Total value of the vault in raw asset base units. */
|
|
10
|
+
totalValue: bigint;
|
|
11
|
+
strategies: StrategyPositionInfo[];
|
|
12
|
+
};
|
|
13
|
+
export declare function getPositionAndTotalValuesForVault(rpc: ExtensionsRpc, vault: Address): Promise<VaultPositionAndTotalValues>;
|
|
14
|
+
export type HighWaterMarkInfo = {
|
|
15
|
+
highestAssetPerLp: number;
|
|
16
|
+
lastUpdatedTs: bigint;
|
|
17
|
+
};
|
|
18
|
+
export declare function getHighWaterMarkForVault(rpc: ExtensionsRpc, vault: Address): Promise<HighWaterMarkInfo>;
|
|
19
|
+
//# sourceMappingURL=position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/extensions/position.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAK3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC,CAAC;AAEF,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,2BAA2B,CAAC,CAatC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,iBAAiB,CAAC,CAQ5B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPositionAndTotalValuesForVault = getPositionAndTotalValuesForVault;
|
|
4
|
+
exports.getHighWaterMarkForVault = getHighWaterMarkForVault;
|
|
5
|
+
const generated_1 = require("../generated");
|
|
6
|
+
const batchFetchers_1 = require("./batchFetchers");
|
|
7
|
+
const decimal_1 = require("./decimal");
|
|
8
|
+
async function getPositionAndTotalValuesForVault(rpc, vault) {
|
|
9
|
+
const [vaultAccount, strategyAccounts] = await Promise.all([
|
|
10
|
+
(0, generated_1.fetchVault)(rpc, vault),
|
|
11
|
+
(0, batchFetchers_1.fetchAllStrategyInitReceiptAccountsOfVault)(rpc, vault),
|
|
12
|
+
]);
|
|
13
|
+
return {
|
|
14
|
+
totalValue: vaultAccount.data.asset.totalValue,
|
|
15
|
+
strategies: strategyAccounts.map((account) => ({
|
|
16
|
+
strategyId: account.data.strategy,
|
|
17
|
+
amount: account.data.positionValue,
|
|
18
|
+
})),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
async function getHighWaterMarkForVault(rpc, vault) {
|
|
22
|
+
const account = await (0, generated_1.fetchVault)(rpc, vault);
|
|
23
|
+
return {
|
|
24
|
+
highestAssetPerLp: (0, decimal_1.convertDecimalBitsToNumber)(account.data.highWaterMark.highestAssetPerLpDecimalBits),
|
|
25
|
+
lastUpdatedTs: account.data.highWaterMark.lastUpdatedTs,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=position.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/extensions/position.ts"],"names":[],"mappings":";;AAmBA,8EAgBC;AAOD,4DAWC;AAnDD,4CAA0C;AAC1C,mDAA6E;AAC7E,uCAAuD;AAehD,KAAK,UAAU,iCAAiC,CACrD,GAAkB,EAClB,KAAc;IAEd,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,IAAA,sBAAU,EAAC,GAAG,EAAE,KAAK,CAAC;QACtB,IAAA,0DAA0C,EAAC,GAAG,EAAE,KAAK,CAAC;KACvD,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;QAC9C,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7C,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;YACjC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa;SACnC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,wBAAwB,CAC5C,GAAkB,EAClB,KAAc;IAEd,MAAM,OAAO,GAAG,MAAM,IAAA,sBAAU,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO;QACL,iBAAiB,EAAE,IAAA,oCAA0B,EAC3C,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,4BAA4B,CACxD;QACD,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa;KACxD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GetAccountInfoApi, GetMultipleAccountsApi, GetProgramAccountsApi, GetTokenSupplyApi, Rpc } from "@solana/kit";
|
|
2
|
+
export type GetAccountInfoRpc = Rpc<GetAccountInfoApi>;
|
|
3
|
+
export type GetMultipleAccountsRpc = Rpc<GetMultipleAccountsApi>;
|
|
4
|
+
export type GetProgramAccountsRpc = Rpc<GetProgramAccountsApi>;
|
|
5
|
+
export type GetTokenSupplyRpc = Rpc<GetTokenSupplyApi>;
|
|
6
|
+
/** Combined RPC interface used by the higher-level extension helpers. */
|
|
7
|
+
export type ExtensionsRpc = Rpc<GetAccountInfoApi & GetTokenSupplyApi & GetProgramAccountsApi>;
|
|
8
|
+
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/extensions/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,GAAG,EACJ,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACvD,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAEvD,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B,iBAAiB,GAAG,iBAAiB,GAAG,qBAAqB,CAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/extensions/rpc.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Address } from "@solana/kit";
|
|
2
|
+
import { type RequestWithdrawVaultReceipt, type Vault } from "../generated";
|
|
3
|
+
import type { ExtensionsRpc } from "./rpc";
|
|
4
|
+
export type PendingWithdrawal = {
|
|
5
|
+
user: Address;
|
|
6
|
+
amountAssetToWithdrawEffective: number;
|
|
7
|
+
amountAssetToWithdrawAtRequest: number;
|
|
8
|
+
amountAssetToWithdrawAtPresent: number;
|
|
9
|
+
amountLpEscrowed: bigint;
|
|
10
|
+
withdrawableFromTs: bigint;
|
|
11
|
+
};
|
|
12
|
+
declare function processWithdrawalReceipt(receipt: RequestWithdrawVaultReceipt, vault: Vault, lpSupply: bigint): PendingWithdrawal;
|
|
13
|
+
export declare function getPendingWithdrawalForUser(rpc: ExtensionsRpc, vault: Address, user: Address): Promise<PendingWithdrawal>;
|
|
14
|
+
export declare function getAllPendingWithdrawalsForVault(rpc: ExtensionsRpc, vault: Address): Promise<PendingWithdrawal[]>;
|
|
15
|
+
export { processWithdrawalReceipt };
|
|
16
|
+
//# sourceMappingURL=withdrawals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withdrawals.d.ts","sourceRoot":"","sources":["../../src/extensions/withdrawals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAML,KAAK,2BAA2B,EAChC,KAAK,KAAK,EACX,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,8BAA8B,EAAE,MAAM,CAAC;IACvC,8BAA8B,EAAE,MAAM,CAAC;IACvC,8BAA8B,EAAE,MAAM,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,iBAAS,wBAAwB,CAC/B,OAAO,EAAE,2BAA2B,EACpC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAoCnB;AAkBD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,iBAAiB,CAAC,CAQ5B;AAED,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAS9B;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPendingWithdrawalForUser = getPendingWithdrawalForUser;
|
|
4
|
+
exports.getAllPendingWithdrawalsForVault = getAllPendingWithdrawalsForVault;
|
|
5
|
+
exports.processWithdrawalReceipt = processWithdrawalReceipt;
|
|
6
|
+
const generated_1 = require("../generated");
|
|
7
|
+
const batchFetchers_1 = require("./batchFetchers");
|
|
8
|
+
const decimal_1 = require("./decimal");
|
|
9
|
+
const lpEconomics_1 = require("./lpEconomics");
|
|
10
|
+
const math_1 = require("./math");
|
|
11
|
+
function processWithdrawalReceipt(receipt, vault, lpSupply) {
|
|
12
|
+
const amountAssetToWithdrawAtRequest = (0, decimal_1.convertDecimalBitsToNumber)(receipt.amountAssetToWithdrawDecimalBits);
|
|
13
|
+
const amountAssetToWithdrawAtPresent = Number((0, math_1.calculateAssetsForWithdrawAmount)({
|
|
14
|
+
vaultTotalValue: vault.asset.totalValue,
|
|
15
|
+
vaultLastUpdatedLockedProfit: vault.lockedProfitState.lastUpdatedLockedProfit,
|
|
16
|
+
vaultLastReport: vault.lockedProfitState.lastReport,
|
|
17
|
+
vaultLockedProfitDegradationDuration: vault.vaultConfiguration.lockedProfitDegradationDuration,
|
|
18
|
+
vaultAccumulatedLpAdminFees: vault.feeState.accumulatedLpAdminFees,
|
|
19
|
+
vaultAccumulatedLpManagerFees: vault.feeState.accumulatedLpManagerFees,
|
|
20
|
+
vaultAccumulatedLpProtocolFees: vault.feeState.accumulatedLpProtocolFees,
|
|
21
|
+
vaultDeadWeight: vault.deadWeight,
|
|
22
|
+
vaultRedemptionFeeBps: vault.feeConfiguration.redemptionFee,
|
|
23
|
+
vaultManagementFeeBps: (0, lpEconomics_1.getTotalManagementFeeBps)(vault.feeConfiguration),
|
|
24
|
+
vaultLastManagementFeeUpdateTs: vault.feeUpdate.lastManagementFeeUpdateTs,
|
|
25
|
+
lpSupply,
|
|
26
|
+
lpAmount: receipt.amountLpEscrowed,
|
|
27
|
+
}));
|
|
28
|
+
return {
|
|
29
|
+
user: receipt.user,
|
|
30
|
+
amountAssetToWithdrawEffective: Math.min(amountAssetToWithdrawAtPresent, amountAssetToWithdrawAtRequest),
|
|
31
|
+
amountAssetToWithdrawAtRequest,
|
|
32
|
+
amountAssetToWithdrawAtPresent,
|
|
33
|
+
amountLpEscrowed: receipt.amountLpEscrowed,
|
|
34
|
+
withdrawableFromTs: receipt.withdrawableFromTs,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
async function fetchVaultWithLpSupply(rpc, vault) {
|
|
38
|
+
const account = await (0, generated_1.fetchVault)(rpc, vault);
|
|
39
|
+
const [lpMint] = await (0, generated_1.findVaultLpMintPda)({ vault }, { programAddress: generated_1.VOLTR_VAULT_PROGRAM_ADDRESS });
|
|
40
|
+
const supplyResp = await rpc.getTokenSupply(lpMint).send();
|
|
41
|
+
return {
|
|
42
|
+
data: account.data,
|
|
43
|
+
lpSupply: BigInt(supplyResp.value.amount),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
async function getPendingWithdrawalForUser(rpc, vault, user) {
|
|
47
|
+
const { data, lpSupply } = await fetchVaultWithLpSupply(rpc, vault);
|
|
48
|
+
const [receiptAddress] = await (0, generated_1.findRequestWithdrawVaultReceiptPda)({ vault, userTransferAuthority: user }, { programAddress: generated_1.VOLTR_VAULT_PROGRAM_ADDRESS });
|
|
49
|
+
const receipt = await (0, generated_1.fetchRequestWithdrawVaultReceipt)(rpc, receiptAddress);
|
|
50
|
+
return processWithdrawalReceipt(receipt.data, data, lpSupply);
|
|
51
|
+
}
|
|
52
|
+
async function getAllPendingWithdrawalsForVault(rpc, vault) {
|
|
53
|
+
const [{ data, lpSupply }, receipts] = await Promise.all([
|
|
54
|
+
fetchVaultWithLpSupply(rpc, vault),
|
|
55
|
+
(0, batchFetchers_1.fetchAllRequestWithdrawVaultReceiptsOfVault)(rpc, vault),
|
|
56
|
+
]);
|
|
57
|
+
return receipts.map((account) => processWithdrawalReceipt(account.data, data, lpSupply));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=withdrawals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withdrawals.js","sourceRoot":"","sources":["../../src/extensions/withdrawals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from "@solana/kit";
|
|
9
|
+
export declare const ADAPTOR_ADD_RECEIPT_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
10
|
+
export declare function getAdaptorAddReceiptDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
|
|
11
|
+
export type AdaptorAddReceipt = {
|
|
12
|
+
discriminator: ReadonlyUint8Array;
|
|
13
|
+
/** The vault associated with this strategy. */
|
|
14
|
+
vault: Address;
|
|
15
|
+
/** The adapter program address. */
|
|
16
|
+
adaptorProgram: Address;
|
|
17
|
+
/** A version number (1 byte). */
|
|
18
|
+
version: number;
|
|
19
|
+
/** The bump for the adaptor add receipt. */
|
|
20
|
+
bump: number;
|
|
21
|
+
/** 7 bytes of padding to align future 8-byte fields on 8-byte boundaries. */
|
|
22
|
+
padding0: ReadonlyUint8Array;
|
|
23
|
+
/** The epoch at which the strategy was last updated. */
|
|
24
|
+
lastUpdatedEpoch: bigint;
|
|
25
|
+
/** Reserved space for future fields */
|
|
26
|
+
reserved: ReadonlyUint8Array;
|
|
27
|
+
};
|
|
28
|
+
export type AdaptorAddReceiptArgs = {
|
|
29
|
+
/** The vault associated with this strategy. */
|
|
30
|
+
vault: Address;
|
|
31
|
+
/** The adapter program address. */
|
|
32
|
+
adaptorProgram: Address;
|
|
33
|
+
/** A version number (1 byte). */
|
|
34
|
+
version: number;
|
|
35
|
+
/** The bump for the adaptor add receipt. */
|
|
36
|
+
bump: number;
|
|
37
|
+
/** 7 bytes of padding to align future 8-byte fields on 8-byte boundaries. */
|
|
38
|
+
padding0: ReadonlyUint8Array;
|
|
39
|
+
/** The epoch at which the strategy was last updated. */
|
|
40
|
+
lastUpdatedEpoch: number | bigint;
|
|
41
|
+
/** Reserved space for future fields */
|
|
42
|
+
reserved: ReadonlyUint8Array;
|
|
43
|
+
};
|
|
44
|
+
/** Gets the encoder for {@link AdaptorAddReceiptArgs} account data. */
|
|
45
|
+
export declare function getAdaptorAddReceiptEncoder(): FixedSizeEncoder<AdaptorAddReceiptArgs>;
|
|
46
|
+
/** Gets the decoder for {@link AdaptorAddReceipt} account data. */
|
|
47
|
+
export declare function getAdaptorAddReceiptDecoder(): FixedSizeDecoder<AdaptorAddReceipt>;
|
|
48
|
+
/** Gets the codec for {@link AdaptorAddReceipt} account data. */
|
|
49
|
+
export declare function getAdaptorAddReceiptCodec(): FixedSizeCodec<AdaptorAddReceiptArgs, AdaptorAddReceipt>;
|
|
50
|
+
export declare function decodeAdaptorAddReceipt<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<AdaptorAddReceipt, TAddress>;
|
|
51
|
+
export declare function decodeAdaptorAddReceipt<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<AdaptorAddReceipt, TAddress>;
|
|
52
|
+
export declare function fetchAdaptorAddReceipt<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<AdaptorAddReceipt, TAddress>>;
|
|
53
|
+
export declare function fetchMaybeAdaptorAddReceipt<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<AdaptorAddReceipt, TAddress>>;
|
|
54
|
+
export declare function fetchAllAdaptorAddReceipt(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<AdaptorAddReceipt>[]>;
|
|
55
|
+
export declare function fetchAllMaybeAdaptorAddReceipt(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<AdaptorAddReceipt>[]>;
|
|
56
|
+
export declare function getAdaptorAddReceiptSize(): number;
|
|
57
|
+
//# sourceMappingURL=adaptorAddReceipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptorAddReceipt.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/adaptorAddReceipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
4
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
5
|
+
* to add features, then rerun Codama to update it.
|
|
6
|
+
*
|
|
7
|
+
* @see https://github.com/codama-idl/codama
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ADAPTOR_ADD_RECEIPT_DISCRIMINATOR = void 0;
|
|
11
|
+
exports.getAdaptorAddReceiptDiscriminatorBytes = getAdaptorAddReceiptDiscriminatorBytes;
|
|
12
|
+
exports.getAdaptorAddReceiptEncoder = getAdaptorAddReceiptEncoder;
|
|
13
|
+
exports.getAdaptorAddReceiptDecoder = getAdaptorAddReceiptDecoder;
|
|
14
|
+
exports.getAdaptorAddReceiptCodec = getAdaptorAddReceiptCodec;
|
|
15
|
+
exports.decodeAdaptorAddReceipt = decodeAdaptorAddReceipt;
|
|
16
|
+
exports.fetchAdaptorAddReceipt = fetchAdaptorAddReceipt;
|
|
17
|
+
exports.fetchMaybeAdaptorAddReceipt = fetchMaybeAdaptorAddReceipt;
|
|
18
|
+
exports.fetchAllAdaptorAddReceipt = fetchAllAdaptorAddReceipt;
|
|
19
|
+
exports.fetchAllMaybeAdaptorAddReceipt = fetchAllMaybeAdaptorAddReceipt;
|
|
20
|
+
exports.getAdaptorAddReceiptSize = getAdaptorAddReceiptSize;
|
|
21
|
+
const kit_1 = require("@solana/kit");
|
|
22
|
+
exports.ADAPTOR_ADD_RECEIPT_DISCRIMINATOR = new Uint8Array([
|
|
23
|
+
105, 99, 219, 155, 77, 241, 7, 119,
|
|
24
|
+
]);
|
|
25
|
+
function getAdaptorAddReceiptDiscriminatorBytes() {
|
|
26
|
+
return (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8).encode(exports.ADAPTOR_ADD_RECEIPT_DISCRIMINATOR);
|
|
27
|
+
}
|
|
28
|
+
/** Gets the encoder for {@link AdaptorAddReceiptArgs} account data. */
|
|
29
|
+
function getAdaptorAddReceiptEncoder() {
|
|
30
|
+
return (0, kit_1.transformEncoder)((0, kit_1.getStructEncoder)([
|
|
31
|
+
["discriminator", (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8)],
|
|
32
|
+
["vault", (0, kit_1.getAddressEncoder)()],
|
|
33
|
+
["adaptorProgram", (0, kit_1.getAddressEncoder)()],
|
|
34
|
+
["version", (0, kit_1.getU8Encoder)()],
|
|
35
|
+
["bump", (0, kit_1.getU8Encoder)()],
|
|
36
|
+
["padding0", (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 7)],
|
|
37
|
+
["lastUpdatedEpoch", (0, kit_1.getU64Encoder)()],
|
|
38
|
+
["reserved", (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 56)],
|
|
39
|
+
]), (value) => ({ ...value, discriminator: exports.ADAPTOR_ADD_RECEIPT_DISCRIMINATOR }));
|
|
40
|
+
}
|
|
41
|
+
/** Gets the decoder for {@link AdaptorAddReceipt} account data. */
|
|
42
|
+
function getAdaptorAddReceiptDecoder() {
|
|
43
|
+
return (0, kit_1.getStructDecoder)([
|
|
44
|
+
["discriminator", (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 8)],
|
|
45
|
+
["vault", (0, kit_1.getAddressDecoder)()],
|
|
46
|
+
["adaptorProgram", (0, kit_1.getAddressDecoder)()],
|
|
47
|
+
["version", (0, kit_1.getU8Decoder)()],
|
|
48
|
+
["bump", (0, kit_1.getU8Decoder)()],
|
|
49
|
+
["padding0", (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 7)],
|
|
50
|
+
["lastUpdatedEpoch", (0, kit_1.getU64Decoder)()],
|
|
51
|
+
["reserved", (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 56)],
|
|
52
|
+
]);
|
|
53
|
+
}
|
|
54
|
+
/** Gets the codec for {@link AdaptorAddReceipt} account data. */
|
|
55
|
+
function getAdaptorAddReceiptCodec() {
|
|
56
|
+
return (0, kit_1.combineCodec)(getAdaptorAddReceiptEncoder(), getAdaptorAddReceiptDecoder());
|
|
57
|
+
}
|
|
58
|
+
function decodeAdaptorAddReceipt(encodedAccount) {
|
|
59
|
+
return (0, kit_1.decodeAccount)(encodedAccount, getAdaptorAddReceiptDecoder());
|
|
60
|
+
}
|
|
61
|
+
async function fetchAdaptorAddReceipt(rpc, address, config) {
|
|
62
|
+
const maybeAccount = await fetchMaybeAdaptorAddReceipt(rpc, address, config);
|
|
63
|
+
(0, kit_1.assertAccountExists)(maybeAccount);
|
|
64
|
+
return maybeAccount;
|
|
65
|
+
}
|
|
66
|
+
async function fetchMaybeAdaptorAddReceipt(rpc, address, config) {
|
|
67
|
+
const maybeAccount = await (0, kit_1.fetchEncodedAccount)(rpc, address, config);
|
|
68
|
+
return decodeAdaptorAddReceipt(maybeAccount);
|
|
69
|
+
}
|
|
70
|
+
async function fetchAllAdaptorAddReceipt(rpc, addresses, config) {
|
|
71
|
+
const maybeAccounts = await fetchAllMaybeAdaptorAddReceipt(rpc, addresses, config);
|
|
72
|
+
(0, kit_1.assertAccountsExist)(maybeAccounts);
|
|
73
|
+
return maybeAccounts;
|
|
74
|
+
}
|
|
75
|
+
async function fetchAllMaybeAdaptorAddReceipt(rpc, addresses, config) {
|
|
76
|
+
const maybeAccounts = await (0, kit_1.fetchEncodedAccounts)(rpc, addresses, config);
|
|
77
|
+
return maybeAccounts.map((maybeAccount) => decodeAdaptorAddReceipt(maybeAccount));
|
|
78
|
+
}
|
|
79
|
+
function getAdaptorAddReceiptSize() {
|
|
80
|
+
return 145;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=adaptorAddReceipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptorAddReceipt.js","sourceRoot":"","sources":["../../../src/generated/accounts/adaptorAddReceipt.ts"],"names":[],"mappings":"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"}
|