perena-vault-sdk 1.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/README.md +396 -0
- package/dist/client/account.d.ts +59 -0
- package/dist/client/account.d.ts.map +1 -0
- package/dist/client/account.js +94 -0
- package/dist/client/account.js.map +1 -0
- package/dist/client/builders/activateCircuitBreaker.d.ts +12 -0
- package/dist/client/builders/activateCircuitBreaker.d.ts.map +1 -0
- package/dist/client/builders/activateCircuitBreaker.js +27 -0
- package/dist/client/builders/activateCircuitBreaker.js.map +1 -0
- package/dist/client/builders/anchorArgs.d.ts +59 -0
- package/dist/client/builders/anchorArgs.d.ts.map +1 -0
- package/dist/client/builders/anchorArgs.js +43 -0
- package/dist/client/builders/anchorArgs.js.map +1 -0
- package/dist/client/builders/args.d.ts +754 -0
- package/dist/client/builders/args.d.ts.map +1 -0
- package/dist/client/builders/args.js +3 -0
- package/dist/client/builders/args.js.map +1 -0
- package/dist/client/builders/base.d.ts +10 -0
- package/dist/client/builders/base.d.ts.map +1 -0
- package/dist/client/builders/base.js +20 -0
- package/dist/client/builders/base.js.map +1 -0
- package/dist/client/builders/cancelJuniorTrancheWithdraw.d.ts +13 -0
- package/dist/client/builders/cancelJuniorTrancheWithdraw.d.ts.map +1 -0
- package/dist/client/builders/cancelJuniorTrancheWithdraw.js +57 -0
- package/dist/client/builders/cancelJuniorTrancheWithdraw.js.map +1 -0
- package/dist/client/builders/crankNav.d.ts +29 -0
- package/dist/client/builders/crankNav.d.ts.map +1 -0
- package/dist/client/builders/crankNav.js +88 -0
- package/dist/client/builders/crankNav.js.map +1 -0
- package/dist/client/builders/crankPerformanceFees.d.ts +19 -0
- package/dist/client/builders/crankPerformanceFees.d.ts.map +1 -0
- package/dist/client/builders/crankPerformanceFees.js +80 -0
- package/dist/client/builders/crankPerformanceFees.js.map +1 -0
- package/dist/client/builders/createAssetHolding.d.ts +13 -0
- package/dist/client/builders/createAssetHolding.d.ts.map +1 -0
- package/dist/client/builders/createAssetHolding.js +47 -0
- package/dist/client/builders/createAssetHolding.js.map +1 -0
- package/dist/client/builders/createTrancheState.d.ts +13 -0
- package/dist/client/builders/createTrancheState.d.ts.map +1 -0
- package/dist/client/builders/createTrancheState.js +57 -0
- package/dist/client/builders/createTrancheState.js.map +1 -0
- package/dist/client/builders/createVault.d.ts +9 -0
- package/dist/client/builders/createVault.d.ts.map +1 -0
- package/dist/client/builders/createVault.js +75 -0
- package/dist/client/builders/createVault.js.map +1 -0
- package/dist/client/builders/disableCircuitBreaker.d.ts +12 -0
- package/dist/client/builders/disableCircuitBreaker.d.ts.map +1 -0
- package/dist/client/builders/disableCircuitBreaker.js +27 -0
- package/dist/client/builders/disableCircuitBreaker.js.map +1 -0
- package/dist/client/builders/executeDeposit.d.ts +15 -0
- package/dist/client/builders/executeDeposit.d.ts.map +1 -0
- package/dist/client/builders/executeDeposit.js +86 -0
- package/dist/client/builders/executeDeposit.js.map +1 -0
- package/dist/client/builders/executeTrancheDeposit.d.ts +16 -0
- package/dist/client/builders/executeTrancheDeposit.d.ts.map +1 -0
- package/dist/client/builders/executeTrancheDeposit.js +84 -0
- package/dist/client/builders/executeTrancheDeposit.js.map +1 -0
- package/dist/client/builders/executeTrancheWithdraw.d.ts +16 -0
- package/dist/client/builders/executeTrancheWithdraw.d.ts.map +1 -0
- package/dist/client/builders/executeTrancheWithdraw.js +83 -0
- package/dist/client/builders/executeTrancheWithdraw.js.map +1 -0
- package/dist/client/builders/executeWithdraw.d.ts +14 -0
- package/dist/client/builders/executeWithdraw.d.ts.map +1 -0
- package/dist/client/builders/executeWithdraw.js +86 -0
- package/dist/client/builders/executeWithdraw.js.map +1 -0
- package/dist/client/builders/feeCollector.d.ts +17 -0
- package/dist/client/builders/feeCollector.d.ts.map +1 -0
- package/dist/client/builders/feeCollector.js +66 -0
- package/dist/client/builders/feeCollector.js.map +1 -0
- package/dist/client/builders/fulfillJuniorTrancheWithdraw.d.ts +14 -0
- package/dist/client/builders/fulfillJuniorTrancheWithdraw.d.ts.map +1 -0
- package/dist/client/builders/fulfillJuniorTrancheWithdraw.js +82 -0
- package/dist/client/builders/fulfillJuniorTrancheWithdraw.js.map +1 -0
- package/dist/client/builders/index.d.ts +31 -0
- package/dist/client/builders/index.d.ts.map +1 -0
- package/dist/client/builders/index.js +47 -0
- package/dist/client/builders/index.js.map +1 -0
- package/dist/client/builders/initializeVaultRoles.d.ts +12 -0
- package/dist/client/builders/initializeVaultRoles.d.ts.map +1 -0
- package/dist/client/builders/initializeVaultRoles.js +37 -0
- package/dist/client/builders/initializeVaultRoles.js.map +1 -0
- package/dist/client/builders/managerRedepositAsset.d.ts +12 -0
- package/dist/client/builders/managerRedepositAsset.d.ts.map +1 -0
- package/dist/client/builders/managerRedepositAsset.js +52 -0
- package/dist/client/builders/managerRedepositAsset.js.map +1 -0
- package/dist/client/builders/managerWithdrawAsset.d.ts +12 -0
- package/dist/client/builders/managerWithdrawAsset.d.ts.map +1 -0
- package/dist/client/builders/managerWithdrawAsset.js +47 -0
- package/dist/client/builders/managerWithdrawAsset.js.map +1 -0
- package/dist/client/builders/protocolInteraction.d.ts +22 -0
- package/dist/client/builders/protocolInteraction.d.ts.map +1 -0
- package/dist/client/builders/protocolInteraction.js +157 -0
- package/dist/client/builders/protocolInteraction.js.map +1 -0
- package/dist/client/builders/removeAssetHolding.d.ts +13 -0
- package/dist/client/builders/removeAssetHolding.d.ts.map +1 -0
- package/dist/client/builders/removeAssetHolding.js +37 -0
- package/dist/client/builders/removeAssetHolding.js.map +1 -0
- package/dist/client/builders/requestJuniorTrancheWithdraw.d.ts +14 -0
- package/dist/client/builders/requestJuniorTrancheWithdraw.d.ts.map +1 -0
- package/dist/client/builders/requestJuniorTrancheWithdraw.js +72 -0
- package/dist/client/builders/requestJuniorTrancheWithdraw.js.map +1 -0
- package/dist/client/builders/setAssetPriceOracle.d.ts +12 -0
- package/dist/client/builders/setAssetPriceOracle.d.ts.map +1 -0
- package/dist/client/builders/setAssetPriceOracle.js +40 -0
- package/dist/client/builders/setAssetPriceOracle.js.map +1 -0
- package/dist/client/builders/setExternalLiquidity.d.ts +12 -0
- package/dist/client/builders/setExternalLiquidity.d.ts.map +1 -0
- package/dist/client/builders/setExternalLiquidity.js +49 -0
- package/dist/client/builders/setExternalLiquidity.js.map +1 -0
- package/dist/client/builders/setProtocolFee.d.ts +12 -0
- package/dist/client/builders/setProtocolFee.d.ts.map +1 -0
- package/dist/client/builders/setProtocolFee.js +37 -0
- package/dist/client/builders/setProtocolFee.js.map +1 -0
- package/dist/client/builders/setVaultConfig.d.ts +12 -0
- package/dist/client/builders/setVaultConfig.d.ts.map +1 -0
- package/dist/client/builders/setVaultConfig.js +54 -0
- package/dist/client/builders/setVaultConfig.js.map +1 -0
- package/dist/client/builders/trancheState.d.ts +28 -0
- package/dist/client/builders/trancheState.d.ts.map +1 -0
- package/dist/client/builders/trancheState.js +75 -0
- package/dist/client/builders/trancheState.js.map +1 -0
- package/dist/client/builders/updateAssetPrice.d.ts +18 -0
- package/dist/client/builders/updateAssetPrice.d.ts.map +1 -0
- package/dist/client/builders/updateAssetPrice.js +50 -0
- package/dist/client/builders/updateAssetPrice.js.map +1 -0
- package/dist/client/builders/updateConsensusOracle.d.ts +20 -0
- package/dist/client/builders/updateConsensusOracle.d.ts.map +1 -0
- package/dist/client/builders/updateConsensusOracle.js +64 -0
- package/dist/client/builders/updateConsensusOracle.js.map +1 -0
- package/dist/client/builders/updateConsensusSigners.d.ts +13 -0
- package/dist/client/builders/updateConsensusSigners.d.ts.map +1 -0
- package/dist/client/builders/updateConsensusSigners.js +38 -0
- package/dist/client/builders/updateConsensusSigners.js.map +1 -0
- package/dist/client/builders/updateTrancheConfig.d.ts +13 -0
- package/dist/client/builders/updateTrancheConfig.d.ts.map +1 -0
- package/dist/client/builders/updateTrancheConfig.js +50 -0
- package/dist/client/builders/updateTrancheConfig.js.map +1 -0
- package/dist/client/builders/vaultReallocation.d.ts +15 -0
- package/dist/client/builders/vaultReallocation.d.ts.map +1 -0
- package/dist/client/builders/vaultReallocation.js +148 -0
- package/dist/client/builders/vaultReallocation.js.map +1 -0
- package/dist/client/client.d.ts +34 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +75 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/index.d.ts +8 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +24 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/pda.d.ts +42 -0
- package/dist/client/pda.d.ts.map +1 -0
- package/dist/client/pda.js +88 -0
- package/dist/client/pda.js.map +1 -0
- package/dist/client/transaction.d.ts +36 -0
- package/dist/client/transaction.d.ts.map +1 -0
- package/dist/client/transaction.js +39 -0
- package/dist/client/transaction.js.map +1 -0
- package/dist/client/types/builders.d.ts +12 -0
- package/dist/client/types/builders.d.ts.map +1 -0
- package/dist/client/types/builders.js +3 -0
- package/dist/client/types/builders.js.map +1 -0
- package/dist/client/types/tx.d.ts +13 -0
- package/dist/client/types/tx.d.ts.map +1 -0
- package/dist/client/types/tx.js +3 -0
- package/dist/client/types/tx.js.map +1 -0
- package/dist/constants.d.ts +45 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +49 -0
- package/dist/constants.js.map +1 -0
- package/dist/env.d.ts +70 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +117 -0
- package/dist/env.js.map +1 -0
- package/dist/idl/index.d.ts +3 -0
- package/dist/idl/index.d.ts.map +1 -0
- package/dist/idl/index.js +6 -0
- package/dist/idl/index.js.map +1 -0
- package/dist/idl/vault.d.ts +9617 -0
- package/dist/idl/vault.d.ts.map +1 -0
- package/dist/idl/vault.js +7917 -0
- package/dist/idl/vault.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/services/consensusOracle/consensusOracleService.d.ts +38 -0
- package/dist/services/consensusOracle/consensusOracleService.d.ts.map +1 -0
- package/dist/services/consensusOracle/consensusOracleService.js +270 -0
- package/dist/services/consensusOracle/consensusOracleService.js.map +1 -0
- package/dist/services/consensusOracle/externalPositions.d.ts +26 -0
- package/dist/services/consensusOracle/externalPositions.d.ts.map +1 -0
- package/dist/services/consensusOracle/externalPositions.js +37 -0
- package/dist/services/consensusOracle/externalPositions.js.map +1 -0
- package/dist/services/consensusOracle/index.d.ts +7 -0
- package/dist/services/consensusOracle/index.d.ts.map +1 -0
- package/dist/services/consensusOracle/index.js +23 -0
- package/dist/services/consensusOracle/index.js.map +1 -0
- package/dist/services/consensusOracle/jupiterBalanceSource.d.ts +34 -0
- package/dist/services/consensusOracle/jupiterBalanceSource.d.ts.map +1 -0
- package/dist/services/consensusOracle/jupiterBalanceSource.js +80 -0
- package/dist/services/consensusOracle/jupiterBalanceSource.js.map +1 -0
- package/dist/services/consensusOracle/jupiterPriceSource.d.ts +25 -0
- package/dist/services/consensusOracle/jupiterPriceSource.d.ts.map +1 -0
- package/dist/services/consensusOracle/jupiterPriceSource.js +63 -0
- package/dist/services/consensusOracle/jupiterPriceSource.js.map +1 -0
- package/dist/services/consensusOracle/mockYieldTracker.d.ts +44 -0
- package/dist/services/consensusOracle/mockYieldTracker.d.ts.map +1 -0
- package/dist/services/consensusOracle/mockYieldTracker.js +107 -0
- package/dist/services/consensusOracle/mockYieldTracker.js.map +1 -0
- package/dist/services/consensusOracle/types.d.ts +180 -0
- package/dist/services/consensusOracle/types.d.ts.map +1 -0
- package/dist/services/consensusOracle/types.js +5 -0
- package/dist/services/consensusOracle/types.js.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +20 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/oracleService.d.ts +72 -0
- package/dist/services/oracleService.d.ts.map +1 -0
- package/dist/services/oracleService.js +93 -0
- package/dist/services/oracleService.js.map +1 -0
- package/dist/services/withdrawalQueueService.d.ts +76 -0
- package/dist/services/withdrawalQueueService.d.ts.map +1 -0
- package/dist/services/withdrawalQueueService.js +138 -0
- package/dist/services/withdrawalQueueService.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +20 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/provider.d.ts +4 -0
- package/dist/utils/provider.d.ts.map +1 -0
- package/dist/utils/provider.js +10 -0
- package/dist/utils/provider.js.map +1 -0
- package/dist/utils/rpc.d.ts +4 -0
- package/dist/utils/rpc.d.ts.map +1 -0
- package/dist/utils/rpc.js +8 -0
- package/dist/utils/rpc.js.map +1 -0
- package/dist/utils/token.d.ts +6 -0
- package/dist/utils/token.d.ts.map +1 -0
- package/dist/utils/token.js +32 -0
- package/dist/utils/token.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JupiterSwapBuilder = exports.ProtocolInteractionBuilder = void 0;
|
|
4
|
+
const core_1 = require("@anchor-lang/core");
|
|
5
|
+
const kit_1 = require("@solana/kit");
|
|
6
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
7
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
8
|
+
const common_1 = require("common");
|
|
9
|
+
const constants_1 = require("../../constants");
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
const DEFAULT_PYTH_PRICE_MAX_AGE_SECS = 90n;
|
|
12
|
+
function toAssetPriceOracleConfig(args) {
|
|
13
|
+
return {
|
|
14
|
+
priceOracleType: args?.priceOracleType ?? { none: {} },
|
|
15
|
+
initialPrice: new core_1.BN((args?.initialPrice ?? 0n).toString()),
|
|
16
|
+
priceOracleAccount: args?.priceOracleAccount ?? constants_1.DEFAULT_PRICE_ORACLE_ACCOUNT,
|
|
17
|
+
pythMaxAgeSecs: new core_1.BN((args?.pythMaxAgeSecs ?? DEFAULT_PYTH_PRICE_MAX_AGE_SECS).toString()),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/** Convert an asset-price-oracle config to the anchor arg shape (pubkey field
|
|
21
|
+
* as a web3 `PublicKey`). */
|
|
22
|
+
function toAnchorAssetPriceOracleConfig(config) {
|
|
23
|
+
return {
|
|
24
|
+
...config,
|
|
25
|
+
priceOracleAccount: (0, common_1.toWeb3Pk)(config.priceOracleAccount),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function toWeb3AccountMeta(account) {
|
|
29
|
+
return {
|
|
30
|
+
pubkey: new web3_js_1.PublicKey(account.address),
|
|
31
|
+
isWritable: account.role === kit_1.AccountRole.WRITABLE ||
|
|
32
|
+
account.role === kit_1.AccountRole.WRITABLE_SIGNER,
|
|
33
|
+
isSigner: account.role === kit_1.AccountRole.READONLY_SIGNER ||
|
|
34
|
+
account.role === kit_1.AccountRole.WRITABLE_SIGNER,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
class ProtocolInteractionBuilder extends base_1.VaultBuilderBase {
|
|
38
|
+
async getIx(args) {
|
|
39
|
+
return this.program.methods
|
|
40
|
+
.protocolInteraction(args.refs, {
|
|
41
|
+
externalLiquidityIndex: args.externalLiquidityIndex,
|
|
42
|
+
affectedAssetMint: args.affectedAssetMint
|
|
43
|
+
? (0, common_1.toWeb3Pk)(args.affectedAssetMint)
|
|
44
|
+
: null,
|
|
45
|
+
})
|
|
46
|
+
.accountsPartial({
|
|
47
|
+
hwManager: (0, common_1.toWeb3Pk)(args.hwManager),
|
|
48
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
49
|
+
affectedAssetMint: args.affectedAssetMint
|
|
50
|
+
? (0, common_1.toWeb3Pk)(args.affectedAssetMint)
|
|
51
|
+
: null,
|
|
52
|
+
affectedVaultAta: args.affectedVaultAta
|
|
53
|
+
? (0, common_1.toWeb3Pk)(args.affectedVaultAta)
|
|
54
|
+
: null,
|
|
55
|
+
affectedTokenProgram: args.affectedTokenProgram
|
|
56
|
+
? (0, common_1.toWeb3Pk)(args.affectedTokenProgram)
|
|
57
|
+
: null,
|
|
58
|
+
})
|
|
59
|
+
.remainingAccounts(args.accounts.map(toWeb3AccountMeta))
|
|
60
|
+
.instruction()
|
|
61
|
+
.then(common_1.toKitInstruction);
|
|
62
|
+
}
|
|
63
|
+
async deriveIxArgs(txArgs) {
|
|
64
|
+
const affectedTokenProgram = txArgs.affectedAssetMint
|
|
65
|
+
? txArgs.affectedTokenProgram ?? constants_1.TOKEN_PROGRAM_ID
|
|
66
|
+
: null;
|
|
67
|
+
return {
|
|
68
|
+
hwManager: txArgs.hwManager,
|
|
69
|
+
vault: txArgs.vault,
|
|
70
|
+
refs: txArgs.refs,
|
|
71
|
+
externalLiquidityIndex: txArgs.externalLiquidityIndex,
|
|
72
|
+
accounts: txArgs.accounts,
|
|
73
|
+
affectedAssetMint: txArgs.affectedAssetMint ?? null,
|
|
74
|
+
affectedTokenProgram,
|
|
75
|
+
affectedVaultAta: txArgs.affectedAssetMint && affectedTokenProgram
|
|
76
|
+
? (0, common_1.getAtaAddress)(txArgs.affectedAssetMint, txArgs.vault, affectedTokenProgram, true)
|
|
77
|
+
: null,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
async buildLookupTables(_args, txArgs) {
|
|
81
|
+
return txArgs.lookupTables;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.ProtocolInteractionBuilder = ProtocolInteractionBuilder;
|
|
85
|
+
class JupiterSwapBuilder extends base_1.VaultBuilderBase {
|
|
86
|
+
async getIx(args) {
|
|
87
|
+
return this.program.methods
|
|
88
|
+
.jupiterSwap(args.refs, {
|
|
89
|
+
destinationPriceOracle: toAnchorAssetPriceOracleConfig(args.destinationPriceOracle),
|
|
90
|
+
})
|
|
91
|
+
.accountsPartial({
|
|
92
|
+
hwManager: (0, common_1.toWeb3Pk)(args.hwManager),
|
|
93
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
94
|
+
sourceMint: (0, common_1.toWeb3Pk)(args.sourceMint),
|
|
95
|
+
destinationMint: (0, common_1.toWeb3Pk)(args.destinationMint),
|
|
96
|
+
vaultSourceAta: (0, common_1.toWeb3Pk)(args.vaultSourceAta),
|
|
97
|
+
vaultDestinationAta: (0, common_1.toWeb3Pk)(args.vaultDestinationAta),
|
|
98
|
+
sourceTokenProgram: (0, common_1.toWeb3Pk)(args.sourceTokenProgram),
|
|
99
|
+
destinationTokenProgram: (0, common_1.toWeb3Pk)(args.destinationTokenProgram),
|
|
100
|
+
destinationOracleAccount: args.destinationOracleAccount
|
|
101
|
+
? (0, common_1.toWeb3Pk)(args.destinationOracleAccount)
|
|
102
|
+
: null,
|
|
103
|
+
vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
|
|
104
|
+
})
|
|
105
|
+
.remainingAccounts(args.accounts.map(toWeb3AccountMeta))
|
|
106
|
+
.instruction()
|
|
107
|
+
.then(common_1.toKitInstruction);
|
|
108
|
+
}
|
|
109
|
+
async deriveIxArgs(txArgs) {
|
|
110
|
+
const sourceTokenProgram = txArgs.sourceTokenProgram ?? constants_1.TOKEN_PROGRAM_ID;
|
|
111
|
+
const destinationTokenProgram = txArgs.destinationTokenProgram ?? constants_1.TOKEN_PROGRAM_ID;
|
|
112
|
+
const [vaultOracle] = await this.pda.deriveVaultOraclePda(txArgs.vault);
|
|
113
|
+
return {
|
|
114
|
+
hwManager: txArgs.hwManager,
|
|
115
|
+
vault: txArgs.vault,
|
|
116
|
+
sourceMint: txArgs.sourceMint,
|
|
117
|
+
destinationMint: txArgs.destinationMint,
|
|
118
|
+
refs: txArgs.refs,
|
|
119
|
+
destinationPriceOracle: toAssetPriceOracleConfig(txArgs.destinationPriceOracle),
|
|
120
|
+
destinationOracleAccount: txArgs.destinationOracleAccount ?? null,
|
|
121
|
+
vaultOracle: txArgs.vaultOracle ?? vaultOracle,
|
|
122
|
+
accounts: txArgs.accounts,
|
|
123
|
+
sourceTokenProgram,
|
|
124
|
+
destinationTokenProgram,
|
|
125
|
+
vaultSourceAta: (0, common_1.getAtaAddress)(txArgs.sourceMint, txArgs.vault, sourceTokenProgram, true),
|
|
126
|
+
vaultDestinationAta: (0, common_1.getAtaAddress)(txArgs.destinationMint, txArgs.vault, destinationTokenProgram, true),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
async buildPreambleInstructions(args) {
|
|
130
|
+
const payer = (0, common_1.toWeb3Pk)(args.hwManager);
|
|
131
|
+
const createSourceAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.vaultSourceAta), (0, common_1.toWeb3Pk)(args.vault), (0, common_1.toWeb3Pk)(args.sourceMint), (0, common_1.toWeb3Pk)(args.sourceTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
132
|
+
const createDestinationAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.vaultDestinationAta), (0, common_1.toWeb3Pk)(args.vault), (0, common_1.toWeb3Pk)(args.destinationMint), (0, common_1.toWeb3Pk)(args.destinationTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
133
|
+
return [createSourceAta, createDestinationAta].map(common_1.toKitInstruction);
|
|
134
|
+
}
|
|
135
|
+
async buildLookupTables(_args, txArgs) {
|
|
136
|
+
return txArgs.lookupTables;
|
|
137
|
+
}
|
|
138
|
+
async buildPlanExtras(args) {
|
|
139
|
+
return {
|
|
140
|
+
postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
async getTx(txArgs) {
|
|
144
|
+
const args = await this.deriveIxArgs(txArgs);
|
|
145
|
+
const preambleInstructions = await this.buildPreambleInstructions(args);
|
|
146
|
+
const instruction = await this.getIx(args);
|
|
147
|
+
const lookupTables = await this.buildLookupTables(args, txArgs);
|
|
148
|
+
const extras = await this.buildPlanExtras(args);
|
|
149
|
+
return {
|
|
150
|
+
instructions: [...preambleInstructions, instruction],
|
|
151
|
+
...(lookupTables ? { lookupTables: [...lookupTables] } : {}),
|
|
152
|
+
...(extras ?? {}),
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.JupiterSwapBuilder = JupiterSwapBuilder;
|
|
157
|
+
//# sourceMappingURL=protocolInteraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolInteraction.js","sourceRoot":"","sources":["../../../src/client/builders/protocolInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { VaultBuilderBase } from "./base";
|
|
2
|
+
import type { RemoveAssetHoldingIxArgs, RemoveAssetHoldingTxArgs } from "./args";
|
|
3
|
+
export declare class RemoveAssetHoldingBuilder extends VaultBuilderBase<RemoveAssetHoldingIxArgs, RemoveAssetHoldingTxArgs> {
|
|
4
|
+
getIx(args: RemoveAssetHoldingIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
5
|
+
protected deriveIxArgs(txArgs: RemoveAssetHoldingTxArgs): Promise<RemoveAssetHoldingIxArgs>;
|
|
6
|
+
protected buildPlanExtras(args: RemoveAssetHoldingIxArgs): Promise<{
|
|
7
|
+
postSuccessCacheInvalidations: {
|
|
8
|
+
vaultPda: import("@solana/kit").Address;
|
|
9
|
+
vaultOraclePda: import("@solana/kit").Address;
|
|
10
|
+
}[];
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=removeAssetHolding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeAssetHolding.d.ts","sourceRoot":"","sources":["../../../src/client/builders/removeAssetHolding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,QAAQ,CAAC;AAEhB,qBAAa,yBAA0B,SAAQ,gBAAgB,CAC7D,wBAAwB,EACxB,wBAAwB,CACzB;IACO,KAAK,CAAC,IAAI,EAAE,wBAAwB;cAa1B,YAAY,CAC1B,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC;cAUpB,eAAe,CAAC,IAAI,EAAE,wBAAwB;;;;;;CAO/D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoveAssetHoldingBuilder = void 0;
|
|
4
|
+
const common_1 = require("common");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
class RemoveAssetHoldingBuilder extends base_1.VaultBuilderBase {
|
|
7
|
+
async getIx(args) {
|
|
8
|
+
return this.program.methods
|
|
9
|
+
.removeAssetHolding()
|
|
10
|
+
.accountsPartial({
|
|
11
|
+
hwManager: (0, common_1.toWeb3Pk)(args.hwManager),
|
|
12
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
13
|
+
vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
|
|
14
|
+
mint: (0, common_1.toWeb3Pk)(args.mint),
|
|
15
|
+
})
|
|
16
|
+
.instruction()
|
|
17
|
+
.then(common_1.toKitInstruction);
|
|
18
|
+
}
|
|
19
|
+
async deriveIxArgs(txArgs) {
|
|
20
|
+
const [vaultOracle] = await this.pda.deriveVaultOraclePda(txArgs.vault);
|
|
21
|
+
return {
|
|
22
|
+
hwManager: txArgs.hwManager,
|
|
23
|
+
vault: txArgs.vault,
|
|
24
|
+
vaultOracle: txArgs.vaultOracle ?? vaultOracle,
|
|
25
|
+
mint: txArgs.mint,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
async buildPlanExtras(args) {
|
|
29
|
+
return {
|
|
30
|
+
postSuccessCacheInvalidations: [
|
|
31
|
+
{ vaultPda: args.vault, vaultOraclePda: args.vaultOracle },
|
|
32
|
+
],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.RemoveAssetHoldingBuilder = RemoveAssetHoldingBuilder;
|
|
37
|
+
//# sourceMappingURL=removeAssetHolding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeAssetHolding.js","sourceRoot":"","sources":["../../../src/client/builders/removeAssetHolding.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,iCAA0C;AAM1C,MAAa,yBAA0B,SAAQ,uBAG9C;IACC,KAAK,CAAC,KAAK,CAAC,IAA8B;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,kBAAkB,EAAE;aACpB,eAAe,CAAC;YACf,SAAS,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,SAAS,CAAC;YACnC,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,WAAW,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC;YACvC,IAAI,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC;SAC1B,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAgC;QAEhC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,WAAW;YAC9C,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAA8B;QAC5D,OAAO;YACL,6BAA6B,EAAE;gBAC7B,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE;aAC3D;SACF,CAAC;IACJ,CAAC;CACF;AApCD,8DAoCC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { VaultBuilderBase } from "./base";
|
|
2
|
+
import type { RequestJuniorTrancheWithdrawIxArgs, RequestJuniorTrancheWithdrawTxArgs } from "./args";
|
|
3
|
+
export declare class RequestJuniorTrancheWithdrawBuilder extends VaultBuilderBase<RequestJuniorTrancheWithdrawIxArgs, RequestJuniorTrancheWithdrawTxArgs> {
|
|
4
|
+
getIx(args: RequestJuniorTrancheWithdrawIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
5
|
+
protected deriveIxArgs(txArgs: RequestJuniorTrancheWithdrawTxArgs): Promise<RequestJuniorTrancheWithdrawIxArgs>;
|
|
6
|
+
protected buildPlanExtras(args: RequestJuniorTrancheWithdrawIxArgs): Promise<{
|
|
7
|
+
postSuccessCacheInvalidations: {
|
|
8
|
+
vaultPda: import("@solana/kit").Address;
|
|
9
|
+
vaultTrancheStatePda: import("@solana/kit").Address;
|
|
10
|
+
withdrawalQueuePda: import("@solana/kit").Address;
|
|
11
|
+
}[];
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=requestJuniorTrancheWithdraw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestJuniorTrancheWithdraw.d.ts","sourceRoot":"","sources":["../../../src/client/builders/requestJuniorTrancheWithdraw.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,kCAAkC,EAClC,kCAAkC,EACnC,MAAM,QAAQ,CAAC;AAMhB,qBAAa,mCAAoC,SAAQ,gBAAgB,CACvE,kCAAkC,EAClC,kCAAkC,CACnC;IACO,KAAK,CAAC,IAAI,EAAE,kCAAkC;cAsBpC,YAAY,CAC1B,MAAM,EAAE,kCAAkC,GACzC,OAAO,CAAC,kCAAkC,CAAC;cAuD9B,eAAe,CAAC,IAAI,EAAE,kCAAkC;;;;;;;CAWzE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestJuniorTrancheWithdrawBuilder = void 0;
|
|
4
|
+
const core_1 = require("@anchor-lang/core");
|
|
5
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
6
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
+
const common_1 = require("common");
|
|
8
|
+
const base_1 = require("./base");
|
|
9
|
+
const trancheState_1 = require("./trancheState");
|
|
10
|
+
class RequestJuniorTrancheWithdrawBuilder extends base_1.VaultBuilderBase {
|
|
11
|
+
async getIx(args) {
|
|
12
|
+
return this.program.methods
|
|
13
|
+
.requestJuniorTrancheWithdraw(args.queueId, args.shareAmount)
|
|
14
|
+
.accountsPartial({
|
|
15
|
+
user: (0, common_1.toWeb3Pk)(args.user),
|
|
16
|
+
payer: (0, common_1.toWeb3Pk)(args.payer),
|
|
17
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
18
|
+
vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
|
|
19
|
+
vaultTrancheState: (0, common_1.toWeb3Pk)(args.vaultTrancheState),
|
|
20
|
+
withdrawalQueue: (0, common_1.toWeb3Pk)(args.withdrawalQueue),
|
|
21
|
+
outputMint: (0, common_1.toWeb3Pk)(args.outputMint),
|
|
22
|
+
inputMint: (0, common_1.toWeb3Pk)(args.inputMint),
|
|
23
|
+
userInputAta: (0, common_1.toWeb3Pk)(args.userInputAta),
|
|
24
|
+
queueInputAta: (0, common_1.toWeb3Pk)(args.queueInputAta),
|
|
25
|
+
shareTokenProgram: (0, common_1.toWeb3Pk)(args.shareTokenProgram),
|
|
26
|
+
associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
27
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
28
|
+
})
|
|
29
|
+
.instruction()
|
|
30
|
+
.then(common_1.toKitInstruction);
|
|
31
|
+
}
|
|
32
|
+
async deriveIxArgs(txArgs) {
|
|
33
|
+
const connection = this.program.provider.connection;
|
|
34
|
+
const payer = txArgs.payer ?? txArgs.user;
|
|
35
|
+
const [[vaultOracle], [vaultTrancheState], [withdrawalQueue], juniorShareMint,] = await Promise.all([
|
|
36
|
+
this.pda.deriveVaultOraclePda(txArgs.vault),
|
|
37
|
+
this.pda.deriveVaultTrancheStatePda(txArgs.vault),
|
|
38
|
+
this.pda.deriveVaultTrancheWithdrawalQueuePda(txArgs.vault, txArgs.user, txArgs.queueId),
|
|
39
|
+
(0, trancheState_1.resolveTrancheShareMint)(this.account, txArgs.vault, { junior: {} }, txArgs.juniorShareMint),
|
|
40
|
+
]);
|
|
41
|
+
const shareTokenProgram = await (0, trancheState_1.resolveTokenProgramForMint)(connection, juniorShareMint, txArgs.shareTokenProgram);
|
|
42
|
+
const queuePda = txArgs.withdrawalQueue ?? withdrawalQueue;
|
|
43
|
+
return {
|
|
44
|
+
user: txArgs.user,
|
|
45
|
+
payer,
|
|
46
|
+
vault: txArgs.vault,
|
|
47
|
+
vaultOracle: txArgs.vaultOracle ?? vaultOracle,
|
|
48
|
+
vaultTrancheState: txArgs.vaultTrancheState ?? vaultTrancheState,
|
|
49
|
+
withdrawalQueue: queuePda,
|
|
50
|
+
outputMint: txArgs.assetMint,
|
|
51
|
+
inputMint: juniorShareMint,
|
|
52
|
+
queueId: txArgs.queueId,
|
|
53
|
+
shareAmount: new core_1.BN(txArgs.shareAmount.toString()),
|
|
54
|
+
shareTokenProgram,
|
|
55
|
+
userInputAta: (0, common_1.getAtaAddress)(juniorShareMint, txArgs.user, shareTokenProgram),
|
|
56
|
+
queueInputAta: (0, common_1.getAtaAddress)(juniorShareMint, queuePda, shareTokenProgram, true),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async buildPlanExtras(args) {
|
|
60
|
+
return {
|
|
61
|
+
postSuccessCacheInvalidations: [
|
|
62
|
+
{
|
|
63
|
+
vaultPda: args.vault,
|
|
64
|
+
vaultTrancheStatePda: args.vaultTrancheState,
|
|
65
|
+
withdrawalQueuePda: args.withdrawalQueue,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.RequestJuniorTrancheWithdrawBuilder = RequestJuniorTrancheWithdrawBuilder;
|
|
72
|
+
//# sourceMappingURL=requestJuniorTrancheWithdraw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestJuniorTrancheWithdraw.js","sourceRoot":"","sources":["../../../src/client/builders/requestJuniorTrancheWithdraw.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VaultBuilderBase } from "./base";
|
|
2
|
+
import type { SetAssetPriceOracleIxArgs, SetAssetPriceOracleTxArgs } from "./args";
|
|
3
|
+
export declare class SetAssetPriceOracleBuilder extends VaultBuilderBase<SetAssetPriceOracleIxArgs, SetAssetPriceOracleTxArgs> {
|
|
4
|
+
getIx(args: SetAssetPriceOracleIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
5
|
+
protected deriveIxArgs(txArgs: SetAssetPriceOracleTxArgs): Promise<SetAssetPriceOracleIxArgs>;
|
|
6
|
+
protected buildPlanExtras(args: SetAssetPriceOracleIxArgs): Promise<{
|
|
7
|
+
postSuccessCacheInvalidations: {
|
|
8
|
+
vaultPda: import("@solana/kit").Address;
|
|
9
|
+
}[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=setAssetPriceOracle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setAssetPriceOracle.d.ts","sourceRoot":"","sources":["../../../src/client/builders/setAssetPriceOracle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,QAAQ,CAAC;AAEhB,qBAAa,0BAA2B,SAAQ,gBAAgB,CAC9D,yBAAyB,EACzB,yBAAyB,CAC1B;IACO,KAAK,CAAC,IAAI,EAAE,yBAAyB;cAe3B,YAAY,CAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC;cAarB,eAAe,CAAC,IAAI,EAAE,yBAAyB;;;;;CAKhE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SetAssetPriceOracleBuilder = void 0;
|
|
4
|
+
const common_1 = require("common");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
const base_1 = require("./base");
|
|
7
|
+
class SetAssetPriceOracleBuilder extends base_1.VaultBuilderBase {
|
|
8
|
+
async getIx(args) {
|
|
9
|
+
return this.program.methods
|
|
10
|
+
.setAssetPriceOracle({
|
|
11
|
+
mint: (0, common_1.toWeb3Pk)(args.args.mint),
|
|
12
|
+
priceOracleType: args.args.priceOracleType,
|
|
13
|
+
priceOracleAccount: (0, common_1.toWeb3Pk)(args.args.priceOracleAccount),
|
|
14
|
+
})
|
|
15
|
+
.accountsPartial({
|
|
16
|
+
curator: (0, common_1.toWeb3Pk)(args.curator),
|
|
17
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
18
|
+
})
|
|
19
|
+
.instruction()
|
|
20
|
+
.then(common_1.toKitInstruction);
|
|
21
|
+
}
|
|
22
|
+
async deriveIxArgs(txArgs) {
|
|
23
|
+
return {
|
|
24
|
+
curator: txArgs.curator,
|
|
25
|
+
vault: txArgs.vault,
|
|
26
|
+
args: {
|
|
27
|
+
mint: txArgs.mint,
|
|
28
|
+
priceOracleType: txArgs.priceOracleType,
|
|
29
|
+
priceOracleAccount: txArgs.priceOracleAccount ?? constants_1.DEFAULT_PRICE_ORACLE_ACCOUNT,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async buildPlanExtras(args) {
|
|
34
|
+
return {
|
|
35
|
+
postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.SetAssetPriceOracleBuilder = SetAssetPriceOracleBuilder;
|
|
40
|
+
//# sourceMappingURL=setAssetPriceOracle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setAssetPriceOracle.js","sourceRoot":"","sources":["../../../src/client/builders/setAssetPriceOracle.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,+CAA+D;AAC/D,iCAA0C;AAM1C,MAAa,0BAA2B,SAAQ,uBAG/C;IACC,KAAK,CAAC,KAAK,CAAC,IAA+B;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,mBAAmB,CAAC;YACnB,IAAI,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,kBAAkB,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAC3D,CAAC;aACD,eAAe,CAAC;YACf,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;SAC5B,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAiC;QAEjC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,kBAAkB,EAChB,MAAM,CAAC,kBAAkB,IAAI,wCAA4B;aAC5D;SACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAA+B;QAC7D,OAAO;YACL,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AAvCD,gEAuCC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VaultBuilderBase } from "./base";
|
|
2
|
+
import type { SetExternalLiquidityIxArgs, SetExternalLiquidityTxArgs } from "./args";
|
|
3
|
+
export declare class SetExternalLiquidityBuilder extends VaultBuilderBase<SetExternalLiquidityIxArgs, SetExternalLiquidityTxArgs> {
|
|
4
|
+
getIx(args: SetExternalLiquidityIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
5
|
+
protected deriveIxArgs(txArgs: SetExternalLiquidityTxArgs): Promise<SetExternalLiquidityIxArgs>;
|
|
6
|
+
protected buildPlanExtras(args: SetExternalLiquidityIxArgs): Promise<{
|
|
7
|
+
postSuccessCacheInvalidations: {
|
|
8
|
+
vaultPda: import("@solana/kit").Address;
|
|
9
|
+
}[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=setExternalLiquidity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setExternalLiquidity.d.ts","sourceRoot":"","sources":["../../../src/client/builders/setExternalLiquidity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAEV,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,QAAQ,CAAC;AAehB,qBAAa,2BAA4B,SAAQ,gBAAgB,CAC/D,0BAA0B,EAC1B,0BAA0B,CAC3B;IACO,KAAK,CAAC,IAAI,EAAE,0BAA0B;cAe5B,YAAY,CAC1B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;cAYtB,eAAe,CAAC,IAAI,EAAE,0BAA0B;;;;;CAKjE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SetExternalLiquidityBuilder = void 0;
|
|
4
|
+
const common_1 = require("common");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
function toExternalLiquiditySource(source) {
|
|
7
|
+
switch (source) {
|
|
8
|
+
case 0:
|
|
9
|
+
return { none: {} };
|
|
10
|
+
case 1:
|
|
11
|
+
return { marginfi: {} };
|
|
12
|
+
default:
|
|
13
|
+
throw new Error(`Unknown external liquidity source: ${source}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
class SetExternalLiquidityBuilder extends base_1.VaultBuilderBase {
|
|
17
|
+
async getIx(args) {
|
|
18
|
+
return this.program.methods
|
|
19
|
+
.setExternalLiquidity({
|
|
20
|
+
index: args.args.index,
|
|
21
|
+
source: args.args.source,
|
|
22
|
+
userAccount: (0, common_1.toWeb3Pk)(args.args.userAccount),
|
|
23
|
+
})
|
|
24
|
+
.accountsPartial({
|
|
25
|
+
curator: (0, common_1.toWeb3Pk)(args.curator),
|
|
26
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
27
|
+
})
|
|
28
|
+
.instruction()
|
|
29
|
+
.then(common_1.toKitInstruction);
|
|
30
|
+
}
|
|
31
|
+
async deriveIxArgs(txArgs) {
|
|
32
|
+
return {
|
|
33
|
+
curator: txArgs.curator,
|
|
34
|
+
vault: txArgs.vault,
|
|
35
|
+
args: {
|
|
36
|
+
index: txArgs.index,
|
|
37
|
+
source: toExternalLiquiditySource(txArgs.source),
|
|
38
|
+
userAccount: txArgs.userAccount,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
async buildPlanExtras(args) {
|
|
43
|
+
return {
|
|
44
|
+
postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.SetExternalLiquidityBuilder = SetExternalLiquidityBuilder;
|
|
49
|
+
//# sourceMappingURL=setExternalLiquidity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setExternalLiquidity.js","sourceRoot":"","sources":["../../../src/client/builders/setExternalLiquidity.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,iCAA0C;AAO1C,SAAS,yBAAyB,CAChC,MAAc;IAEd,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,CAAC;YACJ,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACtB,KAAK,CAAC;YACJ,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1B;YACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,MAAa,2BAA4B,SAAQ,uBAGhD;IACC,KAAK,CAAC,KAAK,CAAC,IAAgC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,oBAAoB,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,WAAW,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;SAC7C,CAAC;aACD,eAAe,CAAC;YACf,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;SAC5B,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAkC;QAElC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChD,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC;SACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAgC;QAC9D,OAAO;YACL,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AAtCD,kEAsCC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VaultBuilderBase } from "./base";
|
|
2
|
+
import type { SetProtocolFeeIxArgs, SetProtocolFeeTxArgs } from "./args";
|
|
3
|
+
export declare class SetProtocolFeeBuilder extends VaultBuilderBase<SetProtocolFeeIxArgs, SetProtocolFeeTxArgs> {
|
|
4
|
+
getIx(args: SetProtocolFeeIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
5
|
+
protected deriveIxArgs(txArgs: SetProtocolFeeTxArgs): Promise<SetProtocolFeeIxArgs>;
|
|
6
|
+
protected buildPlanExtras(args: SetProtocolFeeIxArgs): Promise<{
|
|
7
|
+
postSuccessCacheInvalidations: {
|
|
8
|
+
vaultPda: import("@solana/kit").Address;
|
|
9
|
+
}[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=setProtocolFee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setProtocolFee.d.ts","sourceRoot":"","sources":["../../../src/client/builders/setProtocolFee.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEzE,qBAAa,qBAAsB,SAAQ,gBAAgB,CACzD,oBAAoB,EACpB,oBAAoB,CACrB;IACO,KAAK,CAAC,IAAI,EAAE,oBAAoB;cAYtB,YAAY,CAC1B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;cAchB,eAAe,CAAC,IAAI,EAAE,oBAAoB;;;;;CAK3D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SetProtocolFeeBuilder = void 0;
|
|
4
|
+
const common_1 = require("common");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
const base_1 = require("./base");
|
|
7
|
+
class SetProtocolFeeBuilder extends base_1.VaultBuilderBase {
|
|
8
|
+
async getIx(args) {
|
|
9
|
+
return this.program.methods
|
|
10
|
+
.setProtocolFee({ protocolFeeBps: args.args.protocolFeeBps })
|
|
11
|
+
.accountsPartial({
|
|
12
|
+
protocolAuthority: (0, common_1.toWeb3Pk)(args.protocolAuthority),
|
|
13
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
14
|
+
vaultOracle: args.vaultOracle ? (0, common_1.toWeb3Pk)(args.vaultOracle) : null,
|
|
15
|
+
})
|
|
16
|
+
.instruction()
|
|
17
|
+
.then(common_1.toKitInstruction);
|
|
18
|
+
}
|
|
19
|
+
async deriveIxArgs(txArgs) {
|
|
20
|
+
const [derivedVaultOracle] = await this.pda.deriveVaultOraclePda(txArgs.vault);
|
|
21
|
+
return {
|
|
22
|
+
protocolAuthority: txArgs.protocolAuthority ?? constants_1.PROTOCOL_ADMIN,
|
|
23
|
+
vault: txArgs.vault,
|
|
24
|
+
vaultOracle: txArgs.vaultOracle ?? derivedVaultOracle,
|
|
25
|
+
args: {
|
|
26
|
+
protocolFeeBps: txArgs.protocolFeeBps,
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
async buildPlanExtras(args) {
|
|
31
|
+
return {
|
|
32
|
+
postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.SetProtocolFeeBuilder = SetProtocolFeeBuilder;
|
|
37
|
+
//# sourceMappingURL=setProtocolFee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setProtocolFee.js","sourceRoot":"","sources":["../../../src/client/builders/setProtocolFee.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,+CAAiD;AACjD,iCAA0C;AAG1C,MAAa,qBAAsB,SAAQ,uBAG1C;IACC,KAAK,CAAC,KAAK,CAAC,IAA0B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,cAAc,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aAC5D,eAAe,CAAC;YACf,iBAAiB,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC;YACnD,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;SAClE,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAA4B;QAE5B,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAC9D,MAAM,CAAC,KAAK,CACb,CAAC;QACF,OAAO;YACL,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,0BAAc;YAC7D,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kBAAkB;YACrD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC;SACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAA0B;QACxD,OAAO;YACL,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AArCD,sDAqCC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VaultBuilderBase } from "./base";
|
|
2
|
+
import type { SetVaultConfigIxArgs, SetVaultConfigTxArgs } from "./args";
|
|
3
|
+
export declare class SetVaultConfigBuilder extends VaultBuilderBase<SetVaultConfigIxArgs, SetVaultConfigTxArgs> {
|
|
4
|
+
getIx(args: SetVaultConfigIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
5
|
+
protected deriveIxArgs(txArgs: SetVaultConfigTxArgs): Promise<SetVaultConfigIxArgs>;
|
|
6
|
+
protected buildPlanExtras(args: SetVaultConfigIxArgs): Promise<{
|
|
7
|
+
postSuccessCacheInvalidations: {
|
|
8
|
+
vaultPda: import("@solana/kit").Address;
|
|
9
|
+
}[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=setVaultConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setVaultConfig.d.ts","sourceRoot":"","sources":["../../../src/client/builders/setVaultConfig.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAGzE,qBAAa,qBAAsB,SAAQ,gBAAgB,CACzD,oBAAoB,EACpB,oBAAoB,CACrB;IACO,KAAK,CAAC,IAAI,EAAE,oBAAoB;cAYtB,YAAY,CAC1B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;cAgChB,eAAe,CAAC,IAAI,EAAE,oBAAoB;;;;;CAK3D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SetVaultConfigBuilder = void 0;
|
|
4
|
+
const core_1 = require("@anchor-lang/core");
|
|
5
|
+
const common_1 = require("common");
|
|
6
|
+
const base_1 = require("./base");
|
|
7
|
+
const anchorArgs_1 = require("./anchorArgs");
|
|
8
|
+
class SetVaultConfigBuilder extends base_1.VaultBuilderBase {
|
|
9
|
+
async getIx(args) {
|
|
10
|
+
return this.program.methods
|
|
11
|
+
.setVaultConfig((0, anchorArgs_1.toAnchorSetVaultConfigArgs)(args.args))
|
|
12
|
+
.accountsPartial({
|
|
13
|
+
curator: (0, common_1.toWeb3Pk)(args.curator),
|
|
14
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
15
|
+
vaultOracle: args.vaultOracle ? (0, common_1.toWeb3Pk)(args.vaultOracle) : null,
|
|
16
|
+
})
|
|
17
|
+
.instruction()
|
|
18
|
+
.then(common_1.toKitInstruction);
|
|
19
|
+
}
|
|
20
|
+
async deriveIxArgs(txArgs) {
|
|
21
|
+
const [derivedVaultOracle] = await this.pda.deriveVaultOraclePda(txArgs.vault);
|
|
22
|
+
return {
|
|
23
|
+
curator: txArgs.curator,
|
|
24
|
+
vault: txArgs.vault,
|
|
25
|
+
vaultOracle: txArgs.vaultOracle ?? derivedVaultOracle,
|
|
26
|
+
args: {
|
|
27
|
+
manager: txArgs.manager ?? null,
|
|
28
|
+
hwManager: txArgs.hwManager ?? null,
|
|
29
|
+
cbTrigger: txArgs.cbTrigger ?? null,
|
|
30
|
+
fulfiller: txArgs.fulfiller ?? null,
|
|
31
|
+
feeCollector: txArgs.feeCollector ?? null,
|
|
32
|
+
mintFeeBps: txArgs.mintFeeBps ?? null,
|
|
33
|
+
burnFeeBps: txArgs.burnFeeBps ?? null,
|
|
34
|
+
performanceFeeBps: txArgs.performanceFeeBps ?? null,
|
|
35
|
+
fixedApyBps: txArgs.fixedApyBps ?? null,
|
|
36
|
+
maxApyBps: txArgs.maxApyBps ?? null,
|
|
37
|
+
tvlLimit: txArgs.tvlLimit !== undefined
|
|
38
|
+
? new core_1.BN(txArgs.tvlLimit.toString())
|
|
39
|
+
: null,
|
|
40
|
+
lossesEnabled: txArgs.lossesEnabled ?? null,
|
|
41
|
+
priceStalenessThresholdSecs: txArgs.priceStalenessThresholdSecs !== undefined
|
|
42
|
+
? new core_1.BN(txArgs.priceStalenessThresholdSecs.toString())
|
|
43
|
+
: null,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
async buildPlanExtras(args) {
|
|
48
|
+
return {
|
|
49
|
+
postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.SetVaultConfigBuilder = SetVaultConfigBuilder;
|
|
54
|
+
//# sourceMappingURL=setVaultConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setVaultConfig.js","sourceRoot":"","sources":["../../../src/client/builders/setVaultConfig.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AACvC,mCAAoD;AAEpD,iCAA0C;AAE1C,6CAA0D;AAE1D,MAAa,qBAAsB,SAAQ,uBAG1C;IACC,KAAK,CAAC,KAAK,CAAC,IAA0B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,cAAc,CAAC,IAAA,uCAA0B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrD,eAAe,CAAC;YACf,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;SAClE,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAA4B;QAE5B,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAC9D,MAAM,CAAC,KAAK,CACb,CAAC;QACF,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kBAAkB;YACrD,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;gBACnC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;gBACnC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;gBACnC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;gBACzC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gBACrC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gBACrC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;gBACnD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;gBACvC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;gBACnC,QAAQ,EACN,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAC3B,CAAC,CAAC,IAAI,SAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpC,CAAC,CAAC,IAAI;gBACV,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;gBAC3C,2BAA2B,EACzB,MAAM,CAAC,2BAA2B,KAAK,SAAS;oBAC9C,CAAC,CAAC,IAAI,SAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC;oBACvD,CAAC,CAAC,IAAI;aACX;SACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAA0B;QACxD,OAAO;YACL,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AAvDD,sDAuDC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type Address } from "@solana/kit";
|
|
2
|
+
import { type Connection } from "@solana/web3.js";
|
|
3
|
+
import type { TrancheKindArgs } from "./args";
|
|
4
|
+
import type { AccountClient } from "../account";
|
|
5
|
+
import type { PdaClient } from "../pda";
|
|
6
|
+
/**
|
|
7
|
+
* Returns the token program address for a given mint by inspecting the
|
|
8
|
+
* mint account's on-chain owner. Falls back to Token-2022 if the account
|
|
9
|
+
* cannot be fetched.
|
|
10
|
+
*
|
|
11
|
+
* Pass `provided` when the caller already knows the program — it is returned
|
|
12
|
+
* as-is without an RPC call. Pass `undefined` to trigger auto-detection.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveTokenProgramForMint(connection: Connection, mint: Address, provided: Address | undefined): Promise<Address>;
|
|
15
|
+
/**
|
|
16
|
+
* Derives the junior or senior tranche share mint from the vault's tranche
|
|
17
|
+
* state, based on `kind`. Short-circuits if `provided` is given.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolveTrancheShareMint(account: AccountClient, vault: Address, kind: TrancheKindArgs, provided: Address | undefined): Promise<Address>;
|
|
20
|
+
/**
|
|
21
|
+
* Returns the vault tranche state PDA if the vault has tranching enabled,
|
|
22
|
+
* otherwise null. Fetches the vault fresh to avoid stale cache.
|
|
23
|
+
*
|
|
24
|
+
* Pass `provided` when the caller already has the address — it is returned
|
|
25
|
+
* as-is without an RPC call. Pass `undefined` to trigger auto-detection.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveVaultTrancheState(account: AccountClient, pda: PdaClient, vault: Address, provided: Address | null | undefined): Promise<Address | null>;
|
|
28
|
+
//# sourceMappingURL=trancheState.d.ts.map
|