@coffer_so/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/LICENSE +21 -0
- package/README.md +283 -0
- package/dist/clients/AdminClient.d.ts +194 -0
- package/dist/clients/AdminClient.d.ts.map +1 -0
- package/dist/clients/AdminClient.js +482 -0
- package/dist/clients/AdminClient.js.map +1 -0
- package/dist/clients/CofferBackendClient.d.ts +877 -0
- package/dist/clients/CofferBackendClient.d.ts.map +1 -0
- package/dist/clients/CofferBackendClient.js +536 -0
- package/dist/clients/CofferBackendClient.js.map +1 -0
- package/dist/clients/CubeBackendClient.d.ts +877 -0
- package/dist/clients/CubeBackendClient.d.ts.map +1 -0
- package/dist/clients/CubeBackendClient.js +536 -0
- package/dist/clients/CubeBackendClient.js.map +1 -0
- package/dist/clients/CubicPoolClient.d.ts +120 -0
- package/dist/clients/CubicPoolClient.d.ts.map +1 -0
- package/dist/clients/CubicPoolClient.js +687 -0
- package/dist/clients/CubicPoolClient.js.map +1 -0
- package/dist/clients/PoolFactoryClient.d.ts +53 -0
- package/dist/clients/PoolFactoryClient.d.ts.map +1 -0
- package/dist/clients/PoolFactoryClient.js +91 -0
- package/dist/clients/PoolFactoryClient.js.map +1 -0
- package/dist/clients/RpcClient.d.ts +49 -0
- package/dist/clients/RpcClient.d.ts.map +1 -0
- package/dist/clients/RpcClient.js +135 -0
- package/dist/clients/RpcClient.js.map +1 -0
- package/dist/clients/SingleTokenDepositClient.d.ts +67 -0
- package/dist/clients/SingleTokenDepositClient.d.ts.map +1 -0
- package/dist/clients/SingleTokenDepositClient.js +105 -0
- package/dist/clients/SingleTokenDepositClient.js.map +1 -0
- package/dist/clients/contract-instructions.d.ts +24 -0
- package/dist/clients/contract-instructions.d.ts.map +1 -0
- package/dist/clients/contract-instructions.js +130 -0
- package/dist/clients/contract-instructions.js.map +1 -0
- package/dist/clients/index.d.ts +10 -0
- package/dist/clients/index.d.ts.map +1 -0
- package/dist/clients/index.js +26 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/quote-math.d.ts +15 -0
- package/dist/clients/quote-math.d.ts.map +1 -0
- package/dist/clients/quote-math.js +98 -0
- package/dist/clients/quote-math.js.map +1 -0
- package/dist/clients/tx-builders.d.ts +231 -0
- package/dist/clients/tx-builders.d.ts.map +1 -0
- package/dist/clients/tx-builders.js +861 -0
- package/dist/clients/tx-builders.js.map +1 -0
- package/dist/clients/versioned.d.ts +34 -0
- package/dist/clients/versioned.d.ts.map +1 -0
- package/dist/clients/versioned.js +55 -0
- package/dist/clients/versioned.js.map +1 -0
- package/dist/config/index.d.ts +65 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +75 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/networks.d.ts +12 -0
- package/dist/config/networks.d.ts.map +1 -0
- package/dist/config/networks.js +51 -0
- package/dist/config/networks.js.map +1 -0
- package/dist/config/tokens.d.ts +19 -0
- package/dist/config/tokens.d.ts.map +1 -0
- package/dist/config/tokens.js +43 -0
- package/dist/config/tokens.js.map +1 -0
- package/dist/idl/cubic_pool.json +4203 -0
- package/dist/idl/index.d.ts +1769 -0
- package/dist/idl/index.d.ts.map +1 -0
- package/dist/idl/index.js +18 -0
- package/dist/idl/index.js.map +1 -0
- package/dist/idl/protocol_admin.json +2615 -0
- package/dist/idl/single_token_liquidity.json +1121 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +206 -0
- package/dist/index.js.map +1 -0
- package/dist/math/cubicMath.d.ts +40 -0
- package/dist/math/cubicMath.d.ts.map +1 -0
- package/dist/math/cubicMath.js +82 -0
- package/dist/math/cubicMath.js.map +1 -0
- package/dist/math/fixedPoint.d.ts +19 -0
- package/dist/math/fixedPoint.d.ts.map +1 -0
- package/dist/math/fixedPoint.js +86 -0
- package/dist/math/fixedPoint.js.map +1 -0
- package/dist/math/index.d.ts +9 -0
- package/dist/math/index.d.ts.map +1 -0
- package/dist/math/index.js +30 -0
- package/dist/math/index.js.map +1 -0
- package/dist/math/logExp.d.ts +6 -0
- package/dist/math/logExp.d.ts.map +1 -0
- package/dist/math/logExp.js +68 -0
- package/dist/math/logExp.js.map +1 -0
- package/dist/math/lpLoss.d.ts +44 -0
- package/dist/math/lpLoss.d.ts.map +1 -0
- package/dist/math/lpLoss.js +103 -0
- package/dist/math/lpLoss.js.map +1 -0
- package/dist/math/maxSelloff.d.ts +164 -0
- package/dist/math/maxSelloff.d.ts.map +1 -0
- package/dist/math/maxSelloff.js +397 -0
- package/dist/math/maxSelloff.js.map +1 -0
- package/dist/math/singleToken.d.ts +54 -0
- package/dist/math/singleToken.d.ts.map +1 -0
- package/dist/math/singleToken.js +188 -0
- package/dist/math/singleToken.js.map +1 -0
- package/dist/math/slippage.d.ts +13 -0
- package/dist/math/slippage.d.ts.map +1 -0
- package/dist/math/slippage.js +44 -0
- package/dist/math/slippage.js.map +1 -0
- package/dist/math/surgeFee.d.ts +24 -0
- package/dist/math/surgeFee.d.ts.map +1 -0
- package/dist/math/surgeFee.js +85 -0
- package/dist/math/surgeFee.js.map +1 -0
- package/dist/math/weightedMath.d.ts +20 -0
- package/dist/math/weightedMath.d.ts.map +1 -0
- package/dist/math/weightedMath.js +66 -0
- package/dist/math/weightedMath.js.map +1 -0
- package/dist/parsers/borsh.d.ts +28 -0
- package/dist/parsers/borsh.d.ts.map +1 -0
- package/dist/parsers/borsh.js +104 -0
- package/dist/parsers/borsh.js.map +1 -0
- package/dist/parsers/contracts.d.ts +26 -0
- package/dist/parsers/contracts.d.ts.map +1 -0
- package/dist/parsers/contracts.js +62 -0
- package/dist/parsers/contracts.js.map +1 -0
- package/dist/parsers/events.d.ts +3 -0
- package/dist/parsers/events.d.ts.map +1 -0
- package/dist/parsers/events.js +281 -0
- package/dist/parsers/events.js.map +1 -0
- package/dist/parsers/index.d.ts +6 -0
- package/dist/parsers/index.d.ts.map +1 -0
- package/dist/parsers/index.js +22 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/mintAccount.d.ts +24 -0
- package/dist/parsers/mintAccount.d.ts.map +1 -0
- package/dist/parsers/mintAccount.js +27 -0
- package/dist/parsers/mintAccount.js.map +1 -0
- package/dist/parsers/poolAccount.d.ts +141 -0
- package/dist/parsers/poolAccount.d.ts.map +1 -0
- package/dist/parsers/poolAccount.js +224 -0
- package/dist/parsers/poolAccount.js.map +1 -0
- package/dist/types/contracts.d.ts +1340 -0
- package/dist/types/contracts.d.ts.map +1 -0
- package/dist/types/contracts.js +3 -0
- package/dist/types/contracts.js.map +1 -0
- package/dist/types/events.d.ts +172 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +3 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +22 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/pool.d.ts +149 -0
- package/dist/types/pool.d.ts.map +1 -0
- package/dist/types/pool.js +3 -0
- package/dist/types/pool.js.map +1 -0
- package/dist/types/result.d.ts +24 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +11 -0
- package/dist/types/result.js.map +1 -0
- package/dist/types/tx.d.ts +261 -0
- package/dist/types/tx.d.ts.map +1 -0
- package/dist/types/tx.js +3 -0
- package/dist/types/tx.js.map +1 -0
- package/dist/utils/errors.d.ts +44 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +192 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/extensions.d.ts +98 -0
- package/dist/utils/extensions.d.ts.map +1 -0
- package/dist/utils/extensions.js +187 -0
- package/dist/utils/extensions.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/pda.d.ts +8 -0
- package/dist/utils/pda.d.ts.map +1 -0
- package/dist/utils/pda.js +27 -0
- package/dist/utils/pda.js.map +1 -0
- package/dist/utils/retry.d.ts +22 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +62 -0
- package/dist/utils/retry.js.map +1 -0
- package/package.json +54 -0
- package/src/clients/AdminClient.ts +608 -0
- package/src/clients/CofferBackendClient.ts +1413 -0
- package/src/clients/CubicPoolClient.ts +719 -0
- package/src/clients/PoolFactoryClient.ts +110 -0
- package/src/clients/RpcClient.ts +195 -0
- package/src/clients/SingleTokenDepositClient.ts +143 -0
- package/src/clients/contract-instructions.ts +115 -0
- package/src/clients/index.ts +9 -0
- package/src/clients/quote-math.ts +81 -0
- package/src/clients/tx-builders.ts +1096 -0
- package/src/clients/versioned.ts +80 -0
- package/src/config/index.ts +111 -0
- package/src/config/networks.ts +71 -0
- package/src/config/tokens.ts +52 -0
- package/src/idl/cubic_pool.json +4203 -0
- package/src/idl/index.ts +13 -0
- package/src/idl/protocol_admin.json +2615 -0
- package/src/idl/single_token_liquidity.json +1121 -0
- package/src/index.ts +262 -0
- package/src/math/cubicMath.ts +92 -0
- package/src/math/fixedPoint.ts +71 -0
- package/src/math/index.ts +13 -0
- package/src/math/logExp.ts +61 -0
- package/src/math/lpLoss.ts +160 -0
- package/src/math/maxSelloff.ts +564 -0
- package/src/math/singleToken.ts +251 -0
- package/src/math/slippage.ts +38 -0
- package/src/math/surgeFee.ts +101 -0
- package/src/math/weightedMath.ts +64 -0
- package/src/parsers/borsh.ts +106 -0
- package/src/parsers/contracts.ts +64 -0
- package/src/parsers/events.ts +275 -0
- package/src/parsers/index.ts +5 -0
- package/src/parsers/mintAccount.ts +44 -0
- package/src/parsers/poolAccount.ts +372 -0
- package/src/types/contracts.ts +238 -0
- package/src/types/events.ts +198 -0
- package/src/types/index.ts +5 -0
- package/src/types/pool.ts +147 -0
- package/src/types/result.ts +51 -0
- package/src/types/tx.ts +278 -0
- package/src/utils/errors.ts +210 -0
- package/src/utils/extensions.ts +196 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/pda.ts +58 -0
- package/src/utils/retry.ts +85 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseCubicPoolEvents = parseCubicPoolEvents;
|
|
7
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
8
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
9
|
+
const borsh_1 = require("./borsh");
|
|
10
|
+
const contracts_1 = require("./contracts");
|
|
11
|
+
/**
|
|
12
|
+
* Anchor event log format (base64-encoded after `Program data:`):
|
|
13
|
+
* [ 8-byte discriminator | borsh-encoded event struct ]
|
|
14
|
+
*
|
|
15
|
+
* Discriminators for cubic-pool and single-token-liquidity are hard-coded
|
|
16
|
+
* here from the generated IDL. Never guess from event name — the Anchor
|
|
17
|
+
* macro actually uses `sha256("event:<Name>")[0..8]`, but for robustness
|
|
18
|
+
* we pin the bytes.
|
|
19
|
+
*/
|
|
20
|
+
// Cubic-pool event discriminators (from target/idl/cubic_pool.json):
|
|
21
|
+
const DISC = {
|
|
22
|
+
PoolInitialized: Buffer.from([100, 118, 173, 87, 12, 198, 254, 229]),
|
|
23
|
+
Swap: Buffer.from([81, 108, 227, 190, 205, 208, 10, 196]),
|
|
24
|
+
LiquidityAdded: Buffer.from([154, 26, 221, 108, 238, 64, 217, 161]),
|
|
25
|
+
LiquidityRemoved: Buffer.from([225, 105, 216, 39, 124, 116, 169, 189]),
|
|
26
|
+
ProtocolFeesCollected: Buffer.from([165, 34, 125, 155, 15, 86, 99, 191]),
|
|
27
|
+
SwapFeeRateUpdated: Buffer.from([101, 132, 24, 255, 91, 253, 227, 101]),
|
|
28
|
+
ProtocolFeeRateUpdated: Buffer.from([189, 56, 7, 65, 0, 95, 192, 6]),
|
|
29
|
+
PoolEnabledUpdated: Buffer.from([101, 47, 3, 240, 197, 181, 236, 142]),
|
|
30
|
+
SwapsEnabledUpdated: Buffer.from([55, 116, 118, 138, 102, 26, 227, 223]),
|
|
31
|
+
DebugLiquidityWithdrawn: Buffer.from([174, 59, 149, 22, 135, 129, 129, 83]),
|
|
32
|
+
PoolStateLog: Buffer.from([59, 254, 237, 111, 163, 10, 140, 224]),
|
|
33
|
+
PoolInfo: Buffer.from([207, 20, 87, 97, 251, 212, 234, 45]),
|
|
34
|
+
BannedExtensionsUpdated: Buffer.from([107, 126, 13, 149, 182, 108, 139, 202]),
|
|
35
|
+
MaxSelloffWindowAdvanced: Buffer.from([229, 227, 163, 30, 22, 183, 78, 57]),
|
|
36
|
+
// Stld:
|
|
37
|
+
SingleTokenDeposit: Buffer.from([215, 54, 137, 104, 219, 39, 164, 235]),
|
|
38
|
+
};
|
|
39
|
+
function parseCubicPoolEvents(logs) {
|
|
40
|
+
const out = [];
|
|
41
|
+
for (const line of logs) {
|
|
42
|
+
const m = line.match(/^Program data:\s+(.+)$/);
|
|
43
|
+
if (!m)
|
|
44
|
+
continue;
|
|
45
|
+
const buf = Buffer.from(m[1], "base64");
|
|
46
|
+
if (buf.length < 8)
|
|
47
|
+
continue;
|
|
48
|
+
const disc = buf.slice(0, 8);
|
|
49
|
+
const payload = buf.slice(8);
|
|
50
|
+
const name = matchDiscriminator(disc);
|
|
51
|
+
if (!name) {
|
|
52
|
+
const current = (0, contracts_1.decodeContractEvent)(m[1]);
|
|
53
|
+
if (current) {
|
|
54
|
+
try {
|
|
55
|
+
out.push(camelEvent(current));
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
out.push({ kind: "Unknown", name: current.kind, data: { error: String(error), payload: payload.toString("base64") } });
|
|
59
|
+
}
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
out.push({ kind: "Unknown", name: "unknown", data: { disc: disc.toString("base64"), payload: payload.toString("base64") } });
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const ev = decodeEvent(name, payload);
|
|
67
|
+
if (ev)
|
|
68
|
+
out.push(ev);
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
out.push({
|
|
72
|
+
kind: "Unknown",
|
|
73
|
+
name,
|
|
74
|
+
data: { error: String(e), payload: payload.toString("base64") },
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
function matchDiscriminator(d) {
|
|
81
|
+
for (const [name, bytes] of Object.entries(DISC)) {
|
|
82
|
+
if (bytes.equals(d))
|
|
83
|
+
return name;
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
function decodeEvent(name, buf) {
|
|
88
|
+
const r = new borsh_1.BorshReader(buf);
|
|
89
|
+
switch (name) {
|
|
90
|
+
case "Swap": {
|
|
91
|
+
// The deployed without-SF event ends with timestamp, surge_fee_amount.
|
|
92
|
+
// Optional trailing transfer-fee fields are retained only for decoding
|
|
93
|
+
// logs from other historical builds; they do not imply mint support.
|
|
94
|
+
const pool = r.pubkey();
|
|
95
|
+
const user = r.pubkey();
|
|
96
|
+
const tokenIn = r.pubkey();
|
|
97
|
+
const tokenOut = r.pubkey();
|
|
98
|
+
const amountIn = r.u64();
|
|
99
|
+
const amountOut = r.u64();
|
|
100
|
+
const feeAmount = r.u64();
|
|
101
|
+
const protocolFeeAmount = r.u64();
|
|
102
|
+
const timestamp = r.i64().toNumber();
|
|
103
|
+
const surgeFeeAmount = r.u64();
|
|
104
|
+
// Absent in the deployed without-SF ABI: expose zero for compatibility.
|
|
105
|
+
const transferFeeIn = r.remaining() >= 8 ? r.u64() : new bn_js_1.default(0);
|
|
106
|
+
const transferFeeOut = r.remaining() >= 8 ? r.u64() : new bn_js_1.default(0);
|
|
107
|
+
return {
|
|
108
|
+
kind: "Swap",
|
|
109
|
+
pool,
|
|
110
|
+
user,
|
|
111
|
+
tokenIn,
|
|
112
|
+
tokenOut,
|
|
113
|
+
amountIn,
|
|
114
|
+
amountOut,
|
|
115
|
+
feeAmount,
|
|
116
|
+
protocolFeeAmount,
|
|
117
|
+
surgeFeeAmount,
|
|
118
|
+
timestamp,
|
|
119
|
+
transferFeeIn,
|
|
120
|
+
transferFeeOut,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
case "LiquidityAdded": {
|
|
124
|
+
const pool = r.pubkey();
|
|
125
|
+
const user = r.pubkey();
|
|
126
|
+
const tokenAmounts = r.vecU64();
|
|
127
|
+
const bptAmount = r.u64();
|
|
128
|
+
const timestamp = r.i64().toNumber();
|
|
129
|
+
return { kind: "LiquidityAdded", pool, user, tokenAmounts, bptAmount, timestamp };
|
|
130
|
+
}
|
|
131
|
+
case "LiquidityRemoved": {
|
|
132
|
+
const pool = r.pubkey();
|
|
133
|
+
const user = r.pubkey();
|
|
134
|
+
const bptAmount = r.u64();
|
|
135
|
+
const tokenAmounts = r.vecU64();
|
|
136
|
+
const timestamp = r.i64().toNumber();
|
|
137
|
+
return { kind: "LiquidityRemoved", pool, user, bptAmount, tokenAmounts, timestamp };
|
|
138
|
+
}
|
|
139
|
+
case "ProtocolFeesCollected": {
|
|
140
|
+
const pool = r.pubkey();
|
|
141
|
+
const authority = r.pubkey();
|
|
142
|
+
const tokenAmounts = r.vecU64();
|
|
143
|
+
const timestamp = r.i64().toNumber();
|
|
144
|
+
return { kind: "ProtocolFeesCollected", pool, authority, tokenAmounts, timestamp };
|
|
145
|
+
}
|
|
146
|
+
case "PoolInitialized": {
|
|
147
|
+
const pool = r.pubkey();
|
|
148
|
+
const config = r.pubkey();
|
|
149
|
+
const tokenCount = r.u8();
|
|
150
|
+
const bptMint = r.pubkey();
|
|
151
|
+
const timestamp = r.i64().toNumber();
|
|
152
|
+
// Appended: the effective banned-extensions bitmap the pool's tokens
|
|
153
|
+
// were vetted against at creation. Guarded for older logs.
|
|
154
|
+
const bannedExtensions = r.remaining() >= 8 ? r.u64() : new bn_js_1.default(0);
|
|
155
|
+
return { kind: "PoolInitialized", pool, config, tokenCount, bptMint, timestamp, bannedExtensions };
|
|
156
|
+
}
|
|
157
|
+
case "PoolEnabledUpdated": {
|
|
158
|
+
const pool = r.pubkey();
|
|
159
|
+
const authority = r.pubkey();
|
|
160
|
+
const oldValue = r.bool();
|
|
161
|
+
const newValue = r.bool();
|
|
162
|
+
const timestamp = r.i64().toNumber();
|
|
163
|
+
return { kind: "PoolEnabledUpdated", pool, authority, oldValue, newValue, timestamp };
|
|
164
|
+
}
|
|
165
|
+
case "SwapsEnabledUpdated": {
|
|
166
|
+
const pool = r.pubkey();
|
|
167
|
+
const authority = r.pubkey();
|
|
168
|
+
const oldValue = r.bool();
|
|
169
|
+
const newValue = r.bool();
|
|
170
|
+
const timestamp = r.i64().toNumber();
|
|
171
|
+
return { kind: "SwapsEnabledUpdated", pool, authority, oldValue, newValue, timestamp };
|
|
172
|
+
}
|
|
173
|
+
case "SingleTokenDeposit": {
|
|
174
|
+
// Verified against `SingleTokenDeposit` in
|
|
175
|
+
// src/idl/single_token_liquidity.json:
|
|
176
|
+
// helper, pool, user, token_in_index, amount_in, allocations,
|
|
177
|
+
// deposited_amounts, bpt_received, dust_refunded, timestamp
|
|
178
|
+
//
|
|
179
|
+
// Two fixes vs. the previous decoder:
|
|
180
|
+
// 1. There is NO `slippage_hundredths_bps: u32` field. The per-call
|
|
181
|
+
// slippage argument was removed from `deposit_single_token` (the
|
|
182
|
+
// single `minimum_bpt_amount` guard replaced it) and the event
|
|
183
|
+
// field went with it. Reading a phantom u32 here shifted every
|
|
184
|
+
// later field by 4 bytes.
|
|
185
|
+
// 2. `dust_refunded` is `Vec<u64>` (index-aligned with the pool's
|
|
186
|
+
// tokens), not a scalar `u64`.
|
|
187
|
+
const helper = r.pubkey();
|
|
188
|
+
const pool = r.pubkey();
|
|
189
|
+
const user = r.pubkey();
|
|
190
|
+
const tokenInIndex = r.u8();
|
|
191
|
+
const amountIn = r.u64();
|
|
192
|
+
const allocations = r.vecU64();
|
|
193
|
+
const depositedAmounts = r.vecU64();
|
|
194
|
+
const bptReceived = r.u64();
|
|
195
|
+
const dustRefunded = r.vecU64();
|
|
196
|
+
const timestamp = r.i64().toNumber();
|
|
197
|
+
return {
|
|
198
|
+
kind: "SingleTokenDeposit",
|
|
199
|
+
helper,
|
|
200
|
+
pool,
|
|
201
|
+
user,
|
|
202
|
+
tokenInIndex,
|
|
203
|
+
amountIn,
|
|
204
|
+
allocations,
|
|
205
|
+
depositedAmounts,
|
|
206
|
+
bptReceived,
|
|
207
|
+
dustRefunded,
|
|
208
|
+
timestamp,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
case "PoolStateLog": {
|
|
212
|
+
const pool = r.pubkey();
|
|
213
|
+
const virtualBalances = r.vecU64();
|
|
214
|
+
const actualBalances = r.vecU64();
|
|
215
|
+
const protocolFeesOwed = r.vecU64();
|
|
216
|
+
const timestamp = r.i64().toNumber();
|
|
217
|
+
return { kind: "PoolStateLog", pool, virtualBalances, actualBalances, protocolFeesOwed, timestamp };
|
|
218
|
+
}
|
|
219
|
+
case "MaxSelloffWindowAdvanced": {
|
|
220
|
+
const pool = r.pubkey();
|
|
221
|
+
const tokenIndex = r.u8();
|
|
222
|
+
const effectiveSelloff = r.u64();
|
|
223
|
+
const maxSelloffCap = r.u64();
|
|
224
|
+
const vbSnapshot = r.u64();
|
|
225
|
+
const previousSelloff = r.u64();
|
|
226
|
+
const currentSelloff = r.u64();
|
|
227
|
+
const windowStartTimestamp = r.i64().toNumber();
|
|
228
|
+
const timestamp = r.i64().toNumber();
|
|
229
|
+
return {
|
|
230
|
+
kind: "MaxSelloffWindowAdvanced",
|
|
231
|
+
pool,
|
|
232
|
+
tokenIndex,
|
|
233
|
+
effectiveSelloff,
|
|
234
|
+
maxSelloffCap,
|
|
235
|
+
vbSnapshot,
|
|
236
|
+
previousSelloff,
|
|
237
|
+
currentSelloff,
|
|
238
|
+
windowStartTimestamp,
|
|
239
|
+
timestamp,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
case "BannedExtensionsUpdated": {
|
|
243
|
+
const config = r.pubkey();
|
|
244
|
+
const authority = r.pubkey();
|
|
245
|
+
const oldValue = r.u64();
|
|
246
|
+
const newValue = r.u64();
|
|
247
|
+
const timestamp = r.i64().toNumber();
|
|
248
|
+
// Appended in v5.1 alongside `set_banned_extensions`' new
|
|
249
|
+
// `hard_banned_extensions` argument. Guarded for older logs.
|
|
250
|
+
const oldHardValue = r.remaining() >= 8 ? r.u64() : new bn_js_1.default(0);
|
|
251
|
+
const newHardValue = r.remaining() >= 8 ? r.u64() : new bn_js_1.default(0);
|
|
252
|
+
return {
|
|
253
|
+
kind: "BannedExtensionsUpdated",
|
|
254
|
+
config,
|
|
255
|
+
authority,
|
|
256
|
+
oldValue,
|
|
257
|
+
newValue,
|
|
258
|
+
timestamp,
|
|
259
|
+
oldHardValue,
|
|
260
|
+
newHardValue,
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
// Decode the remaining current events through the complete shipped ABI.
|
|
264
|
+
case "SwapFeeRateUpdated":
|
|
265
|
+
case "ProtocolFeeRateUpdated":
|
|
266
|
+
case "DebugLiquidityWithdrawn":
|
|
267
|
+
case "PoolInfo":
|
|
268
|
+
const current = (0, contracts_1.decodeContractEvent)(Buffer.concat([DISC[name], buf]).toString("base64"));
|
|
269
|
+
return current ? camelEvent(current) : { kind: "Unknown", name, data: { raw: buf.toString("base64") } };
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
void web3_js_1.PublicKey; // keep import used by types above via type inference
|
|
273
|
+
function camelEvent(event) {
|
|
274
|
+
const fields = { kind: event.kind };
|
|
275
|
+
for (const [key, value] of Object.entries(event.data)) {
|
|
276
|
+
const name = key.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
277
|
+
fields[name] = key === "timestamp" && bn_js_1.default.isBN(value) ? value.toNumber() : value;
|
|
278
|
+
}
|
|
279
|
+
return fields;
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/parsers/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./poolAccount"), exports);
|
|
18
|
+
__exportStar(require("./mintAccount"), exports);
|
|
19
|
+
__exportStar(require("./events"), exports);
|
|
20
|
+
__exportStar(require("./borsh"), exports);
|
|
21
|
+
__exportStar(require("./contracts"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
/**
|
|
4
|
+
* SPL Token (or Token-2022) Mint parser. Reads the 82-byte base layout and,
|
|
5
|
+
* for Token-2022 mints, the TLV extension list (discriminants only).
|
|
6
|
+
*
|
|
7
|
+
* Layout:
|
|
8
|
+
* 0..36 COption<Pubkey> mintAuthority (4 bytes tag + 32 bytes pubkey)
|
|
9
|
+
* 36..44 u64 supply
|
|
10
|
+
* 44..45 u8 decimals
|
|
11
|
+
* 45..46 u8 isInitialized
|
|
12
|
+
* 46..82 COption<Pubkey> freezeAuthority
|
|
13
|
+
*/
|
|
14
|
+
export interface RawMintAccount {
|
|
15
|
+
mintAuthority: PublicKey | null;
|
|
16
|
+
supply: BN;
|
|
17
|
+
decimals: number;
|
|
18
|
+
isInitialized: boolean;
|
|
19
|
+
freezeAuthority: PublicKey | null;
|
|
20
|
+
/** Token-2022 extension discriminants; `[]` for classic SPL mints. */
|
|
21
|
+
extensions: number[];
|
|
22
|
+
}
|
|
23
|
+
export declare function decodeMintAccount(data: Buffer): RawMintAccount;
|
|
24
|
+
//# sourceMappingURL=mintAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mintAccount.d.ts","sourceRoot":"","sources":["../../src/parsers/mintAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,EAAE,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,sEAAsE;IACtE,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAkB9D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.decodeMintAccount = decodeMintAccount;
|
|
7
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
8
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
9
|
+
const extensions_1 = require("../utils/extensions");
|
|
10
|
+
function decodeMintAccount(data) {
|
|
11
|
+
const extensions = (0, extensions_1.parseMintExtensions)(data);
|
|
12
|
+
const mintAuthTag = data.readUInt32LE(0);
|
|
13
|
+
if (mintAuthTag !== 0 && mintAuthTag !== 1) {
|
|
14
|
+
throw new Error(`decodeMintAccount: invalid mint-authority option ${mintAuthTag}`);
|
|
15
|
+
}
|
|
16
|
+
const mintAuthority = mintAuthTag === 0 ? null : new web3_js_1.PublicKey(data.slice(4, 36));
|
|
17
|
+
const supply = new bn_js_1.default(data.slice(36, 44), "le");
|
|
18
|
+
const decimals = data.readUInt8(44);
|
|
19
|
+
const isInitialized = data.readUInt8(45) === 1;
|
|
20
|
+
const freezeTag = data.readUInt32LE(46);
|
|
21
|
+
if (freezeTag !== 0 && freezeTag !== 1) {
|
|
22
|
+
throw new Error(`decodeMintAccount: invalid freeze-authority option ${freezeTag}`);
|
|
23
|
+
}
|
|
24
|
+
const freezeAuthority = freezeTag === 0 ? null : new web3_js_1.PublicKey(data.slice(50, 82));
|
|
25
|
+
return { mintAuthority, supply, decimals, isInitialized, freezeAuthority, extensions };
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=mintAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mintAccount.js","sourceRoot":"","sources":["../../src/parsers/mintAccount.ts"],"names":[],"mappings":";;;;;AAyBA,8CAkBC;AA3CD,6CAA4C;AAC5C,kDAAuB;AACvB,oDAA0D;AAuB1D,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,MAAM,UAAU,GAAG,IAAA,gCAAmB,EAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,oDAAoD,WAAW,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,aAAa,GACjB,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,eAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,eAAe,GACnB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzF,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
/**
|
|
4
|
+
* Raw binary layout of CubicPool **v5** (see
|
|
5
|
+
* `contracts/programs/cubic-pool/src/state/cubic_pool.rs`).
|
|
6
|
+
*
|
|
7
|
+
* v4 reorganised per-token data from six parallel arrays into a single
|
|
8
|
+
* `tokens: [TokenSlot; 10]` array (each slot = `AssetConfig` +
|
|
9
|
+
* `AssetDynamics`). For backwards compatibility with downstream
|
|
10
|
+
* consumers (`CubicPoolClient.sync()` and similar), this decoder still
|
|
11
|
+
* exposes the parallel-array shape, plus the new max-selloff and admin
|
|
12
|
+
* fields.
|
|
13
|
+
*
|
|
14
|
+
* v5.1 layout deltas (all carved out of `reserved`, total size unchanged
|
|
15
|
+
* at 1683 — every pre-existing field keeps its byte offset):
|
|
16
|
+
* - `AssetConfig.reserved[3]` → `variable_fee_slope_mid_pct: u16` +
|
|
17
|
+
* `variable_fee_kink_pct: u8`. Slot stays 88 bytes.
|
|
18
|
+
* - `CubicPool`: `range_manager_max_leverage_bps: u32` and
|
|
19
|
+
* `range_manager_min_leverage_bps: u32` appended after
|
|
20
|
+
* `banned_extensions`; trailing `reserved` shrank [u8;24] → [u8;16].
|
|
21
|
+
*
|
|
22
|
+
* Pools written by the pre-v5.1 program decode these new fields as `0`,
|
|
23
|
+
* which is the back-compatible reading (curve has no kink, leverage band
|
|
24
|
+
* disabled).
|
|
25
|
+
*
|
|
26
|
+
* We decode manually to avoid bundling an Anchor `Program` instance into
|
|
27
|
+
* the SDK — both frontend and backend consume the SDK, and pulling the
|
|
28
|
+
* full Anchor runtime is heavy.
|
|
29
|
+
*/
|
|
30
|
+
export interface RawPoolAccount {
|
|
31
|
+
config: PublicKey;
|
|
32
|
+
bump: number;
|
|
33
|
+
tokenCount: number;
|
|
34
|
+
poolId: BN;
|
|
35
|
+
swapFeeRate: number;
|
|
36
|
+
protocolFeeRate: number;
|
|
37
|
+
createdAt: BN;
|
|
38
|
+
poolEnabled: boolean;
|
|
39
|
+
swapsEnabled: boolean;
|
|
40
|
+
poolAdmin: PublicKey;
|
|
41
|
+
pendingPoolAdmin: PublicKey;
|
|
42
|
+
rangeManager: PublicKey;
|
|
43
|
+
rangeManagerEnabled: boolean;
|
|
44
|
+
/** Percent-of-current-value cap, `PERCENT_SCALE` units (10_000 = 100%). */
|
|
45
|
+
rangeManagerMaxVbChangePct: number;
|
|
46
|
+
rangeManagerMaxWeightChangePct: number;
|
|
47
|
+
rangeManagerMinUpdateIntervalSecs: number;
|
|
48
|
+
rangeManagerLastUpdated: BN;
|
|
49
|
+
/**
|
|
50
|
+
* Absolute UPPER bound on `virtual_balance / actual_balance` the range
|
|
51
|
+
* manager may leave a token at, in basis points (10_000 = 1.0×).
|
|
52
|
+
* `0` ⇒ band disabled. Pools written before v5.1 read `0`.
|
|
53
|
+
*
|
|
54
|
+
* The per-update percentage caps *velocity*; this caps *distance*.
|
|
55
|
+
* Breaching it reverts with `RangeManagerLeverageBandExceeded` (6062).
|
|
56
|
+
*/
|
|
57
|
+
rangeManagerMaxLeverageBps: number;
|
|
58
|
+
/**
|
|
59
|
+
* Absolute LOWER bound on `virtual_balance / actual_balance`, same units.
|
|
60
|
+
* `0` ⇒ floor disabled. Pools written before v5.1 read `0`.
|
|
61
|
+
*/
|
|
62
|
+
rangeManagerMinLeverageBps: number;
|
|
63
|
+
tokenMints: PublicKey[];
|
|
64
|
+
tokenPrograms: PublicKey[];
|
|
65
|
+
normalizedWeights: BN[];
|
|
66
|
+
/**
|
|
67
|
+
* Max cumulative sell volume per window, as a percent of the token's
|
|
68
|
+
* virtual balance (`PERCENT_SCALE` units; 10_000 = 100%). `0` disables.
|
|
69
|
+
*/
|
|
70
|
+
maxSelloffPct: number[];
|
|
71
|
+
maxSelloffPeriodLength: number[];
|
|
72
|
+
/** Variable surge-fee curve, per token (`PERCENT_SCALE` units). */
|
|
73
|
+
variableFeeThresholdPct: number[];
|
|
74
|
+
variableFeeSlopeLowPct: number[];
|
|
75
|
+
variableFeeSlopeHighPct: number[];
|
|
76
|
+
/**
|
|
77
|
+
* Surge fee at the KINK — the middle control point of the three-point
|
|
78
|
+
* curve (`PERCENT_SCALE` units). Between `variableFeeThresholdPct` and
|
|
79
|
+
* the kink the fee runs linearly from `variableFeeSlopeLowPct` to this
|
|
80
|
+
* value; beyond it, from this value to `variableFeeSlopeHighPct` at full
|
|
81
|
+
* window fill. Contract enforces `low <= mid <= high`.
|
|
82
|
+
*
|
|
83
|
+
* New in v5.1 (carved out of `AssetConfig.reserved`). Pools written by
|
|
84
|
+
* the older program read `0`.
|
|
85
|
+
*/
|
|
86
|
+
variableFeeSlopeMidPct: number[];
|
|
87
|
+
/**
|
|
88
|
+
* Window fill at which the surge curve kinks, in WHOLE PERCENT (0..=100)
|
|
89
|
+
* — NOT `PERCENT_SCALE` units. `0` ⇒ no kink: the curve degenerates to a
|
|
90
|
+
* single straight line from `low` at the threshold to `high` at full fill,
|
|
91
|
+
* which is exactly how every pre-v5.1 pool decodes.
|
|
92
|
+
*
|
|
93
|
+
* New in v5.1 (carved out of `AssetConfig.reserved`).
|
|
94
|
+
*/
|
|
95
|
+
variableFeeKinkPct: number[];
|
|
96
|
+
/**
|
|
97
|
+
* Per-token input kill switch. `false` ⇒ swaps with this token as INPUT
|
|
98
|
+
* revert (`TokenInactive`). Defaults to `true`.
|
|
99
|
+
*/
|
|
100
|
+
isActive: boolean[];
|
|
101
|
+
virtualBalances: BN[];
|
|
102
|
+
actualBalances: BN[];
|
|
103
|
+
protocolFeesOwed: BN[];
|
|
104
|
+
previousSelloff: BN[];
|
|
105
|
+
currentSelloff: BN[];
|
|
106
|
+
windowStartTimestamp: BN[];
|
|
107
|
+
/** Virtual-balance snapshot taken when the max-selloff window opened. */
|
|
108
|
+
selloffVbSnapshot: BN[];
|
|
109
|
+
/**
|
|
110
|
+
* Per-pool Address Lookup Table. `PublicKey.default` means the pool's
|
|
111
|
+
* ALT has not been provisioned yet (`initialize_pool_alt` not called).
|
|
112
|
+
* SDK uses this to choose between v0 (with ALT) and legacy tx-building
|
|
113
|
+
* paths.
|
|
114
|
+
*/
|
|
115
|
+
lookupTable: PublicKey;
|
|
116
|
+
/**
|
|
117
|
+
* Effective Token-2022 banned-extensions bitmap this pool's tokens were
|
|
118
|
+
* vetted against at creation (creator override, or the config default).
|
|
119
|
+
* `0` ⇒ no extensions banned. Pre-upgrade pools read `0`. A permissive
|
|
120
|
+
* value is a rug-risk — surface it before depositing.
|
|
121
|
+
*/
|
|
122
|
+
bannedExtensions: BN;
|
|
123
|
+
/** The exact trailing ABI padding, preserved for complete state inspection. */
|
|
124
|
+
reserved: Buffer;
|
|
125
|
+
}
|
|
126
|
+
/** 8-byte anchor discriminator for CubicPool. */
|
|
127
|
+
export declare const POOL_DISCRIMINATOR_LEN = 8;
|
|
128
|
+
/**
|
|
129
|
+
* Total on-chain size of a v4/v5 CubicPool (includes the 8-byte
|
|
130
|
+
* discriminator). v5.1 carved its new fields out of `reserved`, so the
|
|
131
|
+
* size is deliberately identical to v4 — size alone cannot tell the two
|
|
132
|
+
* apart. Decoding interprets the current layout; it does not prove an older
|
|
133
|
+
* account has been migrated.
|
|
134
|
+
*/
|
|
135
|
+
export declare const POOL_V4_LEN = 1683;
|
|
136
|
+
/** Alias for {@link POOL_V4_LEN}; the layout is shared by v4 and v5. */
|
|
137
|
+
export declare const POOL_LEN = 1683;
|
|
138
|
+
/** Pre-v4 size — legacy accounts are unsupported by the current v4-to-v5 migration. */
|
|
139
|
+
export declare const POOL_V3_LEN = 1154;
|
|
140
|
+
export declare function decodePoolAccount(data: Buffer): RawPoolAccount;
|
|
141
|
+
//# sourceMappingURL=poolAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poolAccount.d.ts","sourceRoot":"","sources":["../../src/parsers/poolAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,EAAE,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,EAAE,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,SAAS,CAAC;IAE5B,YAAY,EAAE,SAAS,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,2EAA2E;IAC3E,0BAA0B,EAAE,MAAM,CAAC;IACnC,8BAA8B,EAAE,MAAM,CAAC;IACvC,iCAAiC,EAAE,MAAM,CAAC;IAC1C,uBAAuB,EAAE,EAAE,CAAC;IAC5B;;;;;;;OAOG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,0BAA0B,EAAE,MAAM,CAAC;IAGnC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACxB;;;OAGG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,mEAAmE;IACnE,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC;;;;;;;;;OASG;IACH,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC;;;;;;;OAOG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B;;;OAGG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IAEpB,eAAe,EAAE,EAAE,EAAE,CAAC;IACtB,cAAc,EAAE,EAAE,EAAE,CAAC;IACrB,gBAAgB,EAAE,EAAE,EAAE,CAAC;IACvB,eAAe,EAAE,EAAE,EAAE,CAAC;IACtB,cAAc,EAAE,EAAE,EAAE,CAAC;IACrB,oBAAoB,EAAE,EAAE,EAAE,CAAC;IAC3B,yEAAyE;IACzE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IAExB;;;;;OAKG;IACH,WAAW,EAAE,SAAS,CAAC;IAEvB;;;;;OAKG;IACH,gBAAgB,EAAE,EAAE,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iDAAiD;AACjD,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAGxC;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,wEAAwE;AACxE,eAAO,MAAM,QAAQ,OAAc,CAAC;AAKpC,uFAAuF;AACvF,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAuM9D"}
|