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,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateVaultBuilder = void 0;
|
|
4
|
+
const core_1 = require("@anchor-lang/core");
|
|
5
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
const common_1 = require("common");
|
|
7
|
+
const constants_1 = require("../../constants");
|
|
8
|
+
const base_1 = require("./base");
|
|
9
|
+
const anchorArgs_1 = require("./anchorArgs");
|
|
10
|
+
class CreateVaultBuilder extends base_1.VaultBuilderBase {
|
|
11
|
+
async getIx(args) {
|
|
12
|
+
return this.program.methods
|
|
13
|
+
.createVault((0, anchorArgs_1.toAnchorCreateVaultParams)(args.params))
|
|
14
|
+
.accountsPartial({
|
|
15
|
+
curator: (0, common_1.toWeb3Pk)(args.curator),
|
|
16
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
17
|
+
vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
|
|
18
|
+
feeVault: (0, common_1.toWeb3Pk)(args.feeVault),
|
|
19
|
+
shareMint: (0, common_1.toWeb3Pk)(args.shareMint),
|
|
20
|
+
assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
|
|
21
|
+
assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
|
|
22
|
+
tokenProgram: (0, common_1.toWeb3Pk)(constants_1.TOKEN_PROGRAM_ID),
|
|
23
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
24
|
+
})
|
|
25
|
+
.instruction()
|
|
26
|
+
.then(common_1.toKitInstruction);
|
|
27
|
+
}
|
|
28
|
+
async deriveIxArgs(txArgs) {
|
|
29
|
+
const vaultId = txArgs.vaultId ?? constants_1.DEFAULT_VAULT_ID;
|
|
30
|
+
const [vault] = await this.pda.deriveVaultPda(vaultId);
|
|
31
|
+
const [vaultOracle] = await this.pda.deriveVaultOraclePda(vault);
|
|
32
|
+
const [feeVault] = await this.pda.deriveFeeAuthorityPda(vault);
|
|
33
|
+
return {
|
|
34
|
+
curator: txArgs.curator,
|
|
35
|
+
vault,
|
|
36
|
+
vaultOracle,
|
|
37
|
+
feeVault,
|
|
38
|
+
shareMint: txArgs.shareMint,
|
|
39
|
+
assetMint: txArgs.strictAssetMint,
|
|
40
|
+
assetTokenProgram: txArgs.assetTokenProgram ?? constants_1.TOKEN_PROGRAM_ID,
|
|
41
|
+
params: {
|
|
42
|
+
vaultId,
|
|
43
|
+
hwManager: txArgs.hwManager ?? txArgs.curator,
|
|
44
|
+
cbTrigger: txArgs.cbTrigger ?? txArgs.curator,
|
|
45
|
+
feeCollector: txArgs.feeCollector ?? txArgs.curator,
|
|
46
|
+
baseAssetMint: txArgs.strictAssetMint,
|
|
47
|
+
assetDecimals: txArgs.assetDecimals,
|
|
48
|
+
mintFeeBps: txArgs.mintFeeBps ?? 0,
|
|
49
|
+
burnFeeBps: txArgs.burnFeeBps ?? 0,
|
|
50
|
+
performanceFeeBps: txArgs.performanceFeeBps ?? 0,
|
|
51
|
+
fixedApyBps: txArgs.fixedApyBps ?? 0,
|
|
52
|
+
maxApyBps: txArgs.maxApyBps ?? constants_1.DEFAULT_MAX_ACCEPTABLE_APY_BPS,
|
|
53
|
+
tvlLimit: new core_1.BN((txArgs.tvlLimit ?? 0n).toString()),
|
|
54
|
+
lossesEnabled: txArgs.lossesEnabled ?? false,
|
|
55
|
+
initialMintSharePrice: null,
|
|
56
|
+
basePriceOracleType: txArgs.basePriceOracleType ?? 1,
|
|
57
|
+
basePrice: new core_1.BN((txArgs.basePrice ?? 10n ** BigInt(txArgs.assetDecimals)).toString()),
|
|
58
|
+
basePriceOracleAccount: txArgs.basePriceOracleAccount ?? constants_1.DEFAULT_PRICE_ORACLE_ACCOUNT,
|
|
59
|
+
forMigration: txArgs.forMigration ?? false,
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
async getTx(txArgs) {
|
|
64
|
+
const args = await this.deriveIxArgs(txArgs);
|
|
65
|
+
const createIx = await this.getIx(args);
|
|
66
|
+
return {
|
|
67
|
+
instructions: [createIx],
|
|
68
|
+
postSuccessCacheInvalidations: [
|
|
69
|
+
{ vaultPda: args.vault, vaultOraclePda: args.vaultOracle },
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.CreateVaultBuilder = CreateVaultBuilder;
|
|
75
|
+
//# sourceMappingURL=createVault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createVault.js","sourceRoot":"","sources":["../../../src/client/builders/createVault.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VaultBuilderBase } from "./base";
|
|
2
|
+
import type { DisableCircuitBreakerIxArgs, DisableCircuitBreakerTxArgs } from "./args";
|
|
3
|
+
export declare class DisableCircuitBreakerBuilder extends VaultBuilderBase<DisableCircuitBreakerIxArgs, DisableCircuitBreakerTxArgs> {
|
|
4
|
+
getIx(args: DisableCircuitBreakerIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
5
|
+
protected deriveIxArgs(txArgs: DisableCircuitBreakerTxArgs): Promise<DisableCircuitBreakerIxArgs>;
|
|
6
|
+
protected buildPlanExtras(args: DisableCircuitBreakerIxArgs): Promise<{
|
|
7
|
+
postSuccessCacheInvalidations: {
|
|
8
|
+
vaultPda: import("@solana/kit").Address;
|
|
9
|
+
}[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=disableCircuitBreaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disableCircuitBreaker.d.ts","sourceRoot":"","sources":["../../../src/client/builders/disableCircuitBreaker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,QAAQ,CAAC;AAEhB,qBAAa,4BAA6B,SAAQ,gBAAgB,CAChE,2BAA2B,EAC3B,2BAA2B,CAC5B;IACO,KAAK,CAAC,IAAI,EAAE,2BAA2B;cAW7B,YAAY,CAC1B,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC;cAIvB,eAAe,CAAC,IAAI,EAAE,2BAA2B;;;;;CAKlE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DisableCircuitBreakerBuilder = void 0;
|
|
4
|
+
const common_1 = require("common");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
class DisableCircuitBreakerBuilder extends base_1.VaultBuilderBase {
|
|
7
|
+
async getIx(args) {
|
|
8
|
+
return this.program.methods
|
|
9
|
+
.disableCircuitBreaker()
|
|
10
|
+
.accountsPartial({
|
|
11
|
+
curator: (0, common_1.toWeb3Pk)(args.curator),
|
|
12
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
13
|
+
})
|
|
14
|
+
.instruction()
|
|
15
|
+
.then(common_1.toKitInstruction);
|
|
16
|
+
}
|
|
17
|
+
async deriveIxArgs(txArgs) {
|
|
18
|
+
return txArgs;
|
|
19
|
+
}
|
|
20
|
+
async buildPlanExtras(args) {
|
|
21
|
+
return {
|
|
22
|
+
postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.DisableCircuitBreakerBuilder = DisableCircuitBreakerBuilder;
|
|
27
|
+
//# sourceMappingURL=disableCircuitBreaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disableCircuitBreaker.js","sourceRoot":"","sources":["../../../src/client/builders/disableCircuitBreaker.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,iCAA0C;AAM1C,MAAa,4BAA6B,SAAQ,uBAGjD;IACC,KAAK,CAAC,KAAK,CAAC,IAAiC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,qBAAqB,EAAE;aACvB,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,MAAmC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAiC;QAC/D,OAAO;YACL,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AA1BD,oEA0BC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { VaultTransactionPlan } from "../types/tx";
|
|
2
|
+
import { VaultBuilderBase } from "./base";
|
|
3
|
+
import type { ExecuteDepositIxArgs, ExecuteDepositTxArgs } from "./args";
|
|
4
|
+
export declare class ExecuteDepositBuilder extends VaultBuilderBase<ExecuteDepositIxArgs, ExecuteDepositTxArgs> {
|
|
5
|
+
getIx(args: ExecuteDepositIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
6
|
+
protected deriveIxArgs(txArgs: ExecuteDepositTxArgs): Promise<ExecuteDepositIxArgs>;
|
|
7
|
+
protected buildPreambleInstructions(args: ExecuteDepositIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[]>;
|
|
8
|
+
protected buildPlanExtras(args: ExecuteDepositIxArgs): Promise<{
|
|
9
|
+
postSuccessCacheInvalidations: {
|
|
10
|
+
vaultPda: import("@solana/kit").Address;
|
|
11
|
+
}[];
|
|
12
|
+
}>;
|
|
13
|
+
getTx(txArgs: ExecuteDepositTxArgs): Promise<VaultTransactionPlan>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=executeDeposit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeDeposit.d.ts","sourceRoot":"","sources":["../../../src/client/builders/executeDeposit.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAMzE,qBAAa,qBAAsB,SAAQ,gBAAgB,CACzD,oBAAoB,EACpB,oBAAoB,CACrB;IACO,KAAK,CAAC,IAAI,EAAE,oBAAoB;cA0BtB,YAAY,CAC1B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;cAgEP,yBAAyB,CAChD,IAAI,EAAE,oBAAoB;cAkCZ,eAAe,CAAC,IAAI,EAAE,oBAAoB;;;;;IAMpD,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAUzE"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExecuteDepositBuilder = 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 ExecuteDepositBuilder extends base_1.VaultBuilderBase {
|
|
11
|
+
async getIx(args) {
|
|
12
|
+
return this.program.methods
|
|
13
|
+
.executeDeposit(args.amount)
|
|
14
|
+
.accountsPartial({
|
|
15
|
+
user: (0, common_1.toWeb3Pk)(args.user),
|
|
16
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
17
|
+
vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
|
|
18
|
+
vaultTrancheState: args.vaultTrancheState
|
|
19
|
+
? (0, common_1.toWeb3Pk)(args.vaultTrancheState)
|
|
20
|
+
: null,
|
|
21
|
+
assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
|
|
22
|
+
shareMint: (0, common_1.toWeb3Pk)(args.shareMint),
|
|
23
|
+
userAssetAta: (0, common_1.toWeb3Pk)(args.userAssetAta),
|
|
24
|
+
vaultAssetAta: (0, common_1.toWeb3Pk)(args.vaultAssetAta),
|
|
25
|
+
feeVault: (0, common_1.toWeb3Pk)(args.feeVault),
|
|
26
|
+
feeVaultAta: (0, common_1.toWeb3Pk)(args.feeVaultAta),
|
|
27
|
+
userShareAta: (0, common_1.toWeb3Pk)(args.userShareAta),
|
|
28
|
+
assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
|
|
29
|
+
shareTokenProgram: (0, common_1.toWeb3Pk)(args.shareTokenProgram),
|
|
30
|
+
associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
31
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
32
|
+
})
|
|
33
|
+
.instruction()
|
|
34
|
+
.then(common_1.toKitInstruction);
|
|
35
|
+
}
|
|
36
|
+
async deriveIxArgs(txArgs) {
|
|
37
|
+
const connection = this.program.provider.connection;
|
|
38
|
+
const [[derivedVaultOracle], [feeVault], vaultTrancheState, assetTokenProgram, shareTokenProgram,] = await Promise.all([
|
|
39
|
+
this.pda.deriveVaultOraclePda(txArgs.vault),
|
|
40
|
+
this.pda.deriveFeeAuthorityPda(txArgs.vault),
|
|
41
|
+
(0, trancheState_1.resolveVaultTrancheState)(this.account, this.pda, txArgs.vault, txArgs.vaultTrancheState),
|
|
42
|
+
(0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.assetMint, txArgs.assetTokenProgram),
|
|
43
|
+
(0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.shareMint, txArgs.shareTokenProgram),
|
|
44
|
+
]);
|
|
45
|
+
return {
|
|
46
|
+
user: txArgs.user,
|
|
47
|
+
vault: txArgs.vault,
|
|
48
|
+
vaultOracle: txArgs.vaultOracle ?? derivedVaultOracle,
|
|
49
|
+
vaultTrancheState,
|
|
50
|
+
assetMint: txArgs.assetMint,
|
|
51
|
+
shareMint: txArgs.shareMint,
|
|
52
|
+
amount: new core_1.BN(txArgs.amount.toString()),
|
|
53
|
+
assetTokenProgram,
|
|
54
|
+
shareTokenProgram,
|
|
55
|
+
userAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.user, assetTokenProgram),
|
|
56
|
+
vaultAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.vault, assetTokenProgram, true),
|
|
57
|
+
feeVault,
|
|
58
|
+
feeVaultAta: (0, common_1.getAtaAddress)(txArgs.assetMint, feeVault, assetTokenProgram, true),
|
|
59
|
+
userShareAta: (0, common_1.getAtaAddress)(txArgs.shareMint, txArgs.user, shareTokenProgram),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
async buildPreambleInstructions(args) {
|
|
63
|
+
const payer = (0, common_1.toWeb3Pk)(args.user);
|
|
64
|
+
const createVaultAssetAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.vaultAssetAta), (0, common_1.toWeb3Pk)(args.vault), (0, common_1.toWeb3Pk)(args.assetMint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
65
|
+
const createFeeVaultAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.feeVaultAta), (0, common_1.toWeb3Pk)(args.feeVault), (0, common_1.toWeb3Pk)(args.assetMint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
66
|
+
const createUserShareAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.userShareAta), payer, (0, common_1.toWeb3Pk)(args.shareMint), (0, common_1.toWeb3Pk)(args.shareTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
67
|
+
return [createVaultAssetAta, createFeeVaultAta, createUserShareAta].map(common_1.toKitInstruction);
|
|
68
|
+
}
|
|
69
|
+
async buildPlanExtras(args) {
|
|
70
|
+
return {
|
|
71
|
+
postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async getTx(txArgs) {
|
|
75
|
+
const args = await this.deriveIxArgs(txArgs);
|
|
76
|
+
const preambleInstructions = await this.buildPreambleInstructions(args);
|
|
77
|
+
const instruction = await this.getIx(args);
|
|
78
|
+
const extras = await this.buildPlanExtras(args);
|
|
79
|
+
return {
|
|
80
|
+
instructions: [...preambleInstructions, instruction],
|
|
81
|
+
...(extras ?? {}),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.ExecuteDepositBuilder = ExecuteDepositBuilder;
|
|
86
|
+
//# sourceMappingURL=executeDeposit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeDeposit.js","sourceRoot":"","sources":["../../../src/client/builders/executeDeposit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { VaultTransactionPlan } from "../types/tx";
|
|
2
|
+
import { VaultBuilderBase } from "./base";
|
|
3
|
+
import type { ExecuteTrancheDepositIxArgs, ExecuteTrancheDepositTxArgs } from "./args";
|
|
4
|
+
export declare class ExecuteTrancheDepositBuilder extends VaultBuilderBase<ExecuteTrancheDepositIxArgs, ExecuteTrancheDepositTxArgs> {
|
|
5
|
+
getIx(args: ExecuteTrancheDepositIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
6
|
+
protected deriveIxArgs(txArgs: ExecuteTrancheDepositTxArgs): Promise<ExecuteTrancheDepositIxArgs>;
|
|
7
|
+
protected buildPreambleInstructions(args: ExecuteTrancheDepositIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[]>;
|
|
8
|
+
protected buildPlanExtras(args: ExecuteTrancheDepositIxArgs): Promise<{
|
|
9
|
+
postSuccessCacheInvalidations: {
|
|
10
|
+
vaultPda: import("@solana/kit").Address;
|
|
11
|
+
vaultTrancheStatePda: import("@solana/kit").Address;
|
|
12
|
+
}[];
|
|
13
|
+
}>;
|
|
14
|
+
getTx(txArgs: ExecuteTrancheDepositTxArgs): Promise<VaultTransactionPlan>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=executeTrancheDeposit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeTrancheDeposit.d.ts","sourceRoot":"","sources":["../../../src/client/builders/executeTrancheDeposit.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,QAAQ,CAAC;AAMhB,qBAAa,4BAA6B,SAAQ,gBAAgB,CAChE,2BAA2B,EAC3B,2BAA2B,CAC5B;IACO,KAAK,CAAC,IAAI,EAAE,2BAA2B;cAsB7B,YAAY,CAC1B,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC;cAuDd,yBAAyB,CAChD,IAAI,EAAE,2BAA2B;cAwBnB,eAAe,CAAC,IAAI,EAAE,2BAA2B;;;;;;IAQ3D,KAAK,CACT,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,oBAAoB,CAAC;CAUjC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExecuteTrancheDepositBuilder = 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 ExecuteTrancheDepositBuilder extends base_1.VaultBuilderBase {
|
|
11
|
+
async getIx(args) {
|
|
12
|
+
return this.program.methods
|
|
13
|
+
.executeTrancheDeposit(args.kind, args.amount)
|
|
14
|
+
.accountsPartial({
|
|
15
|
+
user: (0, common_1.toWeb3Pk)(args.user),
|
|
16
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
17
|
+
vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
|
|
18
|
+
vaultTrancheState: (0, common_1.toWeb3Pk)(args.vaultTrancheState),
|
|
19
|
+
assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
|
|
20
|
+
trancheShareMint: (0, common_1.toWeb3Pk)(args.trancheShareMint),
|
|
21
|
+
userAssetAta: (0, common_1.toWeb3Pk)(args.userAssetAta),
|
|
22
|
+
vaultAssetAta: (0, common_1.toWeb3Pk)(args.vaultAssetAta),
|
|
23
|
+
userTrancheShareAta: (0, common_1.toWeb3Pk)(args.userTrancheShareAta),
|
|
24
|
+
assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
|
|
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 [[vaultOracle], [vaultTrancheState], trancheShareMint] = await Promise.all([
|
|
35
|
+
this.pda.deriveVaultOraclePda(txArgs.vault),
|
|
36
|
+
this.pda.deriveVaultTrancheStatePda(txArgs.vault),
|
|
37
|
+
(0, trancheState_1.resolveTrancheShareMint)(this.account, txArgs.vault, txArgs.kind, txArgs.trancheShareMint),
|
|
38
|
+
]);
|
|
39
|
+
const [assetTokenProgram, shareTokenProgram] = await Promise.all([
|
|
40
|
+
(0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.assetMint, txArgs.assetTokenProgram),
|
|
41
|
+
(0, trancheState_1.resolveTokenProgramForMint)(connection, trancheShareMint, txArgs.shareTokenProgram),
|
|
42
|
+
]);
|
|
43
|
+
return {
|
|
44
|
+
user: txArgs.user,
|
|
45
|
+
vault: txArgs.vault,
|
|
46
|
+
vaultOracle: txArgs.vaultOracle ?? vaultOracle,
|
|
47
|
+
vaultTrancheState: txArgs.vaultTrancheState ?? vaultTrancheState,
|
|
48
|
+
assetMint: txArgs.assetMint,
|
|
49
|
+
trancheShareMint,
|
|
50
|
+
kind: txArgs.kind,
|
|
51
|
+
amount: new core_1.BN(txArgs.amount.toString()),
|
|
52
|
+
assetTokenProgram,
|
|
53
|
+
shareTokenProgram,
|
|
54
|
+
userAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.user, assetTokenProgram),
|
|
55
|
+
vaultAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.vault, assetTokenProgram, true),
|
|
56
|
+
userTrancheShareAta: (0, common_1.getAtaAddress)(trancheShareMint, txArgs.user, shareTokenProgram),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async buildPreambleInstructions(args) {
|
|
60
|
+
const payer = (0, common_1.toWeb3Pk)(args.user);
|
|
61
|
+
const createVaultAssetAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.vaultAssetAta), (0, common_1.toWeb3Pk)(args.vault), (0, common_1.toWeb3Pk)(args.assetMint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
62
|
+
const createUserShareAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.userTrancheShareAta), payer, (0, common_1.toWeb3Pk)(args.trancheShareMint), (0, common_1.toWeb3Pk)(args.shareTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
63
|
+
return [createVaultAssetAta, createUserShareAta].map(common_1.toKitInstruction);
|
|
64
|
+
}
|
|
65
|
+
async buildPlanExtras(args) {
|
|
66
|
+
return {
|
|
67
|
+
postSuccessCacheInvalidations: [
|
|
68
|
+
{ vaultPda: args.vault, vaultTrancheStatePda: args.vaultTrancheState },
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
async getTx(txArgs) {
|
|
73
|
+
const args = await this.deriveIxArgs(txArgs);
|
|
74
|
+
const preambleInstructions = await this.buildPreambleInstructions(args);
|
|
75
|
+
const instruction = await this.getIx(args);
|
|
76
|
+
const extras = await this.buildPlanExtras(args);
|
|
77
|
+
return {
|
|
78
|
+
instructions: [...preambleInstructions, instruction],
|
|
79
|
+
...(extras ?? {}),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.ExecuteTrancheDepositBuilder = ExecuteTrancheDepositBuilder;
|
|
84
|
+
//# sourceMappingURL=executeTrancheDeposit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeTrancheDeposit.js","sourceRoot":"","sources":["../../../src/client/builders/executeTrancheDeposit.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AACvC,iDAG2B;AAC3B,6CAAgD;AAChD,mCAAmE;AAGnE,iCAA0C;AAK1C,iDAGwB;AAExB,MAAa,4BAA6B,SAAQ,uBAGjD;IACC,KAAK,CAAC,KAAK,CAAC,IAAiC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;aAC7C,eAAe,CAAC;YACf,IAAI,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC;YACzB,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,WAAW,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC;YACvC,iBAAiB,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC;YACnD,SAAS,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,SAAS,CAAC;YACnC,gBAAgB,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,gBAAgB,CAAC;YACjD,YAAY,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,YAAY,CAAC;YACzC,aAAa,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,aAAa,CAAC;YAC3C,mBAAmB,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,mBAAmB,CAAC;YACvD,iBAAiB,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC;YACnD,iBAAiB,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC;YACnD,sBAAsB,EAAE,uCAA2B;YACnD,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAmC;QAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QACpD,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,GAC1D,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;YACjD,IAAA,sCAAuB,EACrB,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,gBAAgB,CACxB;SACF,CAAC,CAAC;QACL,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/D,IAAA,yCAA0B,EACxB,UAAU,EACV,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,iBAAiB,CACzB;YACD,IAAA,yCAA0B,EACxB,UAAU,EACV,gBAAgB,EAChB,MAAM,CAAC,iBAAiB,CACzB;SACF,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,WAAW;YAC9C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,iBAAiB;YAChE,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,gBAAgB;YAChB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,IAAI,SAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,iBAAiB;YACjB,iBAAiB;YACjB,YAAY,EAAE,IAAA,sBAAa,EACzB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,IAAI,EACX,iBAAiB,CAClB;YACD,aAAa,EAAE,IAAA,sBAAa,EAC1B,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,iBAAiB,EACjB,IAAI,CACL;YACD,mBAAmB,EAAE,IAAA,sBAAa,EAChC,gBAAgB,EAChB,MAAM,CAAC,IAAI,EACX,iBAAiB,CAClB;SACF,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,yBAAyB,CAChD,IAAiC;QAEjC,MAAM,KAAK,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,mBAAmB,GACvB,IAAA,6DAAiD,EAC/C,KAAK,EACL,IAAA,iBAAQ,EAAC,IAAI,CAAC,aAAa,CAAC,EAC5B,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,EACpB,IAAA,iBAAQ,EAAC,IAAI,CAAC,SAAS,CAAC,EACxB,IAAA,iBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC,EAChC,uCAA2B,CAC5B,CAAC;QACJ,MAAM,kBAAkB,GACtB,IAAA,6DAAiD,EAC/C,KAAK,EACL,IAAA,iBAAQ,EAAC,IAAI,CAAC,mBAAmB,CAAC,EAClC,KAAK,EACL,IAAA,iBAAQ,EAAC,IAAI,CAAC,gBAAgB,CAAC,EAC/B,IAAA,iBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC,EAChC,uCAA2B,CAC5B,CAAC;QACJ,OAAO,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,yBAAgB,CAAC,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAiC;QAC/D,OAAO;YACL,6BAA6B,EAAE;gBAC7B,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,EAAE;aACvE;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,MAAmC;QAEnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,YAAY,EAAE,CAAC,GAAG,oBAAoB,EAAE,WAAW,CAAC;YACpD,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;CACF;AAhID,oEAgIC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { VaultTransactionPlan } from "../types/tx";
|
|
2
|
+
import { VaultBuilderBase } from "./base";
|
|
3
|
+
import type { ExecuteTrancheWithdrawIxArgs, ExecuteTrancheWithdrawTxArgs } from "./args";
|
|
4
|
+
export declare class ExecuteTrancheWithdrawBuilder extends VaultBuilderBase<ExecuteTrancheWithdrawIxArgs, ExecuteTrancheWithdrawTxArgs> {
|
|
5
|
+
getIx(args: ExecuteTrancheWithdrawIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
6
|
+
protected deriveIxArgs(txArgs: ExecuteTrancheWithdrawTxArgs): Promise<ExecuteTrancheWithdrawIxArgs>;
|
|
7
|
+
protected buildPreambleInstructions(args: ExecuteTrancheWithdrawIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[]>;
|
|
8
|
+
protected buildPlanExtras(args: ExecuteTrancheWithdrawIxArgs): Promise<{
|
|
9
|
+
postSuccessCacheInvalidations: {
|
|
10
|
+
vaultPda: import("@solana/kit").Address;
|
|
11
|
+
vaultTrancheStatePda: import("@solana/kit").Address;
|
|
12
|
+
}[];
|
|
13
|
+
}>;
|
|
14
|
+
getTx(txArgs: ExecuteTrancheWithdrawTxArgs): Promise<VaultTransactionPlan>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=executeTrancheWithdraw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeTrancheWithdraw.d.ts","sourceRoot":"","sources":["../../../src/client/builders/executeTrancheWithdraw.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,QAAQ,CAAC;AAMhB,qBAAa,6BAA8B,SAAQ,gBAAgB,CACjE,4BAA4B,EAC5B,4BAA4B,CAC7B;IACO,KAAK,CAAC,IAAI,EAAE,4BAA4B;cAsB9B,YAAY,CAC1B,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,4BAA4B,CAAC;cAuDf,yBAAyB,CAChD,IAAI,EAAE,4BAA4B;cAepB,eAAe,CAAC,IAAI,EAAE,4BAA4B;;;;;;IAQ5D,KAAK,CACT,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,oBAAoB,CAAC;CAUjC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExecuteTrancheWithdrawBuilder = 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 ExecuteTrancheWithdrawBuilder extends base_1.VaultBuilderBase {
|
|
11
|
+
async getIx(args) {
|
|
12
|
+
return this.program.methods
|
|
13
|
+
.executeTrancheWithdraw(args.kind, args.shareAmount)
|
|
14
|
+
.accountsPartial({
|
|
15
|
+
user: (0, common_1.toWeb3Pk)(args.user),
|
|
16
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
17
|
+
vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
|
|
18
|
+
vaultTrancheState: (0, common_1.toWeb3Pk)(args.vaultTrancheState),
|
|
19
|
+
assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
|
|
20
|
+
trancheShareMint: (0, common_1.toWeb3Pk)(args.trancheShareMint),
|
|
21
|
+
userAssetAta: (0, common_1.toWeb3Pk)(args.userAssetAta),
|
|
22
|
+
vaultAssetAta: (0, common_1.toWeb3Pk)(args.vaultAssetAta),
|
|
23
|
+
userTrancheShareAta: (0, common_1.toWeb3Pk)(args.userTrancheShareAta),
|
|
24
|
+
assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
|
|
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 [[vaultOracle], [vaultTrancheState], trancheShareMint] = await Promise.all([
|
|
35
|
+
this.pda.deriveVaultOraclePda(txArgs.vault),
|
|
36
|
+
this.pda.deriveVaultTrancheStatePda(txArgs.vault),
|
|
37
|
+
(0, trancheState_1.resolveTrancheShareMint)(this.account, txArgs.vault, txArgs.kind, txArgs.trancheShareMint),
|
|
38
|
+
]);
|
|
39
|
+
const [assetTokenProgram, shareTokenProgram] = await Promise.all([
|
|
40
|
+
(0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.assetMint, txArgs.assetTokenProgram),
|
|
41
|
+
(0, trancheState_1.resolveTokenProgramForMint)(connection, trancheShareMint, txArgs.shareTokenProgram),
|
|
42
|
+
]);
|
|
43
|
+
return {
|
|
44
|
+
user: txArgs.user,
|
|
45
|
+
vault: txArgs.vault,
|
|
46
|
+
vaultOracle: txArgs.vaultOracle ?? vaultOracle,
|
|
47
|
+
vaultTrancheState: txArgs.vaultTrancheState ?? vaultTrancheState,
|
|
48
|
+
assetMint: txArgs.assetMint,
|
|
49
|
+
trancheShareMint,
|
|
50
|
+
kind: txArgs.kind,
|
|
51
|
+
shareAmount: new core_1.BN(txArgs.shareAmount.toString()),
|
|
52
|
+
assetTokenProgram,
|
|
53
|
+
shareTokenProgram,
|
|
54
|
+
userAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.user, assetTokenProgram),
|
|
55
|
+
vaultAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.vault, assetTokenProgram, true),
|
|
56
|
+
userTrancheShareAta: (0, common_1.getAtaAddress)(trancheShareMint, txArgs.user, shareTokenProgram),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async buildPreambleInstructions(args) {
|
|
60
|
+
const payer = (0, common_1.toWeb3Pk)(args.user);
|
|
61
|
+
const createUserAssetAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.userAssetAta), payer, (0, common_1.toWeb3Pk)(args.assetMint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
62
|
+
return [createUserAssetAta].map(common_1.toKitInstruction);
|
|
63
|
+
}
|
|
64
|
+
async buildPlanExtras(args) {
|
|
65
|
+
return {
|
|
66
|
+
postSuccessCacheInvalidations: [
|
|
67
|
+
{ vaultPda: args.vault, vaultTrancheStatePda: args.vaultTrancheState },
|
|
68
|
+
],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
async getTx(txArgs) {
|
|
72
|
+
const args = await this.deriveIxArgs(txArgs);
|
|
73
|
+
const preambleInstructions = await this.buildPreambleInstructions(args);
|
|
74
|
+
const instruction = await this.getIx(args);
|
|
75
|
+
const extras = await this.buildPlanExtras(args);
|
|
76
|
+
return {
|
|
77
|
+
instructions: [...preambleInstructions, instruction],
|
|
78
|
+
...(extras ?? {}),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ExecuteTrancheWithdrawBuilder = ExecuteTrancheWithdrawBuilder;
|
|
83
|
+
//# sourceMappingURL=executeTrancheWithdraw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeTrancheWithdraw.js","sourceRoot":"","sources":["../../../src/client/builders/executeTrancheWithdraw.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Address } from "@solana/kit";
|
|
2
|
+
import { VaultBuilderBase } from "./base";
|
|
3
|
+
import type { ExecuteWithdrawIxArgs, ExecuteWithdrawTxArgs } from "./args";
|
|
4
|
+
export declare class ExecuteWithdrawBuilder extends VaultBuilderBase<ExecuteWithdrawIxArgs, ExecuteWithdrawTxArgs> {
|
|
5
|
+
getIx(args: ExecuteWithdrawIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
6
|
+
protected deriveIxArgs(txArgs: ExecuteWithdrawTxArgs): Promise<ExecuteWithdrawIxArgs>;
|
|
7
|
+
protected buildLookupTables(_args: ExecuteWithdrawIxArgs, txArgs: ExecuteWithdrawTxArgs): Promise<readonly Address[] | undefined>;
|
|
8
|
+
protected buildPlanExtras(args: ExecuteWithdrawIxArgs): Promise<{
|
|
9
|
+
postSuccessCacheInvalidations: {
|
|
10
|
+
vaultPda: Address;
|
|
11
|
+
}[];
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=executeWithdraw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeWithdraw.d.ts","sourceRoot":"","sources":["../../../src/client/builders/executeWithdraw.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAUxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAkB3E,qBAAa,sBAAuB,SAAQ,gBAAgB,CAC1D,qBAAqB,EACrB,qBAAqB,CACtB;IACO,KAAK,CAAC,IAAI,EAAE,qBAAqB;cA+BvB,YAAY,CAC1B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;cAoEjB,iBAAiB,CAC/B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;cAI1B,eAAe,CAAC,IAAI,EAAE,qBAAqB;;;;;CAK5D"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExecuteWithdrawBuilder = 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 base_1 = require("./base");
|
|
10
|
+
const trancheState_1 = require("./trancheState");
|
|
11
|
+
function toWeb3AccountMeta(account) {
|
|
12
|
+
return {
|
|
13
|
+
pubkey: new web3_js_1.PublicKey(account.address),
|
|
14
|
+
isWritable: account.role === kit_1.AccountRole.WRITABLE ||
|
|
15
|
+
account.role === kit_1.AccountRole.WRITABLE_SIGNER,
|
|
16
|
+
isSigner: account.role === kit_1.AccountRole.READONLY_SIGNER ||
|
|
17
|
+
account.role === kit_1.AccountRole.WRITABLE_SIGNER,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
class ExecuteWithdrawBuilder extends base_1.VaultBuilderBase {
|
|
21
|
+
async getIx(args) {
|
|
22
|
+
return this.program.methods
|
|
23
|
+
.executeWithdraw(args.shareAmount, args.externalWithdrawIxRefs ?? null, args.externalLiquiditySource ?? null)
|
|
24
|
+
.accountsPartial({
|
|
25
|
+
user: (0, common_1.toWeb3Pk)(args.user),
|
|
26
|
+
vault: (0, common_1.toWeb3Pk)(args.vault),
|
|
27
|
+
vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
|
|
28
|
+
vaultTrancheState: args.vaultTrancheState
|
|
29
|
+
? (0, common_1.toWeb3Pk)(args.vaultTrancheState)
|
|
30
|
+
: null,
|
|
31
|
+
assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
|
|
32
|
+
shareMint: (0, common_1.toWeb3Pk)(args.shareMint),
|
|
33
|
+
userAssetAta: (0, common_1.toWeb3Pk)(args.userAssetAta),
|
|
34
|
+
vaultAssetAta: (0, common_1.toWeb3Pk)(args.vaultAssetAta),
|
|
35
|
+
feeVault: (0, common_1.toWeb3Pk)(args.feeVault),
|
|
36
|
+
feeVaultAta: (0, common_1.toWeb3Pk)(args.feeVaultAta),
|
|
37
|
+
userShareAta: (0, common_1.toWeb3Pk)(args.userShareAta),
|
|
38
|
+
assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
|
|
39
|
+
shareTokenProgram: (0, common_1.toWeb3Pk)(args.shareTokenProgram),
|
|
40
|
+
associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
41
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
42
|
+
})
|
|
43
|
+
.remainingAccounts(args.externalWithdrawAccounts.map(toWeb3AccountMeta))
|
|
44
|
+
.instruction()
|
|
45
|
+
.then(common_1.toKitInstruction);
|
|
46
|
+
}
|
|
47
|
+
async deriveIxArgs(txArgs) {
|
|
48
|
+
const connection = this.program.provider.connection;
|
|
49
|
+
const [[derivedVaultOracle], [feeVault], vaultTrancheState, assetTokenProgram, shareTokenProgram,] = await Promise.all([
|
|
50
|
+
this.pda.deriveVaultOraclePda(txArgs.vault),
|
|
51
|
+
this.pda.deriveFeeAuthorityPda(txArgs.vault),
|
|
52
|
+
(0, trancheState_1.resolveVaultTrancheState)(this.account, this.pda, txArgs.vault, txArgs.vaultTrancheState),
|
|
53
|
+
(0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.assetMint, txArgs.assetTokenProgram),
|
|
54
|
+
(0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.shareMint, txArgs.shareTokenProgram),
|
|
55
|
+
]);
|
|
56
|
+
return {
|
|
57
|
+
user: txArgs.user,
|
|
58
|
+
vault: txArgs.vault,
|
|
59
|
+
vaultOracle: txArgs.vaultOracle ?? derivedVaultOracle,
|
|
60
|
+
vaultTrancheState: vaultTrancheState ?? null,
|
|
61
|
+
assetMint: txArgs.assetMint,
|
|
62
|
+
shareMint: txArgs.shareMint,
|
|
63
|
+
shareAmount: new core_1.BN(txArgs.shareAmount.toString()),
|
|
64
|
+
assetTokenProgram,
|
|
65
|
+
shareTokenProgram,
|
|
66
|
+
userAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.user, assetTokenProgram),
|
|
67
|
+
vaultAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.vault, assetTokenProgram, true),
|
|
68
|
+
feeVault,
|
|
69
|
+
feeVaultAta: (0, common_1.getAtaAddress)(txArgs.assetMint, feeVault, assetTokenProgram, true),
|
|
70
|
+
userShareAta: (0, common_1.getAtaAddress)(txArgs.shareMint, txArgs.user, shareTokenProgram),
|
|
71
|
+
externalWithdrawIxRefs: txArgs.externalWithdrawIxRefs ?? null,
|
|
72
|
+
externalLiquiditySource: txArgs.externalLiquiditySource ?? null,
|
|
73
|
+
externalWithdrawAccounts: txArgs.externalWithdrawAccounts ?? [],
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
async buildLookupTables(_args, txArgs) {
|
|
77
|
+
return txArgs.lookupTables;
|
|
78
|
+
}
|
|
79
|
+
async buildPlanExtras(args) {
|
|
80
|
+
return {
|
|
81
|
+
postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.ExecuteWithdrawBuilder = ExecuteWithdrawBuilder;
|
|
86
|
+
//# sourceMappingURL=executeWithdraw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeWithdraw.js","sourceRoot":"","sources":["../../../src/client/builders/executeWithdraw.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Address } from "@solana/kit";
|
|
2
|
+
import type { AccountClient, VaultAccountData } from "../account";
|
|
3
|
+
/**
|
|
4
|
+
* The hardcoded protocol admin wallet that may set the protocol performance fee.
|
|
5
|
+
* Pass `override` only in tests that deploy a program with a different constant.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveProtocolAdmin(override?: Address): Address;
|
|
8
|
+
/**
|
|
9
|
+
* The hardcoded wallet that receives protocol performance fees. Pass `override`
|
|
10
|
+
* only in tests that deploy a program with a different constant.
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveProtocolFeeRecipient(override?: Address): Address;
|
|
13
|
+
export declare function resolveVaultFeeCollector(account: AccountClient, vault: Address, override?: Address): Promise<Address>;
|
|
14
|
+
export declare function baseAssetMintFromVault(vaultState: VaultAccountData): Address;
|
|
15
|
+
export declare function resolveVaultBaseAssetMint(account: AccountClient, vault: Address, override?: Address): Promise<Address>;
|
|
16
|
+
export declare function resolveFeeAssetTokenProgram(account: AccountClient, vault: Address, feeAssetMint: Address, override?: Address): Promise<Address>;
|
|
17
|
+
//# sourceMappingURL=feeCollector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feeCollector.d.ts","sourceRoot":"","sources":["../../../src/client/builders/feeCollector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AASpD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAEhE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAEvE;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAM5E;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAYD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,OAAO,EACrB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAYlB"}
|