@waiaas/actions 2.11.0-rc.8 → 2.11.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 +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/providers/aave-v3/__tests__/aave-v3-provider.test.d.ts +2 -0
- package/dist/providers/aave-v3/__tests__/aave-v3-provider.test.d.ts.map +1 -0
- package/dist/providers/aave-v3/__tests__/aave-v3-provider.test.js +97 -0
- package/dist/providers/aave-v3/__tests__/aave-v3-provider.test.js.map +1 -0
- package/dist/providers/aave-v3/aave-contracts.d.ts +8 -0
- package/dist/providers/aave-v3/aave-contracts.d.ts.map +1 -1
- package/dist/providers/aave-v3/aave-contracts.js +13 -0
- package/dist/providers/aave-v3/aave-contracts.js.map +1 -1
- package/dist/providers/aave-v3/aave-rpc.d.ts +10 -0
- package/dist/providers/aave-v3/aave-rpc.d.ts.map +1 -1
- package/dist/providers/aave-v3/aave-rpc.js +16 -0
- package/dist/providers/aave-v3/aave-rpc.js.map +1 -1
- package/dist/providers/aave-v3/index.d.ts +10 -2
- package/dist/providers/aave-v3/index.d.ts.map +1 -1
- package/dist/providers/aave-v3/index.js +128 -128
- package/dist/providers/aave-v3/index.js.map +1 -1
- package/dist/providers/across/index.d.ts.map +1 -1
- package/dist/providers/across/index.js +1 -0
- package/dist/providers/across/index.js.map +1 -1
- package/dist/providers/dcent-swap/auto-router.d.ts.map +1 -1
- package/dist/providers/dcent-swap/auto-router.js +8 -0
- package/dist/providers/dcent-swap/auto-router.js.map +1 -1
- package/dist/providers/dcent-swap/dcent-api-client.d.ts +1 -0
- package/dist/providers/dcent-swap/dcent-api-client.d.ts.map +1 -1
- package/dist/providers/dcent-swap/dcent-api-client.js.map +1 -1
- package/dist/providers/dcent-swap/dex-swap.d.ts +1 -0
- package/dist/providers/dcent-swap/dex-swap.d.ts.map +1 -1
- package/dist/providers/dcent-swap/dex-swap.js +13 -2
- package/dist/providers/dcent-swap/dex-swap.js.map +1 -1
- package/dist/providers/dcent-swap/index.d.ts +2 -2
- package/dist/providers/dcent-swap/index.d.ts.map +1 -1
- package/dist/providers/dcent-swap/index.js +56 -16
- package/dist/providers/dcent-swap/index.js.map +1 -1
- package/dist/providers/drift/config.d.ts +2 -0
- package/dist/providers/drift/config.d.ts.map +1 -1
- package/dist/providers/drift/config.js.map +1 -1
- package/dist/providers/drift/drift-sdk-wrapper.d.ts +12 -9
- package/dist/providers/drift/drift-sdk-wrapper.d.ts.map +1 -1
- package/dist/providers/drift/drift-sdk-wrapper.js +220 -20
- package/dist/providers/drift/drift-sdk-wrapper.js.map +1 -1
- package/dist/providers/drift/index.d.ts +2 -2
- package/dist/providers/drift/index.d.ts.map +1 -1
- package/dist/providers/drift/index.js +9 -4
- package/dist/providers/drift/index.js.map +1 -1
- package/dist/providers/erc8004/index.d.ts.map +1 -1
- package/dist/providers/erc8004/index.js +1 -0
- package/dist/providers/erc8004/index.js.map +1 -1
- package/dist/providers/hyperliquid/__tests__/perp-provider.test.js +13 -6
- package/dist/providers/hyperliquid/__tests__/perp-provider.test.js.map +1 -1
- package/dist/providers/hyperliquid/__tests__/spot-provider.test.js +11 -4
- package/dist/providers/hyperliquid/__tests__/spot-provider.test.js.map +1 -1
- package/dist/providers/hyperliquid/perp-provider.d.ts +2 -2
- package/dist/providers/hyperliquid/perp-provider.d.ts.map +1 -1
- package/dist/providers/hyperliquid/perp-provider.js +7 -3
- package/dist/providers/hyperliquid/perp-provider.js.map +1 -1
- package/dist/providers/hyperliquid/schemas.d.ts +14 -14
- package/dist/providers/hyperliquid/spot-provider.d.ts +2 -2
- package/dist/providers/hyperliquid/spot-provider.d.ts.map +1 -1
- package/dist/providers/hyperliquid/spot-provider.js +7 -3
- package/dist/providers/hyperliquid/spot-provider.js.map +1 -1
- package/dist/providers/hyperliquid/sub-account-provider.d.ts.map +1 -1
- package/dist/providers/hyperliquid/sub-account-provider.js +1 -0
- package/dist/providers/hyperliquid/sub-account-provider.js.map +1 -1
- package/dist/providers/jito-staking/__tests__/jito-staking-provider.test.d.ts +2 -0
- package/dist/providers/jito-staking/__tests__/jito-staking-provider.test.d.ts.map +1 -0
- package/dist/providers/jito-staking/__tests__/jito-staking-provider.test.js +107 -0
- package/dist/providers/jito-staking/__tests__/jito-staking-provider.test.js.map +1 -0
- package/dist/providers/jito-staking/config.d.ts +12 -3
- package/dist/providers/jito-staking/config.d.ts.map +1 -1
- package/dist/providers/jito-staking/config.js +12 -3
- package/dist/providers/jito-staking/config.js.map +1 -1
- package/dist/providers/jito-staking/index.d.ts +2 -2
- package/dist/providers/jito-staking/index.d.ts.map +1 -1
- package/dist/providers/jito-staking/index.js +25 -8
- package/dist/providers/jito-staking/index.js.map +1 -1
- package/dist/providers/jito-staking/jito-migration.test.js +107 -1
- package/dist/providers/jito-staking/jito-migration.test.js.map +1 -1
- package/dist/providers/jito-staking/jito-stake-pool.d.ts +18 -5
- package/dist/providers/jito-staking/jito-stake-pool.d.ts.map +1 -1
- package/dist/providers/jito-staking/jito-stake-pool.js +61 -21
- package/dist/providers/jito-staking/jito-stake-pool.js.map +1 -1
- package/dist/providers/jupiter-swap/__tests__/jupiter-swap-provider.test.d.ts +2 -0
- package/dist/providers/jupiter-swap/__tests__/jupiter-swap-provider.test.d.ts.map +1 -0
- package/dist/providers/jupiter-swap/__tests__/jupiter-swap-provider.test.js +177 -0
- package/dist/providers/jupiter-swap/__tests__/jupiter-swap-provider.test.js.map +1 -0
- package/dist/providers/jupiter-swap/index.d.ts.map +1 -1
- package/dist/providers/jupiter-swap/index.js +35 -1
- package/dist/providers/jupiter-swap/index.js.map +1 -1
- package/dist/providers/jupiter-swap/schemas.d.ts +30 -30
- package/dist/providers/jupiter-swap/schemas.js +2 -2
- package/dist/providers/jupiter-swap/schemas.js.map +1 -1
- package/dist/providers/kamino/config.d.ts +2 -0
- package/dist/providers/kamino/config.d.ts.map +1 -1
- package/dist/providers/kamino/config.js.map +1 -1
- package/dist/providers/kamino/index.d.ts +2 -2
- package/dist/providers/kamino/index.d.ts.map +1 -1
- package/dist/providers/kamino/index.js +11 -6
- package/dist/providers/kamino/index.js.map +1 -1
- package/dist/providers/kamino/kamino-sdk-wrapper.d.ts +12 -10
- package/dist/providers/kamino/kamino-sdk-wrapper.d.ts.map +1 -1
- package/dist/providers/kamino/kamino-sdk-wrapper.js +134 -20
- package/dist/providers/kamino/kamino-sdk-wrapper.js.map +1 -1
- package/dist/providers/lido-staking/__tests__/lido-staking-provider.test.d.ts +2 -0
- package/dist/providers/lido-staking/__tests__/lido-staking-provider.test.d.ts.map +1 -0
- package/dist/providers/lido-staking/__tests__/lido-staking-provider.test.js +106 -0
- package/dist/providers/lido-staking/__tests__/lido-staking-provider.test.js.map +1 -0
- package/dist/providers/lido-staking/index.d.ts +10 -7
- package/dist/providers/lido-staking/index.d.ts.map +1 -1
- package/dist/providers/lido-staking/index.js +67 -47
- package/dist/providers/lido-staking/index.js.map +1 -1
- package/dist/providers/lido-staking/lido-contract.d.ts +16 -2
- package/dist/providers/lido-staking/lido-contract.d.ts.map +1 -1
- package/dist/providers/lido-staking/lido-contract.js +43 -2
- package/dist/providers/lido-staking/lido-contract.js.map +1 -1
- package/dist/providers/lifi/__tests__/lifi-provider.test.d.ts +2 -0
- package/dist/providers/lifi/__tests__/lifi-provider.test.d.ts.map +1 -0
- package/dist/providers/lifi/__tests__/lifi-provider.test.js +196 -0
- package/dist/providers/lifi/__tests__/lifi-provider.test.js.map +1 -0
- package/dist/providers/lifi/index.d.ts.map +1 -1
- package/dist/providers/lifi/index.js +1 -0
- package/dist/providers/lifi/index.js.map +1 -1
- package/dist/providers/pendle/__tests__/pendle-api-client.test.js +79 -0
- package/dist/providers/pendle/__tests__/pendle-api-client.test.js.map +1 -1
- package/dist/providers/pendle/__tests__/pendle-provider.test.js +28 -8
- package/dist/providers/pendle/__tests__/pendle-provider.test.js.map +1 -1
- package/dist/providers/pendle/config.d.ts +2 -0
- package/dist/providers/pendle/config.d.ts.map +1 -1
- package/dist/providers/pendle/config.js +2 -0
- package/dist/providers/pendle/config.js.map +1 -1
- package/dist/providers/pendle/index.d.ts +8 -4
- package/dist/providers/pendle/index.d.ts.map +1 -1
- package/dist/providers/pendle/index.js +82 -69
- package/dist/providers/pendle/index.js.map +1 -1
- package/dist/providers/pendle/pendle-api-client.d.ts +2 -2
- package/dist/providers/pendle/pendle-api-client.d.ts.map +1 -1
- package/dist/providers/pendle/pendle-api-client.js +9 -2
- package/dist/providers/pendle/pendle-api-client.js.map +1 -1
- package/dist/providers/pendle/schemas.d.ts +748 -32
- package/dist/providers/pendle/schemas.d.ts.map +1 -1
- package/dist/providers/pendle/schemas.js +17 -4
- package/dist/providers/pendle/schemas.js.map +1 -1
- package/dist/providers/polymarket/__tests__/infrastructure.test.d.ts +2 -0
- package/dist/providers/polymarket/__tests__/infrastructure.test.d.ts.map +1 -0
- package/dist/providers/polymarket/__tests__/infrastructure.test.js +117 -0
- package/dist/providers/polymarket/__tests__/infrastructure.test.js.map +1 -0
- package/dist/providers/polymarket/ctf-provider.d.ts.map +1 -1
- package/dist/providers/polymarket/ctf-provider.js +1 -0
- package/dist/providers/polymarket/ctf-provider.js.map +1 -1
- package/dist/providers/polymarket/order-provider.d.ts.map +1 -1
- package/dist/providers/polymarket/order-provider.js +1 -0
- package/dist/providers/polymarket/order-provider.js.map +1 -1
- package/dist/providers/polymarket/schemas.d.ts +20 -20
- package/dist/providers/zerox-swap/__tests__/zerox-swap-provider.test.d.ts +2 -0
- package/dist/providers/zerox-swap/__tests__/zerox-swap-provider.test.d.ts.map +1 -0
- package/dist/providers/zerox-swap/__tests__/zerox-swap-provider.test.js +154 -0
- package/dist/providers/zerox-swap/__tests__/zerox-swap-provider.test.js.map +1 -0
- package/dist/providers/zerox-swap/index.d.ts.map +1 -1
- package/dist/providers/zerox-swap/index.js +1 -0
- package/dist/providers/zerox-swap/index.js.map +1 -1
- package/package.json +7 -2
|
@@ -14,7 +14,7 @@ import { JITO_STAKING_DEFAULTS, JITO_MIN_DEPOSIT_LAMPORTS, JITO_MIN_DEPOSIT_SOL
|
|
|
14
14
|
import { buildDepositSolRequest, buildWithdrawSolRequest, getJitoSolBalance, getStakePoolExchangeRate, } from './jito-stake-pool.js';
|
|
15
15
|
import { migrateAmount } from '../../common/migrate-amount.js';
|
|
16
16
|
import { resolveProviderHumanAmount } from '../../common/resolve-human-amount.js';
|
|
17
|
-
import { formatCaip19 } from '@waiaas/core';
|
|
17
|
+
import { formatCaip19, networkToCaip2 } from '@waiaas/core';
|
|
18
18
|
// ---------------------------------------------------------------------------
|
|
19
19
|
// Input schemas (Zod SSoT)
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
@@ -45,6 +45,7 @@ export class JitoStakingActionProvider {
|
|
|
45
45
|
this.rpcUrl = this.config.rpcUrl;
|
|
46
46
|
this.metadata = {
|
|
47
47
|
name: 'jito_staking',
|
|
48
|
+
displayName: 'Jito Staking',
|
|
48
49
|
description: 'Jito liquid staking protocol for SOL to JitoSOL conversion via SPL Stake Pool',
|
|
49
50
|
version: '1.0.0',
|
|
50
51
|
chains: ['solana'],
|
|
@@ -87,6 +88,11 @@ export class JitoStakingActionProvider {
|
|
|
87
88
|
// Stake: SOL -> JitoSOL via DepositSol
|
|
88
89
|
// -------------------------------------------------------------------------
|
|
89
90
|
async resolveStake(params, context) {
|
|
91
|
+
if (!this.rpcUrl) {
|
|
92
|
+
throw new ChainError('INVALID_INSTRUCTION', 'solana', {
|
|
93
|
+
message: 'rpcUrl is required for Jito staking (needed to read on-chain stake pool accounts)',
|
|
94
|
+
});
|
|
95
|
+
}
|
|
90
96
|
const rp = { ...params };
|
|
91
97
|
resolveProviderHumanAmount(rp, 'amount', 'humanAmount');
|
|
92
98
|
const input = JitoStakeInputSchema.parse(rp);
|
|
@@ -100,12 +106,17 @@ export class JitoStakingActionProvider {
|
|
|
100
106
|
message: `Minimum Jito stake deposit is ${JITO_MIN_DEPOSIT_SOL} SOL`,
|
|
101
107
|
});
|
|
102
108
|
}
|
|
103
|
-
return buildDepositSolRequest(this.config, amountLamports, context.walletAddress);
|
|
109
|
+
return buildDepositSolRequest(this.config, amountLamports, context.walletAddress, this.rpcUrl);
|
|
104
110
|
}
|
|
105
111
|
// -------------------------------------------------------------------------
|
|
106
112
|
// Unstake: JitoSOL -> SOL via WithdrawSol
|
|
107
113
|
// -------------------------------------------------------------------------
|
|
108
114
|
async resolveUnstake(params, context) {
|
|
115
|
+
if (!this.rpcUrl) {
|
|
116
|
+
throw new ChainError('INVALID_INSTRUCTION', 'solana', {
|
|
117
|
+
message: 'rpcUrl is required for Jito unstaking (needed to read on-chain stake pool accounts)',
|
|
118
|
+
});
|
|
119
|
+
}
|
|
109
120
|
const rp = { ...params };
|
|
110
121
|
resolveProviderHumanAmount(rp, 'amount', 'humanAmount');
|
|
111
122
|
const input = JitoUnstakeInputSchema.parse(rp);
|
|
@@ -114,7 +125,7 @@ export class JitoStakingActionProvider {
|
|
|
114
125
|
const amountLamports = migrateAmount(input.amount, 9);
|
|
115
126
|
if (amountLamports === 0n)
|
|
116
127
|
throw new ChainError('INVALID_INSTRUCTION', 'solana', { message: 'Amount must be greater than 0' });
|
|
117
|
-
return buildWithdrawSolRequest(this.config, amountLamports, context.walletAddress);
|
|
128
|
+
return buildWithdrawSolRequest(this.config, amountLamports, context.walletAddress, this.rpcUrl);
|
|
118
129
|
}
|
|
119
130
|
// -------------------------------------------------------------------------
|
|
120
131
|
// IPositionProvider methods (duck-type, no formal implements)
|
|
@@ -123,24 +134,30 @@ export class JitoStakingActionProvider {
|
|
|
123
134
|
* Query jitoSOL token balance and stake pool exchange rate for the given wallet.
|
|
124
135
|
* Returns STAKING position with SOL-equivalent underlyingAmount.
|
|
125
136
|
*/
|
|
126
|
-
async getPositions(
|
|
137
|
+
async getPositions(ctx) {
|
|
138
|
+
if (ctx.chain !== 'solana')
|
|
139
|
+
return [];
|
|
127
140
|
if (!this.rpcUrl)
|
|
128
141
|
return [];
|
|
142
|
+
const walletAddress = ctx.walletAddress;
|
|
143
|
+
const network = ctx.networks[0] ?? 'solana-mainnet';
|
|
129
144
|
try {
|
|
130
|
-
const balance = await getJitoSolBalance(this.rpcUrl,
|
|
145
|
+
const balance = await getJitoSolBalance(this.rpcUrl, walletAddress, this.config.jitosolMint);
|
|
131
146
|
if (!balance || balance.uiAmount === 0)
|
|
132
147
|
return [];
|
|
133
148
|
const exchangeRate = await getStakePoolExchangeRate(this.rpcUrl, this.config.stakePoolAddress);
|
|
134
149
|
const solEquivalent = balance.uiAmount * exchangeRate;
|
|
135
150
|
const now = Math.floor(Date.now() / 1000);
|
|
151
|
+
// Use networkToCaip2 for correct CAIP-2 identifier per network (MCHN-08)
|
|
152
|
+
const caip2 = networkToCaip2(network);
|
|
136
153
|
return [
|
|
137
154
|
{
|
|
138
|
-
walletId,
|
|
155
|
+
walletId: ctx.walletId,
|
|
139
156
|
category: 'STAKING',
|
|
140
157
|
provider: 'jito_staking',
|
|
141
158
|
chain: 'solana',
|
|
142
|
-
network
|
|
143
|
-
assetId: formatCaip19(
|
|
159
|
+
network,
|
|
160
|
+
assetId: formatCaip19(caip2, 'token', this.config.jitosolMint),
|
|
144
161
|
amount: String(balance.uiAmount),
|
|
145
162
|
amountUsd: null,
|
|
146
163
|
metadata: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/jito-staking/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,OAAO,EAA0B,qBAAqB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7H,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/jito-staking/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,25 +5,84 @@
|
|
|
5
5
|
* - Smallest-unit integer inputs (lamports) pass through as BigInt
|
|
6
6
|
* - Legacy decimal inputs trigger migrateAmount auto-conversion + deprecation warning
|
|
7
7
|
* - JITO_MIN_DEPOSIT_LAMPORTS check works correctly with smallest-unit input
|
|
8
|
+
* - Dynamic on-chain stake pool account lookup is used for manager_fee_account
|
|
8
9
|
*/
|
|
9
10
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
10
11
|
import { JitoStakingActionProvider } from './index.js';
|
|
11
12
|
import { JITO_MIN_DEPOSIT_LAMPORTS } from './config.js';
|
|
13
|
+
import { base58Decode } from './jito-stake-pool.js';
|
|
12
14
|
const TEST_WALLET = '7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU';
|
|
15
|
+
const TEST_RPC_URL = 'https://api.mainnet-beta.solana.com';
|
|
16
|
+
// Known manager fee and reserve stake accounts used in mocked RPC response
|
|
17
|
+
const MOCK_MANAGER_FEE = 'B1aLzaNMeFVAyQ6f3XbbUyKcH2YPHu2fqiEagmiF23VR';
|
|
18
|
+
const MOCK_RESERVE_STAKE = 'BgKUXdS29YcHCFrPm5M8oLHiTzZaMDjsebggjoaQ6KFL';
|
|
13
19
|
const TEST_CONTEXT = {
|
|
14
20
|
walletAddress: TEST_WALLET,
|
|
15
21
|
walletId: 'test-wallet',
|
|
16
22
|
chain: 'solana',
|
|
17
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Build a fake stake pool account data buffer.
|
|
26
|
+
*
|
|
27
|
+
* SPL Stake Pool Borsh layout (relevant offsets):
|
|
28
|
+
* - reserve_stake: 32 bytes at offset 130
|
|
29
|
+
* - manager_fee_account: 32 bytes at offset 194
|
|
30
|
+
* - total_lamports: u64 LE at offset 258
|
|
31
|
+
* - pool_token_supply: u64 LE at offset 266
|
|
32
|
+
*/
|
|
33
|
+
function buildFakeStakePoolBuffer() {
|
|
34
|
+
const buf = Buffer.alloc(300, 0);
|
|
35
|
+
// Write reserve_stake at offset 130
|
|
36
|
+
const reserveBytes = base58Decode(MOCK_RESERVE_STAKE);
|
|
37
|
+
buf.set(reserveBytes, 130);
|
|
38
|
+
// Write manager_fee_account at offset 194
|
|
39
|
+
const managerBytes = base58Decode(MOCK_MANAGER_FEE);
|
|
40
|
+
buf.set(managerBytes, 194);
|
|
41
|
+
// Write total_lamports at offset 258 (1000 SOL in lamports)
|
|
42
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
43
|
+
view.setBigUint64(258, 1000000000000n, true);
|
|
44
|
+
// Write pool_token_supply at offset 266
|
|
45
|
+
view.setBigUint64(266, 1000000000000n, true);
|
|
46
|
+
return buf;
|
|
47
|
+
}
|
|
48
|
+
/** Build a getAccountInfo JSON-RPC response for the stake pool. */
|
|
49
|
+
function buildStakePoolRpcResponse() {
|
|
50
|
+
const buf = buildFakeStakePoolBuffer();
|
|
51
|
+
return {
|
|
52
|
+
jsonrpc: '2.0',
|
|
53
|
+
id: 1,
|
|
54
|
+
result: {
|
|
55
|
+
value: {
|
|
56
|
+
data: [buf.toString('base64'), 'base64'],
|
|
57
|
+
executable: false,
|
|
58
|
+
lamports: 100000000,
|
|
59
|
+
owner: 'SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy',
|
|
60
|
+
rentEpoch: 0,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
18
65
|
describe('Jito smallest-unit migration', () => {
|
|
19
66
|
let provider;
|
|
20
67
|
let warnSpy;
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
|
+
let fetchSpy;
|
|
21
70
|
beforeEach(() => {
|
|
22
|
-
provider = new JitoStakingActionProvider();
|
|
71
|
+
provider = new JitoStakingActionProvider({ rpcUrl: TEST_RPC_URL });
|
|
23
72
|
warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
|
|
73
|
+
// Mock global fetch to return fake stake pool RPC data.
|
|
74
|
+
// The provider also calls getTokenAccountsByOwner internally via getAssociatedTokenAddress
|
|
75
|
+
// which does NOT call fetch — ATA is derived locally. So all fetch calls go to getAccountInfo.
|
|
76
|
+
fetchSpy = vi.spyOn(globalThis, 'fetch').mockImplementation(async () => {
|
|
77
|
+
return new Response(JSON.stringify(buildStakePoolRpcResponse()), {
|
|
78
|
+
status: 200,
|
|
79
|
+
headers: { 'Content-Type': 'application/json' },
|
|
80
|
+
});
|
|
81
|
+
});
|
|
24
82
|
});
|
|
25
83
|
afterEach(() => {
|
|
26
84
|
warnSpy.mockRestore();
|
|
85
|
+
fetchSpy.mockRestore();
|
|
27
86
|
});
|
|
28
87
|
describe('stake', () => {
|
|
29
88
|
it('uses smallest-unit (lamports) integer directly', async () => {
|
|
@@ -42,6 +101,21 @@ describe('Jito smallest-unit migration', () => {
|
|
|
42
101
|
const belowMin = (JITO_MIN_DEPOSIT_LAMPORTS - 1n).toString();
|
|
43
102
|
await expect(provider.resolve('stake', { amount: belowMin }, TEST_CONTEXT)).rejects.toThrow(/Minimum Jito stake deposit/);
|
|
44
103
|
});
|
|
104
|
+
it('uses dynamic manager_fee_account from on-chain stake pool data', async () => {
|
|
105
|
+
const result = await provider.resolve('stake', { amount: '1500000000' }, TEST_CONTEXT);
|
|
106
|
+
// accounts[5] = managerFeeAccount, accounts[6] = referralFeeAccount (same)
|
|
107
|
+
expect(result.accounts[5].pubkey).toBe(MOCK_MANAGER_FEE);
|
|
108
|
+
expect(result.accounts[6].pubkey).toBe(MOCK_MANAGER_FEE);
|
|
109
|
+
});
|
|
110
|
+
it('uses dynamic reserve_stake from on-chain stake pool data', async () => {
|
|
111
|
+
const result = await provider.resolve('stake', { amount: '1500000000' }, TEST_CONTEXT);
|
|
112
|
+
// accounts[2] = reserveStake
|
|
113
|
+
expect(result.accounts[2].pubkey).toBe(MOCK_RESERVE_STAKE);
|
|
114
|
+
});
|
|
115
|
+
it('throws when rpcUrl is not configured', async () => {
|
|
116
|
+
const providerNoRpc = new JitoStakingActionProvider();
|
|
117
|
+
await expect(providerNoRpc.resolve('stake', { amount: '1500000000' }, TEST_CONTEXT)).rejects.toThrow(/rpcUrl is required/);
|
|
118
|
+
});
|
|
45
119
|
});
|
|
46
120
|
describe('unstake', () => {
|
|
47
121
|
it('uses smallest-unit (lamports) integer directly', async () => {
|
|
@@ -50,6 +124,38 @@ describe('Jito smallest-unit migration', () => {
|
|
|
50
124
|
expect(result.type).toBe('CONTRACT_CALL');
|
|
51
125
|
expect(warnSpy).not.toHaveBeenCalled();
|
|
52
126
|
});
|
|
127
|
+
it('uses dynamic manager_fee_account from on-chain stake pool data', async () => {
|
|
128
|
+
const result = await provider.resolve('unstake', { amount: '1000000000' }, TEST_CONTEXT);
|
|
129
|
+
// accounts[6] = managerFeeAccount for WithdrawSol
|
|
130
|
+
expect(result.accounts[6].pubkey).toBe(MOCK_MANAGER_FEE);
|
|
131
|
+
});
|
|
132
|
+
it('uses dynamic reserve_stake from on-chain stake pool data', async () => {
|
|
133
|
+
const result = await provider.resolve('unstake', { amount: '1000000000' }, TEST_CONTEXT);
|
|
134
|
+
// accounts[4] = reserveStake for WithdrawSol
|
|
135
|
+
expect(result.accounts[4].pubkey).toBe(MOCK_RESERVE_STAKE);
|
|
136
|
+
});
|
|
137
|
+
it('throws when rpcUrl is not configured', async () => {
|
|
138
|
+
const providerNoRpc = new JitoStakingActionProvider();
|
|
139
|
+
await expect(providerNoRpc.resolve('unstake', { amount: '1000000000' }, TEST_CONTEXT)).rejects.toThrow(/rpcUrl is required/);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
describe('getStakePoolAccounts error paths', () => {
|
|
143
|
+
it('throws when stake pool account not found (null data)', async () => {
|
|
144
|
+
fetchSpy.mockResolvedValueOnce(new Response(JSON.stringify({
|
|
145
|
+
jsonrpc: '2.0', id: 1, result: { value: null },
|
|
146
|
+
}), { status: 200, headers: { 'Content-Type': 'application/json' } }));
|
|
147
|
+
const { getStakePoolAccounts } = await import('./jito-stake-pool.js');
|
|
148
|
+
await expect(getStakePoolAccounts(TEST_RPC_URL, 'BadAddress')).rejects.toThrow('Stake pool account not found');
|
|
149
|
+
});
|
|
150
|
+
it('throws when account data too short', async () => {
|
|
151
|
+
// Return a buffer shorter than 226 bytes
|
|
152
|
+
const shortBuf = Buffer.alloc(100, 0);
|
|
153
|
+
fetchSpy.mockResolvedValueOnce(new Response(JSON.stringify({
|
|
154
|
+
jsonrpc: '2.0', id: 1, result: { value: { data: [shortBuf.toString('base64'), 'base64'], executable: false, lamports: 0, owner: '', rentEpoch: 0 } },
|
|
155
|
+
}), { status: 200, headers: { 'Content-Type': 'application/json' } }));
|
|
156
|
+
const { getStakePoolAccounts } = await import('./jito-stake-pool.js');
|
|
157
|
+
await expect(getStakePoolAccounts(TEST_RPC_URL, 'SomeAddress')).rejects.toThrow('too short');
|
|
158
|
+
});
|
|
53
159
|
});
|
|
54
160
|
});
|
|
55
161
|
//# sourceMappingURL=jito-migration.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jito-migration.test.js","sourceRoot":"","sources":["../../../src/providers/jito-staking/jito-migration.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"jito-migration.test.js","sourceRoot":"","sources":["../../../src/providers/jito-staking/jito-migration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,19 @@ export declare function getJitoSolBalance(rpcUrl: string, walletAddress: string,
|
|
|
53
53
|
* @returns Exchange rate as floating point (SOL per pool token)
|
|
54
54
|
*/
|
|
55
55
|
export declare function getStakePoolExchangeRate(rpcUrl: string, stakePoolAddress: string): Promise<number>;
|
|
56
|
+
/**
|
|
57
|
+
* Fetch and parse key accounts from the on-chain SPL Stake Pool account data.
|
|
58
|
+
*
|
|
59
|
+
* SPL Stake Pool Borsh layout (relevant offsets):
|
|
60
|
+
* - reserve_stake: 32 bytes at offset 130
|
|
61
|
+
* - manager_fee_account: 32 bytes at offset 194
|
|
62
|
+
*
|
|
63
|
+
* @returns Parsed stake pool accounts as base58-encoded public keys
|
|
64
|
+
*/
|
|
65
|
+
export declare function getStakePoolAccounts(rpcUrl: string, stakePoolAddress: string): Promise<{
|
|
66
|
+
managerFeeAccount: string;
|
|
67
|
+
reserveStake: string;
|
|
68
|
+
}>;
|
|
56
69
|
/**
|
|
57
70
|
* Parse a human-readable SOL amount string to lamports (bigint).
|
|
58
71
|
* SOL has 9 decimals (not 18 like ETH).
|
|
@@ -83,13 +96,13 @@ interface PreInstruction {
|
|
|
83
96
|
* 2. reserveStake (writable)
|
|
84
97
|
* 3. fundingAccount (signer, writable) = wallet
|
|
85
98
|
* 4. destTokenAccount (writable) = wallet's JitoSOL ATA
|
|
86
|
-
* 5. managerFeeAccount (writable)
|
|
99
|
+
* 5. managerFeeAccount (writable) — read dynamically from on-chain stake pool data
|
|
87
100
|
* 6. referralFeeAccount (writable) = same as managerFeeAccount (no referral)
|
|
88
101
|
* 7. poolMint (writable) = JitoSOL mint
|
|
89
102
|
* 8. systemProgram (read-only)
|
|
90
103
|
* 9. tokenProgram (read-only)
|
|
91
104
|
*/
|
|
92
|
-
export declare function buildDepositSolRequest(config: JitoStakingConfig, amountLamports: bigint, walletAddress: string): Promise<{
|
|
105
|
+
export declare function buildDepositSolRequest(config: JitoStakingConfig, amountLamports: bigint, walletAddress: string, rpcUrl: string): Promise<{
|
|
93
106
|
type: 'CONTRACT_CALL';
|
|
94
107
|
to: string;
|
|
95
108
|
programId: string;
|
|
@@ -106,16 +119,16 @@ export declare function buildDepositSolRequest(config: JitoStakingConfig, amount
|
|
|
106
119
|
* 1. withdrawAuthority (PDA, read-only)
|
|
107
120
|
* 2. userTransferAuthority (signer) = wallet
|
|
108
121
|
* 3. sourceTokenAccount (writable) = wallet's JitoSOL ATA
|
|
109
|
-
* 4. reserveStake (writable)
|
|
122
|
+
* 4. reserveStake (writable) — read dynamically from on-chain stake pool data
|
|
110
123
|
* 5. destSolAccount (writable) = wallet (receives SOL)
|
|
111
|
-
* 6. managerFeeAccount (writable)
|
|
124
|
+
* 6. managerFeeAccount (writable) — read dynamically from on-chain stake pool data
|
|
112
125
|
* 7. poolMint (writable) = JitoSOL mint
|
|
113
126
|
* 8. clock (read-only)
|
|
114
127
|
* 9. stakeHistory (read-only)
|
|
115
128
|
* 10. stakeProgram (read-only)
|
|
116
129
|
* 11. tokenProgram (read-only)
|
|
117
130
|
*/
|
|
118
|
-
export declare function buildWithdrawSolRequest(config: JitoStakingConfig, amountLamports: bigint, walletAddress: string): Promise<{
|
|
131
|
+
export declare function buildWithdrawSolRequest(config: JitoStakingConfig, amountLamports: bigint, walletAddress: string, rpcUrl: string): Promise<{
|
|
119
132
|
type: 'CONTRACT_CALL';
|
|
120
133
|
to: string;
|
|
121
134
|
programId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jito-stake-pool.d.ts","sourceRoot":"","sources":["../../../src/providers/jito-staking/jito-stake-pool.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"jito-stake-pool.d.ts","sourceRoot":"","sources":["../../../src/providers/jito-staking/jito-stake-pool.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,iBAAiB,EAIvB,MAAM,aAAa,CAAC;AAWrB;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAiCpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA8BtD;AA6ED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,UAAU,EAAE,EACnB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CA8B/B;AASD;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAA0B,GACvC,OAAO,CAAC,MAAM,CAAC,CAYjB;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAMpE;AAMD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA2CtD;AAsCD;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB9D;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAcD,oDAAoD;AACpD,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,mEAAmE;AACnE,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AA4CD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,iBAAiB,EACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC,CAAC,CAwCD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,iBAAiB,EACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC,CA8BD"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { createHash } from 'node:crypto';
|
|
16
16
|
import { parseTokenAmount } from '../../common/amount-parser.js';
|
|
17
|
-
import { JITO_WITHDRAW_AUTHORITY,
|
|
17
|
+
import { JITO_WITHDRAW_AUTHORITY, SPL_TOKEN_PROGRAM, SYSTEM_PROGRAM, } from './config.js';
|
|
18
18
|
// ---------------------------------------------------------------------------
|
|
19
19
|
// Base58 encoder/decoder (Bitcoin alphabet)
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
@@ -269,15 +269,11 @@ export async function getJitoSolBalance(rpcUrl, walletAddress, jitosolMint) {
|
|
|
269
269
|
};
|
|
270
270
|
}
|
|
271
271
|
/**
|
|
272
|
-
* Fetch the
|
|
272
|
+
* Fetch the raw stake pool account data buffer from the RPC.
|
|
273
273
|
*
|
|
274
|
-
*
|
|
275
|
-
* - total_lamports: u64 LE at byte offset 258
|
|
276
|
-
* - pool_token_supply: u64 LE at byte offset 266
|
|
277
|
-
*
|
|
278
|
-
* @returns Exchange rate as floating point (SOL per pool token)
|
|
274
|
+
* @returns Buffer containing the Borsh-serialized stake pool account data
|
|
279
275
|
*/
|
|
280
|
-
|
|
276
|
+
async function fetchStakePoolAccountData(rpcUrl, stakePoolAddress) {
|
|
281
277
|
const resp = await fetch(rpcUrl, {
|
|
282
278
|
method: 'POST',
|
|
283
279
|
headers: { 'Content-Type': 'application/json' },
|
|
@@ -289,8 +285,23 @@ export async function getStakePoolExchangeRate(rpcUrl, stakePoolAddress) {
|
|
|
289
285
|
}),
|
|
290
286
|
});
|
|
291
287
|
const json = (await resp.json());
|
|
288
|
+
if (!json.result?.value?.data) {
|
|
289
|
+
throw new Error(`Stake pool account not found: ${stakePoolAddress}`);
|
|
290
|
+
}
|
|
292
291
|
const base64Data = json.result.value.data[0];
|
|
293
|
-
|
|
292
|
+
return Buffer.from(base64Data, 'base64');
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Fetch the SPL Stake Pool exchange rate (total_lamports / pool_token_supply).
|
|
296
|
+
*
|
|
297
|
+
* SPL Stake Pool account layout:
|
|
298
|
+
* - total_lamports: u64 LE at byte offset 258
|
|
299
|
+
* - pool_token_supply: u64 LE at byte offset 266
|
|
300
|
+
*
|
|
301
|
+
* @returns Exchange rate as floating point (SOL per pool token)
|
|
302
|
+
*/
|
|
303
|
+
export async function getStakePoolExchangeRate(rpcUrl, stakePoolAddress) {
|
|
304
|
+
const buffer = await fetchStakePoolAccountData(rpcUrl, stakePoolAddress);
|
|
294
305
|
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
295
306
|
const totalLamports = view.getBigUint64(258, true);
|
|
296
307
|
const poolTokenSupply = view.getBigUint64(266, true);
|
|
@@ -298,6 +309,27 @@ export async function getStakePoolExchangeRate(rpcUrl, stakePoolAddress) {
|
|
|
298
309
|
return 1.0;
|
|
299
310
|
return Number(totalLamports) / Number(poolTokenSupply);
|
|
300
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* Fetch and parse key accounts from the on-chain SPL Stake Pool account data.
|
|
314
|
+
*
|
|
315
|
+
* SPL Stake Pool Borsh layout (relevant offsets):
|
|
316
|
+
* - reserve_stake: 32 bytes at offset 130
|
|
317
|
+
* - manager_fee_account: 32 bytes at offset 194
|
|
318
|
+
*
|
|
319
|
+
* @returns Parsed stake pool accounts as base58-encoded public keys
|
|
320
|
+
*/
|
|
321
|
+
export async function getStakePoolAccounts(rpcUrl, stakePoolAddress) {
|
|
322
|
+
const buffer = await fetchStakePoolAccountData(rpcUrl, stakePoolAddress);
|
|
323
|
+
if (buffer.length < 226) {
|
|
324
|
+
throw new Error(`Stake pool account data too short: ${buffer.length} bytes (expected at least 226)`);
|
|
325
|
+
}
|
|
326
|
+
const reserveStakeBytes = new Uint8Array(buffer.buffer, buffer.byteOffset + 130, 32);
|
|
327
|
+
const managerFeeBytes = new Uint8Array(buffer.buffer, buffer.byteOffset + 194, 32);
|
|
328
|
+
return {
|
|
329
|
+
reserveStake: base58Encode(reserveStakeBytes),
|
|
330
|
+
managerFeeAccount: base58Encode(managerFeeBytes),
|
|
331
|
+
};
|
|
332
|
+
}
|
|
301
333
|
// ---------------------------------------------------------------------------
|
|
302
334
|
// Amount parsing
|
|
303
335
|
// ---------------------------------------------------------------------------
|
|
@@ -360,25 +392,29 @@ function buildCreateAtaIdempotentInstruction(payer, ataAddress, owner, mint, tok
|
|
|
360
392
|
* 2. reserveStake (writable)
|
|
361
393
|
* 3. fundingAccount (signer, writable) = wallet
|
|
362
394
|
* 4. destTokenAccount (writable) = wallet's JitoSOL ATA
|
|
363
|
-
* 5. managerFeeAccount (writable)
|
|
395
|
+
* 5. managerFeeAccount (writable) — read dynamically from on-chain stake pool data
|
|
364
396
|
* 6. referralFeeAccount (writable) = same as managerFeeAccount (no referral)
|
|
365
397
|
* 7. poolMint (writable) = JitoSOL mint
|
|
366
398
|
* 8. systemProgram (read-only)
|
|
367
399
|
* 9. tokenProgram (read-only)
|
|
368
400
|
*/
|
|
369
|
-
export async function buildDepositSolRequest(config, amountLamports, walletAddress) {
|
|
370
|
-
const destTokenAccount = await
|
|
401
|
+
export async function buildDepositSolRequest(config, amountLamports, walletAddress, rpcUrl) {
|
|
402
|
+
const [destTokenAccount, stakePoolAccounts] = await Promise.all([
|
|
403
|
+
getAssociatedTokenAddress(walletAddress, config.jitosolMint, SPL_TOKEN_PROGRAM),
|
|
404
|
+
getStakePoolAccounts(rpcUrl, config.stakePoolAddress),
|
|
405
|
+
]);
|
|
406
|
+
const { managerFeeAccount, reserveStake } = stakePoolAccounts;
|
|
371
407
|
// Pre-instruction: Create JitoSOL ATA if it doesn't exist (idempotent).
|
|
372
408
|
// Without this, DepositSol fails with Custom(1) when the ATA is missing.
|
|
373
409
|
const createAtaIx = buildCreateAtaIdempotentInstruction(walletAddress, destTokenAccount, walletAddress, config.jitosolMint, SPL_TOKEN_PROGRAM);
|
|
374
410
|
const accounts = [
|
|
375
411
|
{ pubkey: config.stakePoolAddress, isSigner: false, isWritable: true },
|
|
376
412
|
{ pubkey: JITO_WITHDRAW_AUTHORITY, isSigner: false, isWritable: false },
|
|
377
|
-
{ pubkey:
|
|
413
|
+
{ pubkey: reserveStake, isSigner: false, isWritable: true },
|
|
378
414
|
{ pubkey: walletAddress, isSigner: true, isWritable: true },
|
|
379
415
|
{ pubkey: destTokenAccount, isSigner: false, isWritable: true },
|
|
380
|
-
{ pubkey:
|
|
381
|
-
{ pubkey:
|
|
416
|
+
{ pubkey: managerFeeAccount, isSigner: false, isWritable: true },
|
|
417
|
+
{ pubkey: managerFeeAccount, isSigner: false, isWritable: true }, // referral = manager (no referral)
|
|
382
418
|
{ pubkey: config.jitosolMint, isSigner: false, isWritable: true },
|
|
383
419
|
{ pubkey: SYSTEM_PROGRAM, isSigner: false, isWritable: false },
|
|
384
420
|
{ pubkey: SPL_TOKEN_PROGRAM, isSigner: false, isWritable: false },
|
|
@@ -401,25 +437,29 @@ export async function buildDepositSolRequest(config, amountLamports, walletAddre
|
|
|
401
437
|
* 1. withdrawAuthority (PDA, read-only)
|
|
402
438
|
* 2. userTransferAuthority (signer) = wallet
|
|
403
439
|
* 3. sourceTokenAccount (writable) = wallet's JitoSOL ATA
|
|
404
|
-
* 4. reserveStake (writable)
|
|
440
|
+
* 4. reserveStake (writable) — read dynamically from on-chain stake pool data
|
|
405
441
|
* 5. destSolAccount (writable) = wallet (receives SOL)
|
|
406
|
-
* 6. managerFeeAccount (writable)
|
|
442
|
+
* 6. managerFeeAccount (writable) — read dynamically from on-chain stake pool data
|
|
407
443
|
* 7. poolMint (writable) = JitoSOL mint
|
|
408
444
|
* 8. clock (read-only)
|
|
409
445
|
* 9. stakeHistory (read-only)
|
|
410
446
|
* 10. stakeProgram (read-only)
|
|
411
447
|
* 11. tokenProgram (read-only)
|
|
412
448
|
*/
|
|
413
|
-
export async function buildWithdrawSolRequest(config, amountLamports, walletAddress) {
|
|
414
|
-
const sourceTokenAccount = await
|
|
449
|
+
export async function buildWithdrawSolRequest(config, amountLamports, walletAddress, rpcUrl) {
|
|
450
|
+
const [sourceTokenAccount, stakePoolAccounts] = await Promise.all([
|
|
451
|
+
getAssociatedTokenAddress(walletAddress, config.jitosolMint, SPL_TOKEN_PROGRAM),
|
|
452
|
+
getStakePoolAccounts(rpcUrl, config.stakePoolAddress),
|
|
453
|
+
]);
|
|
454
|
+
const { managerFeeAccount, reserveStake } = stakePoolAccounts;
|
|
415
455
|
const accounts = [
|
|
416
456
|
{ pubkey: config.stakePoolAddress, isSigner: false, isWritable: true },
|
|
417
457
|
{ pubkey: JITO_WITHDRAW_AUTHORITY, isSigner: false, isWritable: false },
|
|
418
458
|
{ pubkey: walletAddress, isSigner: true, isWritable: false },
|
|
419
459
|
{ pubkey: sourceTokenAccount, isSigner: false, isWritable: true },
|
|
420
|
-
{ pubkey:
|
|
460
|
+
{ pubkey: reserveStake, isSigner: false, isWritable: true },
|
|
421
461
|
{ pubkey: walletAddress, isSigner: false, isWritable: true },
|
|
422
|
-
{ pubkey:
|
|
462
|
+
{ pubkey: managerFeeAccount, isSigner: false, isWritable: true },
|
|
423
463
|
{ pubkey: config.jitosolMint, isSigner: false, isWritable: true },
|
|
424
464
|
{ pubkey: CLOCK_SYSVAR, isSigner: false, isWritable: false },
|
|
425
465
|
{ pubkey: STAKE_HISTORY_SYSVAR, isSigner: false, isWritable: false },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jito-stake-pool.js","sourceRoot":"","sources":["../../../src/providers/jito-staking/jito-stake-pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jito-stake-pool.js","sourceRoot":"","sources":["../../../src/providers/jito-staking/jito-stake-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jupiter-swap-provider.test.d.ts","sourceRoot":"","sources":["../../../../src/providers/jupiter-swap/__tests__/jupiter-swap-provider.test.ts"],"names":[],"mappings":""}
|