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
package/README.md
ADDED
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
# Vault SDK
|
|
2
|
+
|
|
3
|
+
TypeScript helpers for the Bankineco vault program. The SDK wraps PDA derivation,
|
|
4
|
+
account fetching, and instruction building behind a single `VaultClient`. Every
|
|
5
|
+
on-chain instruction has a **transaction builder** on `client.tx` that returns a
|
|
6
|
+
`VaultTransactionPlan` you can sign and send.
|
|
7
|
+
|
|
8
|
+
For runnable CLI examples, see [`scripts/README.md`](scripts/README.md).
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
From the monorepo (workspace package name is `vault`):
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pnpm install
|
|
16
|
+
pnpm --filter vault run build
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
In another workspace package:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"vault": "workspace:*"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Quick start
|
|
30
|
+
|
|
31
|
+
### Option A — `createVaultClient` (scripts and backend services)
|
|
32
|
+
|
|
33
|
+
Use this when targeting deployed `test` or `prod` networks. It wires RPC,
|
|
34
|
+
keypair, and program id from env vars (see [`.env.example`](.env.example)).
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
import { createVaultClient } from "vault";
|
|
38
|
+
|
|
39
|
+
const { client, payer, signer } = createVaultClient("test", {
|
|
40
|
+
role: "vault", // default keypair: ~/.config/solana/vault-test.json
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const vault = "..." as Address; // vault PDA
|
|
44
|
+
const vaultAccount = await client.account.fetchVault(vault);
|
|
45
|
+
|
|
46
|
+
const plan = await client.tx.executeDeposit.getTx({
|
|
47
|
+
user: signer,
|
|
48
|
+
vault,
|
|
49
|
+
assetMint: vaultAccount.config.baseAssetMint,
|
|
50
|
+
shareMint: vaultAccount.config.shareMint,
|
|
51
|
+
amount: 1_000_000n, // base units (6 decimals → 1.0 UI)
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const signature = await client.sendTransaction(payer, plan);
|
|
55
|
+
console.log(signature);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Option B — manual `VaultClient` (tests, custom integrations)
|
|
59
|
+
|
|
60
|
+
Use this when you already have a `Connection` and signer:
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
import { AnchorProvider } from "@anchor-lang/core";
|
|
64
|
+
import { Connection, Keypair } from "@solana/web3.js";
|
|
65
|
+
import { fromWeb3Pk } from "common";
|
|
66
|
+
import { VaultClient, makeProvider } from "vault";
|
|
67
|
+
|
|
68
|
+
const connection = new Connection("http://127.0.0.1:8899", "confirmed");
|
|
69
|
+
const payer = Keypair.generate();
|
|
70
|
+
const client = new VaultClient(makeProvider(connection, payer));
|
|
71
|
+
|
|
72
|
+
const [vault] = await client.pda.deriveVaultPda(0); // vault id
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Creating transactions
|
|
76
|
+
|
|
77
|
+
### The builder pattern
|
|
78
|
+
|
|
79
|
+
Every instruction lives on `client.tx.<builderName>`. Builders follow the same
|
|
80
|
+
contract:
|
|
81
|
+
|
|
82
|
+
| Method | Returns | When to use |
|
|
83
|
+
| --- | --- | --- |
|
|
84
|
+
| `getTx(txArgs)` | `VaultTransactionPlan` | **Preferred.** Derives PDAs/ATAs, prepends setup ixs (e.g. idempotent ATA creates), and attaches cache invalidation metadata. |
|
|
85
|
+
| `getIx(ixArgs)` | `Instruction` | Low-level. You supply every account address yourself. |
|
|
86
|
+
|
|
87
|
+
`TxArgs` types are the high-level inputs (curator, vault, amounts as `bigint`,
|
|
88
|
+
optional PDAs). `IxArgs` types are the fully-resolved account sets the program
|
|
89
|
+
expects. Type definitions live in
|
|
90
|
+
[`src/client/builders/args.ts`](src/client/builders/args.ts).
|
|
91
|
+
|
|
92
|
+
A typical flow:
|
|
93
|
+
|
|
94
|
+
```typescript
|
|
95
|
+
// 1. Build a plan
|
|
96
|
+
const plan = await client.tx.executeDeposit.getTx({
|
|
97
|
+
user: signer,
|
|
98
|
+
vault,
|
|
99
|
+
assetMint,
|
|
100
|
+
shareMint,
|
|
101
|
+
amount: 500_000n,
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
// 2. Send it (signs, confirms, clears relevant account cache)
|
|
105
|
+
const sig = await client.sendTransaction(payer, plan);
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
`VaultTransactionPlan` contains:
|
|
109
|
+
|
|
110
|
+
- `instructions` — ordered `@solana/kit` instructions (preamble + program ix)
|
|
111
|
+
- `lookupTables?` — optional address lookup tables for v0 transactions
|
|
112
|
+
- `postSuccessCacheInvalidations?` — vault cache keys to clear after success
|
|
113
|
+
|
|
114
|
+
### Example: deposit
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
const plan = await client.tx.executeDeposit.getTx({
|
|
118
|
+
user: signer,
|
|
119
|
+
vault,
|
|
120
|
+
assetMint,
|
|
121
|
+
shareMint,
|
|
122
|
+
amount: 1_000_000n,
|
|
123
|
+
});
|
|
124
|
+
await client.sendTransaction(payer, plan);
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
The builder automatically:
|
|
128
|
+
|
|
129
|
+
- Derives `vaultOracle` from the vault PDA
|
|
130
|
+
- Computes user/vault ATAs
|
|
131
|
+
- Prepends idempotent ATA-create instructions where needed
|
|
132
|
+
|
|
133
|
+
### Example: withdraw
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
const plan = await client.tx.executeWithdraw.getTx({
|
|
137
|
+
user: signer,
|
|
138
|
+
vault,
|
|
139
|
+
assetMint,
|
|
140
|
+
shareMint,
|
|
141
|
+
shareAmount: 500_000n,
|
|
142
|
+
});
|
|
143
|
+
await client.sendTransaction(payer, plan);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
For withdrawals routed through external liquidity (CPI), pass
|
|
147
|
+
`externalWithdrawIxRefs`, `externalWithdrawAccounts`, and optionally
|
|
148
|
+
`lookupTables` — see `ExecuteWithdrawTxArgs` in `args.ts`.
|
|
149
|
+
|
|
150
|
+
### Example: vault setup (multi-step)
|
|
151
|
+
|
|
152
|
+
Deploy flows compose several builders in sequence:
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
const curator = fromWeb3Pk(payer.publicKey);
|
|
156
|
+
|
|
157
|
+
await client.sendTransaction(
|
|
158
|
+
payer,
|
|
159
|
+
await client.tx.createVault.getTx({
|
|
160
|
+
curator,
|
|
161
|
+
shareMint,
|
|
162
|
+
strictAssetMint: assetMint,
|
|
163
|
+
assetDecimals: 6,
|
|
164
|
+
})
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
await client.sendTransaction(
|
|
168
|
+
payer,
|
|
169
|
+
await client.tx.createTrancheState.getTx({
|
|
170
|
+
curator,
|
|
171
|
+
vault,
|
|
172
|
+
juniorShareMint,
|
|
173
|
+
seniorShareMint,
|
|
174
|
+
seniorFixedApyBps: 1_000,
|
|
175
|
+
})
|
|
176
|
+
);
|
|
177
|
+
|
|
178
|
+
await client.sendTransaction(
|
|
179
|
+
payer,
|
|
180
|
+
await client.tx.updateConsensusSigners.getTx({
|
|
181
|
+
curator,
|
|
182
|
+
vault,
|
|
183
|
+
signers: [curator],
|
|
184
|
+
})
|
|
185
|
+
);
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Example: tranche deposit
|
|
189
|
+
|
|
190
|
+
```typescript
|
|
191
|
+
const plan = await client.tx.executeTrancheDeposit.getTx({
|
|
192
|
+
user: signer,
|
|
193
|
+
vault,
|
|
194
|
+
assetMint,
|
|
195
|
+
trancheShareMint: juniorMint,
|
|
196
|
+
kind: { junior: {} }, // or { senior: {} }
|
|
197
|
+
amount: 1_000_000n,
|
|
198
|
+
});
|
|
199
|
+
await client.sendTransaction(payer, plan);
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Example: junior withdrawal queue
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
// User queues a locked junior withdraw
|
|
206
|
+
await client.sendTransaction(
|
|
207
|
+
payer,
|
|
208
|
+
await client.tx.requestJuniorTrancheWithdraw.getTx({
|
|
209
|
+
owner: signer,
|
|
210
|
+
vault,
|
|
211
|
+
juniorMint,
|
|
212
|
+
queueId: 0,
|
|
213
|
+
shareAmount: 100_000n,
|
|
214
|
+
})
|
|
215
|
+
);
|
|
216
|
+
|
|
217
|
+
// Fulfiller pays out after lockup (see WithdrawalQueueService for batch logic)
|
|
218
|
+
await client.sendTransaction(
|
|
219
|
+
fulfiller,
|
|
220
|
+
await client.tx.fulfillJuniorTrancheWithdraw.getTx({
|
|
221
|
+
fulfiller: fromWeb3Pk(fulfiller.publicKey),
|
|
222
|
+
owner,
|
|
223
|
+
vault,
|
|
224
|
+
queueId: 0,
|
|
225
|
+
})
|
|
226
|
+
);
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Sending transactions
|
|
230
|
+
|
|
231
|
+
### Built-in helper
|
|
232
|
+
|
|
233
|
+
`VaultClient.sendTransaction` builds a legacy `Transaction`, signs with the
|
|
234
|
+
fee payer, sends, confirms, and applies cache invalidations from the plan:
|
|
235
|
+
|
|
236
|
+
```typescript
|
|
237
|
+
const signature = await client.sendTransaction(payer, plan);
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Versioned transactions (lookup tables)
|
|
241
|
+
|
|
242
|
+
Some builders (e.g. `executeWithdraw`, `protocolInteraction`, `jupiterSwap`)
|
|
243
|
+
return `lookupTables` on the plan. `sendTransaction` does **not** compile v0
|
|
244
|
+
messages — use `sendVersionedTransaction` from `common` instead:
|
|
245
|
+
|
|
246
|
+
```typescript
|
|
247
|
+
import { fromKitInstruction, sendVersionedTransaction } from "common";
|
|
248
|
+
|
|
249
|
+
const plan = await client.tx.protocolInteraction.getTx({ /* ... */ });
|
|
250
|
+
|
|
251
|
+
const signature = await sendVersionedTransaction({
|
|
252
|
+
connection: client.provider.connection,
|
|
253
|
+
payer,
|
|
254
|
+
instructions: plan.instructions.map(fromKitInstruction),
|
|
255
|
+
lookupTables: plan.lookupTables ?? [],
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
client.applyCacheInvalidations(plan);
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Composing your own transaction
|
|
262
|
+
|
|
263
|
+
You can merge instructions from multiple builders or mix in custom ixs:
|
|
264
|
+
|
|
265
|
+
```typescript
|
|
266
|
+
const depositPlan = await client.tx.executeDeposit.getTx({ /* ... */ });
|
|
267
|
+
const customIx = /* your instruction */;
|
|
268
|
+
|
|
269
|
+
const combined: VaultTransactionPlan = {
|
|
270
|
+
instructions: [...depositPlan.instructions, customIx],
|
|
271
|
+
postSuccessCacheInvalidations: depositPlan.postSuccessCacheInvalidations,
|
|
272
|
+
};
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Or call `getIx` directly when you only need the program instruction:
|
|
276
|
+
|
|
277
|
+
```typescript
|
|
278
|
+
const ix = await client.tx.executeDeposit.getIx({
|
|
279
|
+
user: signer,
|
|
280
|
+
vault,
|
|
281
|
+
vaultOracle,
|
|
282
|
+
vaultTrancheState: null,
|
|
283
|
+
assetMint,
|
|
284
|
+
shareMint,
|
|
285
|
+
amount: new BN("1000000"),
|
|
286
|
+
assetTokenProgram: TOKEN_PROGRAM_ID,
|
|
287
|
+
shareTokenProgram: TOKEN_PROGRAM_ID,
|
|
288
|
+
userAssetAta,
|
|
289
|
+
vaultAssetAta,
|
|
290
|
+
userShareAta,
|
|
291
|
+
});
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## Reading on-chain state
|
|
295
|
+
|
|
296
|
+
Use `client.account` to fetch decoded vault accounts (cached by default, TTL
|
|
297
|
+
60s):
|
|
298
|
+
|
|
299
|
+
```typescript
|
|
300
|
+
const vaultAccount = await client.account.fetchVault(vault);
|
|
301
|
+
const oracle = await client.account.fetchVaultOracle(vaultOraclePda);
|
|
302
|
+
const trancheState = await client.account.fetchVaultTrancheState(tranchePda);
|
|
303
|
+
|
|
304
|
+
// Force a fresh read after an external tx
|
|
305
|
+
const fresh = await client.account.fetchVault(vault, { fresh: true });
|
|
306
|
+
client.clearAllCache();
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Derive PDAs with `client.pda`:
|
|
310
|
+
|
|
311
|
+
```typescript
|
|
312
|
+
const [vault] = await client.pda.deriveVaultPda(vaultId);
|
|
313
|
+
const [vaultOracle] = await client.pda.deriveVaultOraclePda(vault);
|
|
314
|
+
const [trancheState] = await client.pda.deriveVaultTrancheStatePda(vault);
|
|
315
|
+
const [queue] = await client.pda.deriveWithdrawalQueuePda(
|
|
316
|
+
vault,
|
|
317
|
+
owner,
|
|
318
|
+
queueId
|
|
319
|
+
);
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Available transaction builders
|
|
323
|
+
|
|
324
|
+
All builders are on `client.tx`:
|
|
325
|
+
|
|
326
|
+
| Builder | Program instruction | Typical signer |
|
|
327
|
+
| --- | --- | --- |
|
|
328
|
+
| `createVault` | `create_vault` | Curator |
|
|
329
|
+
| `createAssetHolding` | `create_asset_holding` | HW manager |
|
|
330
|
+
| `removeAssetHolding` | `remove_asset_holding` | HW manager |
|
|
331
|
+
| `updateConsensusSigners` | `update_consensus_signers` | Curator |
|
|
332
|
+
| `createTrancheState` | `create_tranche_state` | Curator |
|
|
333
|
+
| `setVaultConfig` | `set_vault_config` | Curator |
|
|
334
|
+
| `updateTrancheConfig` | `update_tranche_config` | Curator |
|
|
335
|
+
| `activateCircuitBreaker` | `activate_circuit_breaker` | CB trigger |
|
|
336
|
+
| `disableCircuitBreaker` | `disable_circuit_breaker` | Curator |
|
|
337
|
+
| `updateConsensusOracle` | `update_consensus_oracle` | Consensus signer |
|
|
338
|
+
| `executeDeposit` | `execute_deposit` | User |
|
|
339
|
+
| `executeTrancheDeposit` | `execute_tranche_deposit` | User |
|
|
340
|
+
| `executeTrancheWithdraw` | `execute_tranche_withdraw` | User |
|
|
341
|
+
| `requestJuniorTrancheWithdraw` | `request_junior_tranche_withdraw` | Owner |
|
|
342
|
+
| `cancelJuniorTrancheWithdraw` | `cancel_junior_tranche_withdraw` | Owner |
|
|
343
|
+
| `fulfillJuniorTrancheWithdraw` | `fulfill_junior_tranche_withdraw` | Fulfiller |
|
|
344
|
+
| `executeWithdraw` | `execute_withdraw` | User |
|
|
345
|
+
| `managerWithdrawAsset` | `manager_withdraw_asset` | HW manager |
|
|
346
|
+
| `managerRedepositAsset` | `manager_redeposit_asset` | HW manager |
|
|
347
|
+
| `protocolInteraction` | `protocol_interaction` | HW manager |
|
|
348
|
+
| `jupiterSwap` | `jupiter_swap` | HW manager |
|
|
349
|
+
| `setExternalLiquidity` | `set_external_liquidity` | HW manager |
|
|
350
|
+
| `setAssetPriceOracle` | `set_asset_price_oracle` | Curator |
|
|
351
|
+
| `updateAssetPrice` | `update_asset_price` | Oracle keeper |
|
|
352
|
+
| `vaultReallocation` | `vault_reallocation` | HW manager |
|
|
353
|
+
| `withdrawProtocolFees` | `withdraw_protocol_fees` | Curator |
|
|
354
|
+
| `withdrawTrancheFees` | `withdraw_tranche_fees` | Curator |
|
|
355
|
+
|
|
356
|
+
Argument shapes for each builder: [`src/client/builders/args.ts`](src/client/builders/args.ts).
|
|
357
|
+
|
|
358
|
+
## Higher-level services
|
|
359
|
+
|
|
360
|
+
For recurring backend work, prefer the services layer over reimplementing
|
|
361
|
+
discovery logic in your app:
|
|
362
|
+
|
|
363
|
+
- **`WithdrawalQueueService`** — scan and fulfill eligible junior withdrawal
|
|
364
|
+
queues (`src/services/withdrawalQueueService.ts`)
|
|
365
|
+
- **`OracleService`** — consensus oracle / asset price updates
|
|
366
|
+
(`src/services/oracleService.ts`)
|
|
367
|
+
|
|
368
|
+
These services call the same `client.tx.*.getTx` builders internally.
|
|
369
|
+
|
|
370
|
+
## Environment and RPC
|
|
371
|
+
|
|
372
|
+
Copy [`.env.example`](.env.example) to `.env`. RPC resolution order:
|
|
373
|
+
|
|
374
|
+
1. `VAULT_RPC_URL_TEST` / `VAULT_RPC_URL_PROD`
|
|
375
|
+
2. `RPC_URL`
|
|
376
|
+
3. `HELIUS_API_KEY` (auto-built Helius URL)
|
|
377
|
+
|
|
378
|
+
Program ids per environment: `getVaultProgramId("test" | "prod")` in
|
|
379
|
+
[`src/env.ts`](src/env.ts).
|
|
380
|
+
|
|
381
|
+
## CLI scripts
|
|
382
|
+
|
|
383
|
+
Thin wrappers around the SDK live in [`scripts/`](scripts/). From the repo root:
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
pnpm deposit test <VAULT_PDA> 100
|
|
387
|
+
pnpm inspect prod <VAULT_PDA>
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
See [`scripts/README.md`](scripts/README.md) for the full command list.
|
|
391
|
+
|
|
392
|
+
## Types and addresses
|
|
393
|
+
|
|
394
|
+
- Public keys use `@solana/kit` `Address` strings in builder args.
|
|
395
|
+
- Convert from web3.js: `fromWeb3Pk(keypair.publicKey)` (from `common`).
|
|
396
|
+
- Amounts in `TxArgs` are `bigint` base units unless noted otherwise.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Address, Rpc, SolanaRpcApi } from "@solana/kit";
|
|
2
|
+
import { IdlAccounts, Program } from "@anchor-lang/core";
|
|
3
|
+
import { BaseAccountClient } from "common";
|
|
4
|
+
import type { Vault } from "../idl/vault";
|
|
5
|
+
import type { PdaClient } from "./pda";
|
|
6
|
+
export declare const VAULT_CACHE_CATEGORY = "vault";
|
|
7
|
+
export declare const FEE_VAULT_CACHE_CATEGORY = "fee_vault";
|
|
8
|
+
export declare const VAULT_ORACLE_CACHE_CATEGORY = "vault_oracle";
|
|
9
|
+
export declare const VAULT_TRANCHE_STATE_CACHE_CATEGORY = "vault_tranche_state";
|
|
10
|
+
export declare const VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY = "vault_tranche_withdrawal_queue";
|
|
11
|
+
/** Decoded on-chain `Vault` account (from generated IDL types). */
|
|
12
|
+
export type VaultAccountData = IdlAccounts<Vault>["vault"];
|
|
13
|
+
export type FeeVaultAccountData = IdlAccounts<Vault>["feeVault"];
|
|
14
|
+
export type VaultOracleAccountData = IdlAccounts<Vault>["vaultOracle"];
|
|
15
|
+
export type VaultTrancheStateAccountData = IdlAccounts<Vault>["vaultTrancheState"];
|
|
16
|
+
export type VaultTrancheWithdrawalQueueAccountData = IdlAccounts<Vault>["vaultWithdrawalQueue"];
|
|
17
|
+
/**
|
|
18
|
+
* Account fetchers for the vault program.
|
|
19
|
+
*/
|
|
20
|
+
export declare class AccountClient extends BaseAccountClient {
|
|
21
|
+
private readonly program;
|
|
22
|
+
readonly pda: PdaClient;
|
|
23
|
+
constructor(program: Program<Vault>, pda: PdaClient, rpc: Rpc<SolanaRpcApi>);
|
|
24
|
+
fetchVault(vault: Address, opts?: {
|
|
25
|
+
fresh?: boolean;
|
|
26
|
+
}): Promise<VaultAccountData>;
|
|
27
|
+
fetchVaults(vaults: Address[]): Promise<VaultAccountData[]>;
|
|
28
|
+
fetchFeeVault(feeVault: Address, opts?: {
|
|
29
|
+
fresh?: boolean;
|
|
30
|
+
}): Promise<FeeVaultAccountData>;
|
|
31
|
+
fetchFeeVaultForVault(vault: Address, opts?: {
|
|
32
|
+
fresh?: boolean;
|
|
33
|
+
}): Promise<FeeVaultAccountData>;
|
|
34
|
+
fetchVaultOracle(vaultOracle: Address, opts?: {
|
|
35
|
+
fresh?: boolean;
|
|
36
|
+
}): Promise<VaultOracleAccountData>;
|
|
37
|
+
fetchVaultOracleForVault(vault: Address, opts?: {
|
|
38
|
+
fresh?: boolean;
|
|
39
|
+
}): Promise<VaultOracleAccountData>;
|
|
40
|
+
fetchVaultTrancheState(vaultTrancheState: Address, opts?: {
|
|
41
|
+
fresh?: boolean;
|
|
42
|
+
}): Promise<VaultTrancheStateAccountData>;
|
|
43
|
+
fetchVaultTrancheStateForVault(vault: Address, opts?: {
|
|
44
|
+
fresh?: boolean;
|
|
45
|
+
}): Promise<VaultTrancheStateAccountData>;
|
|
46
|
+
fetchVaultTrancheWithdrawalQueue(withdrawalQueue: Address, opts?: {
|
|
47
|
+
fresh?: boolean;
|
|
48
|
+
}): Promise<VaultTrancheWithdrawalQueueAccountData>;
|
|
49
|
+
fetchVaultTrancheWithdrawalQueueForOwner(vault: Address, owner: Address, queueId: number, opts?: {
|
|
50
|
+
fresh?: boolean;
|
|
51
|
+
}): Promise<VaultTrancheWithdrawalQueueAccountData>;
|
|
52
|
+
fetchAllVaults(opts?: {
|
|
53
|
+
fresh?: boolean;
|
|
54
|
+
}): Promise<{
|
|
55
|
+
publicKey: Address;
|
|
56
|
+
account: VaultAccountData;
|
|
57
|
+
}[]>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/client/account.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountClient = exports.VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY = exports.VAULT_TRANCHE_STATE_CACHE_CATEGORY = exports.VAULT_ORACLE_CACHE_CATEGORY = exports.FEE_VAULT_CACHE_CATEGORY = exports.VAULT_CACHE_CATEGORY = void 0;
|
|
4
|
+
const common_1 = require("common");
|
|
5
|
+
exports.VAULT_CACHE_CATEGORY = "vault";
|
|
6
|
+
exports.FEE_VAULT_CACHE_CATEGORY = "fee_vault";
|
|
7
|
+
exports.VAULT_ORACLE_CACHE_CATEGORY = "vault_oracle";
|
|
8
|
+
exports.VAULT_TRANCHE_STATE_CACHE_CATEGORY = "vault_tranche_state";
|
|
9
|
+
exports.VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY = "vault_tranche_withdrawal_queue";
|
|
10
|
+
/**
|
|
11
|
+
* Account fetchers for the vault program.
|
|
12
|
+
*/
|
|
13
|
+
class AccountClient extends common_1.BaseAccountClient {
|
|
14
|
+
constructor(program, pda, rpc) {
|
|
15
|
+
super(rpc, {
|
|
16
|
+
categoryTtlMs: {
|
|
17
|
+
[exports.VAULT_CACHE_CATEGORY]: 60000,
|
|
18
|
+
[exports.FEE_VAULT_CACHE_CATEGORY]: 60000,
|
|
19
|
+
[exports.VAULT_ORACLE_CACHE_CATEGORY]: 60000,
|
|
20
|
+
[exports.VAULT_TRANCHE_STATE_CACHE_CATEGORY]: 60000,
|
|
21
|
+
[exports.VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY]: 60000,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
this.program = program;
|
|
25
|
+
this.pda = pda;
|
|
26
|
+
}
|
|
27
|
+
async fetchVault(vault, opts) {
|
|
28
|
+
if (opts?.fresh) {
|
|
29
|
+
this.dataCache.clearCacheEntry(exports.VAULT_CACHE_CATEGORY, vault);
|
|
30
|
+
}
|
|
31
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.vault.fetch((0, common_1.toWeb3Pk)(vault)), exports.VAULT_CACHE_CATEGORY, vault);
|
|
32
|
+
return data;
|
|
33
|
+
}
|
|
34
|
+
async fetchVaults(vaults) {
|
|
35
|
+
const { data } = await this.dataCache.getDataBatch(() => this.program.account.vault.fetchMultiple(vaults.map(common_1.toWeb3Pk)), exports.VAULT_CACHE_CATEGORY, vaults);
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
38
|
+
async fetchFeeVault(feeVault, opts) {
|
|
39
|
+
if (opts?.fresh) {
|
|
40
|
+
this.dataCache.clearCacheEntry(exports.FEE_VAULT_CACHE_CATEGORY, feeVault);
|
|
41
|
+
}
|
|
42
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.feeVault.fetch((0, common_1.toWeb3Pk)(feeVault)), exports.FEE_VAULT_CACHE_CATEGORY, feeVault);
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
async fetchFeeVaultForVault(vault, opts) {
|
|
46
|
+
const [feeVault] = await this.pda.deriveFeeAuthorityPda(vault);
|
|
47
|
+
return this.fetchFeeVault(feeVault, opts);
|
|
48
|
+
}
|
|
49
|
+
async fetchVaultOracle(vaultOracle, opts) {
|
|
50
|
+
if (opts?.fresh) {
|
|
51
|
+
this.dataCache.clearCacheEntry(exports.VAULT_ORACLE_CACHE_CATEGORY, vaultOracle);
|
|
52
|
+
}
|
|
53
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.vaultOracle.fetch((0, common_1.toWeb3Pk)(vaultOracle)), exports.VAULT_ORACLE_CACHE_CATEGORY, vaultOracle);
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
async fetchVaultOracleForVault(vault, opts) {
|
|
57
|
+
const [vaultOracle] = await this.pda.deriveVaultOraclePda(vault);
|
|
58
|
+
return this.fetchVaultOracle(vaultOracle, opts);
|
|
59
|
+
}
|
|
60
|
+
async fetchVaultTrancheState(vaultTrancheState, opts) {
|
|
61
|
+
if (opts?.fresh) {
|
|
62
|
+
this.dataCache.clearCacheEntry(exports.VAULT_TRANCHE_STATE_CACHE_CATEGORY, vaultTrancheState);
|
|
63
|
+
}
|
|
64
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.vaultTrancheState.fetch((0, common_1.toWeb3Pk)(vaultTrancheState)), exports.VAULT_TRANCHE_STATE_CACHE_CATEGORY, vaultTrancheState);
|
|
65
|
+
return data;
|
|
66
|
+
}
|
|
67
|
+
async fetchVaultTrancheStateForVault(vault, opts) {
|
|
68
|
+
const [vaultTrancheState] = await this.pda.deriveVaultTrancheStatePda(vault);
|
|
69
|
+
return this.fetchVaultTrancheState(vaultTrancheState, opts);
|
|
70
|
+
}
|
|
71
|
+
async fetchVaultTrancheWithdrawalQueue(withdrawalQueue, opts) {
|
|
72
|
+
if (opts?.fresh) {
|
|
73
|
+
this.dataCache.clearCacheEntry(exports.VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY, withdrawalQueue);
|
|
74
|
+
}
|
|
75
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.vaultWithdrawalQueue.fetch((0, common_1.toWeb3Pk)(withdrawalQueue)), exports.VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY, withdrawalQueue);
|
|
76
|
+
return data;
|
|
77
|
+
}
|
|
78
|
+
async fetchVaultTrancheWithdrawalQueueForOwner(vault, owner, queueId, opts) {
|
|
79
|
+
const [withdrawalQueue] = await this.pda.deriveVaultTrancheWithdrawalQueuePda(vault, owner, queueId);
|
|
80
|
+
return this.fetchVaultTrancheWithdrawalQueue(withdrawalQueue, opts);
|
|
81
|
+
}
|
|
82
|
+
async fetchAllVaults(opts) {
|
|
83
|
+
if (opts?.fresh) {
|
|
84
|
+
this.dataCache.clearCacheEntry(exports.VAULT_CACHE_CATEGORY, "all");
|
|
85
|
+
}
|
|
86
|
+
const { data } = await this.dataCache.getDataOrThrow(() => this.program.account.vault.all(), exports.VAULT_CACHE_CATEGORY, "all");
|
|
87
|
+
return data.map((acc) => ({
|
|
88
|
+
publicKey: (0, common_1.fromWeb3Pk)(acc.publicKey),
|
|
89
|
+
account: acc.account,
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.AccountClient = AccountClient;
|
|
94
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/client/account.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VaultBuilderBase } from "./base";
|
|
2
|
+
import type { ActivateCircuitBreakerIxArgs, ActivateCircuitBreakerTxArgs } from "./args";
|
|
3
|
+
export declare class ActivateCircuitBreakerBuilder extends VaultBuilderBase<ActivateCircuitBreakerIxArgs, ActivateCircuitBreakerTxArgs> {
|
|
4
|
+
getIx(args: ActivateCircuitBreakerIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
|
|
5
|
+
protected deriveIxArgs(txArgs: ActivateCircuitBreakerTxArgs): Promise<ActivateCircuitBreakerIxArgs>;
|
|
6
|
+
protected buildPlanExtras(args: ActivateCircuitBreakerIxArgs): Promise<{
|
|
7
|
+
postSuccessCacheInvalidations: {
|
|
8
|
+
vaultPda: import("@solana/kit").Address;
|
|
9
|
+
}[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=activateCircuitBreaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activateCircuitBreaker.d.ts","sourceRoot":"","sources":["../../../src/client/builders/activateCircuitBreaker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,QAAQ,CAAC;AAEhB,qBAAa,6BAA8B,SAAQ,gBAAgB,CACjE,4BAA4B,EAC5B,4BAA4B,CAC7B;IACO,KAAK,CAAC,IAAI,EAAE,4BAA4B;cAW9B,YAAY,CAC1B,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,4BAA4B,CAAC;cAIxB,eAAe,CAAC,IAAI,EAAE,4BAA4B;;;;;CAKnE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActivateCircuitBreakerBuilder = void 0;
|
|
4
|
+
const common_1 = require("common");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
class ActivateCircuitBreakerBuilder extends base_1.VaultBuilderBase {
|
|
7
|
+
async getIx(args) {
|
|
8
|
+
return this.program.methods
|
|
9
|
+
.activateCircuitBreaker()
|
|
10
|
+
.accountsPartial({
|
|
11
|
+
cbTrigger: (0, common_1.toWeb3Pk)(args.cbTrigger),
|
|
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.ActivateCircuitBreakerBuilder = ActivateCircuitBreakerBuilder;
|
|
27
|
+
//# sourceMappingURL=activateCircuitBreaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activateCircuitBreaker.js","sourceRoot":"","sources":["../../../src/client/builders/activateCircuitBreaker.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,iCAA0C;AAM1C,MAAa,6BAA8B,SAAQ,uBAGlD;IACC,KAAK,CAAC,KAAK,CAAC,IAAkC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,sBAAsB,EAAE;aACxB,eAAe,CAAC;YACf,SAAS,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,SAAS,CAAC;YACnC,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,MAAoC;QAEpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAkC;QAChE,OAAO;YACL,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AA1BD,sEA0BC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { BN } from "@anchor-lang/core";
|
|
2
|
+
import type { Address } from "@solana/kit";
|
|
3
|
+
import type { ConsensusAssetUpdate, CreateVaultParams } from "./args";
|
|
4
|
+
export declare function toAnchorCreateVaultParams(params: CreateVaultParams): {
|
|
5
|
+
hwManager: import("@solana/web3.js").PublicKey;
|
|
6
|
+
cbTrigger: import("@solana/web3.js").PublicKey;
|
|
7
|
+
feeCollector: import("@solana/web3.js").PublicKey;
|
|
8
|
+
baseAssetMint: import("@solana/web3.js").PublicKey;
|
|
9
|
+
basePriceOracleAccount: import("@solana/web3.js").PublicKey;
|
|
10
|
+
vaultId: number;
|
|
11
|
+
assetDecimals: number;
|
|
12
|
+
mintFeeBps: number;
|
|
13
|
+
burnFeeBps: number;
|
|
14
|
+
performanceFeeBps: number;
|
|
15
|
+
fixedApyBps: number;
|
|
16
|
+
maxApyBps: number;
|
|
17
|
+
tvlLimit: BN;
|
|
18
|
+
lossesEnabled: boolean;
|
|
19
|
+
initialMintSharePrice: BN | null;
|
|
20
|
+
basePriceOracleType: number;
|
|
21
|
+
basePrice: BN;
|
|
22
|
+
forMigration: boolean;
|
|
23
|
+
};
|
|
24
|
+
export declare function toAnchorSetVaultConfigArgs(args: {
|
|
25
|
+
manager: Address | null;
|
|
26
|
+
hwManager: Address | null;
|
|
27
|
+
cbTrigger: Address | null;
|
|
28
|
+
fulfiller: Address | null;
|
|
29
|
+
feeCollector: Address | null;
|
|
30
|
+
mintFeeBps: number | null;
|
|
31
|
+
burnFeeBps: number | null;
|
|
32
|
+
performanceFeeBps: number | null;
|
|
33
|
+
fixedApyBps: number | null;
|
|
34
|
+
maxApyBps: number | null;
|
|
35
|
+
tvlLimit: BN | null;
|
|
36
|
+
lossesEnabled: boolean | null;
|
|
37
|
+
priceStalenessThresholdSecs: BN | null;
|
|
38
|
+
}): {
|
|
39
|
+
manager: import("@solana/web3.js").PublicKey | null;
|
|
40
|
+
hwManager: import("@solana/web3.js").PublicKey | null;
|
|
41
|
+
cbTrigger: import("@solana/web3.js").PublicKey | null;
|
|
42
|
+
fulfiller: import("@solana/web3.js").PublicKey | null;
|
|
43
|
+
feeCollector: import("@solana/web3.js").PublicKey | null;
|
|
44
|
+
mintFeeBps: number | null;
|
|
45
|
+
burnFeeBps: number | null;
|
|
46
|
+
performanceFeeBps: number | null;
|
|
47
|
+
fixedApyBps: number | null;
|
|
48
|
+
maxApyBps: number | null;
|
|
49
|
+
tvlLimit: BN | null;
|
|
50
|
+
lossesEnabled: boolean | null;
|
|
51
|
+
priceStalenessThresholdSecs: BN | null;
|
|
52
|
+
};
|
|
53
|
+
export declare function toAnchorConsensusUpdates(updates: ConsensusAssetUpdate[]): {
|
|
54
|
+
holdingIndex: number;
|
|
55
|
+
mint: import("@solana/web3.js").PublicKey | null;
|
|
56
|
+
price: BN;
|
|
57
|
+
externalAmount: BN;
|
|
58
|
+
}[];
|
|
59
|
+
//# sourceMappingURL=anchorArgs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchorArgs.d.ts","sourceRoot":"","sources":["../../../src/client/builders/anchorArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEtE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;EASlE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,2BAA2B,EAAE,EAAE,GAAG,IAAI,CAAC;CACxC;;;;;;;;;;;;;;EAgBA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,EAAE;;;;;IAOvE"}
|