@whetstone-research/doppler-sdk 1.0.18 → 1.0.20
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/dist/chunk-BESE77DM.js +3840 -0
- package/dist/chunk-BESE77DM.js.map +1 -0
- package/dist/chunk-KJ6W44WF.cjs +4089 -0
- package/dist/chunk-KJ6W44WF.cjs.map +1 -0
- package/dist/{chunk-AKLS6T3R.cjs → chunk-Y6TJIH33.cjs} +36 -24
- package/dist/chunk-Y6TJIH33.cjs.map +1 -0
- package/dist/{chunk-6TOPYGOG.js → chunk-ZUJKBFXW.js} +35 -24
- package/dist/chunk-ZUJKBFXW.js.map +1 -0
- package/dist/{oracle-7PmpwwPx.d.ts → oracle-D1wPWydZ.d.cts} +1 -33
- package/dist/{oracle-7PmpwwPx.d.cts → oracle-D1wPWydZ.d.ts} +1 -33
- package/dist/{pda-PZRHQJMK.cjs → pda-A4PIAS5Y.cjs} +20 -16
- package/dist/pda-A4PIAS5Y.cjs.map +1 -0
- package/dist/{pda-N6ULJYLG.js → pda-JVAD45XJ.js} +3 -3
- package/dist/pda-JVAD45XJ.js.map +1 -0
- package/dist/solana/index.cjs +391 -3247
- package/dist/solana/index.cjs.map +1 -1
- package/dist/solana/index.d.cts +176 -207
- package/dist/solana/index.d.ts +176 -207
- package/dist/solana/index.js +67 -2923
- package/dist/solana/index.js.map +1 -1
- package/dist/solana/react/index.cjs +53 -85
- package/dist/solana/react/index.cjs.map +1 -1
- package/dist/solana/react/index.d.cts +7 -1
- package/dist/solana/react/index.d.ts +7 -1
- package/dist/solana/react/index.js +15 -47
- package/dist/solana/react/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-6TOPYGOG.js.map +0 -1
- package/dist/chunk-AKLS6T3R.cjs.map +0 -1
- package/dist/chunk-C2D7CIXP.js +0 -977
- package/dist/chunk-C2D7CIXP.js.map +0 -1
- package/dist/chunk-GUGN3EYX.cjs +0 -1069
- package/dist/chunk-GUGN3EYX.cjs.map +0 -1
- package/dist/pda-N6ULJYLG.js.map +0 -1
- package/dist/pda-PZRHQJMK.cjs.map +0 -1
package/dist/solana/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { transferAdminArgsCodec, swapExactInArgsCodec, sortPositionsByShares, sortPoolsByReserves,
|
|
2
|
-
import { sortMints, getSwapAddresses, getProtocolFeePositionAddress, getPositionAddress, getPoolVault1Address, getPoolVault0Address, getPoolInitAddresses, getPoolAuthorityAddress, getPoolAddress, getOracleAddress, getLiquidityAddresses, getConfigAddress, CPMM_PROGRAM_ID, areMintsOrdered, TOKEN_METADATA_PROGRAM_ID,
|
|
1
|
+
import { transferAdminArgsCodec, swapExactInArgsCodec, sortPositionsByShares, sortPoolsByReserves, setHookArgsCodec, setFeesArgsCodec, removeLiquidityArgsCodec, ratioToNumber, q64ToNumber, q64Mul, q64Div, positionDataCodec, poolExists, poolDataCodec, parseWithdrawVaultExcessInstruction, parseUpdateConfigInstruction, parseUnpauseInstruction, parseTransferAdminInstruction, parseSwapExactInInstruction, parseSetHookInstruction, parseSetFeesInstruction, parseRemoveLiquidityInstruction, parseRedeemProtocolSharesInstruction, parsePreviewSwapExactInInstruction, parsePauseInstruction, parseOracleUpdateInstruction, parseOracleConsultInstruction, parseInitializePoolInstruction, parseInitializeOracleInstruction, parseInitializeConfigInstruction, parseCreatePositionInstruction, parseCollectProtocolFeesInstruction, parseCollectFeesInstruction, parseClosePositionInstruction, parseAddLiquidityInstruction, oracleStateDataCodec, oracleConsultArgsCodec, observationCodec, numberToQ64, minBigInt, maxBigInt, isqrt, isOracleStale, initializePoolArgsCodec, initializeOracleArgsCodec, initializeConfigArgsCodec, getWithdrawVaultExcessInstructionDataEncoder, getWithdrawVaultExcessInstructionDataDecoder, getWithdrawVaultExcessInstructionDataCodec, getWithdrawVaultExcessInstructionAsync, getWithdrawVaultExcessInstruction, getWithdrawVaultExcessDiscriminatorBytes, getUpdateConfigInstructionDataEncoder, getUpdateConfigInstructionDataDecoder, getUpdateConfigInstructionDataCodec, getUpdateConfigInstruction, getUpdateConfigDiscriminatorBytes, getUnpauseInstructionDataEncoder, getUnpauseInstructionDataDecoder, getUnpauseInstructionDataCodec, getUnpauseInstruction, getUnpauseDiscriminatorBytes, getTvl, getTransferAdminInstructionDataEncoder, getTransferAdminInstructionDataDecoder, getTransferAdminInstructionDataCodec, getTransferAdminInstruction, getTransferAdminDiscriminatorBytes, getSwapQuoteExactOut, getSwapQuote, getSwapExactInInstructionDataEncoder, getSwapExactInInstructionDataDecoder, getSwapExactInInstructionDataCodec, getSwapExactInInstructionAsync, getSwapExactInInstruction, getSwapExactInDiscriminatorBytes, getSpotPrice1, getSpotPrice0, getSetHookInstructionDataEncoder, getSetHookInstructionDataDecoder, getSetHookInstructionDataCodec, getSetHookInstruction, getSetHookDiscriminatorBytes, getSetFeesInstructionDataEncoder, getSetFeesInstructionDataDecoder, getSetFeesInstructionDataCodec, getSetFeesInstruction, getSetFeesDiscriminatorBytes, getRemoveLiquidityQuote, getRemoveLiquidityInstructionDataEncoder, getRemoveLiquidityInstructionDataDecoder, getRemoveLiquidityInstructionDataCodec, getRemoveLiquidityInstructionAsync, getRemoveLiquidityInstruction, getRemoveLiquidityDiscriminatorBytes, getRedeemProtocolSharesInstructionDataEncoder, getRedeemProtocolSharesInstructionDataDecoder, getRedeemProtocolSharesInstructionDataCodec, getRedeemProtocolSharesInstructionAsync, getRedeemProtocolSharesInstruction, getRedeemProtocolSharesDiscriminatorBytes, getPreviewSwapExactInInstructionDataEncoder, getPreviewSwapExactInInstructionDataDecoder, getPreviewSwapExactInInstructionDataCodec, getPreviewSwapExactInInstruction, getPreviewSwapExactInDiscriminatorBytes, getPositionValue, getPositionAddressFromParams, getPoolByMints, getPoolAddressFromMints, getPendingFees, getPauseInstructionDataEncoder, getPauseInstructionDataDecoder, getPauseInstructionDataCodec, getPauseInstruction, getPauseDiscriminatorBytes, getOracleUpdateInstructionDataEncoder, getOracleUpdateInstructionDataDecoder, getOracleUpdateInstructionDataCodec, getOracleUpdateInstructionAsync, getOracleUpdateInstruction, getOracleUpdateDiscriminatorBytes, getOracleSpotPrices, getOracleForPool, getOracleDeviation, getOracleConsultInstructionDataEncoder, getOracleConsultInstructionDataDecoder, getOracleConsultInstructionDataCodec, getOracleConsultInstructionAsync, getOracleConsultInstruction, getOracleConsultDiscriminatorBytes, getOracleBufferStats, getOracleAge, getOracleAddressFromPool, getK, getInitializePoolInstructionDataEncoder, getInitializePoolInstructionDataDecoder, getInitializePoolInstructionDataCodec, getInitializePoolInstructionAsync, getInitializePoolInstruction, getInitializePoolDiscriminatorBytes, getInitializeOracleInstructionDataEncoder, getInitializeOracleInstructionDataDecoder, getInitializeOracleInstructionDataCodec, getInitializeOracleInstructionAsync, getInitializeOracleInstruction, getInitializeOracleDiscriminatorBytes, getInitializeConfigInstructionDataEncoder, getInitializeConfigInstructionDataDecoder, getInitializeConfigInstructionDataCodec, getInitializeConfigInstructionAsync, getInitializeConfigInstruction, getInitializeConfigDiscriminatorBytes, getCreatePositionInstructionDataEncoder, getCreatePositionInstructionDataDecoder, getCreatePositionInstructionDataCodec, getCreatePositionInstructionAsync, getCreatePositionInstruction, getCreatePositionDiscriminatorBytes, getCollectProtocolFeesInstructionDataEncoder, getCollectProtocolFeesInstructionDataDecoder, getCollectProtocolFeesInstructionDataCodec, getCollectProtocolFeesInstructionAsync, getCollectProtocolFeesInstruction, getCollectProtocolFeesDiscriminatorBytes, getCollectFeesInstructionDataEncoder, getCollectFeesInstructionDataDecoder, getCollectFeesInstructionDataCodec, getCollectFeesInstructionAsync, getCollectFeesInstruction, getCollectFeesDiscriminatorBytes, getClosePositionInstructionDataEncoder, getClosePositionInstructionDataDecoder, getClosePositionInstructionDataCodec, getClosePositionInstruction, getClosePositionDiscriminatorBytes, getAddLiquidityQuote, getAddLiquidityInstructionDataEncoder, getAddLiquidityInstructionDataDecoder, getAddLiquidityInstructionDataCodec, getAddLiquidityInstructionAsync, getAddLiquidityInstruction, getAddLiquidityDiscriminatorBytes, filterPoolsByMint, filterActivePositions, fetchUserPositions, fetchPositionsBatch, fetchPositionByParams, fetchPosition, fetchPoolsBatch, fetchPoolPositions, fetchPool, fetchOraclesBatch, fetchOracle, fetchAllPools, encodeTransferAdminArgs, encodeSwapExactInArgs, encodeSetHookArgs, encodeSetFeesArgs, encodeRemoveLiquidityArgs, encodeOracleConsultArgs, encodeInstructionData, encodeInitializePoolArgs, encodeInitializeOracleArgs, encodeInitializeConfigArgs, encodeCreatePositionArgs, encodeCollectProtocolFeesArgs, encodeCollectFeesArgs, encodeAddLiquidityArgs, decodePosition, decodePool, decodeOracleState, decodeAmmConfig, createPositionArgsCodec, consultTwap, computePrice1Q64, computePrice0Q64, comparePoolAndOraclePrices, collectProtocolFeesArgsCodec, collectFeesArgsCodec, ceilDiv, calculateTwapNumber, calculateTwap, calculateAccruedFees, ammConfigDataCodec, addLiquidityArgsCodec, WITHDRAW_VAULT_EXCESS_DISCRIMINATOR, UPDATE_CONFIG_DISCRIMINATOR, UNPAUSE_DISCRIMINATOR, TRANSFER_ADMIN_DISCRIMINATOR, SWAP_EXACT_IN_DISCRIMINATOR, SET_HOOK_DISCRIMINATOR, SET_FEES_DISCRIMINATOR, REMOVE_LIQUIDITY_DISCRIMINATOR, REDEEM_PROTOCOL_SHARES_DISCRIMINATOR, PREVIEW_SWAP_EXACT_IN_DISCRIMINATOR, PAUSE_DISCRIMINATOR, ORACLE_UPDATE_DISCRIMINATOR, ORACLE_CONSULT_DISCRIMINATOR, INITIALIZE_POOL_DISCRIMINATOR, INITIALIZE_ORACLE_DISCRIMINATOR, INITIALIZE_CONFIG_DISCRIMINATOR, CREATE_POSITION_DISCRIMINATOR, COLLECT_PROTOCOL_FEES_DISCRIMINATOR, COLLECT_FEES_DISCRIMINATOR, CLOSE_POSITION_DISCRIMINATOR, ADD_LIQUIDITY_DISCRIMINATOR, CPMM_PROGRAM_ADDRESS } from '../chunk-BESE77DM.js';
|
|
2
|
+
import { sortMints, getSwapAddresses, getProtocolFeePositionAddress, getProtocolFeeOwnerAddress, getPositionAddress, getPoolVault1Address, getPoolVault0Address, getPoolInitAddresses, getPoolAuthorityAddress, getPoolAddress, getOracleAddress, getLiquidityAddresses, getConfigAddress, CPMM_PROGRAM_ID, areMintsOrdered, TOKEN_METADATA_PROGRAM_ID, SEED_PROTOCOL_FEE_OWNER, SEED_POSITION, SEED_POOL, SEED_ORACLE, SEED_CONFIG, SEED_AUTHORITY, Q64_ONE, MAX_ORACLE_OBSERVATIONS, MAX_HOOK_ALLOWLIST, INSTRUCTION_DISCRIMINATORS, HOOK_NO_CHANGE, HF_REQUIRE_ORACLE, HF_FORWARD_READONLY_SIGNERS, HF_BEFORE_SWAP, HF_BEFORE_REMOVE_LIQ, HF_BEFORE_ADD_LIQ, HF_AFTER_SWAP, HF_AFTER_REMOVE_LIQ, HF_AFTER_ADD_LIQ, BPS_DENOM, ACCOUNT_VERSION, ACCOUNT_DISCRIMINATORS, TOKEN_PROGRAM_ADDRESS, SYSTEM_PROGRAM_ADDRESS } from '../chunk-ZUJKBFXW.js';
|
|
3
3
|
import { __export } from '../chunk-PZ5AY32C.js';
|
|
4
|
-
import { getAddressCodec, getProgramDerivedAddress, fixEncoderSize, getBytesEncoder, transformEncoder, getStructEncoder,
|
|
5
|
-
import {
|
|
4
|
+
import { getAddressCodec, getProgramDerivedAddress, createNoopSigner, fixEncoderSize, getBytesEncoder, transformEncoder, getStructEncoder, getAddressEncoder, getU8Encoder, getArrayEncoder, getStructDecoder, fixDecoderSize, getAddressDecoder, getU8Decoder, getArrayDecoder, getBytesDecoder, combineCodec, decodeAccount, assertAccountExists, fetchEncodedAccount, assertAccountsExist, fetchEncodedAccounts, SolanaError, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, containsBytes, SOLANA_ERROR__PROGRAM_CLIENTS__FAILED_TO_IDENTIFY_ACCOUNT, SOLANA_ERROR__PROGRAM_CLIENTS__FAILED_TO_IDENTIFY_INSTRUCTION, SOLANA_ERROR__PROGRAM_CLIENTS__UNRECOGNIZED_INSTRUCTION_TYPE, assertIsInstructionWithAccounts, isProgramError, address, getU16Encoder, getU16Decoder, getU64Encoder, addEncoderSizePrefix, getU32Encoder, getUtf8Encoder, getU64Decoder, addDecoderSizePrefix, getU32Decoder, getUtf8Decoder, AccountRole, getStructCodec, getU64Codec, compressTransactionMessageUsingAddressLookupTables, getOptionEncoder, getU128Encoder, getOptionDecoder, getU128Decoder, getBooleanEncoder, getBooleanDecoder, mergeBytes, getEnumEncoder } from '@solana/kit';
|
|
5
|
+
import { getAccountMetaFactory, addSelfPlanAndSendFunctions, addSelfFetchFunctions, getAddressFromResolvedInstructionAccount } from '@solana/program-client-core';
|
|
6
6
|
import { keccak_256 } from '@noble/hashes/sha3.js';
|
|
7
7
|
import { findAddressLookupTablePda, getCreateLookupTableInstruction, getExtendLookupTableInstruction } from '@solana-program/address-lookup-table';
|
|
8
8
|
|
|
@@ -42,17 +42,16 @@ __export(cpmm_exports, {
|
|
|
42
42
|
PAUSE_DISCRIMINATOR: () => PAUSE_DISCRIMINATOR,
|
|
43
43
|
PREVIEW_SWAP_EXACT_IN_DISCRIMINATOR: () => PREVIEW_SWAP_EXACT_IN_DISCRIMINATOR,
|
|
44
44
|
Q64_ONE: () => Q64_ONE,
|
|
45
|
-
|
|
45
|
+
REDEEM_PROTOCOL_SHARES_DISCRIMINATOR: () => REDEEM_PROTOCOL_SHARES_DISCRIMINATOR,
|
|
46
46
|
REMOVE_LIQUIDITY_DISCRIMINATOR: () => REMOVE_LIQUIDITY_DISCRIMINATOR,
|
|
47
47
|
SEED_AUTHORITY: () => SEED_AUTHORITY,
|
|
48
48
|
SEED_CONFIG: () => SEED_CONFIG,
|
|
49
49
|
SEED_ORACLE: () => SEED_ORACLE,
|
|
50
50
|
SEED_POOL: () => SEED_POOL,
|
|
51
51
|
SEED_POSITION: () => SEED_POSITION,
|
|
52
|
-
|
|
52
|
+
SEED_PROTOCOL_FEE_OWNER: () => SEED_PROTOCOL_FEE_OWNER,
|
|
53
53
|
SET_FEES_DISCRIMINATOR: () => SET_FEES_DISCRIMINATOR,
|
|
54
54
|
SET_HOOK_DISCRIMINATOR: () => SET_HOOK_DISCRIMINATOR,
|
|
55
|
-
SET_ROUTE_DISCRIMINATOR: () => SET_ROUTE_DISCRIMINATOR,
|
|
56
55
|
SWAP_EXACT_IN_DISCRIMINATOR: () => SWAP_EXACT_IN_DISCRIMINATOR,
|
|
57
56
|
TOKEN_METADATA_PROGRAM_ID: () => TOKEN_METADATA_PROGRAM_ID,
|
|
58
57
|
TRANSFER_ADMIN_DISCRIMINATOR: () => TRANSFER_ADMIN_DISCRIMINATOR,
|
|
@@ -84,11 +83,9 @@ __export(cpmm_exports, {
|
|
|
84
83
|
createOracleUpdateInstruction: () => getOracleUpdateInstruction,
|
|
85
84
|
createPauseInstruction: () => getPauseInstruction,
|
|
86
85
|
createPositionArgsCodec: () => createPositionArgsCodec,
|
|
87
|
-
createQuoteToNumeraireInstruction: () => getQuoteToNumeraireInstruction,
|
|
88
86
|
createRemoveLiquidityInstruction: () => getRemoveLiquidityInstruction,
|
|
89
87
|
createSetFeesInstruction: () => getSetFeesInstruction,
|
|
90
88
|
createSetHookInstruction: () => getSetHookInstruction,
|
|
91
|
-
createSetRouteInstruction: () => getSetRouteInstruction,
|
|
92
89
|
createSwapExactInInstruction: () => getSwapExactInInstruction,
|
|
93
90
|
createSwapInstruction: () => createSwapInstruction,
|
|
94
91
|
createTransferAdminInstruction: () => getTransferAdminInstruction,
|
|
@@ -108,11 +105,9 @@ __export(cpmm_exports, {
|
|
|
108
105
|
encodeInitializePoolArgs: () => encodeInitializePoolArgs,
|
|
109
106
|
encodeInstructionData: () => encodeInstructionData,
|
|
110
107
|
encodeOracleConsultArgs: () => encodeOracleConsultArgs,
|
|
111
|
-
encodeQuoteToNumeraireArgs: () => encodeQuoteToNumeraireArgs,
|
|
112
108
|
encodeRemoveLiquidityArgs: () => encodeRemoveLiquidityArgs,
|
|
113
109
|
encodeSetFeesArgs: () => encodeSetFeesArgs,
|
|
114
110
|
encodeSetHookArgs: () => encodeSetHookArgs,
|
|
115
|
-
encodeSetRouteArgs: () => encodeSetRouteArgs,
|
|
116
111
|
encodeSwapExactInArgs: () => encodeSwapExactInArgs,
|
|
117
112
|
encodeTransferAdminArgs: () => encodeTransferAdminArgs,
|
|
118
113
|
fetchAllPools: () => fetchAllPools,
|
|
@@ -222,12 +217,14 @@ __export(cpmm_exports, {
|
|
|
222
217
|
getPreviewSwapExactInInstructionDataCodec: () => getPreviewSwapExactInInstructionDataCodec,
|
|
223
218
|
getPreviewSwapExactInInstructionDataDecoder: () => getPreviewSwapExactInInstructionDataDecoder,
|
|
224
219
|
getPreviewSwapExactInInstructionDataEncoder: () => getPreviewSwapExactInInstructionDataEncoder,
|
|
220
|
+
getProtocolFeeOwnerAddress: () => getProtocolFeeOwnerAddress,
|
|
225
221
|
getProtocolFeePositionAddress: () => getProtocolFeePositionAddress,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
222
|
+
getRedeemProtocolSharesDiscriminatorBytes: () => getRedeemProtocolSharesDiscriminatorBytes,
|
|
223
|
+
getRedeemProtocolSharesInstruction: () => getRedeemProtocolSharesInstruction,
|
|
224
|
+
getRedeemProtocolSharesInstructionAsync: () => getRedeemProtocolSharesInstructionAsync,
|
|
225
|
+
getRedeemProtocolSharesInstructionDataCodec: () => getRedeemProtocolSharesInstructionDataCodec,
|
|
226
|
+
getRedeemProtocolSharesInstructionDataDecoder: () => getRedeemProtocolSharesInstructionDataDecoder,
|
|
227
|
+
getRedeemProtocolSharesInstructionDataEncoder: () => getRedeemProtocolSharesInstructionDataEncoder,
|
|
231
228
|
getRemoveLiquidityDiscriminatorBytes: () => getRemoveLiquidityDiscriminatorBytes,
|
|
232
229
|
getRemoveLiquidityInstruction: () => getRemoveLiquidityInstruction,
|
|
233
230
|
getRemoveLiquidityInstructionAsync: () => getRemoveLiquidityInstructionAsync,
|
|
@@ -245,11 +242,6 @@ __export(cpmm_exports, {
|
|
|
245
242
|
getSetHookInstructionDataCodec: () => getSetHookInstructionDataCodec,
|
|
246
243
|
getSetHookInstructionDataDecoder: () => getSetHookInstructionDataDecoder,
|
|
247
244
|
getSetHookInstructionDataEncoder: () => getSetHookInstructionDataEncoder,
|
|
248
|
-
getSetRouteDiscriminatorBytes: () => getSetRouteDiscriminatorBytes,
|
|
249
|
-
getSetRouteInstruction: () => getSetRouteInstruction,
|
|
250
|
-
getSetRouteInstructionDataCodec: () => getSetRouteInstructionDataCodec,
|
|
251
|
-
getSetRouteInstructionDataDecoder: () => getSetRouteInstructionDataDecoder,
|
|
252
|
-
getSetRouteInstructionDataEncoder: () => getSetRouteInstructionDataEncoder,
|
|
253
245
|
getSpotPrice0: () => getSpotPrice0,
|
|
254
246
|
getSpotPrice1: () => getSpotPrice1,
|
|
255
247
|
getSwapAddresses: () => getSwapAddresses,
|
|
@@ -311,11 +303,10 @@ __export(cpmm_exports, {
|
|
|
311
303
|
parseOracleUpdateInstruction: () => parseOracleUpdateInstruction,
|
|
312
304
|
parsePauseInstruction: () => parsePauseInstruction,
|
|
313
305
|
parsePreviewSwapExactInInstruction: () => parsePreviewSwapExactInInstruction,
|
|
314
|
-
|
|
306
|
+
parseRedeemProtocolSharesInstruction: () => parseRedeemProtocolSharesInstruction,
|
|
315
307
|
parseRemoveLiquidityInstruction: () => parseRemoveLiquidityInstruction,
|
|
316
308
|
parseSetFeesInstruction: () => parseSetFeesInstruction,
|
|
317
309
|
parseSetHookInstruction: () => parseSetHookInstruction,
|
|
318
|
-
parseSetRouteInstruction: () => parseSetRouteInstruction,
|
|
319
310
|
parseSwapExactInInstruction: () => parseSwapExactInInstruction,
|
|
320
311
|
parseTransferAdminInstruction: () => parseTransferAdminInstruction,
|
|
321
312
|
parseUnpauseInstruction: () => parseUnpauseInstruction,
|
|
@@ -327,12 +318,10 @@ __export(cpmm_exports, {
|
|
|
327
318
|
q64Div: () => q64Div,
|
|
328
319
|
q64Mul: () => q64Mul,
|
|
329
320
|
q64ToNumber: () => q64ToNumber,
|
|
330
|
-
quoteToNumeraireArgsCodec: () => quoteToNumeraireArgsCodec,
|
|
331
321
|
ratioToNumber: () => ratioToNumber,
|
|
332
322
|
removeLiquidityArgsCodec: () => removeLiquidityArgsCodec,
|
|
333
323
|
setFeesArgsCodec: () => setFeesArgsCodec,
|
|
334
324
|
setHookArgsCodec: () => setHookArgsCodec,
|
|
335
|
-
setRouteArgsCodec: () => setRouteArgsCodec,
|
|
336
325
|
sortMints: () => sortMints,
|
|
337
326
|
sortPoolsByReserves: () => sortPoolsByReserves,
|
|
338
327
|
sortPositionsByShares: () => sortPositionsByShares,
|
|
@@ -639,2869 +628,6 @@ function getErrorMessage(code) {
|
|
|
639
628
|
}
|
|
640
629
|
return `Unknown error code: ${code}`;
|
|
641
630
|
}
|
|
642
|
-
|
|
643
|
-
// src/solana/generated/cpmm/programs/cpmm.ts
|
|
644
|
-
var CPMM_PROGRAM_ADDRESS = "9PSxVPoPfnbZ8Q1uQhgS6ZxvBjFboZtebNsu34umxkgQ";
|
|
645
|
-
|
|
646
|
-
// src/solana/generated/cpmm/instructions/addLiquidity.ts
|
|
647
|
-
var ADD_LIQUIDITY_DISCRIMINATOR = new Uint8Array([
|
|
648
|
-
181,
|
|
649
|
-
157,
|
|
650
|
-
89,
|
|
651
|
-
67,
|
|
652
|
-
143,
|
|
653
|
-
182,
|
|
654
|
-
52,
|
|
655
|
-
72
|
|
656
|
-
]);
|
|
657
|
-
function getAddLiquidityDiscriminatorBytes() {
|
|
658
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
659
|
-
ADD_LIQUIDITY_DISCRIMINATOR
|
|
660
|
-
);
|
|
661
|
-
}
|
|
662
|
-
function getAddLiquidityInstructionDataEncoder() {
|
|
663
|
-
return transformEncoder(
|
|
664
|
-
getStructEncoder([
|
|
665
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
666
|
-
["amount0Max", getU64Encoder()],
|
|
667
|
-
["amount1Max", getU64Encoder()],
|
|
668
|
-
["minSharesOut", getU128Encoder()],
|
|
669
|
-
["updateOracle", getBooleanEncoder()]
|
|
670
|
-
]),
|
|
671
|
-
(value) => ({ ...value, discriminator: ADD_LIQUIDITY_DISCRIMINATOR })
|
|
672
|
-
);
|
|
673
|
-
}
|
|
674
|
-
function getAddLiquidityInstructionDataDecoder() {
|
|
675
|
-
return getStructDecoder([
|
|
676
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
677
|
-
["amount0Max", getU64Decoder()],
|
|
678
|
-
["amount1Max", getU64Decoder()],
|
|
679
|
-
["minSharesOut", getU128Decoder()],
|
|
680
|
-
["updateOracle", getBooleanDecoder()]
|
|
681
|
-
]);
|
|
682
|
-
}
|
|
683
|
-
function getAddLiquidityInstructionDataCodec() {
|
|
684
|
-
return combineCodec(
|
|
685
|
-
getAddLiquidityInstructionDataEncoder(),
|
|
686
|
-
getAddLiquidityInstructionDataDecoder()
|
|
687
|
-
);
|
|
688
|
-
}
|
|
689
|
-
async function getAddLiquidityInstructionAsync(input, config) {
|
|
690
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
691
|
-
const originalAccounts = {
|
|
692
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
693
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
694
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
695
|
-
protocolFeePosition: {
|
|
696
|
-
value: input.protocolFeePosition ?? null,
|
|
697
|
-
isWritable: true
|
|
698
|
-
},
|
|
699
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
700
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
701
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
702
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
703
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
704
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
705
|
-
user0: { value: input.user0 ?? null, isWritable: true },
|
|
706
|
-
user1: { value: input.user1 ?? null, isWritable: true },
|
|
707
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
708
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false },
|
|
709
|
-
oracle: { value: input.oracle ?? null, isWritable: true }
|
|
710
|
-
};
|
|
711
|
-
const accounts = originalAccounts;
|
|
712
|
-
const args = { ...input };
|
|
713
|
-
if (!accounts.authority.value) {
|
|
714
|
-
accounts.authority.value = await getProgramDerivedAddress({
|
|
715
|
-
programAddress,
|
|
716
|
-
seeds: [
|
|
717
|
-
getBytesEncoder().encode(
|
|
718
|
-
new Uint8Array([97, 117, 116, 104, 111, 114, 105, 116, 121])
|
|
719
|
-
),
|
|
720
|
-
getAddressEncoder().encode(
|
|
721
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
722
|
-
)
|
|
723
|
-
]
|
|
724
|
-
});
|
|
725
|
-
}
|
|
726
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
727
|
-
return Object.freeze({
|
|
728
|
-
accounts: [
|
|
729
|
-
getAccountMeta("config", accounts.config),
|
|
730
|
-
getAccountMeta("pool", accounts.pool),
|
|
731
|
-
getAccountMeta("position", accounts.position),
|
|
732
|
-
getAccountMeta("protocolFeePosition", accounts.protocolFeePosition),
|
|
733
|
-
getAccountMeta("owner", accounts.owner),
|
|
734
|
-
getAccountMeta("authority", accounts.authority),
|
|
735
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
736
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
737
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
738
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
739
|
-
getAccountMeta("user0", accounts.user0),
|
|
740
|
-
getAccountMeta("user1", accounts.user1),
|
|
741
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
742
|
-
getAccountMeta("token1Program", accounts.token1Program),
|
|
743
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
744
|
-
],
|
|
745
|
-
data: getAddLiquidityInstructionDataEncoder().encode(
|
|
746
|
-
args
|
|
747
|
-
),
|
|
748
|
-
programAddress
|
|
749
|
-
});
|
|
750
|
-
}
|
|
751
|
-
function getAddLiquidityInstruction(input, config) {
|
|
752
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
753
|
-
const originalAccounts = {
|
|
754
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
755
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
756
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
757
|
-
protocolFeePosition: {
|
|
758
|
-
value: input.protocolFeePosition ?? null,
|
|
759
|
-
isWritable: true
|
|
760
|
-
},
|
|
761
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
762
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
763
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
764
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
765
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
766
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
767
|
-
user0: { value: input.user0 ?? null, isWritable: true },
|
|
768
|
-
user1: { value: input.user1 ?? null, isWritable: true },
|
|
769
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
770
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false },
|
|
771
|
-
oracle: { value: input.oracle ?? null, isWritable: true }
|
|
772
|
-
};
|
|
773
|
-
const accounts = originalAccounts;
|
|
774
|
-
const args = { ...input };
|
|
775
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
776
|
-
return Object.freeze({
|
|
777
|
-
accounts: [
|
|
778
|
-
getAccountMeta("config", accounts.config),
|
|
779
|
-
getAccountMeta("pool", accounts.pool),
|
|
780
|
-
getAccountMeta("position", accounts.position),
|
|
781
|
-
getAccountMeta("protocolFeePosition", accounts.protocolFeePosition),
|
|
782
|
-
getAccountMeta("owner", accounts.owner),
|
|
783
|
-
getAccountMeta("authority", accounts.authority),
|
|
784
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
785
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
786
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
787
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
788
|
-
getAccountMeta("user0", accounts.user0),
|
|
789
|
-
getAccountMeta("user1", accounts.user1),
|
|
790
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
791
|
-
getAccountMeta("token1Program", accounts.token1Program),
|
|
792
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
793
|
-
],
|
|
794
|
-
data: getAddLiquidityInstructionDataEncoder().encode(
|
|
795
|
-
args
|
|
796
|
-
),
|
|
797
|
-
programAddress
|
|
798
|
-
});
|
|
799
|
-
}
|
|
800
|
-
function parseAddLiquidityInstruction(instruction) {
|
|
801
|
-
if (instruction.accounts.length < 15) {
|
|
802
|
-
throw new SolanaError(
|
|
803
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
804
|
-
{
|
|
805
|
-
actualAccountMetas: instruction.accounts.length,
|
|
806
|
-
expectedAccountMetas: 15
|
|
807
|
-
}
|
|
808
|
-
);
|
|
809
|
-
}
|
|
810
|
-
let accountIndex = 0;
|
|
811
|
-
const getNextAccount = () => {
|
|
812
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
813
|
-
accountIndex += 1;
|
|
814
|
-
return accountMeta;
|
|
815
|
-
};
|
|
816
|
-
const getNextOptionalAccount = () => {
|
|
817
|
-
const accountMeta = getNextAccount();
|
|
818
|
-
return accountMeta.address === CPMM_PROGRAM_ADDRESS ? void 0 : accountMeta;
|
|
819
|
-
};
|
|
820
|
-
return {
|
|
821
|
-
programAddress: instruction.programAddress,
|
|
822
|
-
accounts: {
|
|
823
|
-
config: getNextAccount(),
|
|
824
|
-
pool: getNextAccount(),
|
|
825
|
-
position: getNextAccount(),
|
|
826
|
-
protocolFeePosition: getNextAccount(),
|
|
827
|
-
owner: getNextAccount(),
|
|
828
|
-
authority: getNextAccount(),
|
|
829
|
-
vault0: getNextAccount(),
|
|
830
|
-
vault1: getNextAccount(),
|
|
831
|
-
token0Mint: getNextAccount(),
|
|
832
|
-
token1Mint: getNextAccount(),
|
|
833
|
-
user0: getNextAccount(),
|
|
834
|
-
user1: getNextAccount(),
|
|
835
|
-
token0Program: getNextAccount(),
|
|
836
|
-
token1Program: getNextAccount(),
|
|
837
|
-
oracle: getNextOptionalAccount()
|
|
838
|
-
},
|
|
839
|
-
data: getAddLiquidityInstructionDataDecoder().decode(instruction.data)
|
|
840
|
-
};
|
|
841
|
-
}
|
|
842
|
-
var CLOSE_POSITION_DISCRIMINATOR = new Uint8Array([
|
|
843
|
-
123,
|
|
844
|
-
134,
|
|
845
|
-
81,
|
|
846
|
-
0,
|
|
847
|
-
49,
|
|
848
|
-
68,
|
|
849
|
-
98,
|
|
850
|
-
98
|
|
851
|
-
]);
|
|
852
|
-
function getClosePositionDiscriminatorBytes() {
|
|
853
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
854
|
-
CLOSE_POSITION_DISCRIMINATOR
|
|
855
|
-
);
|
|
856
|
-
}
|
|
857
|
-
function getClosePositionInstructionDataEncoder() {
|
|
858
|
-
return transformEncoder(
|
|
859
|
-
getStructEncoder([["discriminator", fixEncoderSize(getBytesEncoder(), 8)]]),
|
|
860
|
-
(value) => ({ ...value, discriminator: CLOSE_POSITION_DISCRIMINATOR })
|
|
861
|
-
);
|
|
862
|
-
}
|
|
863
|
-
function getClosePositionInstructionDataDecoder() {
|
|
864
|
-
return getStructDecoder([
|
|
865
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)]
|
|
866
|
-
]);
|
|
867
|
-
}
|
|
868
|
-
function getClosePositionInstructionDataCodec() {
|
|
869
|
-
return combineCodec(
|
|
870
|
-
getClosePositionInstructionDataEncoder(),
|
|
871
|
-
getClosePositionInstructionDataDecoder()
|
|
872
|
-
);
|
|
873
|
-
}
|
|
874
|
-
function getClosePositionInstruction(input, config) {
|
|
875
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
876
|
-
const originalAccounts = {
|
|
877
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
878
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
879
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
880
|
-
rentRecipient: { value: input.rentRecipient ?? null, isWritable: true }
|
|
881
|
-
};
|
|
882
|
-
const accounts = originalAccounts;
|
|
883
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
884
|
-
return Object.freeze({
|
|
885
|
-
accounts: [
|
|
886
|
-
getAccountMeta("pool", accounts.pool),
|
|
887
|
-
getAccountMeta("position", accounts.position),
|
|
888
|
-
getAccountMeta("owner", accounts.owner),
|
|
889
|
-
getAccountMeta("rentRecipient", accounts.rentRecipient)
|
|
890
|
-
],
|
|
891
|
-
data: getClosePositionInstructionDataEncoder().encode({}),
|
|
892
|
-
programAddress
|
|
893
|
-
});
|
|
894
|
-
}
|
|
895
|
-
function parseClosePositionInstruction(instruction) {
|
|
896
|
-
if (instruction.accounts.length < 4) {
|
|
897
|
-
throw new SolanaError(
|
|
898
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
899
|
-
{
|
|
900
|
-
actualAccountMetas: instruction.accounts.length,
|
|
901
|
-
expectedAccountMetas: 4
|
|
902
|
-
}
|
|
903
|
-
);
|
|
904
|
-
}
|
|
905
|
-
let accountIndex = 0;
|
|
906
|
-
const getNextAccount = () => {
|
|
907
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
908
|
-
accountIndex += 1;
|
|
909
|
-
return accountMeta;
|
|
910
|
-
};
|
|
911
|
-
return {
|
|
912
|
-
programAddress: instruction.programAddress,
|
|
913
|
-
accounts: {
|
|
914
|
-
pool: getNextAccount(),
|
|
915
|
-
position: getNextAccount(),
|
|
916
|
-
owner: getNextAccount(),
|
|
917
|
-
rentRecipient: getNextAccount()
|
|
918
|
-
},
|
|
919
|
-
data: getClosePositionInstructionDataDecoder().decode(instruction.data)
|
|
920
|
-
};
|
|
921
|
-
}
|
|
922
|
-
var COLLECT_FEES_DISCRIMINATOR = new Uint8Array([
|
|
923
|
-
164,
|
|
924
|
-
152,
|
|
925
|
-
207,
|
|
926
|
-
99,
|
|
927
|
-
30,
|
|
928
|
-
186,
|
|
929
|
-
19,
|
|
930
|
-
182
|
|
931
|
-
]);
|
|
932
|
-
function getCollectFeesDiscriminatorBytes() {
|
|
933
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
934
|
-
COLLECT_FEES_DISCRIMINATOR
|
|
935
|
-
);
|
|
936
|
-
}
|
|
937
|
-
function getCollectFeesInstructionDataEncoder() {
|
|
938
|
-
return transformEncoder(
|
|
939
|
-
getStructEncoder([
|
|
940
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
941
|
-
["max0", getU64Encoder()],
|
|
942
|
-
["max1", getU64Encoder()]
|
|
943
|
-
]),
|
|
944
|
-
(value) => ({ ...value, discriminator: COLLECT_FEES_DISCRIMINATOR })
|
|
945
|
-
);
|
|
946
|
-
}
|
|
947
|
-
function getCollectFeesInstructionDataDecoder() {
|
|
948
|
-
return getStructDecoder([
|
|
949
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
950
|
-
["max0", getU64Decoder()],
|
|
951
|
-
["max1", getU64Decoder()]
|
|
952
|
-
]);
|
|
953
|
-
}
|
|
954
|
-
function getCollectFeesInstructionDataCodec() {
|
|
955
|
-
return combineCodec(
|
|
956
|
-
getCollectFeesInstructionDataEncoder(),
|
|
957
|
-
getCollectFeesInstructionDataDecoder()
|
|
958
|
-
);
|
|
959
|
-
}
|
|
960
|
-
async function getCollectFeesInstructionAsync(input, config) {
|
|
961
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
962
|
-
const originalAccounts = {
|
|
963
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
964
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
965
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
966
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
967
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
968
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
969
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
970
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
971
|
-
user0: { value: input.user0 ?? null, isWritable: true },
|
|
972
|
-
user1: { value: input.user1 ?? null, isWritable: true },
|
|
973
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
974
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false }
|
|
975
|
-
};
|
|
976
|
-
const accounts = originalAccounts;
|
|
977
|
-
const args = { ...input };
|
|
978
|
-
if (!accounts.authority.value) {
|
|
979
|
-
accounts.authority.value = await getProgramDerivedAddress({
|
|
980
|
-
programAddress,
|
|
981
|
-
seeds: [
|
|
982
|
-
getBytesEncoder().encode(
|
|
983
|
-
new Uint8Array([97, 117, 116, 104, 111, 114, 105, 116, 121])
|
|
984
|
-
),
|
|
985
|
-
getAddressEncoder().encode(
|
|
986
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
987
|
-
)
|
|
988
|
-
]
|
|
989
|
-
});
|
|
990
|
-
}
|
|
991
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
992
|
-
return Object.freeze({
|
|
993
|
-
accounts: [
|
|
994
|
-
getAccountMeta("pool", accounts.pool),
|
|
995
|
-
getAccountMeta("position", accounts.position),
|
|
996
|
-
getAccountMeta("owner", accounts.owner),
|
|
997
|
-
getAccountMeta("authority", accounts.authority),
|
|
998
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
999
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
1000
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
1001
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
1002
|
-
getAccountMeta("user0", accounts.user0),
|
|
1003
|
-
getAccountMeta("user1", accounts.user1),
|
|
1004
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
1005
|
-
getAccountMeta("token1Program", accounts.token1Program)
|
|
1006
|
-
],
|
|
1007
|
-
data: getCollectFeesInstructionDataEncoder().encode(
|
|
1008
|
-
args
|
|
1009
|
-
),
|
|
1010
|
-
programAddress
|
|
1011
|
-
});
|
|
1012
|
-
}
|
|
1013
|
-
function getCollectFeesInstruction(input, config) {
|
|
1014
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1015
|
-
const originalAccounts = {
|
|
1016
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
1017
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
1018
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
1019
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
1020
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
1021
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
1022
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
1023
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
1024
|
-
user0: { value: input.user0 ?? null, isWritable: true },
|
|
1025
|
-
user1: { value: input.user1 ?? null, isWritable: true },
|
|
1026
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
1027
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false }
|
|
1028
|
-
};
|
|
1029
|
-
const accounts = originalAccounts;
|
|
1030
|
-
const args = { ...input };
|
|
1031
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1032
|
-
return Object.freeze({
|
|
1033
|
-
accounts: [
|
|
1034
|
-
getAccountMeta("pool", accounts.pool),
|
|
1035
|
-
getAccountMeta("position", accounts.position),
|
|
1036
|
-
getAccountMeta("owner", accounts.owner),
|
|
1037
|
-
getAccountMeta("authority", accounts.authority),
|
|
1038
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
1039
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
1040
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
1041
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
1042
|
-
getAccountMeta("user0", accounts.user0),
|
|
1043
|
-
getAccountMeta("user1", accounts.user1),
|
|
1044
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
1045
|
-
getAccountMeta("token1Program", accounts.token1Program)
|
|
1046
|
-
],
|
|
1047
|
-
data: getCollectFeesInstructionDataEncoder().encode(
|
|
1048
|
-
args
|
|
1049
|
-
),
|
|
1050
|
-
programAddress
|
|
1051
|
-
});
|
|
1052
|
-
}
|
|
1053
|
-
function parseCollectFeesInstruction(instruction) {
|
|
1054
|
-
if (instruction.accounts.length < 12) {
|
|
1055
|
-
throw new SolanaError(
|
|
1056
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
1057
|
-
{
|
|
1058
|
-
actualAccountMetas: instruction.accounts.length,
|
|
1059
|
-
expectedAccountMetas: 12
|
|
1060
|
-
}
|
|
1061
|
-
);
|
|
1062
|
-
}
|
|
1063
|
-
let accountIndex = 0;
|
|
1064
|
-
const getNextAccount = () => {
|
|
1065
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
1066
|
-
accountIndex += 1;
|
|
1067
|
-
return accountMeta;
|
|
1068
|
-
};
|
|
1069
|
-
return {
|
|
1070
|
-
programAddress: instruction.programAddress,
|
|
1071
|
-
accounts: {
|
|
1072
|
-
pool: getNextAccount(),
|
|
1073
|
-
position: getNextAccount(),
|
|
1074
|
-
owner: getNextAccount(),
|
|
1075
|
-
authority: getNextAccount(),
|
|
1076
|
-
vault0: getNextAccount(),
|
|
1077
|
-
vault1: getNextAccount(),
|
|
1078
|
-
token0Mint: getNextAccount(),
|
|
1079
|
-
token1Mint: getNextAccount(),
|
|
1080
|
-
user0: getNextAccount(),
|
|
1081
|
-
user1: getNextAccount(),
|
|
1082
|
-
token0Program: getNextAccount(),
|
|
1083
|
-
token1Program: getNextAccount()
|
|
1084
|
-
},
|
|
1085
|
-
data: getCollectFeesInstructionDataDecoder().decode(instruction.data)
|
|
1086
|
-
};
|
|
1087
|
-
}
|
|
1088
|
-
var COLLECT_PROTOCOL_FEES_DISCRIMINATOR = new Uint8Array([
|
|
1089
|
-
22,
|
|
1090
|
-
67,
|
|
1091
|
-
23,
|
|
1092
|
-
98,
|
|
1093
|
-
150,
|
|
1094
|
-
178,
|
|
1095
|
-
70,
|
|
1096
|
-
220
|
|
1097
|
-
]);
|
|
1098
|
-
function getCollectProtocolFeesDiscriminatorBytes() {
|
|
1099
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
1100
|
-
COLLECT_PROTOCOL_FEES_DISCRIMINATOR
|
|
1101
|
-
);
|
|
1102
|
-
}
|
|
1103
|
-
function getCollectProtocolFeesInstructionDataEncoder() {
|
|
1104
|
-
return transformEncoder(
|
|
1105
|
-
getStructEncoder([
|
|
1106
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
1107
|
-
["max0", getU64Encoder()],
|
|
1108
|
-
["max1", getU64Encoder()]
|
|
1109
|
-
]),
|
|
1110
|
-
(value) => ({
|
|
1111
|
-
...value,
|
|
1112
|
-
discriminator: COLLECT_PROTOCOL_FEES_DISCRIMINATOR
|
|
1113
|
-
})
|
|
1114
|
-
);
|
|
1115
|
-
}
|
|
1116
|
-
function getCollectProtocolFeesInstructionDataDecoder() {
|
|
1117
|
-
return getStructDecoder([
|
|
1118
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
1119
|
-
["max0", getU64Decoder()],
|
|
1120
|
-
["max1", getU64Decoder()]
|
|
1121
|
-
]);
|
|
1122
|
-
}
|
|
1123
|
-
function getCollectProtocolFeesInstructionDataCodec() {
|
|
1124
|
-
return combineCodec(
|
|
1125
|
-
getCollectProtocolFeesInstructionDataEncoder(),
|
|
1126
|
-
getCollectProtocolFeesInstructionDataDecoder()
|
|
1127
|
-
);
|
|
1128
|
-
}
|
|
1129
|
-
async function getCollectProtocolFeesInstructionAsync(input, config) {
|
|
1130
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1131
|
-
const originalAccounts = {
|
|
1132
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
1133
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
1134
|
-
protocolFeePosition: {
|
|
1135
|
-
value: input.protocolFeePosition ?? null,
|
|
1136
|
-
isWritable: true
|
|
1137
|
-
},
|
|
1138
|
-
admin: { value: input.admin ?? null, isWritable: false },
|
|
1139
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
1140
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
1141
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
1142
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
1143
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
1144
|
-
recipient0: { value: input.recipient0 ?? null, isWritable: true },
|
|
1145
|
-
recipient1: { value: input.recipient1 ?? null, isWritable: true },
|
|
1146
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
1147
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false }
|
|
1148
|
-
};
|
|
1149
|
-
const accounts = originalAccounts;
|
|
1150
|
-
const args = { ...input };
|
|
1151
|
-
if (!accounts.authority.value) {
|
|
1152
|
-
accounts.authority.value = await getProgramDerivedAddress({
|
|
1153
|
-
programAddress,
|
|
1154
|
-
seeds: [
|
|
1155
|
-
getBytesEncoder().encode(
|
|
1156
|
-
new Uint8Array([97, 117, 116, 104, 111, 114, 105, 116, 121])
|
|
1157
|
-
),
|
|
1158
|
-
getAddressEncoder().encode(
|
|
1159
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
1160
|
-
)
|
|
1161
|
-
]
|
|
1162
|
-
});
|
|
1163
|
-
}
|
|
1164
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1165
|
-
return Object.freeze({
|
|
1166
|
-
accounts: [
|
|
1167
|
-
getAccountMeta("config", accounts.config),
|
|
1168
|
-
getAccountMeta("pool", accounts.pool),
|
|
1169
|
-
getAccountMeta("protocolFeePosition", accounts.protocolFeePosition),
|
|
1170
|
-
getAccountMeta("admin", accounts.admin),
|
|
1171
|
-
getAccountMeta("authority", accounts.authority),
|
|
1172
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
1173
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
1174
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
1175
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
1176
|
-
getAccountMeta("recipient0", accounts.recipient0),
|
|
1177
|
-
getAccountMeta("recipient1", accounts.recipient1),
|
|
1178
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
1179
|
-
getAccountMeta("token1Program", accounts.token1Program)
|
|
1180
|
-
],
|
|
1181
|
-
data: getCollectProtocolFeesInstructionDataEncoder().encode(
|
|
1182
|
-
args
|
|
1183
|
-
),
|
|
1184
|
-
programAddress
|
|
1185
|
-
});
|
|
1186
|
-
}
|
|
1187
|
-
function getCollectProtocolFeesInstruction(input, config) {
|
|
1188
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1189
|
-
const originalAccounts = {
|
|
1190
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
1191
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
1192
|
-
protocolFeePosition: {
|
|
1193
|
-
value: input.protocolFeePosition ?? null,
|
|
1194
|
-
isWritable: true
|
|
1195
|
-
},
|
|
1196
|
-
admin: { value: input.admin ?? null, isWritable: false },
|
|
1197
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
1198
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
1199
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
1200
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
1201
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
1202
|
-
recipient0: { value: input.recipient0 ?? null, isWritable: true },
|
|
1203
|
-
recipient1: { value: input.recipient1 ?? null, isWritable: true },
|
|
1204
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
1205
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false }
|
|
1206
|
-
};
|
|
1207
|
-
const accounts = originalAccounts;
|
|
1208
|
-
const args = { ...input };
|
|
1209
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1210
|
-
return Object.freeze({
|
|
1211
|
-
accounts: [
|
|
1212
|
-
getAccountMeta("config", accounts.config),
|
|
1213
|
-
getAccountMeta("pool", accounts.pool),
|
|
1214
|
-
getAccountMeta("protocolFeePosition", accounts.protocolFeePosition),
|
|
1215
|
-
getAccountMeta("admin", accounts.admin),
|
|
1216
|
-
getAccountMeta("authority", accounts.authority),
|
|
1217
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
1218
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
1219
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
1220
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
1221
|
-
getAccountMeta("recipient0", accounts.recipient0),
|
|
1222
|
-
getAccountMeta("recipient1", accounts.recipient1),
|
|
1223
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
1224
|
-
getAccountMeta("token1Program", accounts.token1Program)
|
|
1225
|
-
],
|
|
1226
|
-
data: getCollectProtocolFeesInstructionDataEncoder().encode(
|
|
1227
|
-
args
|
|
1228
|
-
),
|
|
1229
|
-
programAddress
|
|
1230
|
-
});
|
|
1231
|
-
}
|
|
1232
|
-
function parseCollectProtocolFeesInstruction(instruction) {
|
|
1233
|
-
if (instruction.accounts.length < 13) {
|
|
1234
|
-
throw new SolanaError(
|
|
1235
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
1236
|
-
{
|
|
1237
|
-
actualAccountMetas: instruction.accounts.length,
|
|
1238
|
-
expectedAccountMetas: 13
|
|
1239
|
-
}
|
|
1240
|
-
);
|
|
1241
|
-
}
|
|
1242
|
-
let accountIndex = 0;
|
|
1243
|
-
const getNextAccount = () => {
|
|
1244
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
1245
|
-
accountIndex += 1;
|
|
1246
|
-
return accountMeta;
|
|
1247
|
-
};
|
|
1248
|
-
return {
|
|
1249
|
-
programAddress: instruction.programAddress,
|
|
1250
|
-
accounts: {
|
|
1251
|
-
config: getNextAccount(),
|
|
1252
|
-
pool: getNextAccount(),
|
|
1253
|
-
protocolFeePosition: getNextAccount(),
|
|
1254
|
-
admin: getNextAccount(),
|
|
1255
|
-
authority: getNextAccount(),
|
|
1256
|
-
vault0: getNextAccount(),
|
|
1257
|
-
vault1: getNextAccount(),
|
|
1258
|
-
token0Mint: getNextAccount(),
|
|
1259
|
-
token1Mint: getNextAccount(),
|
|
1260
|
-
recipient0: getNextAccount(),
|
|
1261
|
-
recipient1: getNextAccount(),
|
|
1262
|
-
token0Program: getNextAccount(),
|
|
1263
|
-
token1Program: getNextAccount()
|
|
1264
|
-
},
|
|
1265
|
-
data: getCollectProtocolFeesInstructionDataDecoder().decode(
|
|
1266
|
-
instruction.data
|
|
1267
|
-
)
|
|
1268
|
-
};
|
|
1269
|
-
}
|
|
1270
|
-
var CREATE_POSITION_DISCRIMINATOR = new Uint8Array([
|
|
1271
|
-
48,
|
|
1272
|
-
215,
|
|
1273
|
-
197,
|
|
1274
|
-
153,
|
|
1275
|
-
96,
|
|
1276
|
-
203,
|
|
1277
|
-
180,
|
|
1278
|
-
133
|
|
1279
|
-
]);
|
|
1280
|
-
function getCreatePositionDiscriminatorBytes() {
|
|
1281
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
1282
|
-
CREATE_POSITION_DISCRIMINATOR
|
|
1283
|
-
);
|
|
1284
|
-
}
|
|
1285
|
-
function getCreatePositionInstructionDataEncoder() {
|
|
1286
|
-
return transformEncoder(
|
|
1287
|
-
getStructEncoder([
|
|
1288
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
1289
|
-
["positionId", getU64Encoder()]
|
|
1290
|
-
]),
|
|
1291
|
-
(value) => ({ ...value, discriminator: CREATE_POSITION_DISCRIMINATOR })
|
|
1292
|
-
);
|
|
1293
|
-
}
|
|
1294
|
-
function getCreatePositionInstructionDataDecoder() {
|
|
1295
|
-
return getStructDecoder([
|
|
1296
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
1297
|
-
["positionId", getU64Decoder()]
|
|
1298
|
-
]);
|
|
1299
|
-
}
|
|
1300
|
-
function getCreatePositionInstructionDataCodec() {
|
|
1301
|
-
return combineCodec(
|
|
1302
|
-
getCreatePositionInstructionDataEncoder(),
|
|
1303
|
-
getCreatePositionInstructionDataDecoder()
|
|
1304
|
-
);
|
|
1305
|
-
}
|
|
1306
|
-
async function getCreatePositionInstructionAsync(input, config) {
|
|
1307
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1308
|
-
const originalAccounts = {
|
|
1309
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
1310
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
1311
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
1312
|
-
payer: { value: input.payer ?? null, isWritable: true },
|
|
1313
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false }
|
|
1314
|
-
};
|
|
1315
|
-
const accounts = originalAccounts;
|
|
1316
|
-
const args = { ...input };
|
|
1317
|
-
if (!accounts.position.value) {
|
|
1318
|
-
accounts.position.value = await getProgramDerivedAddress({
|
|
1319
|
-
programAddress,
|
|
1320
|
-
seeds: [
|
|
1321
|
-
getBytesEncoder().encode(
|
|
1322
|
-
new Uint8Array([112, 111, 115, 105, 116, 105, 111, 110])
|
|
1323
|
-
),
|
|
1324
|
-
getAddressEncoder().encode(
|
|
1325
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
1326
|
-
),
|
|
1327
|
-
getAddressEncoder().encode(
|
|
1328
|
-
getAddressFromResolvedInstructionAccount(
|
|
1329
|
-
"owner",
|
|
1330
|
-
accounts.owner.value
|
|
1331
|
-
)
|
|
1332
|
-
),
|
|
1333
|
-
getU64Encoder().encode(
|
|
1334
|
-
getNonNullResolvedInstructionInput("positionId", args.positionId)
|
|
1335
|
-
)
|
|
1336
|
-
]
|
|
1337
|
-
});
|
|
1338
|
-
}
|
|
1339
|
-
if (!accounts.systemProgram.value) {
|
|
1340
|
-
accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
1341
|
-
}
|
|
1342
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1343
|
-
return Object.freeze({
|
|
1344
|
-
accounts: [
|
|
1345
|
-
getAccountMeta("pool", accounts.pool),
|
|
1346
|
-
getAccountMeta("position", accounts.position),
|
|
1347
|
-
getAccountMeta("owner", accounts.owner),
|
|
1348
|
-
getAccountMeta("payer", accounts.payer),
|
|
1349
|
-
getAccountMeta("systemProgram", accounts.systemProgram)
|
|
1350
|
-
],
|
|
1351
|
-
data: getCreatePositionInstructionDataEncoder().encode(
|
|
1352
|
-
args
|
|
1353
|
-
),
|
|
1354
|
-
programAddress
|
|
1355
|
-
});
|
|
1356
|
-
}
|
|
1357
|
-
function getCreatePositionInstruction(input, config) {
|
|
1358
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1359
|
-
const originalAccounts = {
|
|
1360
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
1361
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
1362
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
1363
|
-
payer: { value: input.payer ?? null, isWritable: true },
|
|
1364
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false }
|
|
1365
|
-
};
|
|
1366
|
-
const accounts = originalAccounts;
|
|
1367
|
-
const args = { ...input };
|
|
1368
|
-
if (!accounts.systemProgram.value) {
|
|
1369
|
-
accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
1370
|
-
}
|
|
1371
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1372
|
-
return Object.freeze({
|
|
1373
|
-
accounts: [
|
|
1374
|
-
getAccountMeta("pool", accounts.pool),
|
|
1375
|
-
getAccountMeta("position", accounts.position),
|
|
1376
|
-
getAccountMeta("owner", accounts.owner),
|
|
1377
|
-
getAccountMeta("payer", accounts.payer),
|
|
1378
|
-
getAccountMeta("systemProgram", accounts.systemProgram)
|
|
1379
|
-
],
|
|
1380
|
-
data: getCreatePositionInstructionDataEncoder().encode(
|
|
1381
|
-
args
|
|
1382
|
-
),
|
|
1383
|
-
programAddress
|
|
1384
|
-
});
|
|
1385
|
-
}
|
|
1386
|
-
function parseCreatePositionInstruction(instruction) {
|
|
1387
|
-
if (instruction.accounts.length < 5) {
|
|
1388
|
-
throw new SolanaError(
|
|
1389
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
1390
|
-
{
|
|
1391
|
-
actualAccountMetas: instruction.accounts.length,
|
|
1392
|
-
expectedAccountMetas: 5
|
|
1393
|
-
}
|
|
1394
|
-
);
|
|
1395
|
-
}
|
|
1396
|
-
let accountIndex = 0;
|
|
1397
|
-
const getNextAccount = () => {
|
|
1398
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
1399
|
-
accountIndex += 1;
|
|
1400
|
-
return accountMeta;
|
|
1401
|
-
};
|
|
1402
|
-
return {
|
|
1403
|
-
programAddress: instruction.programAddress,
|
|
1404
|
-
accounts: {
|
|
1405
|
-
pool: getNextAccount(),
|
|
1406
|
-
position: getNextAccount(),
|
|
1407
|
-
owner: getNextAccount(),
|
|
1408
|
-
payer: getNextAccount(),
|
|
1409
|
-
systemProgram: getNextAccount()
|
|
1410
|
-
},
|
|
1411
|
-
data: getCreatePositionInstructionDataDecoder().decode(instruction.data)
|
|
1412
|
-
};
|
|
1413
|
-
}
|
|
1414
|
-
var INITIALIZE_CONFIG_DISCRIMINATOR = new Uint8Array([
|
|
1415
|
-
208,
|
|
1416
|
-
127,
|
|
1417
|
-
21,
|
|
1418
|
-
1,
|
|
1419
|
-
194,
|
|
1420
|
-
190,
|
|
1421
|
-
196,
|
|
1422
|
-
70
|
|
1423
|
-
]);
|
|
1424
|
-
function getInitializeConfigDiscriminatorBytes() {
|
|
1425
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
1426
|
-
INITIALIZE_CONFIG_DISCRIMINATOR
|
|
1427
|
-
);
|
|
1428
|
-
}
|
|
1429
|
-
function getInitializeConfigInstructionDataEncoder() {
|
|
1430
|
-
return transformEncoder(
|
|
1431
|
-
getStructEncoder([
|
|
1432
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
1433
|
-
["admin", getAddressEncoder()],
|
|
1434
|
-
["numeraireMint", getAddressEncoder()],
|
|
1435
|
-
["maxSwapFeeBps", getU16Encoder()],
|
|
1436
|
-
["maxFeeSplitBps", getU16Encoder()],
|
|
1437
|
-
["maxRouteHops", getU8Encoder()],
|
|
1438
|
-
["protocolFeeEnabled", getBooleanEncoder()],
|
|
1439
|
-
["protocolFeeBps", getU16Encoder()],
|
|
1440
|
-
["hookAllowlist", getArrayEncoder(getAddressEncoder())]
|
|
1441
|
-
]),
|
|
1442
|
-
(value) => ({ ...value, discriminator: INITIALIZE_CONFIG_DISCRIMINATOR })
|
|
1443
|
-
);
|
|
1444
|
-
}
|
|
1445
|
-
function getInitializeConfigInstructionDataDecoder() {
|
|
1446
|
-
return getStructDecoder([
|
|
1447
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
1448
|
-
["admin", getAddressDecoder()],
|
|
1449
|
-
["numeraireMint", getAddressDecoder()],
|
|
1450
|
-
["maxSwapFeeBps", getU16Decoder()],
|
|
1451
|
-
["maxFeeSplitBps", getU16Decoder()],
|
|
1452
|
-
["maxRouteHops", getU8Decoder()],
|
|
1453
|
-
["protocolFeeEnabled", getBooleanDecoder()],
|
|
1454
|
-
["protocolFeeBps", getU16Decoder()],
|
|
1455
|
-
["hookAllowlist", getArrayDecoder(getAddressDecoder())]
|
|
1456
|
-
]);
|
|
1457
|
-
}
|
|
1458
|
-
function getInitializeConfigInstructionDataCodec() {
|
|
1459
|
-
return combineCodec(
|
|
1460
|
-
getInitializeConfigInstructionDataEncoder(),
|
|
1461
|
-
getInitializeConfigInstructionDataDecoder()
|
|
1462
|
-
);
|
|
1463
|
-
}
|
|
1464
|
-
async function getInitializeConfigInstructionAsync(input, config) {
|
|
1465
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1466
|
-
const originalAccounts = {
|
|
1467
|
-
config: { value: input.config ?? null, isWritable: true },
|
|
1468
|
-
programData: { value: input.programData ?? null, isWritable: false },
|
|
1469
|
-
payer: { value: input.payer ?? null, isWritable: true },
|
|
1470
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false }
|
|
1471
|
-
};
|
|
1472
|
-
const accounts = originalAccounts;
|
|
1473
|
-
const args = { ...input };
|
|
1474
|
-
if (!accounts.config.value) {
|
|
1475
|
-
accounts.config.value = await getProgramDerivedAddress({
|
|
1476
|
-
programAddress,
|
|
1477
|
-
seeds: [
|
|
1478
|
-
getBytesEncoder().encode(new Uint8Array([99, 111, 110, 102, 105, 103]))
|
|
1479
|
-
]
|
|
1480
|
-
});
|
|
1481
|
-
}
|
|
1482
|
-
if (!accounts.systemProgram.value) {
|
|
1483
|
-
accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
1484
|
-
}
|
|
1485
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1486
|
-
return Object.freeze({
|
|
1487
|
-
accounts: [
|
|
1488
|
-
getAccountMeta("config", accounts.config),
|
|
1489
|
-
getAccountMeta("programData", accounts.programData),
|
|
1490
|
-
getAccountMeta("payer", accounts.payer),
|
|
1491
|
-
getAccountMeta("systemProgram", accounts.systemProgram)
|
|
1492
|
-
],
|
|
1493
|
-
data: getInitializeConfigInstructionDataEncoder().encode(
|
|
1494
|
-
args
|
|
1495
|
-
),
|
|
1496
|
-
programAddress
|
|
1497
|
-
});
|
|
1498
|
-
}
|
|
1499
|
-
function getInitializeConfigInstruction(input, config) {
|
|
1500
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1501
|
-
const originalAccounts = {
|
|
1502
|
-
config: { value: input.config ?? null, isWritable: true },
|
|
1503
|
-
programData: { value: input.programData ?? null, isWritable: false },
|
|
1504
|
-
payer: { value: input.payer ?? null, isWritable: true },
|
|
1505
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false }
|
|
1506
|
-
};
|
|
1507
|
-
const accounts = originalAccounts;
|
|
1508
|
-
const args = { ...input };
|
|
1509
|
-
if (!accounts.systemProgram.value) {
|
|
1510
|
-
accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
1511
|
-
}
|
|
1512
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1513
|
-
return Object.freeze({
|
|
1514
|
-
accounts: [
|
|
1515
|
-
getAccountMeta("config", accounts.config),
|
|
1516
|
-
getAccountMeta("programData", accounts.programData),
|
|
1517
|
-
getAccountMeta("payer", accounts.payer),
|
|
1518
|
-
getAccountMeta("systemProgram", accounts.systemProgram)
|
|
1519
|
-
],
|
|
1520
|
-
data: getInitializeConfigInstructionDataEncoder().encode(
|
|
1521
|
-
args
|
|
1522
|
-
),
|
|
1523
|
-
programAddress
|
|
1524
|
-
});
|
|
1525
|
-
}
|
|
1526
|
-
function parseInitializeConfigInstruction(instruction) {
|
|
1527
|
-
if (instruction.accounts.length < 4) {
|
|
1528
|
-
throw new SolanaError(
|
|
1529
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
1530
|
-
{
|
|
1531
|
-
actualAccountMetas: instruction.accounts.length,
|
|
1532
|
-
expectedAccountMetas: 4
|
|
1533
|
-
}
|
|
1534
|
-
);
|
|
1535
|
-
}
|
|
1536
|
-
let accountIndex = 0;
|
|
1537
|
-
const getNextAccount = () => {
|
|
1538
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
1539
|
-
accountIndex += 1;
|
|
1540
|
-
return accountMeta;
|
|
1541
|
-
};
|
|
1542
|
-
return {
|
|
1543
|
-
programAddress: instruction.programAddress,
|
|
1544
|
-
accounts: {
|
|
1545
|
-
config: getNextAccount(),
|
|
1546
|
-
programData: getNextAccount(),
|
|
1547
|
-
payer: getNextAccount(),
|
|
1548
|
-
systemProgram: getNextAccount()
|
|
1549
|
-
},
|
|
1550
|
-
data: getInitializeConfigInstructionDataDecoder().decode(instruction.data)
|
|
1551
|
-
};
|
|
1552
|
-
}
|
|
1553
|
-
var INITIALIZE_ORACLE_DISCRIMINATOR = new Uint8Array([
|
|
1554
|
-
144,
|
|
1555
|
-
223,
|
|
1556
|
-
131,
|
|
1557
|
-
120,
|
|
1558
|
-
196,
|
|
1559
|
-
253,
|
|
1560
|
-
181,
|
|
1561
|
-
99
|
|
1562
|
-
]);
|
|
1563
|
-
function getInitializeOracleDiscriminatorBytes() {
|
|
1564
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
1565
|
-
INITIALIZE_ORACLE_DISCRIMINATOR
|
|
1566
|
-
);
|
|
1567
|
-
}
|
|
1568
|
-
function getInitializeOracleInstructionDataEncoder() {
|
|
1569
|
-
return transformEncoder(
|
|
1570
|
-
getStructEncoder([
|
|
1571
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
1572
|
-
["maxPriceChangeRatioQ64", getU128Encoder()],
|
|
1573
|
-
["observationIntervalSec", getU32Encoder()]
|
|
1574
|
-
]),
|
|
1575
|
-
(value) => ({ ...value, discriminator: INITIALIZE_ORACLE_DISCRIMINATOR })
|
|
1576
|
-
);
|
|
1577
|
-
}
|
|
1578
|
-
function getInitializeOracleInstructionDataDecoder() {
|
|
1579
|
-
return getStructDecoder([
|
|
1580
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
1581
|
-
["maxPriceChangeRatioQ64", getU128Decoder()],
|
|
1582
|
-
["observationIntervalSec", getU32Decoder()]
|
|
1583
|
-
]);
|
|
1584
|
-
}
|
|
1585
|
-
function getInitializeOracleInstructionDataCodec() {
|
|
1586
|
-
return combineCodec(
|
|
1587
|
-
getInitializeOracleInstructionDataEncoder(),
|
|
1588
|
-
getInitializeOracleInstructionDataDecoder()
|
|
1589
|
-
);
|
|
1590
|
-
}
|
|
1591
|
-
async function getInitializeOracleInstructionAsync(input, config) {
|
|
1592
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1593
|
-
const originalAccounts = {
|
|
1594
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
1595
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
1596
|
-
oracle: { value: input.oracle ?? null, isWritable: true },
|
|
1597
|
-
admin: { value: input.admin ?? null, isWritable: false },
|
|
1598
|
-
payer: { value: input.payer ?? null, isWritable: true },
|
|
1599
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false }
|
|
1600
|
-
};
|
|
1601
|
-
const accounts = originalAccounts;
|
|
1602
|
-
const args = { ...input };
|
|
1603
|
-
if (!accounts.oracle.value) {
|
|
1604
|
-
accounts.oracle.value = await getProgramDerivedAddress({
|
|
1605
|
-
programAddress,
|
|
1606
|
-
seeds: [
|
|
1607
|
-
getBytesEncoder().encode(new Uint8Array([111, 114, 97, 99, 108, 101])),
|
|
1608
|
-
getAddressEncoder().encode(
|
|
1609
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
1610
|
-
)
|
|
1611
|
-
]
|
|
1612
|
-
});
|
|
1613
|
-
}
|
|
1614
|
-
if (!accounts.systemProgram.value) {
|
|
1615
|
-
accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
1616
|
-
}
|
|
1617
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1618
|
-
return Object.freeze({
|
|
1619
|
-
accounts: [
|
|
1620
|
-
getAccountMeta("config", accounts.config),
|
|
1621
|
-
getAccountMeta("pool", accounts.pool),
|
|
1622
|
-
getAccountMeta("oracle", accounts.oracle),
|
|
1623
|
-
getAccountMeta("admin", accounts.admin),
|
|
1624
|
-
getAccountMeta("payer", accounts.payer),
|
|
1625
|
-
getAccountMeta("systemProgram", accounts.systemProgram)
|
|
1626
|
-
],
|
|
1627
|
-
data: getInitializeOracleInstructionDataEncoder().encode(
|
|
1628
|
-
args
|
|
1629
|
-
),
|
|
1630
|
-
programAddress
|
|
1631
|
-
});
|
|
1632
|
-
}
|
|
1633
|
-
function getInitializeOracleInstruction(input, config) {
|
|
1634
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1635
|
-
const originalAccounts = {
|
|
1636
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
1637
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
1638
|
-
oracle: { value: input.oracle ?? null, isWritable: true },
|
|
1639
|
-
admin: { value: input.admin ?? null, isWritable: false },
|
|
1640
|
-
payer: { value: input.payer ?? null, isWritable: true },
|
|
1641
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false }
|
|
1642
|
-
};
|
|
1643
|
-
const accounts = originalAccounts;
|
|
1644
|
-
const args = { ...input };
|
|
1645
|
-
if (!accounts.systemProgram.value) {
|
|
1646
|
-
accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
1647
|
-
}
|
|
1648
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1649
|
-
return Object.freeze({
|
|
1650
|
-
accounts: [
|
|
1651
|
-
getAccountMeta("config", accounts.config),
|
|
1652
|
-
getAccountMeta("pool", accounts.pool),
|
|
1653
|
-
getAccountMeta("oracle", accounts.oracle),
|
|
1654
|
-
getAccountMeta("admin", accounts.admin),
|
|
1655
|
-
getAccountMeta("payer", accounts.payer),
|
|
1656
|
-
getAccountMeta("systemProgram", accounts.systemProgram)
|
|
1657
|
-
],
|
|
1658
|
-
data: getInitializeOracleInstructionDataEncoder().encode(
|
|
1659
|
-
args
|
|
1660
|
-
),
|
|
1661
|
-
programAddress
|
|
1662
|
-
});
|
|
1663
|
-
}
|
|
1664
|
-
function parseInitializeOracleInstruction(instruction) {
|
|
1665
|
-
if (instruction.accounts.length < 6) {
|
|
1666
|
-
throw new SolanaError(
|
|
1667
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
1668
|
-
{
|
|
1669
|
-
actualAccountMetas: instruction.accounts.length,
|
|
1670
|
-
expectedAccountMetas: 6
|
|
1671
|
-
}
|
|
1672
|
-
);
|
|
1673
|
-
}
|
|
1674
|
-
let accountIndex = 0;
|
|
1675
|
-
const getNextAccount = () => {
|
|
1676
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
1677
|
-
accountIndex += 1;
|
|
1678
|
-
return accountMeta;
|
|
1679
|
-
};
|
|
1680
|
-
return {
|
|
1681
|
-
programAddress: instruction.programAddress,
|
|
1682
|
-
accounts: {
|
|
1683
|
-
config: getNextAccount(),
|
|
1684
|
-
pool: getNextAccount(),
|
|
1685
|
-
oracle: getNextAccount(),
|
|
1686
|
-
admin: getNextAccount(),
|
|
1687
|
-
payer: getNextAccount(),
|
|
1688
|
-
systemProgram: getNextAccount()
|
|
1689
|
-
},
|
|
1690
|
-
data: getInitializeOracleInstructionDataDecoder().decode(instruction.data)
|
|
1691
|
-
};
|
|
1692
|
-
}
|
|
1693
|
-
var INITIALIZE_POOL_DISCRIMINATOR = new Uint8Array([
|
|
1694
|
-
95,
|
|
1695
|
-
180,
|
|
1696
|
-
10,
|
|
1697
|
-
172,
|
|
1698
|
-
84,
|
|
1699
|
-
174,
|
|
1700
|
-
232,
|
|
1701
|
-
40
|
|
1702
|
-
]);
|
|
1703
|
-
function getInitializePoolDiscriminatorBytes() {
|
|
1704
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
1705
|
-
INITIALIZE_POOL_DISCRIMINATOR
|
|
1706
|
-
);
|
|
1707
|
-
}
|
|
1708
|
-
function getInitializePoolInstructionDataEncoder() {
|
|
1709
|
-
return transformEncoder(
|
|
1710
|
-
getStructEncoder([
|
|
1711
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
1712
|
-
["mintA", getAddressEncoder()],
|
|
1713
|
-
["mintB", getAddressEncoder()],
|
|
1714
|
-
["initialSwapFeeBps", getU16Encoder()],
|
|
1715
|
-
["initialFeeSplitBps", getU16Encoder()],
|
|
1716
|
-
["liquidityMeasureTokenIndex", getU8Encoder()],
|
|
1717
|
-
["numeraireMintOverride", getOptionEncoder(getAddressEncoder())],
|
|
1718
|
-
["hookProgram", getAddressEncoder()],
|
|
1719
|
-
["hookFlags", getU32Encoder()]
|
|
1720
|
-
]),
|
|
1721
|
-
(value) => ({ ...value, discriminator: INITIALIZE_POOL_DISCRIMINATOR })
|
|
1722
|
-
);
|
|
1723
|
-
}
|
|
1724
|
-
function getInitializePoolInstructionDataDecoder() {
|
|
1725
|
-
return getStructDecoder([
|
|
1726
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
1727
|
-
["mintA", getAddressDecoder()],
|
|
1728
|
-
["mintB", getAddressDecoder()],
|
|
1729
|
-
["initialSwapFeeBps", getU16Decoder()],
|
|
1730
|
-
["initialFeeSplitBps", getU16Decoder()],
|
|
1731
|
-
["liquidityMeasureTokenIndex", getU8Decoder()],
|
|
1732
|
-
["numeraireMintOverride", getOptionDecoder(getAddressDecoder())],
|
|
1733
|
-
["hookProgram", getAddressDecoder()],
|
|
1734
|
-
["hookFlags", getU32Decoder()]
|
|
1735
|
-
]);
|
|
1736
|
-
}
|
|
1737
|
-
function getInitializePoolInstructionDataCodec() {
|
|
1738
|
-
return combineCodec(
|
|
1739
|
-
getInitializePoolInstructionDataEncoder(),
|
|
1740
|
-
getInitializePoolInstructionDataDecoder()
|
|
1741
|
-
);
|
|
1742
|
-
}
|
|
1743
|
-
async function getInitializePoolInstructionAsync(input, config) {
|
|
1744
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1745
|
-
const originalAccounts = {
|
|
1746
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
1747
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
1748
|
-
protocolFeePosition: {
|
|
1749
|
-
value: input.protocolFeePosition ?? null,
|
|
1750
|
-
isWritable: true
|
|
1751
|
-
},
|
|
1752
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
1753
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
1754
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
1755
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
1756
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
1757
|
-
payer: { value: input.payer ?? null, isWritable: true },
|
|
1758
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
1759
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false },
|
|
1760
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
1761
|
-
rent: { value: input.rent ?? null, isWritable: false },
|
|
1762
|
-
migrationAuthority: {
|
|
1763
|
-
value: input.migrationAuthority ?? null,
|
|
1764
|
-
isWritable: false
|
|
1765
|
-
}
|
|
1766
|
-
};
|
|
1767
|
-
const accounts = originalAccounts;
|
|
1768
|
-
const args = { ...input };
|
|
1769
|
-
if (!accounts.pool.value) {
|
|
1770
|
-
accounts.pool.value = await getProgramDerivedAddress({
|
|
1771
|
-
programAddress,
|
|
1772
|
-
seeds: [
|
|
1773
|
-
getBytesEncoder().encode(new Uint8Array([112, 111, 111, 108])),
|
|
1774
|
-
getAddressEncoder().encode(
|
|
1775
|
-
getAddressFromResolvedInstructionAccount(
|
|
1776
|
-
"token0Mint",
|
|
1777
|
-
accounts.token0Mint.value
|
|
1778
|
-
)
|
|
1779
|
-
),
|
|
1780
|
-
getAddressEncoder().encode(
|
|
1781
|
-
getAddressFromResolvedInstructionAccount(
|
|
1782
|
-
"token1Mint",
|
|
1783
|
-
accounts.token1Mint.value
|
|
1784
|
-
)
|
|
1785
|
-
)
|
|
1786
|
-
]
|
|
1787
|
-
});
|
|
1788
|
-
}
|
|
1789
|
-
if (!accounts.protocolFeePosition.value) {
|
|
1790
|
-
accounts.protocolFeePosition.value = await getProgramDerivedAddress({
|
|
1791
|
-
programAddress,
|
|
1792
|
-
seeds: [
|
|
1793
|
-
getBytesEncoder().encode(
|
|
1794
|
-
new Uint8Array([
|
|
1795
|
-
112,
|
|
1796
|
-
114,
|
|
1797
|
-
111,
|
|
1798
|
-
116,
|
|
1799
|
-
111,
|
|
1800
|
-
99,
|
|
1801
|
-
111,
|
|
1802
|
-
108,
|
|
1803
|
-
95,
|
|
1804
|
-
112,
|
|
1805
|
-
111,
|
|
1806
|
-
115,
|
|
1807
|
-
105,
|
|
1808
|
-
116,
|
|
1809
|
-
105,
|
|
1810
|
-
111,
|
|
1811
|
-
110
|
|
1812
|
-
])
|
|
1813
|
-
),
|
|
1814
|
-
getAddressEncoder().encode(
|
|
1815
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
1816
|
-
)
|
|
1817
|
-
]
|
|
1818
|
-
});
|
|
1819
|
-
}
|
|
1820
|
-
if (!accounts.authority.value) {
|
|
1821
|
-
accounts.authority.value = await getProgramDerivedAddress({
|
|
1822
|
-
programAddress,
|
|
1823
|
-
seeds: [
|
|
1824
|
-
getBytesEncoder().encode(
|
|
1825
|
-
new Uint8Array([97, 117, 116, 104, 111, 114, 105, 116, 121])
|
|
1826
|
-
),
|
|
1827
|
-
getAddressEncoder().encode(
|
|
1828
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
1829
|
-
)
|
|
1830
|
-
]
|
|
1831
|
-
});
|
|
1832
|
-
}
|
|
1833
|
-
if (!accounts.vault0.value) {
|
|
1834
|
-
accounts.vault0.value = await getProgramDerivedAddress({
|
|
1835
|
-
programAddress,
|
|
1836
|
-
seeds: [
|
|
1837
|
-
getBytesEncoder().encode(new Uint8Array([118, 97, 117, 108, 116, 48])),
|
|
1838
|
-
getAddressEncoder().encode(
|
|
1839
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
1840
|
-
)
|
|
1841
|
-
]
|
|
1842
|
-
});
|
|
1843
|
-
}
|
|
1844
|
-
if (!accounts.vault1.value) {
|
|
1845
|
-
accounts.vault1.value = await getProgramDerivedAddress({
|
|
1846
|
-
programAddress,
|
|
1847
|
-
seeds: [
|
|
1848
|
-
getBytesEncoder().encode(new Uint8Array([118, 97, 117, 108, 116, 49])),
|
|
1849
|
-
getAddressEncoder().encode(
|
|
1850
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
1851
|
-
)
|
|
1852
|
-
]
|
|
1853
|
-
});
|
|
1854
|
-
}
|
|
1855
|
-
if (!accounts.systemProgram.value) {
|
|
1856
|
-
accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
1857
|
-
}
|
|
1858
|
-
if (!accounts.rent.value) {
|
|
1859
|
-
accounts.rent.value = "SysvarRent111111111111111111111111111111111";
|
|
1860
|
-
}
|
|
1861
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1862
|
-
return Object.freeze({
|
|
1863
|
-
accounts: [
|
|
1864
|
-
getAccountMeta("config", accounts.config),
|
|
1865
|
-
getAccountMeta("pool", accounts.pool),
|
|
1866
|
-
getAccountMeta("protocolFeePosition", accounts.protocolFeePosition),
|
|
1867
|
-
getAccountMeta("authority", accounts.authority),
|
|
1868
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
1869
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
1870
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
1871
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
1872
|
-
getAccountMeta("payer", accounts.payer),
|
|
1873
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
1874
|
-
getAccountMeta("token1Program", accounts.token1Program),
|
|
1875
|
-
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
1876
|
-
getAccountMeta("rent", accounts.rent),
|
|
1877
|
-
getAccountMeta("migrationAuthority", accounts.migrationAuthority)
|
|
1878
|
-
],
|
|
1879
|
-
data: getInitializePoolInstructionDataEncoder().encode(
|
|
1880
|
-
args
|
|
1881
|
-
),
|
|
1882
|
-
programAddress
|
|
1883
|
-
});
|
|
1884
|
-
}
|
|
1885
|
-
function getInitializePoolInstruction(input, config) {
|
|
1886
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
1887
|
-
const originalAccounts = {
|
|
1888
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
1889
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
1890
|
-
protocolFeePosition: {
|
|
1891
|
-
value: input.protocolFeePosition ?? null,
|
|
1892
|
-
isWritable: true
|
|
1893
|
-
},
|
|
1894
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
1895
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
1896
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
1897
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
1898
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
1899
|
-
payer: { value: input.payer ?? null, isWritable: true },
|
|
1900
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
1901
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false },
|
|
1902
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
1903
|
-
rent: { value: input.rent ?? null, isWritable: false },
|
|
1904
|
-
migrationAuthority: {
|
|
1905
|
-
value: input.migrationAuthority ?? null,
|
|
1906
|
-
isWritable: false
|
|
1907
|
-
}
|
|
1908
|
-
};
|
|
1909
|
-
const accounts = originalAccounts;
|
|
1910
|
-
const args = { ...input };
|
|
1911
|
-
if (!accounts.systemProgram.value) {
|
|
1912
|
-
accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
1913
|
-
}
|
|
1914
|
-
if (!accounts.rent.value) {
|
|
1915
|
-
accounts.rent.value = "SysvarRent111111111111111111111111111111111";
|
|
1916
|
-
}
|
|
1917
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
1918
|
-
return Object.freeze({
|
|
1919
|
-
accounts: [
|
|
1920
|
-
getAccountMeta("config", accounts.config),
|
|
1921
|
-
getAccountMeta("pool", accounts.pool),
|
|
1922
|
-
getAccountMeta("protocolFeePosition", accounts.protocolFeePosition),
|
|
1923
|
-
getAccountMeta("authority", accounts.authority),
|
|
1924
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
1925
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
1926
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
1927
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
1928
|
-
getAccountMeta("payer", accounts.payer),
|
|
1929
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
1930
|
-
getAccountMeta("token1Program", accounts.token1Program),
|
|
1931
|
-
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
1932
|
-
getAccountMeta("rent", accounts.rent),
|
|
1933
|
-
getAccountMeta("migrationAuthority", accounts.migrationAuthority)
|
|
1934
|
-
],
|
|
1935
|
-
data: getInitializePoolInstructionDataEncoder().encode(
|
|
1936
|
-
args
|
|
1937
|
-
),
|
|
1938
|
-
programAddress
|
|
1939
|
-
});
|
|
1940
|
-
}
|
|
1941
|
-
function parseInitializePoolInstruction(instruction) {
|
|
1942
|
-
if (instruction.accounts.length < 14) {
|
|
1943
|
-
throw new SolanaError(
|
|
1944
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
1945
|
-
{
|
|
1946
|
-
actualAccountMetas: instruction.accounts.length,
|
|
1947
|
-
expectedAccountMetas: 14
|
|
1948
|
-
}
|
|
1949
|
-
);
|
|
1950
|
-
}
|
|
1951
|
-
let accountIndex = 0;
|
|
1952
|
-
const getNextAccount = () => {
|
|
1953
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
1954
|
-
accountIndex += 1;
|
|
1955
|
-
return accountMeta;
|
|
1956
|
-
};
|
|
1957
|
-
return {
|
|
1958
|
-
programAddress: instruction.programAddress,
|
|
1959
|
-
accounts: {
|
|
1960
|
-
config: getNextAccount(),
|
|
1961
|
-
pool: getNextAccount(),
|
|
1962
|
-
protocolFeePosition: getNextAccount(),
|
|
1963
|
-
authority: getNextAccount(),
|
|
1964
|
-
vault0: getNextAccount(),
|
|
1965
|
-
vault1: getNextAccount(),
|
|
1966
|
-
token0Mint: getNextAccount(),
|
|
1967
|
-
token1Mint: getNextAccount(),
|
|
1968
|
-
payer: getNextAccount(),
|
|
1969
|
-
token0Program: getNextAccount(),
|
|
1970
|
-
token1Program: getNextAccount(),
|
|
1971
|
-
systemProgram: getNextAccount(),
|
|
1972
|
-
rent: getNextAccount(),
|
|
1973
|
-
migrationAuthority: getNextAccount()
|
|
1974
|
-
},
|
|
1975
|
-
data: getInitializePoolInstructionDataDecoder().decode(instruction.data)
|
|
1976
|
-
};
|
|
1977
|
-
}
|
|
1978
|
-
var ORACLE_CONSULT_DISCRIMINATOR = new Uint8Array([
|
|
1979
|
-
239,
|
|
1980
|
-
237,
|
|
1981
|
-
255,
|
|
1982
|
-
177,
|
|
1983
|
-
142,
|
|
1984
|
-
72,
|
|
1985
|
-
96,
|
|
1986
|
-
175
|
|
1987
|
-
]);
|
|
1988
|
-
function getOracleConsultDiscriminatorBytes() {
|
|
1989
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
1990
|
-
ORACLE_CONSULT_DISCRIMINATOR
|
|
1991
|
-
);
|
|
1992
|
-
}
|
|
1993
|
-
function getOracleConsultInstructionDataEncoder() {
|
|
1994
|
-
return transformEncoder(
|
|
1995
|
-
getStructEncoder([
|
|
1996
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
1997
|
-
["windowSeconds", getU32Encoder()]
|
|
1998
|
-
]),
|
|
1999
|
-
(value) => ({ ...value, discriminator: ORACLE_CONSULT_DISCRIMINATOR })
|
|
2000
|
-
);
|
|
2001
|
-
}
|
|
2002
|
-
function getOracleConsultInstructionDataDecoder() {
|
|
2003
|
-
return getStructDecoder([
|
|
2004
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
2005
|
-
["windowSeconds", getU32Decoder()]
|
|
2006
|
-
]);
|
|
2007
|
-
}
|
|
2008
|
-
function getOracleConsultInstructionDataCodec() {
|
|
2009
|
-
return combineCodec(
|
|
2010
|
-
getOracleConsultInstructionDataEncoder(),
|
|
2011
|
-
getOracleConsultInstructionDataDecoder()
|
|
2012
|
-
);
|
|
2013
|
-
}
|
|
2014
|
-
async function getOracleConsultInstructionAsync(input, config) {
|
|
2015
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2016
|
-
const originalAccounts = {
|
|
2017
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
2018
|
-
oracle: { value: input.oracle ?? null, isWritable: false }
|
|
2019
|
-
};
|
|
2020
|
-
const accounts = originalAccounts;
|
|
2021
|
-
const args = { ...input };
|
|
2022
|
-
if (!accounts.oracle.value) {
|
|
2023
|
-
accounts.oracle.value = await getProgramDerivedAddress({
|
|
2024
|
-
programAddress,
|
|
2025
|
-
seeds: [
|
|
2026
|
-
getBytesEncoder().encode(new Uint8Array([111, 114, 97, 99, 108, 101])),
|
|
2027
|
-
getAddressEncoder().encode(
|
|
2028
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
2029
|
-
)
|
|
2030
|
-
]
|
|
2031
|
-
});
|
|
2032
|
-
}
|
|
2033
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2034
|
-
return Object.freeze({
|
|
2035
|
-
accounts: [
|
|
2036
|
-
getAccountMeta("pool", accounts.pool),
|
|
2037
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
2038
|
-
],
|
|
2039
|
-
data: getOracleConsultInstructionDataEncoder().encode(
|
|
2040
|
-
args
|
|
2041
|
-
),
|
|
2042
|
-
programAddress
|
|
2043
|
-
});
|
|
2044
|
-
}
|
|
2045
|
-
function getOracleConsultInstruction(input, config) {
|
|
2046
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2047
|
-
const originalAccounts = {
|
|
2048
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
2049
|
-
oracle: { value: input.oracle ?? null, isWritable: false }
|
|
2050
|
-
};
|
|
2051
|
-
const accounts = originalAccounts;
|
|
2052
|
-
const args = { ...input };
|
|
2053
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2054
|
-
return Object.freeze({
|
|
2055
|
-
accounts: [
|
|
2056
|
-
getAccountMeta("pool", accounts.pool),
|
|
2057
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
2058
|
-
],
|
|
2059
|
-
data: getOracleConsultInstructionDataEncoder().encode(
|
|
2060
|
-
args
|
|
2061
|
-
),
|
|
2062
|
-
programAddress
|
|
2063
|
-
});
|
|
2064
|
-
}
|
|
2065
|
-
function parseOracleConsultInstruction(instruction) {
|
|
2066
|
-
if (instruction.accounts.length < 2) {
|
|
2067
|
-
throw new SolanaError(
|
|
2068
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2069
|
-
{
|
|
2070
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2071
|
-
expectedAccountMetas: 2
|
|
2072
|
-
}
|
|
2073
|
-
);
|
|
2074
|
-
}
|
|
2075
|
-
let accountIndex = 0;
|
|
2076
|
-
const getNextAccount = () => {
|
|
2077
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2078
|
-
accountIndex += 1;
|
|
2079
|
-
return accountMeta;
|
|
2080
|
-
};
|
|
2081
|
-
return {
|
|
2082
|
-
programAddress: instruction.programAddress,
|
|
2083
|
-
accounts: { pool: getNextAccount(), oracle: getNextAccount() },
|
|
2084
|
-
data: getOracleConsultInstructionDataDecoder().decode(instruction.data)
|
|
2085
|
-
};
|
|
2086
|
-
}
|
|
2087
|
-
var ORACLE_UPDATE_DISCRIMINATOR = new Uint8Array([
|
|
2088
|
-
85,
|
|
2089
|
-
209,
|
|
2090
|
-
248,
|
|
2091
|
-
142,
|
|
2092
|
-
186,
|
|
2093
|
-
249,
|
|
2094
|
-
120,
|
|
2095
|
-
239
|
|
2096
|
-
]);
|
|
2097
|
-
function getOracleUpdateDiscriminatorBytes() {
|
|
2098
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
2099
|
-
ORACLE_UPDATE_DISCRIMINATOR
|
|
2100
|
-
);
|
|
2101
|
-
}
|
|
2102
|
-
function getOracleUpdateInstructionDataEncoder() {
|
|
2103
|
-
return transformEncoder(
|
|
2104
|
-
getStructEncoder([["discriminator", fixEncoderSize(getBytesEncoder(), 8)]]),
|
|
2105
|
-
(value) => ({ ...value, discriminator: ORACLE_UPDATE_DISCRIMINATOR })
|
|
2106
|
-
);
|
|
2107
|
-
}
|
|
2108
|
-
function getOracleUpdateInstructionDataDecoder() {
|
|
2109
|
-
return getStructDecoder([
|
|
2110
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)]
|
|
2111
|
-
]);
|
|
2112
|
-
}
|
|
2113
|
-
function getOracleUpdateInstructionDataCodec() {
|
|
2114
|
-
return combineCodec(
|
|
2115
|
-
getOracleUpdateInstructionDataEncoder(),
|
|
2116
|
-
getOracleUpdateInstructionDataDecoder()
|
|
2117
|
-
);
|
|
2118
|
-
}
|
|
2119
|
-
async function getOracleUpdateInstructionAsync(input, config) {
|
|
2120
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2121
|
-
const originalAccounts = {
|
|
2122
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
2123
|
-
oracle: { value: input.oracle ?? null, isWritable: true }
|
|
2124
|
-
};
|
|
2125
|
-
const accounts = originalAccounts;
|
|
2126
|
-
if (!accounts.oracle.value) {
|
|
2127
|
-
accounts.oracle.value = await getProgramDerivedAddress({
|
|
2128
|
-
programAddress,
|
|
2129
|
-
seeds: [
|
|
2130
|
-
getBytesEncoder().encode(new Uint8Array([111, 114, 97, 99, 108, 101])),
|
|
2131
|
-
getAddressEncoder().encode(
|
|
2132
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
2133
|
-
)
|
|
2134
|
-
]
|
|
2135
|
-
});
|
|
2136
|
-
}
|
|
2137
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2138
|
-
return Object.freeze({
|
|
2139
|
-
accounts: [
|
|
2140
|
-
getAccountMeta("pool", accounts.pool),
|
|
2141
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
2142
|
-
],
|
|
2143
|
-
data: getOracleUpdateInstructionDataEncoder().encode({}),
|
|
2144
|
-
programAddress
|
|
2145
|
-
});
|
|
2146
|
-
}
|
|
2147
|
-
function getOracleUpdateInstruction(input, config) {
|
|
2148
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2149
|
-
const originalAccounts = {
|
|
2150
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
2151
|
-
oracle: { value: input.oracle ?? null, isWritable: true }
|
|
2152
|
-
};
|
|
2153
|
-
const accounts = originalAccounts;
|
|
2154
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2155
|
-
return Object.freeze({
|
|
2156
|
-
accounts: [
|
|
2157
|
-
getAccountMeta("pool", accounts.pool),
|
|
2158
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
2159
|
-
],
|
|
2160
|
-
data: getOracleUpdateInstructionDataEncoder().encode({}),
|
|
2161
|
-
programAddress
|
|
2162
|
-
});
|
|
2163
|
-
}
|
|
2164
|
-
function parseOracleUpdateInstruction(instruction) {
|
|
2165
|
-
if (instruction.accounts.length < 2) {
|
|
2166
|
-
throw new SolanaError(
|
|
2167
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2168
|
-
{
|
|
2169
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2170
|
-
expectedAccountMetas: 2
|
|
2171
|
-
}
|
|
2172
|
-
);
|
|
2173
|
-
}
|
|
2174
|
-
let accountIndex = 0;
|
|
2175
|
-
const getNextAccount = () => {
|
|
2176
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2177
|
-
accountIndex += 1;
|
|
2178
|
-
return accountMeta;
|
|
2179
|
-
};
|
|
2180
|
-
return {
|
|
2181
|
-
programAddress: instruction.programAddress,
|
|
2182
|
-
accounts: { pool: getNextAccount(), oracle: getNextAccount() },
|
|
2183
|
-
data: getOracleUpdateInstructionDataDecoder().decode(instruction.data)
|
|
2184
|
-
};
|
|
2185
|
-
}
|
|
2186
|
-
var PAUSE_DISCRIMINATOR = new Uint8Array([
|
|
2187
|
-
211,
|
|
2188
|
-
22,
|
|
2189
|
-
221,
|
|
2190
|
-
251,
|
|
2191
|
-
74,
|
|
2192
|
-
121,
|
|
2193
|
-
193,
|
|
2194
|
-
47
|
|
2195
|
-
]);
|
|
2196
|
-
function getPauseDiscriminatorBytes() {
|
|
2197
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(PAUSE_DISCRIMINATOR);
|
|
2198
|
-
}
|
|
2199
|
-
function getPauseInstructionDataEncoder() {
|
|
2200
|
-
return transformEncoder(
|
|
2201
|
-
getStructEncoder([["discriminator", fixEncoderSize(getBytesEncoder(), 8)]]),
|
|
2202
|
-
(value) => ({ ...value, discriminator: PAUSE_DISCRIMINATOR })
|
|
2203
|
-
);
|
|
2204
|
-
}
|
|
2205
|
-
function getPauseInstructionDataDecoder() {
|
|
2206
|
-
return getStructDecoder([
|
|
2207
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)]
|
|
2208
|
-
]);
|
|
2209
|
-
}
|
|
2210
|
-
function getPauseInstructionDataCodec() {
|
|
2211
|
-
return combineCodec(
|
|
2212
|
-
getPauseInstructionDataEncoder(),
|
|
2213
|
-
getPauseInstructionDataDecoder()
|
|
2214
|
-
);
|
|
2215
|
-
}
|
|
2216
|
-
function getPauseInstruction(input, config) {
|
|
2217
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2218
|
-
const originalAccounts = {
|
|
2219
|
-
config: { value: input.config ?? null, isWritable: true },
|
|
2220
|
-
admin: { value: input.admin ?? null, isWritable: false }
|
|
2221
|
-
};
|
|
2222
|
-
const accounts = originalAccounts;
|
|
2223
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2224
|
-
return Object.freeze({
|
|
2225
|
-
accounts: [
|
|
2226
|
-
getAccountMeta("config", accounts.config),
|
|
2227
|
-
getAccountMeta("admin", accounts.admin)
|
|
2228
|
-
],
|
|
2229
|
-
data: getPauseInstructionDataEncoder().encode({}),
|
|
2230
|
-
programAddress
|
|
2231
|
-
});
|
|
2232
|
-
}
|
|
2233
|
-
function parsePauseInstruction(instruction) {
|
|
2234
|
-
if (instruction.accounts.length < 2) {
|
|
2235
|
-
throw new SolanaError(
|
|
2236
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2237
|
-
{
|
|
2238
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2239
|
-
expectedAccountMetas: 2
|
|
2240
|
-
}
|
|
2241
|
-
);
|
|
2242
|
-
}
|
|
2243
|
-
let accountIndex = 0;
|
|
2244
|
-
const getNextAccount = () => {
|
|
2245
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2246
|
-
accountIndex += 1;
|
|
2247
|
-
return accountMeta;
|
|
2248
|
-
};
|
|
2249
|
-
return {
|
|
2250
|
-
programAddress: instruction.programAddress,
|
|
2251
|
-
accounts: { config: getNextAccount(), admin: getNextAccount() },
|
|
2252
|
-
data: getPauseInstructionDataDecoder().decode(instruction.data)
|
|
2253
|
-
};
|
|
2254
|
-
}
|
|
2255
|
-
var PREVIEW_SWAP_EXACT_IN_DISCRIMINATOR = new Uint8Array([
|
|
2256
|
-
50,
|
|
2257
|
-
130,
|
|
2258
|
-
31,
|
|
2259
|
-
69,
|
|
2260
|
-
147,
|
|
2261
|
-
58,
|
|
2262
|
-
222,
|
|
2263
|
-
178
|
|
2264
|
-
]);
|
|
2265
|
-
function getPreviewSwapExactInDiscriminatorBytes() {
|
|
2266
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
2267
|
-
PREVIEW_SWAP_EXACT_IN_DISCRIMINATOR
|
|
2268
|
-
);
|
|
2269
|
-
}
|
|
2270
|
-
function getPreviewSwapExactInInstructionDataEncoder() {
|
|
2271
|
-
return transformEncoder(
|
|
2272
|
-
getStructEncoder([
|
|
2273
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
2274
|
-
["amountIn", getU64Encoder()],
|
|
2275
|
-
["tradeDirection", getU8Encoder()]
|
|
2276
|
-
]),
|
|
2277
|
-
(value) => ({
|
|
2278
|
-
...value,
|
|
2279
|
-
discriminator: PREVIEW_SWAP_EXACT_IN_DISCRIMINATOR
|
|
2280
|
-
})
|
|
2281
|
-
);
|
|
2282
|
-
}
|
|
2283
|
-
function getPreviewSwapExactInInstructionDataDecoder() {
|
|
2284
|
-
return getStructDecoder([
|
|
2285
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
2286
|
-
["amountIn", getU64Decoder()],
|
|
2287
|
-
["tradeDirection", getU8Decoder()]
|
|
2288
|
-
]);
|
|
2289
|
-
}
|
|
2290
|
-
function getPreviewSwapExactInInstructionDataCodec() {
|
|
2291
|
-
return combineCodec(
|
|
2292
|
-
getPreviewSwapExactInInstructionDataEncoder(),
|
|
2293
|
-
getPreviewSwapExactInInstructionDataDecoder()
|
|
2294
|
-
);
|
|
2295
|
-
}
|
|
2296
|
-
function getPreviewSwapExactInInstruction(input, config) {
|
|
2297
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2298
|
-
const originalAccounts = {
|
|
2299
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2300
|
-
pool: { value: input.pool ?? null, isWritable: false }
|
|
2301
|
-
};
|
|
2302
|
-
const accounts = originalAccounts;
|
|
2303
|
-
const args = { ...input };
|
|
2304
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2305
|
-
return Object.freeze({
|
|
2306
|
-
accounts: [
|
|
2307
|
-
getAccountMeta("config", accounts.config),
|
|
2308
|
-
getAccountMeta("pool", accounts.pool)
|
|
2309
|
-
],
|
|
2310
|
-
data: getPreviewSwapExactInInstructionDataEncoder().encode(
|
|
2311
|
-
args
|
|
2312
|
-
),
|
|
2313
|
-
programAddress
|
|
2314
|
-
});
|
|
2315
|
-
}
|
|
2316
|
-
function parsePreviewSwapExactInInstruction(instruction) {
|
|
2317
|
-
if (instruction.accounts.length < 2) {
|
|
2318
|
-
throw new SolanaError(
|
|
2319
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2320
|
-
{
|
|
2321
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2322
|
-
expectedAccountMetas: 2
|
|
2323
|
-
}
|
|
2324
|
-
);
|
|
2325
|
-
}
|
|
2326
|
-
let accountIndex = 0;
|
|
2327
|
-
const getNextAccount = () => {
|
|
2328
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2329
|
-
accountIndex += 1;
|
|
2330
|
-
return accountMeta;
|
|
2331
|
-
};
|
|
2332
|
-
return {
|
|
2333
|
-
programAddress: instruction.programAddress,
|
|
2334
|
-
accounts: { config: getNextAccount(), pool: getNextAccount() },
|
|
2335
|
-
data: getPreviewSwapExactInInstructionDataDecoder().decode(
|
|
2336
|
-
instruction.data
|
|
2337
|
-
)
|
|
2338
|
-
};
|
|
2339
|
-
}
|
|
2340
|
-
var QUOTE_TO_NUMERAIRE_DISCRIMINATOR = new Uint8Array([
|
|
2341
|
-
4,
|
|
2342
|
-
142,
|
|
2343
|
-
249,
|
|
2344
|
-
240,
|
|
2345
|
-
129,
|
|
2346
|
-
15,
|
|
2347
|
-
143,
|
|
2348
|
-
57
|
|
2349
|
-
]);
|
|
2350
|
-
function getQuoteToNumeraireDiscriminatorBytes() {
|
|
2351
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
2352
|
-
QUOTE_TO_NUMERAIRE_DISCRIMINATOR
|
|
2353
|
-
);
|
|
2354
|
-
}
|
|
2355
|
-
function getQuoteToNumeraireInstructionDataEncoder() {
|
|
2356
|
-
return transformEncoder(
|
|
2357
|
-
getStructEncoder([
|
|
2358
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
2359
|
-
["amount", getU128Encoder()],
|
|
2360
|
-
["inputTokenIndex", getU8Encoder()],
|
|
2361
|
-
["maxHops", getU8Encoder()],
|
|
2362
|
-
["useTwap", getBooleanEncoder()],
|
|
2363
|
-
["windowSeconds", getU32Encoder()]
|
|
2364
|
-
]),
|
|
2365
|
-
(value) => ({ ...value, discriminator: QUOTE_TO_NUMERAIRE_DISCRIMINATOR })
|
|
2366
|
-
);
|
|
2367
|
-
}
|
|
2368
|
-
function getQuoteToNumeraireInstructionDataDecoder() {
|
|
2369
|
-
return getStructDecoder([
|
|
2370
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
2371
|
-
["amount", getU128Decoder()],
|
|
2372
|
-
["inputTokenIndex", getU8Decoder()],
|
|
2373
|
-
["maxHops", getU8Decoder()],
|
|
2374
|
-
["useTwap", getBooleanDecoder()],
|
|
2375
|
-
["windowSeconds", getU32Decoder()]
|
|
2376
|
-
]);
|
|
2377
|
-
}
|
|
2378
|
-
function getQuoteToNumeraireInstructionDataCodec() {
|
|
2379
|
-
return combineCodec(
|
|
2380
|
-
getQuoteToNumeraireInstructionDataEncoder(),
|
|
2381
|
-
getQuoteToNumeraireInstructionDataDecoder()
|
|
2382
|
-
);
|
|
2383
|
-
}
|
|
2384
|
-
function getQuoteToNumeraireInstruction(input, config) {
|
|
2385
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2386
|
-
const originalAccounts = {
|
|
2387
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2388
|
-
startPool: { value: input.startPool ?? null, isWritable: false }
|
|
2389
|
-
};
|
|
2390
|
-
const accounts = originalAccounts;
|
|
2391
|
-
const args = { ...input };
|
|
2392
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2393
|
-
return Object.freeze({
|
|
2394
|
-
accounts: [
|
|
2395
|
-
getAccountMeta("config", accounts.config),
|
|
2396
|
-
getAccountMeta("startPool", accounts.startPool)
|
|
2397
|
-
],
|
|
2398
|
-
data: getQuoteToNumeraireInstructionDataEncoder().encode(
|
|
2399
|
-
args
|
|
2400
|
-
),
|
|
2401
|
-
programAddress
|
|
2402
|
-
});
|
|
2403
|
-
}
|
|
2404
|
-
function parseQuoteToNumeraireInstruction(instruction) {
|
|
2405
|
-
if (instruction.accounts.length < 2) {
|
|
2406
|
-
throw new SolanaError(
|
|
2407
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2408
|
-
{
|
|
2409
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2410
|
-
expectedAccountMetas: 2
|
|
2411
|
-
}
|
|
2412
|
-
);
|
|
2413
|
-
}
|
|
2414
|
-
let accountIndex = 0;
|
|
2415
|
-
const getNextAccount = () => {
|
|
2416
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2417
|
-
accountIndex += 1;
|
|
2418
|
-
return accountMeta;
|
|
2419
|
-
};
|
|
2420
|
-
return {
|
|
2421
|
-
programAddress: instruction.programAddress,
|
|
2422
|
-
accounts: { config: getNextAccount(), startPool: getNextAccount() },
|
|
2423
|
-
data: getQuoteToNumeraireInstructionDataDecoder().decode(instruction.data)
|
|
2424
|
-
};
|
|
2425
|
-
}
|
|
2426
|
-
var REMOVE_LIQUIDITY_DISCRIMINATOR = new Uint8Array([
|
|
2427
|
-
80,
|
|
2428
|
-
85,
|
|
2429
|
-
209,
|
|
2430
|
-
72,
|
|
2431
|
-
24,
|
|
2432
|
-
206,
|
|
2433
|
-
177,
|
|
2434
|
-
108
|
|
2435
|
-
]);
|
|
2436
|
-
function getRemoveLiquidityDiscriminatorBytes() {
|
|
2437
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
2438
|
-
REMOVE_LIQUIDITY_DISCRIMINATOR
|
|
2439
|
-
);
|
|
2440
|
-
}
|
|
2441
|
-
function getRemoveLiquidityInstructionDataEncoder() {
|
|
2442
|
-
return transformEncoder(
|
|
2443
|
-
getStructEncoder([
|
|
2444
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
2445
|
-
["sharesIn", getU128Encoder()],
|
|
2446
|
-
["minAmount0Out", getU64Encoder()],
|
|
2447
|
-
["minAmount1Out", getU64Encoder()],
|
|
2448
|
-
["updateOracle", getBooleanEncoder()]
|
|
2449
|
-
]),
|
|
2450
|
-
(value) => ({ ...value, discriminator: REMOVE_LIQUIDITY_DISCRIMINATOR })
|
|
2451
|
-
);
|
|
2452
|
-
}
|
|
2453
|
-
function getRemoveLiquidityInstructionDataDecoder() {
|
|
2454
|
-
return getStructDecoder([
|
|
2455
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
2456
|
-
["sharesIn", getU128Decoder()],
|
|
2457
|
-
["minAmount0Out", getU64Decoder()],
|
|
2458
|
-
["minAmount1Out", getU64Decoder()],
|
|
2459
|
-
["updateOracle", getBooleanDecoder()]
|
|
2460
|
-
]);
|
|
2461
|
-
}
|
|
2462
|
-
function getRemoveLiquidityInstructionDataCodec() {
|
|
2463
|
-
return combineCodec(
|
|
2464
|
-
getRemoveLiquidityInstructionDataEncoder(),
|
|
2465
|
-
getRemoveLiquidityInstructionDataDecoder()
|
|
2466
|
-
);
|
|
2467
|
-
}
|
|
2468
|
-
async function getRemoveLiquidityInstructionAsync(input, config) {
|
|
2469
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2470
|
-
const originalAccounts = {
|
|
2471
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2472
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
2473
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
2474
|
-
protocolFeePosition: {
|
|
2475
|
-
value: input.protocolFeePosition ?? null,
|
|
2476
|
-
isWritable: true
|
|
2477
|
-
},
|
|
2478
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
2479
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
2480
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
2481
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
2482
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
2483
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
2484
|
-
user0: { value: input.user0 ?? null, isWritable: true },
|
|
2485
|
-
user1: { value: input.user1 ?? null, isWritable: true },
|
|
2486
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
2487
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false },
|
|
2488
|
-
oracle: { value: input.oracle ?? null, isWritable: true }
|
|
2489
|
-
};
|
|
2490
|
-
const accounts = originalAccounts;
|
|
2491
|
-
const args = { ...input };
|
|
2492
|
-
if (!accounts.authority.value) {
|
|
2493
|
-
accounts.authority.value = await getProgramDerivedAddress({
|
|
2494
|
-
programAddress,
|
|
2495
|
-
seeds: [
|
|
2496
|
-
getBytesEncoder().encode(
|
|
2497
|
-
new Uint8Array([97, 117, 116, 104, 111, 114, 105, 116, 121])
|
|
2498
|
-
),
|
|
2499
|
-
getAddressEncoder().encode(
|
|
2500
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
2501
|
-
)
|
|
2502
|
-
]
|
|
2503
|
-
});
|
|
2504
|
-
}
|
|
2505
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2506
|
-
return Object.freeze({
|
|
2507
|
-
accounts: [
|
|
2508
|
-
getAccountMeta("config", accounts.config),
|
|
2509
|
-
getAccountMeta("pool", accounts.pool),
|
|
2510
|
-
getAccountMeta("position", accounts.position),
|
|
2511
|
-
getAccountMeta("protocolFeePosition", accounts.protocolFeePosition),
|
|
2512
|
-
getAccountMeta("owner", accounts.owner),
|
|
2513
|
-
getAccountMeta("authority", accounts.authority),
|
|
2514
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
2515
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
2516
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
2517
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
2518
|
-
getAccountMeta("user0", accounts.user0),
|
|
2519
|
-
getAccountMeta("user1", accounts.user1),
|
|
2520
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
2521
|
-
getAccountMeta("token1Program", accounts.token1Program),
|
|
2522
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
2523
|
-
],
|
|
2524
|
-
data: getRemoveLiquidityInstructionDataEncoder().encode(
|
|
2525
|
-
args
|
|
2526
|
-
),
|
|
2527
|
-
programAddress
|
|
2528
|
-
});
|
|
2529
|
-
}
|
|
2530
|
-
function getRemoveLiquidityInstruction(input, config) {
|
|
2531
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2532
|
-
const originalAccounts = {
|
|
2533
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2534
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
2535
|
-
position: { value: input.position ?? null, isWritable: true },
|
|
2536
|
-
protocolFeePosition: {
|
|
2537
|
-
value: input.protocolFeePosition ?? null,
|
|
2538
|
-
isWritable: true
|
|
2539
|
-
},
|
|
2540
|
-
owner: { value: input.owner ?? null, isWritable: false },
|
|
2541
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
2542
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
2543
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
2544
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
2545
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
2546
|
-
user0: { value: input.user0 ?? null, isWritable: true },
|
|
2547
|
-
user1: { value: input.user1 ?? null, isWritable: true },
|
|
2548
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
2549
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false },
|
|
2550
|
-
oracle: { value: input.oracle ?? null, isWritable: true }
|
|
2551
|
-
};
|
|
2552
|
-
const accounts = originalAccounts;
|
|
2553
|
-
const args = { ...input };
|
|
2554
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2555
|
-
return Object.freeze({
|
|
2556
|
-
accounts: [
|
|
2557
|
-
getAccountMeta("config", accounts.config),
|
|
2558
|
-
getAccountMeta("pool", accounts.pool),
|
|
2559
|
-
getAccountMeta("position", accounts.position),
|
|
2560
|
-
getAccountMeta("protocolFeePosition", accounts.protocolFeePosition),
|
|
2561
|
-
getAccountMeta("owner", accounts.owner),
|
|
2562
|
-
getAccountMeta("authority", accounts.authority),
|
|
2563
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
2564
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
2565
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
2566
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
2567
|
-
getAccountMeta("user0", accounts.user0),
|
|
2568
|
-
getAccountMeta("user1", accounts.user1),
|
|
2569
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
2570
|
-
getAccountMeta("token1Program", accounts.token1Program),
|
|
2571
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
2572
|
-
],
|
|
2573
|
-
data: getRemoveLiquidityInstructionDataEncoder().encode(
|
|
2574
|
-
args
|
|
2575
|
-
),
|
|
2576
|
-
programAddress
|
|
2577
|
-
});
|
|
2578
|
-
}
|
|
2579
|
-
function parseRemoveLiquidityInstruction(instruction) {
|
|
2580
|
-
if (instruction.accounts.length < 15) {
|
|
2581
|
-
throw new SolanaError(
|
|
2582
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2583
|
-
{
|
|
2584
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2585
|
-
expectedAccountMetas: 15
|
|
2586
|
-
}
|
|
2587
|
-
);
|
|
2588
|
-
}
|
|
2589
|
-
let accountIndex = 0;
|
|
2590
|
-
const getNextAccount = () => {
|
|
2591
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2592
|
-
accountIndex += 1;
|
|
2593
|
-
return accountMeta;
|
|
2594
|
-
};
|
|
2595
|
-
const getNextOptionalAccount = () => {
|
|
2596
|
-
const accountMeta = getNextAccount();
|
|
2597
|
-
return accountMeta.address === CPMM_PROGRAM_ADDRESS ? void 0 : accountMeta;
|
|
2598
|
-
};
|
|
2599
|
-
return {
|
|
2600
|
-
programAddress: instruction.programAddress,
|
|
2601
|
-
accounts: {
|
|
2602
|
-
config: getNextAccount(),
|
|
2603
|
-
pool: getNextAccount(),
|
|
2604
|
-
position: getNextAccount(),
|
|
2605
|
-
protocolFeePosition: getNextAccount(),
|
|
2606
|
-
owner: getNextAccount(),
|
|
2607
|
-
authority: getNextAccount(),
|
|
2608
|
-
vault0: getNextAccount(),
|
|
2609
|
-
vault1: getNextAccount(),
|
|
2610
|
-
token0Mint: getNextAccount(),
|
|
2611
|
-
token1Mint: getNextAccount(),
|
|
2612
|
-
user0: getNextAccount(),
|
|
2613
|
-
user1: getNextAccount(),
|
|
2614
|
-
token0Program: getNextAccount(),
|
|
2615
|
-
token1Program: getNextAccount(),
|
|
2616
|
-
oracle: getNextOptionalAccount()
|
|
2617
|
-
},
|
|
2618
|
-
data: getRemoveLiquidityInstructionDataDecoder().decode(instruction.data)
|
|
2619
|
-
};
|
|
2620
|
-
}
|
|
2621
|
-
var SET_FEES_DISCRIMINATOR = new Uint8Array([
|
|
2622
|
-
137,
|
|
2623
|
-
178,
|
|
2624
|
-
49,
|
|
2625
|
-
58,
|
|
2626
|
-
0,
|
|
2627
|
-
245,
|
|
2628
|
-
242,
|
|
2629
|
-
190
|
|
2630
|
-
]);
|
|
2631
|
-
function getSetFeesDiscriminatorBytes() {
|
|
2632
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(SET_FEES_DISCRIMINATOR);
|
|
2633
|
-
}
|
|
2634
|
-
function getSetFeesInstructionDataEncoder() {
|
|
2635
|
-
return transformEncoder(
|
|
2636
|
-
getStructEncoder([
|
|
2637
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
2638
|
-
["swapFeeBps", getU16Encoder()],
|
|
2639
|
-
["feeSplitBps", getU16Encoder()]
|
|
2640
|
-
]),
|
|
2641
|
-
(value) => ({ ...value, discriminator: SET_FEES_DISCRIMINATOR })
|
|
2642
|
-
);
|
|
2643
|
-
}
|
|
2644
|
-
function getSetFeesInstructionDataDecoder() {
|
|
2645
|
-
return getStructDecoder([
|
|
2646
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
2647
|
-
["swapFeeBps", getU16Decoder()],
|
|
2648
|
-
["feeSplitBps", getU16Decoder()]
|
|
2649
|
-
]);
|
|
2650
|
-
}
|
|
2651
|
-
function getSetFeesInstructionDataCodec() {
|
|
2652
|
-
return combineCodec(
|
|
2653
|
-
getSetFeesInstructionDataEncoder(),
|
|
2654
|
-
getSetFeesInstructionDataDecoder()
|
|
2655
|
-
);
|
|
2656
|
-
}
|
|
2657
|
-
function getSetFeesInstruction(input, config) {
|
|
2658
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2659
|
-
const originalAccounts = {
|
|
2660
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2661
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
2662
|
-
admin: { value: input.admin ?? null, isWritable: false }
|
|
2663
|
-
};
|
|
2664
|
-
const accounts = originalAccounts;
|
|
2665
|
-
const args = { ...input };
|
|
2666
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2667
|
-
return Object.freeze({
|
|
2668
|
-
accounts: [
|
|
2669
|
-
getAccountMeta("config", accounts.config),
|
|
2670
|
-
getAccountMeta("pool", accounts.pool),
|
|
2671
|
-
getAccountMeta("admin", accounts.admin)
|
|
2672
|
-
],
|
|
2673
|
-
data: getSetFeesInstructionDataEncoder().encode(
|
|
2674
|
-
args
|
|
2675
|
-
),
|
|
2676
|
-
programAddress
|
|
2677
|
-
});
|
|
2678
|
-
}
|
|
2679
|
-
function parseSetFeesInstruction(instruction) {
|
|
2680
|
-
if (instruction.accounts.length < 3) {
|
|
2681
|
-
throw new SolanaError(
|
|
2682
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2683
|
-
{
|
|
2684
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2685
|
-
expectedAccountMetas: 3
|
|
2686
|
-
}
|
|
2687
|
-
);
|
|
2688
|
-
}
|
|
2689
|
-
let accountIndex = 0;
|
|
2690
|
-
const getNextAccount = () => {
|
|
2691
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2692
|
-
accountIndex += 1;
|
|
2693
|
-
return accountMeta;
|
|
2694
|
-
};
|
|
2695
|
-
return {
|
|
2696
|
-
programAddress: instruction.programAddress,
|
|
2697
|
-
accounts: {
|
|
2698
|
-
config: getNextAccount(),
|
|
2699
|
-
pool: getNextAccount(),
|
|
2700
|
-
admin: getNextAccount()
|
|
2701
|
-
},
|
|
2702
|
-
data: getSetFeesInstructionDataDecoder().decode(instruction.data)
|
|
2703
|
-
};
|
|
2704
|
-
}
|
|
2705
|
-
var SET_HOOK_DISCRIMINATOR = new Uint8Array([
|
|
2706
|
-
175,
|
|
2707
|
-
16,
|
|
2708
|
-
187,
|
|
2709
|
-
252,
|
|
2710
|
-
19,
|
|
2711
|
-
54,
|
|
2712
|
-
111,
|
|
2713
|
-
221
|
|
2714
|
-
]);
|
|
2715
|
-
function getSetHookDiscriminatorBytes() {
|
|
2716
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(SET_HOOK_DISCRIMINATOR);
|
|
2717
|
-
}
|
|
2718
|
-
function getSetHookInstructionDataEncoder() {
|
|
2719
|
-
return transformEncoder(
|
|
2720
|
-
getStructEncoder([
|
|
2721
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
2722
|
-
["hookProgram", getAddressEncoder()],
|
|
2723
|
-
["hookFlags", getU32Encoder()]
|
|
2724
|
-
]),
|
|
2725
|
-
(value) => ({ ...value, discriminator: SET_HOOK_DISCRIMINATOR })
|
|
2726
|
-
);
|
|
2727
|
-
}
|
|
2728
|
-
function getSetHookInstructionDataDecoder() {
|
|
2729
|
-
return getStructDecoder([
|
|
2730
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
2731
|
-
["hookProgram", getAddressDecoder()],
|
|
2732
|
-
["hookFlags", getU32Decoder()]
|
|
2733
|
-
]);
|
|
2734
|
-
}
|
|
2735
|
-
function getSetHookInstructionDataCodec() {
|
|
2736
|
-
return combineCodec(
|
|
2737
|
-
getSetHookInstructionDataEncoder(),
|
|
2738
|
-
getSetHookInstructionDataDecoder()
|
|
2739
|
-
);
|
|
2740
|
-
}
|
|
2741
|
-
function getSetHookInstruction(input, config) {
|
|
2742
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2743
|
-
const originalAccounts = {
|
|
2744
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2745
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
2746
|
-
admin: { value: input.admin ?? null, isWritable: false }
|
|
2747
|
-
};
|
|
2748
|
-
const accounts = originalAccounts;
|
|
2749
|
-
const args = { ...input };
|
|
2750
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2751
|
-
return Object.freeze({
|
|
2752
|
-
accounts: [
|
|
2753
|
-
getAccountMeta("config", accounts.config),
|
|
2754
|
-
getAccountMeta("pool", accounts.pool),
|
|
2755
|
-
getAccountMeta("admin", accounts.admin)
|
|
2756
|
-
],
|
|
2757
|
-
data: getSetHookInstructionDataEncoder().encode(
|
|
2758
|
-
args
|
|
2759
|
-
),
|
|
2760
|
-
programAddress
|
|
2761
|
-
});
|
|
2762
|
-
}
|
|
2763
|
-
function parseSetHookInstruction(instruction) {
|
|
2764
|
-
if (instruction.accounts.length < 3) {
|
|
2765
|
-
throw new SolanaError(
|
|
2766
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2767
|
-
{
|
|
2768
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2769
|
-
expectedAccountMetas: 3
|
|
2770
|
-
}
|
|
2771
|
-
);
|
|
2772
|
-
}
|
|
2773
|
-
let accountIndex = 0;
|
|
2774
|
-
const getNextAccount = () => {
|
|
2775
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2776
|
-
accountIndex += 1;
|
|
2777
|
-
return accountMeta;
|
|
2778
|
-
};
|
|
2779
|
-
return {
|
|
2780
|
-
programAddress: instruction.programAddress,
|
|
2781
|
-
accounts: {
|
|
2782
|
-
config: getNextAccount(),
|
|
2783
|
-
pool: getNextAccount(),
|
|
2784
|
-
admin: getNextAccount()
|
|
2785
|
-
},
|
|
2786
|
-
data: getSetHookInstructionDataDecoder().decode(instruction.data)
|
|
2787
|
-
};
|
|
2788
|
-
}
|
|
2789
|
-
var SET_ROUTE_DISCRIMINATOR = new Uint8Array([
|
|
2790
|
-
244,
|
|
2791
|
-
231,
|
|
2792
|
-
3,
|
|
2793
|
-
84,
|
|
2794
|
-
233,
|
|
2795
|
-
61,
|
|
2796
|
-
146,
|
|
2797
|
-
149
|
|
2798
|
-
]);
|
|
2799
|
-
function getSetRouteDiscriminatorBytes() {
|
|
2800
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(SET_ROUTE_DISCRIMINATOR);
|
|
2801
|
-
}
|
|
2802
|
-
function getSetRouteInstructionDataEncoder() {
|
|
2803
|
-
return transformEncoder(
|
|
2804
|
-
getStructEncoder([
|
|
2805
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
2806
|
-
["routeNextPool", getAddressEncoder()],
|
|
2807
|
-
["routeBridgeMint", getAddressEncoder()]
|
|
2808
|
-
]),
|
|
2809
|
-
(value) => ({ ...value, discriminator: SET_ROUTE_DISCRIMINATOR })
|
|
2810
|
-
);
|
|
2811
|
-
}
|
|
2812
|
-
function getSetRouteInstructionDataDecoder() {
|
|
2813
|
-
return getStructDecoder([
|
|
2814
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
2815
|
-
["routeNextPool", getAddressDecoder()],
|
|
2816
|
-
["routeBridgeMint", getAddressDecoder()]
|
|
2817
|
-
]);
|
|
2818
|
-
}
|
|
2819
|
-
function getSetRouteInstructionDataCodec() {
|
|
2820
|
-
return combineCodec(
|
|
2821
|
-
getSetRouteInstructionDataEncoder(),
|
|
2822
|
-
getSetRouteInstructionDataDecoder()
|
|
2823
|
-
);
|
|
2824
|
-
}
|
|
2825
|
-
function getSetRouteInstruction(input, config) {
|
|
2826
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2827
|
-
const originalAccounts = {
|
|
2828
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2829
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
2830
|
-
nextPool: { value: input.nextPool ?? null, isWritable: false },
|
|
2831
|
-
admin: { value: input.admin ?? null, isWritable: false }
|
|
2832
|
-
};
|
|
2833
|
-
const accounts = originalAccounts;
|
|
2834
|
-
const args = { ...input };
|
|
2835
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2836
|
-
return Object.freeze({
|
|
2837
|
-
accounts: [
|
|
2838
|
-
getAccountMeta("config", accounts.config),
|
|
2839
|
-
getAccountMeta("pool", accounts.pool),
|
|
2840
|
-
getAccountMeta("nextPool", accounts.nextPool),
|
|
2841
|
-
getAccountMeta("admin", accounts.admin)
|
|
2842
|
-
],
|
|
2843
|
-
data: getSetRouteInstructionDataEncoder().encode(
|
|
2844
|
-
args
|
|
2845
|
-
),
|
|
2846
|
-
programAddress
|
|
2847
|
-
});
|
|
2848
|
-
}
|
|
2849
|
-
function parseSetRouteInstruction(instruction) {
|
|
2850
|
-
if (instruction.accounts.length < 4) {
|
|
2851
|
-
throw new SolanaError(
|
|
2852
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
2853
|
-
{
|
|
2854
|
-
actualAccountMetas: instruction.accounts.length,
|
|
2855
|
-
expectedAccountMetas: 4
|
|
2856
|
-
}
|
|
2857
|
-
);
|
|
2858
|
-
}
|
|
2859
|
-
let accountIndex = 0;
|
|
2860
|
-
const getNextAccount = () => {
|
|
2861
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
2862
|
-
accountIndex += 1;
|
|
2863
|
-
return accountMeta;
|
|
2864
|
-
};
|
|
2865
|
-
const getNextOptionalAccount = () => {
|
|
2866
|
-
const accountMeta = getNextAccount();
|
|
2867
|
-
return accountMeta.address === CPMM_PROGRAM_ADDRESS ? void 0 : accountMeta;
|
|
2868
|
-
};
|
|
2869
|
-
return {
|
|
2870
|
-
programAddress: instruction.programAddress,
|
|
2871
|
-
accounts: {
|
|
2872
|
-
config: getNextAccount(),
|
|
2873
|
-
pool: getNextAccount(),
|
|
2874
|
-
nextPool: getNextOptionalAccount(),
|
|
2875
|
-
admin: getNextAccount()
|
|
2876
|
-
},
|
|
2877
|
-
data: getSetRouteInstructionDataDecoder().decode(instruction.data)
|
|
2878
|
-
};
|
|
2879
|
-
}
|
|
2880
|
-
var SWAP_EXACT_IN_DISCRIMINATOR = new Uint8Array([
|
|
2881
|
-
104,
|
|
2882
|
-
104,
|
|
2883
|
-
131,
|
|
2884
|
-
86,
|
|
2885
|
-
161,
|
|
2886
|
-
189,
|
|
2887
|
-
180,
|
|
2888
|
-
216
|
|
2889
|
-
]);
|
|
2890
|
-
function getSwapExactInDiscriminatorBytes() {
|
|
2891
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
2892
|
-
SWAP_EXACT_IN_DISCRIMINATOR
|
|
2893
|
-
);
|
|
2894
|
-
}
|
|
2895
|
-
function getSwapExactInInstructionDataEncoder() {
|
|
2896
|
-
return transformEncoder(
|
|
2897
|
-
getStructEncoder([
|
|
2898
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
2899
|
-
["amountIn", getU64Encoder()],
|
|
2900
|
-
["minAmountOut", getU64Encoder()],
|
|
2901
|
-
["tradeDirection", getU8Encoder()],
|
|
2902
|
-
["updateOracle", getBooleanEncoder()]
|
|
2903
|
-
]),
|
|
2904
|
-
(value) => ({ ...value, discriminator: SWAP_EXACT_IN_DISCRIMINATOR })
|
|
2905
|
-
);
|
|
2906
|
-
}
|
|
2907
|
-
function getSwapExactInInstructionDataDecoder() {
|
|
2908
|
-
return getStructDecoder([
|
|
2909
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
2910
|
-
["amountIn", getU64Decoder()],
|
|
2911
|
-
["minAmountOut", getU64Decoder()],
|
|
2912
|
-
["tradeDirection", getU8Decoder()],
|
|
2913
|
-
["updateOracle", getBooleanDecoder()]
|
|
2914
|
-
]);
|
|
2915
|
-
}
|
|
2916
|
-
function getSwapExactInInstructionDataCodec() {
|
|
2917
|
-
return combineCodec(
|
|
2918
|
-
getSwapExactInInstructionDataEncoder(),
|
|
2919
|
-
getSwapExactInInstructionDataDecoder()
|
|
2920
|
-
);
|
|
2921
|
-
}
|
|
2922
|
-
async function getSwapExactInInstructionAsync(input, config) {
|
|
2923
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2924
|
-
const originalAccounts = {
|
|
2925
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2926
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
2927
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
2928
|
-
vaultIn: { value: input.vaultIn ?? null, isWritable: true },
|
|
2929
|
-
vaultOut: { value: input.vaultOut ?? null, isWritable: true },
|
|
2930
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
2931
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
2932
|
-
userIn: { value: input.userIn ?? null, isWritable: true },
|
|
2933
|
-
userOut: { value: input.userOut ?? null, isWritable: true },
|
|
2934
|
-
trader: { value: input.trader ?? null, isWritable: false },
|
|
2935
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
2936
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false },
|
|
2937
|
-
oracle: { value: input.oracle ?? null, isWritable: true }
|
|
2938
|
-
};
|
|
2939
|
-
const accounts = originalAccounts;
|
|
2940
|
-
const args = { ...input };
|
|
2941
|
-
if (!accounts.authority.value) {
|
|
2942
|
-
accounts.authority.value = await getProgramDerivedAddress({
|
|
2943
|
-
programAddress,
|
|
2944
|
-
seeds: [
|
|
2945
|
-
getBytesEncoder().encode(
|
|
2946
|
-
new Uint8Array([97, 117, 116, 104, 111, 114, 105, 116, 121])
|
|
2947
|
-
),
|
|
2948
|
-
getAddressEncoder().encode(
|
|
2949
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
2950
|
-
)
|
|
2951
|
-
]
|
|
2952
|
-
});
|
|
2953
|
-
}
|
|
2954
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2955
|
-
return Object.freeze({
|
|
2956
|
-
accounts: [
|
|
2957
|
-
getAccountMeta("config", accounts.config),
|
|
2958
|
-
getAccountMeta("pool", accounts.pool),
|
|
2959
|
-
getAccountMeta("authority", accounts.authority),
|
|
2960
|
-
getAccountMeta("vaultIn", accounts.vaultIn),
|
|
2961
|
-
getAccountMeta("vaultOut", accounts.vaultOut),
|
|
2962
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
2963
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
2964
|
-
getAccountMeta("userIn", accounts.userIn),
|
|
2965
|
-
getAccountMeta("userOut", accounts.userOut),
|
|
2966
|
-
getAccountMeta("trader", accounts.trader),
|
|
2967
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
2968
|
-
getAccountMeta("token1Program", accounts.token1Program),
|
|
2969
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
2970
|
-
],
|
|
2971
|
-
data: getSwapExactInInstructionDataEncoder().encode(
|
|
2972
|
-
args
|
|
2973
|
-
),
|
|
2974
|
-
programAddress
|
|
2975
|
-
});
|
|
2976
|
-
}
|
|
2977
|
-
function getSwapExactInInstruction(input, config) {
|
|
2978
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
2979
|
-
const originalAccounts = {
|
|
2980
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
2981
|
-
pool: { value: input.pool ?? null, isWritable: true },
|
|
2982
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
2983
|
-
vaultIn: { value: input.vaultIn ?? null, isWritable: true },
|
|
2984
|
-
vaultOut: { value: input.vaultOut ?? null, isWritable: true },
|
|
2985
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
2986
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
2987
|
-
userIn: { value: input.userIn ?? null, isWritable: true },
|
|
2988
|
-
userOut: { value: input.userOut ?? null, isWritable: true },
|
|
2989
|
-
trader: { value: input.trader ?? null, isWritable: false },
|
|
2990
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
2991
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false },
|
|
2992
|
-
oracle: { value: input.oracle ?? null, isWritable: true }
|
|
2993
|
-
};
|
|
2994
|
-
const accounts = originalAccounts;
|
|
2995
|
-
const args = { ...input };
|
|
2996
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
2997
|
-
return Object.freeze({
|
|
2998
|
-
accounts: [
|
|
2999
|
-
getAccountMeta("config", accounts.config),
|
|
3000
|
-
getAccountMeta("pool", accounts.pool),
|
|
3001
|
-
getAccountMeta("authority", accounts.authority),
|
|
3002
|
-
getAccountMeta("vaultIn", accounts.vaultIn),
|
|
3003
|
-
getAccountMeta("vaultOut", accounts.vaultOut),
|
|
3004
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
3005
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
3006
|
-
getAccountMeta("userIn", accounts.userIn),
|
|
3007
|
-
getAccountMeta("userOut", accounts.userOut),
|
|
3008
|
-
getAccountMeta("trader", accounts.trader),
|
|
3009
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
3010
|
-
getAccountMeta("token1Program", accounts.token1Program),
|
|
3011
|
-
getAccountMeta("oracle", accounts.oracle)
|
|
3012
|
-
],
|
|
3013
|
-
data: getSwapExactInInstructionDataEncoder().encode(
|
|
3014
|
-
args
|
|
3015
|
-
),
|
|
3016
|
-
programAddress
|
|
3017
|
-
});
|
|
3018
|
-
}
|
|
3019
|
-
function parseSwapExactInInstruction(instruction) {
|
|
3020
|
-
if (instruction.accounts.length < 13) {
|
|
3021
|
-
throw new SolanaError(
|
|
3022
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
3023
|
-
{
|
|
3024
|
-
actualAccountMetas: instruction.accounts.length,
|
|
3025
|
-
expectedAccountMetas: 13
|
|
3026
|
-
}
|
|
3027
|
-
);
|
|
3028
|
-
}
|
|
3029
|
-
let accountIndex = 0;
|
|
3030
|
-
const getNextAccount = () => {
|
|
3031
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
3032
|
-
accountIndex += 1;
|
|
3033
|
-
return accountMeta;
|
|
3034
|
-
};
|
|
3035
|
-
const getNextOptionalAccount = () => {
|
|
3036
|
-
const accountMeta = getNextAccount();
|
|
3037
|
-
return accountMeta.address === CPMM_PROGRAM_ADDRESS ? void 0 : accountMeta;
|
|
3038
|
-
};
|
|
3039
|
-
return {
|
|
3040
|
-
programAddress: instruction.programAddress,
|
|
3041
|
-
accounts: {
|
|
3042
|
-
config: getNextAccount(),
|
|
3043
|
-
pool: getNextAccount(),
|
|
3044
|
-
authority: getNextAccount(),
|
|
3045
|
-
vaultIn: getNextAccount(),
|
|
3046
|
-
vaultOut: getNextAccount(),
|
|
3047
|
-
token0Mint: getNextAccount(),
|
|
3048
|
-
token1Mint: getNextAccount(),
|
|
3049
|
-
userIn: getNextAccount(),
|
|
3050
|
-
userOut: getNextAccount(),
|
|
3051
|
-
trader: getNextAccount(),
|
|
3052
|
-
token0Program: getNextAccount(),
|
|
3053
|
-
token1Program: getNextAccount(),
|
|
3054
|
-
oracle: getNextOptionalAccount()
|
|
3055
|
-
},
|
|
3056
|
-
data: getSwapExactInInstructionDataDecoder().decode(instruction.data)
|
|
3057
|
-
};
|
|
3058
|
-
}
|
|
3059
|
-
var TRANSFER_ADMIN_DISCRIMINATOR = new Uint8Array([
|
|
3060
|
-
42,
|
|
3061
|
-
242,
|
|
3062
|
-
66,
|
|
3063
|
-
106,
|
|
3064
|
-
228,
|
|
3065
|
-
10,
|
|
3066
|
-
111,
|
|
3067
|
-
156
|
|
3068
|
-
]);
|
|
3069
|
-
function getTransferAdminDiscriminatorBytes() {
|
|
3070
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
3071
|
-
TRANSFER_ADMIN_DISCRIMINATOR
|
|
3072
|
-
);
|
|
3073
|
-
}
|
|
3074
|
-
function getTransferAdminInstructionDataEncoder() {
|
|
3075
|
-
return transformEncoder(
|
|
3076
|
-
getStructEncoder([
|
|
3077
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
3078
|
-
["newAdmin", getAddressEncoder()]
|
|
3079
|
-
]),
|
|
3080
|
-
(value) => ({ ...value, discriminator: TRANSFER_ADMIN_DISCRIMINATOR })
|
|
3081
|
-
);
|
|
3082
|
-
}
|
|
3083
|
-
function getTransferAdminInstructionDataDecoder() {
|
|
3084
|
-
return getStructDecoder([
|
|
3085
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
3086
|
-
["newAdmin", getAddressDecoder()]
|
|
3087
|
-
]);
|
|
3088
|
-
}
|
|
3089
|
-
function getTransferAdminInstructionDataCodec() {
|
|
3090
|
-
return combineCodec(
|
|
3091
|
-
getTransferAdminInstructionDataEncoder(),
|
|
3092
|
-
getTransferAdminInstructionDataDecoder()
|
|
3093
|
-
);
|
|
3094
|
-
}
|
|
3095
|
-
function getTransferAdminInstruction(input, config) {
|
|
3096
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
3097
|
-
const originalAccounts = {
|
|
3098
|
-
config: { value: input.config ?? null, isWritable: true },
|
|
3099
|
-
admin: { value: input.admin ?? null, isWritable: false }
|
|
3100
|
-
};
|
|
3101
|
-
const accounts = originalAccounts;
|
|
3102
|
-
const args = { ...input };
|
|
3103
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
3104
|
-
return Object.freeze({
|
|
3105
|
-
accounts: [
|
|
3106
|
-
getAccountMeta("config", accounts.config),
|
|
3107
|
-
getAccountMeta("admin", accounts.admin)
|
|
3108
|
-
],
|
|
3109
|
-
data: getTransferAdminInstructionDataEncoder().encode(
|
|
3110
|
-
args
|
|
3111
|
-
),
|
|
3112
|
-
programAddress
|
|
3113
|
-
});
|
|
3114
|
-
}
|
|
3115
|
-
function parseTransferAdminInstruction(instruction) {
|
|
3116
|
-
if (instruction.accounts.length < 2) {
|
|
3117
|
-
throw new SolanaError(
|
|
3118
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
3119
|
-
{
|
|
3120
|
-
actualAccountMetas: instruction.accounts.length,
|
|
3121
|
-
expectedAccountMetas: 2
|
|
3122
|
-
}
|
|
3123
|
-
);
|
|
3124
|
-
}
|
|
3125
|
-
let accountIndex = 0;
|
|
3126
|
-
const getNextAccount = () => {
|
|
3127
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
3128
|
-
accountIndex += 1;
|
|
3129
|
-
return accountMeta;
|
|
3130
|
-
};
|
|
3131
|
-
return {
|
|
3132
|
-
programAddress: instruction.programAddress,
|
|
3133
|
-
accounts: { config: getNextAccount(), admin: getNextAccount() },
|
|
3134
|
-
data: getTransferAdminInstructionDataDecoder().decode(instruction.data)
|
|
3135
|
-
};
|
|
3136
|
-
}
|
|
3137
|
-
var UNPAUSE_DISCRIMINATOR = new Uint8Array([
|
|
3138
|
-
169,
|
|
3139
|
-
144,
|
|
3140
|
-
4,
|
|
3141
|
-
38,
|
|
3142
|
-
10,
|
|
3143
|
-
141,
|
|
3144
|
-
188,
|
|
3145
|
-
255
|
|
3146
|
-
]);
|
|
3147
|
-
function getUnpauseDiscriminatorBytes() {
|
|
3148
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(UNPAUSE_DISCRIMINATOR);
|
|
3149
|
-
}
|
|
3150
|
-
function getUnpauseInstructionDataEncoder() {
|
|
3151
|
-
return transformEncoder(
|
|
3152
|
-
getStructEncoder([["discriminator", fixEncoderSize(getBytesEncoder(), 8)]]),
|
|
3153
|
-
(value) => ({ ...value, discriminator: UNPAUSE_DISCRIMINATOR })
|
|
3154
|
-
);
|
|
3155
|
-
}
|
|
3156
|
-
function getUnpauseInstructionDataDecoder() {
|
|
3157
|
-
return getStructDecoder([
|
|
3158
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)]
|
|
3159
|
-
]);
|
|
3160
|
-
}
|
|
3161
|
-
function getUnpauseInstructionDataCodec() {
|
|
3162
|
-
return combineCodec(
|
|
3163
|
-
getUnpauseInstructionDataEncoder(),
|
|
3164
|
-
getUnpauseInstructionDataDecoder()
|
|
3165
|
-
);
|
|
3166
|
-
}
|
|
3167
|
-
function getUnpauseInstruction(input, config) {
|
|
3168
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
3169
|
-
const originalAccounts = {
|
|
3170
|
-
config: { value: input.config ?? null, isWritable: true },
|
|
3171
|
-
admin: { value: input.admin ?? null, isWritable: false }
|
|
3172
|
-
};
|
|
3173
|
-
const accounts = originalAccounts;
|
|
3174
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
3175
|
-
return Object.freeze({
|
|
3176
|
-
accounts: [
|
|
3177
|
-
getAccountMeta("config", accounts.config),
|
|
3178
|
-
getAccountMeta("admin", accounts.admin)
|
|
3179
|
-
],
|
|
3180
|
-
data: getUnpauseInstructionDataEncoder().encode({}),
|
|
3181
|
-
programAddress
|
|
3182
|
-
});
|
|
3183
|
-
}
|
|
3184
|
-
function parseUnpauseInstruction(instruction) {
|
|
3185
|
-
if (instruction.accounts.length < 2) {
|
|
3186
|
-
throw new SolanaError(
|
|
3187
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
3188
|
-
{
|
|
3189
|
-
actualAccountMetas: instruction.accounts.length,
|
|
3190
|
-
expectedAccountMetas: 2
|
|
3191
|
-
}
|
|
3192
|
-
);
|
|
3193
|
-
}
|
|
3194
|
-
let accountIndex = 0;
|
|
3195
|
-
const getNextAccount = () => {
|
|
3196
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
3197
|
-
accountIndex += 1;
|
|
3198
|
-
return accountMeta;
|
|
3199
|
-
};
|
|
3200
|
-
return {
|
|
3201
|
-
programAddress: instruction.programAddress,
|
|
3202
|
-
accounts: { config: getNextAccount(), admin: getNextAccount() },
|
|
3203
|
-
data: getUnpauseInstructionDataDecoder().decode(instruction.data)
|
|
3204
|
-
};
|
|
3205
|
-
}
|
|
3206
|
-
var UPDATE_CONFIG_DISCRIMINATOR = new Uint8Array([
|
|
3207
|
-
29,
|
|
3208
|
-
158,
|
|
3209
|
-
252,
|
|
3210
|
-
191,
|
|
3211
|
-
10,
|
|
3212
|
-
83,
|
|
3213
|
-
219,
|
|
3214
|
-
99
|
|
3215
|
-
]);
|
|
3216
|
-
function getUpdateConfigDiscriminatorBytes() {
|
|
3217
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
3218
|
-
UPDATE_CONFIG_DISCRIMINATOR
|
|
3219
|
-
);
|
|
3220
|
-
}
|
|
3221
|
-
function getUpdateConfigInstructionDataEncoder() {
|
|
3222
|
-
return transformEncoder(
|
|
3223
|
-
getStructEncoder([
|
|
3224
|
-
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
3225
|
-
["numeraireMint", getAddressEncoder()],
|
|
3226
|
-
["maxSwapFeeBps", getU16Encoder()],
|
|
3227
|
-
["maxFeeSplitBps", getU16Encoder()],
|
|
3228
|
-
["maxRouteHops", getU8Encoder()],
|
|
3229
|
-
["protocolFeeEnabled", getBooleanEncoder()],
|
|
3230
|
-
["protocolFeeBps", getU16Encoder()],
|
|
3231
|
-
["hookAllowlist", getArrayEncoder(getAddressEncoder())]
|
|
3232
|
-
]),
|
|
3233
|
-
(value) => ({ ...value, discriminator: UPDATE_CONFIG_DISCRIMINATOR })
|
|
3234
|
-
);
|
|
3235
|
-
}
|
|
3236
|
-
function getUpdateConfigInstructionDataDecoder() {
|
|
3237
|
-
return getStructDecoder([
|
|
3238
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
3239
|
-
["numeraireMint", getAddressDecoder()],
|
|
3240
|
-
["maxSwapFeeBps", getU16Decoder()],
|
|
3241
|
-
["maxFeeSplitBps", getU16Decoder()],
|
|
3242
|
-
["maxRouteHops", getU8Decoder()],
|
|
3243
|
-
["protocolFeeEnabled", getBooleanDecoder()],
|
|
3244
|
-
["protocolFeeBps", getU16Decoder()],
|
|
3245
|
-
["hookAllowlist", getArrayDecoder(getAddressDecoder())]
|
|
3246
|
-
]);
|
|
3247
|
-
}
|
|
3248
|
-
function getUpdateConfigInstructionDataCodec() {
|
|
3249
|
-
return combineCodec(
|
|
3250
|
-
getUpdateConfigInstructionDataEncoder(),
|
|
3251
|
-
getUpdateConfigInstructionDataDecoder()
|
|
3252
|
-
);
|
|
3253
|
-
}
|
|
3254
|
-
function getUpdateConfigInstruction(input, config) {
|
|
3255
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
3256
|
-
const originalAccounts = {
|
|
3257
|
-
config: { value: input.config ?? null, isWritable: true },
|
|
3258
|
-
admin: { value: input.admin ?? null, isWritable: false }
|
|
3259
|
-
};
|
|
3260
|
-
const accounts = originalAccounts;
|
|
3261
|
-
const args = { ...input };
|
|
3262
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
3263
|
-
return Object.freeze({
|
|
3264
|
-
accounts: [
|
|
3265
|
-
getAccountMeta("config", accounts.config),
|
|
3266
|
-
getAccountMeta("admin", accounts.admin)
|
|
3267
|
-
],
|
|
3268
|
-
data: getUpdateConfigInstructionDataEncoder().encode(
|
|
3269
|
-
args
|
|
3270
|
-
),
|
|
3271
|
-
programAddress
|
|
3272
|
-
});
|
|
3273
|
-
}
|
|
3274
|
-
function parseUpdateConfigInstruction(instruction) {
|
|
3275
|
-
if (instruction.accounts.length < 2) {
|
|
3276
|
-
throw new SolanaError(
|
|
3277
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
3278
|
-
{
|
|
3279
|
-
actualAccountMetas: instruction.accounts.length,
|
|
3280
|
-
expectedAccountMetas: 2
|
|
3281
|
-
}
|
|
3282
|
-
);
|
|
3283
|
-
}
|
|
3284
|
-
let accountIndex = 0;
|
|
3285
|
-
const getNextAccount = () => {
|
|
3286
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
3287
|
-
accountIndex += 1;
|
|
3288
|
-
return accountMeta;
|
|
3289
|
-
};
|
|
3290
|
-
return {
|
|
3291
|
-
programAddress: instruction.programAddress,
|
|
3292
|
-
accounts: { config: getNextAccount(), admin: getNextAccount() },
|
|
3293
|
-
data: getUpdateConfigInstructionDataDecoder().decode(instruction.data)
|
|
3294
|
-
};
|
|
3295
|
-
}
|
|
3296
|
-
var WITHDRAW_VAULT_EXCESS_DISCRIMINATOR = new Uint8Array([
|
|
3297
|
-
235,
|
|
3298
|
-
197,
|
|
3299
|
-
247,
|
|
3300
|
-
177,
|
|
3301
|
-
137,
|
|
3302
|
-
72,
|
|
3303
|
-
135,
|
|
3304
|
-
113
|
|
3305
|
-
]);
|
|
3306
|
-
function getWithdrawVaultExcessDiscriminatorBytes() {
|
|
3307
|
-
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
3308
|
-
WITHDRAW_VAULT_EXCESS_DISCRIMINATOR
|
|
3309
|
-
);
|
|
3310
|
-
}
|
|
3311
|
-
function getWithdrawVaultExcessInstructionDataEncoder() {
|
|
3312
|
-
return transformEncoder(
|
|
3313
|
-
getStructEncoder([["discriminator", fixEncoderSize(getBytesEncoder(), 8)]]),
|
|
3314
|
-
(value) => ({
|
|
3315
|
-
...value,
|
|
3316
|
-
discriminator: WITHDRAW_VAULT_EXCESS_DISCRIMINATOR
|
|
3317
|
-
})
|
|
3318
|
-
);
|
|
3319
|
-
}
|
|
3320
|
-
function getWithdrawVaultExcessInstructionDataDecoder() {
|
|
3321
|
-
return getStructDecoder([
|
|
3322
|
-
["discriminator", fixDecoderSize(getBytesDecoder(), 8)]
|
|
3323
|
-
]);
|
|
3324
|
-
}
|
|
3325
|
-
function getWithdrawVaultExcessInstructionDataCodec() {
|
|
3326
|
-
return combineCodec(
|
|
3327
|
-
getWithdrawVaultExcessInstructionDataEncoder(),
|
|
3328
|
-
getWithdrawVaultExcessInstructionDataDecoder()
|
|
3329
|
-
);
|
|
3330
|
-
}
|
|
3331
|
-
async function getWithdrawVaultExcessInstructionAsync(input, config) {
|
|
3332
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
3333
|
-
const originalAccounts = {
|
|
3334
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
3335
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
3336
|
-
admin: { value: input.admin ?? null, isWritable: false },
|
|
3337
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
3338
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
3339
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
3340
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
3341
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
3342
|
-
adminAta0: { value: input.adminAta0 ?? null, isWritable: true },
|
|
3343
|
-
adminAta1: { value: input.adminAta1 ?? null, isWritable: true },
|
|
3344
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
3345
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false }
|
|
3346
|
-
};
|
|
3347
|
-
const accounts = originalAccounts;
|
|
3348
|
-
if (!accounts.authority.value) {
|
|
3349
|
-
accounts.authority.value = await getProgramDerivedAddress({
|
|
3350
|
-
programAddress,
|
|
3351
|
-
seeds: [
|
|
3352
|
-
getBytesEncoder().encode(
|
|
3353
|
-
new Uint8Array([97, 117, 116, 104, 111, 114, 105, 116, 121])
|
|
3354
|
-
),
|
|
3355
|
-
getAddressEncoder().encode(
|
|
3356
|
-
getAddressFromResolvedInstructionAccount("pool", accounts.pool.value)
|
|
3357
|
-
)
|
|
3358
|
-
]
|
|
3359
|
-
});
|
|
3360
|
-
}
|
|
3361
|
-
if (!accounts.adminAta0.value) {
|
|
3362
|
-
accounts.adminAta0.value = await getProgramDerivedAddress({
|
|
3363
|
-
programAddress: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
|
|
3364
|
-
seeds: [
|
|
3365
|
-
getAddressEncoder().encode(
|
|
3366
|
-
getAddressFromResolvedInstructionAccount(
|
|
3367
|
-
"admin",
|
|
3368
|
-
accounts.admin.value
|
|
3369
|
-
)
|
|
3370
|
-
),
|
|
3371
|
-
getAddressEncoder().encode(
|
|
3372
|
-
getAddressFromResolvedInstructionAccount(
|
|
3373
|
-
"token0Program",
|
|
3374
|
-
accounts.token0Program.value
|
|
3375
|
-
)
|
|
3376
|
-
),
|
|
3377
|
-
getAddressEncoder().encode(
|
|
3378
|
-
getAddressFromResolvedInstructionAccount(
|
|
3379
|
-
"token0Mint",
|
|
3380
|
-
accounts.token0Mint.value
|
|
3381
|
-
)
|
|
3382
|
-
)
|
|
3383
|
-
]
|
|
3384
|
-
});
|
|
3385
|
-
}
|
|
3386
|
-
if (!accounts.adminAta1.value) {
|
|
3387
|
-
accounts.adminAta1.value = await getProgramDerivedAddress({
|
|
3388
|
-
programAddress: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
|
|
3389
|
-
seeds: [
|
|
3390
|
-
getAddressEncoder().encode(
|
|
3391
|
-
getAddressFromResolvedInstructionAccount(
|
|
3392
|
-
"admin",
|
|
3393
|
-
accounts.admin.value
|
|
3394
|
-
)
|
|
3395
|
-
),
|
|
3396
|
-
getAddressEncoder().encode(
|
|
3397
|
-
getAddressFromResolvedInstructionAccount(
|
|
3398
|
-
"token1Program",
|
|
3399
|
-
accounts.token1Program.value
|
|
3400
|
-
)
|
|
3401
|
-
),
|
|
3402
|
-
getAddressEncoder().encode(
|
|
3403
|
-
getAddressFromResolvedInstructionAccount(
|
|
3404
|
-
"token1Mint",
|
|
3405
|
-
accounts.token1Mint.value
|
|
3406
|
-
)
|
|
3407
|
-
)
|
|
3408
|
-
]
|
|
3409
|
-
});
|
|
3410
|
-
}
|
|
3411
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
3412
|
-
return Object.freeze({
|
|
3413
|
-
accounts: [
|
|
3414
|
-
getAccountMeta("config", accounts.config),
|
|
3415
|
-
getAccountMeta("pool", accounts.pool),
|
|
3416
|
-
getAccountMeta("admin", accounts.admin),
|
|
3417
|
-
getAccountMeta("authority", accounts.authority),
|
|
3418
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
3419
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
3420
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
3421
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
3422
|
-
getAccountMeta("adminAta0", accounts.adminAta0),
|
|
3423
|
-
getAccountMeta("adminAta1", accounts.adminAta1),
|
|
3424
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
3425
|
-
getAccountMeta("token1Program", accounts.token1Program)
|
|
3426
|
-
],
|
|
3427
|
-
data: getWithdrawVaultExcessInstructionDataEncoder().encode({}),
|
|
3428
|
-
programAddress
|
|
3429
|
-
});
|
|
3430
|
-
}
|
|
3431
|
-
function getWithdrawVaultExcessInstruction(input, config) {
|
|
3432
|
-
const programAddress = config?.programAddress ?? CPMM_PROGRAM_ADDRESS;
|
|
3433
|
-
const originalAccounts = {
|
|
3434
|
-
config: { value: input.config ?? null, isWritable: false },
|
|
3435
|
-
pool: { value: input.pool ?? null, isWritable: false },
|
|
3436
|
-
admin: { value: input.admin ?? null, isWritable: false },
|
|
3437
|
-
authority: { value: input.authority ?? null, isWritable: false },
|
|
3438
|
-
vault0: { value: input.vault0 ?? null, isWritable: true },
|
|
3439
|
-
vault1: { value: input.vault1 ?? null, isWritable: true },
|
|
3440
|
-
token0Mint: { value: input.token0Mint ?? null, isWritable: false },
|
|
3441
|
-
token1Mint: { value: input.token1Mint ?? null, isWritable: false },
|
|
3442
|
-
adminAta0: { value: input.adminAta0 ?? null, isWritable: true },
|
|
3443
|
-
adminAta1: { value: input.adminAta1 ?? null, isWritable: true },
|
|
3444
|
-
token0Program: { value: input.token0Program ?? null, isWritable: false },
|
|
3445
|
-
token1Program: { value: input.token1Program ?? null, isWritable: false }
|
|
3446
|
-
};
|
|
3447
|
-
const accounts = originalAccounts;
|
|
3448
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
3449
|
-
return Object.freeze({
|
|
3450
|
-
accounts: [
|
|
3451
|
-
getAccountMeta("config", accounts.config),
|
|
3452
|
-
getAccountMeta("pool", accounts.pool),
|
|
3453
|
-
getAccountMeta("admin", accounts.admin),
|
|
3454
|
-
getAccountMeta("authority", accounts.authority),
|
|
3455
|
-
getAccountMeta("vault0", accounts.vault0),
|
|
3456
|
-
getAccountMeta("vault1", accounts.vault1),
|
|
3457
|
-
getAccountMeta("token0Mint", accounts.token0Mint),
|
|
3458
|
-
getAccountMeta("token1Mint", accounts.token1Mint),
|
|
3459
|
-
getAccountMeta("adminAta0", accounts.adminAta0),
|
|
3460
|
-
getAccountMeta("adminAta1", accounts.adminAta1),
|
|
3461
|
-
getAccountMeta("token0Program", accounts.token0Program),
|
|
3462
|
-
getAccountMeta("token1Program", accounts.token1Program)
|
|
3463
|
-
],
|
|
3464
|
-
data: getWithdrawVaultExcessInstructionDataEncoder().encode({}),
|
|
3465
|
-
programAddress
|
|
3466
|
-
});
|
|
3467
|
-
}
|
|
3468
|
-
function parseWithdrawVaultExcessInstruction(instruction) {
|
|
3469
|
-
if (instruction.accounts.length < 12) {
|
|
3470
|
-
throw new SolanaError(
|
|
3471
|
-
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
3472
|
-
{
|
|
3473
|
-
actualAccountMetas: instruction.accounts.length,
|
|
3474
|
-
expectedAccountMetas: 12
|
|
3475
|
-
}
|
|
3476
|
-
);
|
|
3477
|
-
}
|
|
3478
|
-
let accountIndex = 0;
|
|
3479
|
-
const getNextAccount = () => {
|
|
3480
|
-
const accountMeta = instruction.accounts[accountIndex];
|
|
3481
|
-
accountIndex += 1;
|
|
3482
|
-
return accountMeta;
|
|
3483
|
-
};
|
|
3484
|
-
return {
|
|
3485
|
-
programAddress: instruction.programAddress,
|
|
3486
|
-
accounts: {
|
|
3487
|
-
config: getNextAccount(),
|
|
3488
|
-
pool: getNextAccount(),
|
|
3489
|
-
admin: getNextAccount(),
|
|
3490
|
-
authority: getNextAccount(),
|
|
3491
|
-
vault0: getNextAccount(),
|
|
3492
|
-
vault1: getNextAccount(),
|
|
3493
|
-
token0Mint: getNextAccount(),
|
|
3494
|
-
token1Mint: getNextAccount(),
|
|
3495
|
-
adminAta0: getNextAccount(),
|
|
3496
|
-
adminAta1: getNextAccount(),
|
|
3497
|
-
token0Program: getNextAccount(),
|
|
3498
|
-
token1Program: getNextAccount()
|
|
3499
|
-
},
|
|
3500
|
-
data: getWithdrawVaultExcessInstructionDataDecoder().decode(
|
|
3501
|
-
instruction.data
|
|
3502
|
-
)
|
|
3503
|
-
};
|
|
3504
|
-
}
|
|
3505
631
|
function isTransactionSigner(value) {
|
|
3506
632
|
return typeof value === "object" && value !== null && "address" in value && "signTransactions" in value;
|
|
3507
633
|
}
|
|
@@ -4858,6 +1984,14 @@ function getFeeBeneficiaryInputDecoder() {
|
|
|
4858
1984
|
["shareBps", getU16Decoder()]
|
|
4859
1985
|
]);
|
|
4860
1986
|
}
|
|
1987
|
+
var FeeClaimRole = /* @__PURE__ */ ((FeeClaimRole2) => {
|
|
1988
|
+
FeeClaimRole2[FeeClaimRole2["Protocol"] = 0] = "Protocol";
|
|
1989
|
+
FeeClaimRole2[FeeClaimRole2["Beneficiary"] = 1] = "Beneficiary";
|
|
1990
|
+
return FeeClaimRole2;
|
|
1991
|
+
})(FeeClaimRole || {});
|
|
1992
|
+
function getFeeClaimRoleEncoder() {
|
|
1993
|
+
return getEnumEncoder(FeeClaimRole);
|
|
1994
|
+
}
|
|
4861
1995
|
function getInitializeConfigArgsEncoder2() {
|
|
4862
1996
|
return getStructEncoder([
|
|
4863
1997
|
["migratorAllowlist", getArrayEncoder(getAddressEncoder())],
|
|
@@ -5095,7 +2229,6 @@ function getLaunchFeeStateEncoder() {
|
|
|
5095
2229
|
getStructEncoder([
|
|
5096
2230
|
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
5097
2231
|
["launch", getAddressEncoder()],
|
|
5098
|
-
["protocolBeneficiary", getAddressEncoder()],
|
|
5099
2232
|
["beneficiaryLen", getU8Encoder()],
|
|
5100
2233
|
["bump", getU8Encoder()],
|
|
5101
2234
|
["protocolFeeBps", getU16Encoder()],
|
|
@@ -5127,7 +2260,6 @@ function getLaunchFeeStateDecoder() {
|
|
|
5127
2260
|
return getStructDecoder([
|
|
5128
2261
|
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
5129
2262
|
["launch", getAddressDecoder()],
|
|
5130
|
-
["protocolBeneficiary", getAddressDecoder()],
|
|
5131
2263
|
["beneficiaryLen", getU8Decoder()],
|
|
5132
2264
|
["bump", getU8Decoder()],
|
|
5133
2265
|
["protocolFeeBps", getU16Decoder()],
|
|
@@ -5165,20 +2297,23 @@ var CLAIM_FEES_DISCRIMINATOR = new Uint8Array([
|
|
|
5165
2297
|
]);
|
|
5166
2298
|
function getClaimFeesInstructionDataEncoder() {
|
|
5167
2299
|
return transformEncoder(
|
|
5168
|
-
getStructEncoder([
|
|
2300
|
+
getStructEncoder([
|
|
2301
|
+
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
2302
|
+
["role", getFeeClaimRoleEncoder()]
|
|
2303
|
+
]),
|
|
5169
2304
|
(value) => ({ ...value, discriminator: CLAIM_FEES_DISCRIMINATOR })
|
|
5170
2305
|
);
|
|
5171
2306
|
}
|
|
5172
2307
|
async function getClaimFeesInstructionAsync(input, config) {
|
|
5173
2308
|
const programAddress = config?.programAddress ?? INITIALIZER_PROGRAM_ADDRESS;
|
|
5174
2309
|
const originalAccounts = {
|
|
2310
|
+
config: { value: input.config ?? null, isWritable: false },
|
|
5175
2311
|
launch: { value: input.launch ?? null, isWritable: false },
|
|
5176
2312
|
launchFeeState: { value: input.launchFeeState ?? null, isWritable: true },
|
|
5177
2313
|
launchAuthority: {
|
|
5178
2314
|
value: input.launchAuthority ?? null,
|
|
5179
2315
|
isWritable: false
|
|
5180
2316
|
},
|
|
5181
|
-
recipient: { value: input.recipient ?? null, isWritable: false },
|
|
5182
2317
|
baseMint: { value: input.baseMint ?? null, isWritable: false },
|
|
5183
2318
|
quoteMint: { value: input.quoteMint ?? null, isWritable: false },
|
|
5184
2319
|
baseVault: { value: input.baseVault ?? null, isWritable: true },
|
|
@@ -5201,6 +2336,15 @@ async function getClaimFeesInstructionAsync(input, config) {
|
|
|
5201
2336
|
}
|
|
5202
2337
|
};
|
|
5203
2338
|
const accounts = originalAccounts;
|
|
2339
|
+
const args = { ...input };
|
|
2340
|
+
if (!accounts.config.value) {
|
|
2341
|
+
accounts.config.value = await getProgramDerivedAddress({
|
|
2342
|
+
programAddress,
|
|
2343
|
+
seeds: [
|
|
2344
|
+
getBytesEncoder().encode(new Uint8Array([99, 111, 110, 102, 105, 103]))
|
|
2345
|
+
]
|
|
2346
|
+
});
|
|
2347
|
+
}
|
|
5204
2348
|
if (!accounts.launchFeeState.value) {
|
|
5205
2349
|
accounts.launchFeeState.value = await getProgramDerivedAddress({
|
|
5206
2350
|
programAddress,
|
|
@@ -5270,10 +2414,10 @@ async function getClaimFeesInstructionAsync(input, config) {
|
|
|
5270
2414
|
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
5271
2415
|
return Object.freeze({
|
|
5272
2416
|
accounts: [
|
|
2417
|
+
getAccountMeta("config", accounts.config),
|
|
5273
2418
|
getAccountMeta("launch", accounts.launch),
|
|
5274
2419
|
getAccountMeta("launchFeeState", accounts.launchFeeState),
|
|
5275
2420
|
getAccountMeta("launchAuthority", accounts.launchAuthority),
|
|
5276
|
-
getAccountMeta("recipient", accounts.recipient),
|
|
5277
2421
|
getAccountMeta("baseMint", accounts.baseMint),
|
|
5278
2422
|
getAccountMeta("quoteMint", accounts.quoteMint),
|
|
5279
2423
|
getAccountMeta("baseVault", accounts.baseVault),
|
|
@@ -5283,7 +2427,9 @@ async function getClaimFeesInstructionAsync(input, config) {
|
|
|
5283
2427
|
getAccountMeta("baseTokenProgram", accounts.baseTokenProgram),
|
|
5284
2428
|
getAccountMeta("quoteTokenProgram", accounts.quoteTokenProgram)
|
|
5285
2429
|
],
|
|
5286
|
-
data: getClaimFeesInstructionDataEncoder().encode(
|
|
2430
|
+
data: getClaimFeesInstructionDataEncoder().encode(
|
|
2431
|
+
args
|
|
2432
|
+
),
|
|
5287
2433
|
programAddress
|
|
5288
2434
|
});
|
|
5289
2435
|
}
|
|
@@ -5587,6 +2733,7 @@ function getReplaceFeeBeneficiaryInstructionDataEncoder() {
|
|
|
5587
2733
|
async function getReplaceFeeBeneficiaryInstructionAsync(input, config) {
|
|
5588
2734
|
const programAddress = config?.programAddress ?? INITIALIZER_PROGRAM_ADDRESS;
|
|
5589
2735
|
const originalAccounts = {
|
|
2736
|
+
config: { value: input.config ?? null, isWritable: false },
|
|
5590
2737
|
launch: { value: input.launch ?? null, isWritable: false },
|
|
5591
2738
|
launchFeeState: { value: input.launchFeeState ?? null, isWritable: true },
|
|
5592
2739
|
currentBeneficiary: {
|
|
@@ -5596,6 +2743,14 @@ async function getReplaceFeeBeneficiaryInstructionAsync(input, config) {
|
|
|
5596
2743
|
};
|
|
5597
2744
|
const accounts = originalAccounts;
|
|
5598
2745
|
const args = { ...input };
|
|
2746
|
+
if (!accounts.config.value) {
|
|
2747
|
+
accounts.config.value = await getProgramDerivedAddress({
|
|
2748
|
+
programAddress,
|
|
2749
|
+
seeds: [
|
|
2750
|
+
getBytesEncoder().encode(new Uint8Array([99, 111, 110, 102, 105, 103]))
|
|
2751
|
+
]
|
|
2752
|
+
});
|
|
2753
|
+
}
|
|
5599
2754
|
if (!accounts.launchFeeState.value) {
|
|
5600
2755
|
accounts.launchFeeState.value = await getProgramDerivedAddress({
|
|
5601
2756
|
programAddress,
|
|
@@ -5632,6 +2787,7 @@ async function getReplaceFeeBeneficiaryInstructionAsync(input, config) {
|
|
|
5632
2787
|
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
5633
2788
|
return Object.freeze({
|
|
5634
2789
|
accounts: [
|
|
2790
|
+
getAccountMeta("config", accounts.config),
|
|
5635
2791
|
getAccountMeta("launch", accounts.launch),
|
|
5636
2792
|
getAccountMeta("launchFeeState", accounts.launchFeeState),
|
|
5637
2793
|
getAccountMeta("currentBeneficiary", accounts.currentBeneficiary)
|
|
@@ -6600,7 +3756,7 @@ async function fetchAllMaybeMarket(rpc, addresses, config) {
|
|
|
6600
3756
|
function getMarketSize() {
|
|
6601
3757
|
return 208;
|
|
6602
3758
|
}
|
|
6603
|
-
var
|
|
3759
|
+
var ORACLE_STATE_DISCRIMINATOR = new Uint8Array([
|
|
6604
3760
|
97,
|
|
6605
3761
|
156,
|
|
6606
3762
|
157,
|
|
@@ -6612,7 +3768,7 @@ var ORACLE_STATE_DISCRIMINATOR2 = new Uint8Array([
|
|
|
6612
3768
|
]);
|
|
6613
3769
|
function getOracleStateDiscriminatorBytes() {
|
|
6614
3770
|
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
6615
|
-
|
|
3771
|
+
ORACLE_STATE_DISCRIMINATOR
|
|
6616
3772
|
);
|
|
6617
3773
|
}
|
|
6618
3774
|
function getOracleStateEncoder() {
|
|
@@ -6627,7 +3783,7 @@ function getOracleStateEncoder() {
|
|
|
6627
3783
|
["bump", getU8Encoder()],
|
|
6628
3784
|
["reserved", fixEncoderSize(getBytesEncoder(), 31)]
|
|
6629
3785
|
]),
|
|
6630
|
-
(value) => ({ ...value, discriminator:
|
|
3786
|
+
(value) => ({ ...value, discriminator: ORACLE_STATE_DISCRIMINATOR })
|
|
6631
3787
|
);
|
|
6632
3788
|
}
|
|
6633
3789
|
function getOracleStateDecoder() {
|
|
@@ -6642,7 +3798,7 @@ function getOracleStateDecoder() {
|
|
|
6642
3798
|
["reserved", fixDecoderSize(getBytesDecoder(), 31)]
|
|
6643
3799
|
]);
|
|
6644
3800
|
}
|
|
6645
|
-
function
|
|
3801
|
+
function getOracleStateCodec() {
|
|
6646
3802
|
return combineCodec(getOracleStateEncoder(), getOracleStateDecoder());
|
|
6647
3803
|
}
|
|
6648
3804
|
function decodeOracleState2(encodedAccount) {
|
|
@@ -7863,7 +5019,7 @@ function predictionMigratorProgram() {
|
|
|
7863
5019
|
initConfig: addSelfFetchFunctions(client, getInitConfigCodec2()),
|
|
7864
5020
|
launch: addSelfFetchFunctions(client, getLaunchCodec2()),
|
|
7865
5021
|
market: addSelfFetchFunctions(client, getMarketCodec()),
|
|
7866
|
-
oracleState: addSelfFetchFunctions(client,
|
|
5022
|
+
oracleState: addSelfFetchFunctions(client, getOracleStateCodec())
|
|
7867
5023
|
},
|
|
7868
5024
|
instructions: {
|
|
7869
5025
|
claim: (input) => addSelfPlanAndSendFunctions(
|
|
@@ -8674,6 +5830,7 @@ async function buildCpmmMigrationRemainingAccounts({
|
|
|
8674
5830
|
poolInit.authority[0],
|
|
8675
5831
|
poolInit.vault0[0],
|
|
8676
5832
|
poolInit.vault1[0],
|
|
5833
|
+
poolInit.protocolFeeOwner[0],
|
|
8677
5834
|
poolInit.protocolFeePosition[0],
|
|
8678
5835
|
launchLpPosition,
|
|
8679
5836
|
cpmmProgram,
|
|
@@ -8692,6 +5849,7 @@ async function buildCpmmMigrationRemainingAccounts({
|
|
|
8692
5849
|
{ address: poolInit.authority[0], role: AccountRole.READONLY },
|
|
8693
5850
|
{ address: poolInit.vault0[0], role: AccountRole.WRITABLE },
|
|
8694
5851
|
{ address: poolInit.vault1[0], role: AccountRole.WRITABLE },
|
|
5852
|
+
{ address: poolInit.protocolFeeOwner[0], role: AccountRole.READONLY },
|
|
8695
5853
|
{ address: poolInit.protocolFeePosition[0], role: AccountRole.WRITABLE },
|
|
8696
5854
|
{ address: launchLpPosition, role: AccountRole.WRITABLE },
|
|
8697
5855
|
{ address: cpmmProgram, role: AccountRole.READONLY },
|
|
@@ -8709,6 +5867,7 @@ async function buildCpmmMigrationRemainingAccounts({
|
|
|
8709
5867
|
poolAuthority: poolInit.authority[0],
|
|
8710
5868
|
poolVault0: poolInit.vault0[0],
|
|
8711
5869
|
poolVault1: poolInit.vault1[0],
|
|
5870
|
+
protocolFeeOwner: poolInit.protocolFeeOwner[0],
|
|
8712
5871
|
protocolFeePosition: poolInit.protocolFeePosition[0],
|
|
8713
5872
|
launchLpPosition,
|
|
8714
5873
|
migrationAuthority
|
|
@@ -8745,11 +5904,8 @@ __export(predictionMigrator_exports, {
|
|
|
8745
5904
|
LAUNCH_DISCRIMINATOR: () => LAUNCH_DISCRIMINATOR2,
|
|
8746
5905
|
MARKET_DISCRIMINATOR: () => MARKET_DISCRIMINATOR,
|
|
8747
5906
|
MIGRATE_ENTRY_DISCRIMINATOR: () => MIGRATE_ENTRY_DISCRIMINATOR,
|
|
8748
|
-
ORACLE_STATE_DISCRIMINATOR: () =>
|
|
5907
|
+
ORACLE_STATE_DISCRIMINATOR: () => ORACLE_STATE_DISCRIMINATOR,
|
|
8749
5908
|
PREDICTION_MIGRATOR_ERROR__ENTRY_ALREADY_MIGRATED: () => PREDICTION_MIGRATOR_ERROR__ENTRY_ALREADY_MIGRATED,
|
|
8750
|
-
PREDICTION_MIGRATOR_ERROR__ENTRY_ALREADY_REGISTERED: () => PREDICTION_MIGRATOR_ERROR__ENTRY_ALREADY_REGISTERED,
|
|
8751
|
-
PREDICTION_MIGRATOR_ERROR__ENTRY_NOT_MIGRATED: () => PREDICTION_MIGRATOR_ERROR__ENTRY_NOT_MIGRATED,
|
|
8752
|
-
PREDICTION_MIGRATOR_ERROR__ENTRY_NOT_REGISTERED: () => PREDICTION_MIGRATOR_ERROR__ENTRY_NOT_REGISTERED,
|
|
8753
5909
|
PREDICTION_MIGRATOR_ERROR__INSUFFICIENT_BALANCE: () => PREDICTION_MIGRATOR_ERROR__INSUFFICIENT_BALANCE,
|
|
8754
5910
|
PREDICTION_MIGRATOR_ERROR__INVALID_ENTRY_ID: () => PREDICTION_MIGRATOR_ERROR__INVALID_ENTRY_ID,
|
|
8755
5911
|
PREDICTION_MIGRATOR_ERROR__INVALID_INPUT: () => PREDICTION_MIGRATOR_ERROR__INVALID_INPUT,
|
|
@@ -8760,7 +5916,6 @@ __export(predictionMigrator_exports, {
|
|
|
8760
5916
|
PREDICTION_MIGRATOR_ERROR__INVALID_WINNER_MINT: () => PREDICTION_MIGRATOR_ERROR__INVALID_WINNER_MINT,
|
|
8761
5917
|
PREDICTION_MIGRATOR_ERROR__MARKET_NOT_RESOLVED: () => PREDICTION_MIGRATOR_ERROR__MARKET_NOT_RESOLVED,
|
|
8762
5918
|
PREDICTION_MIGRATOR_ERROR__MATH_OVERFLOW: () => PREDICTION_MIGRATOR_ERROR__MATH_OVERFLOW,
|
|
8763
|
-
PREDICTION_MIGRATOR_ERROR__NO_PENDING_REWARDS: () => PREDICTION_MIGRATOR_ERROR__NO_PENDING_REWARDS,
|
|
8764
5919
|
PREDICTION_MIGRATOR_ERROR__ORACLE_NOT_FINALIZED: () => PREDICTION_MIGRATOR_ERROR__ORACLE_NOT_FINALIZED,
|
|
8765
5920
|
PREDICTION_MIGRATOR_ERROR__QUOTE_MINT_MISMATCH: () => PREDICTION_MIGRATOR_ERROR__QUOTE_MINT_MISMATCH,
|
|
8766
5921
|
PREDICTION_MIGRATOR_ERROR__UNAUTHORIZED: () => PREDICTION_MIGRATOR_ERROR__UNAUTHORIZED,
|
|
@@ -8866,7 +6021,7 @@ __export(predictionMigrator_exports, {
|
|
|
8866
6021
|
getMigrateEntryInstructionDataCodec: () => getMigrateEntryInstructionDataCodec,
|
|
8867
6022
|
getMigrateEntryInstructionDataDecoder: () => getMigrateEntryInstructionDataDecoder,
|
|
8868
6023
|
getMigrateEntryInstructionDataEncoder: () => getMigrateEntryInstructionDataEncoder,
|
|
8869
|
-
getOracleStateCodec: () =>
|
|
6024
|
+
getOracleStateCodec: () => getOracleStateCodec,
|
|
8870
6025
|
getOracleStateDecoder: () => getOracleStateDecoder,
|
|
8871
6026
|
getOracleStateDiscriminatorBytes: () => getOracleStateDiscriminatorBytes,
|
|
8872
6027
|
getOracleStateEncoder: () => getOracleStateEncoder,
|
|
@@ -8912,10 +6067,7 @@ __export(predictionMigrator_exports, {
|
|
|
8912
6067
|
});
|
|
8913
6068
|
var PREDICTION_MIGRATOR_ERROR__UNAUTHORIZED = 6e3;
|
|
8914
6069
|
var PREDICTION_MIGRATOR_ERROR__QUOTE_MINT_MISMATCH = 6001;
|
|
8915
|
-
var PREDICTION_MIGRATOR_ERROR__ENTRY_ALREADY_REGISTERED = 6002;
|
|
8916
|
-
var PREDICTION_MIGRATOR_ERROR__ENTRY_NOT_REGISTERED = 6003;
|
|
8917
6070
|
var PREDICTION_MIGRATOR_ERROR__ENTRY_ALREADY_MIGRATED = 6004;
|
|
8918
|
-
var PREDICTION_MIGRATOR_ERROR__ENTRY_NOT_MIGRATED = 6005;
|
|
8919
6071
|
var PREDICTION_MIGRATOR_ERROR__ORACLE_NOT_FINALIZED = 6006;
|
|
8920
6072
|
var PREDICTION_MIGRATOR_ERROR__MARKET_NOT_RESOLVED = 6007;
|
|
8921
6073
|
var PREDICTION_MIGRATOR_ERROR__INVALID_WINNER_MINT = 6008;
|
|
@@ -8926,7 +6078,6 @@ var PREDICTION_MIGRATOR_ERROR__INVALID_MARKET = 6012;
|
|
|
8926
6078
|
var PREDICTION_MIGRATOR_ERROR__INVALID_VAULT = 6013;
|
|
8927
6079
|
var PREDICTION_MIGRATOR_ERROR__INVALID_MINT = 6014;
|
|
8928
6080
|
var PREDICTION_MIGRATOR_ERROR__WINNING_ENTRY_NOT_MIGRATED = 6015;
|
|
8929
|
-
var PREDICTION_MIGRATOR_ERROR__NO_PENDING_REWARDS = 6016;
|
|
8930
6081
|
var PREDICTION_MIGRATOR_ERROR__INVALID_ORACLE = 6017;
|
|
8931
6082
|
var PREDICTION_MIGRATOR_ERROR__ZERO_CLAIMABLE_SUPPLY = 6018;
|
|
8932
6083
|
var PREDICTION_MIGRATOR_ERROR__INVALID_INPUT = 6019;
|
|
@@ -8934,9 +6085,6 @@ var predictionMigratorErrorMessages;
|
|
|
8934
6085
|
if (process.env.NODE_ENV !== "production") {
|
|
8935
6086
|
predictionMigratorErrorMessages = {
|
|
8936
6087
|
[PREDICTION_MIGRATOR_ERROR__ENTRY_ALREADY_MIGRATED]: `Entry already migrated`,
|
|
8937
|
-
[PREDICTION_MIGRATOR_ERROR__ENTRY_ALREADY_REGISTERED]: `Entry already registered`,
|
|
8938
|
-
[PREDICTION_MIGRATOR_ERROR__ENTRY_NOT_MIGRATED]: `Entry not migrated`,
|
|
8939
|
-
[PREDICTION_MIGRATOR_ERROR__ENTRY_NOT_REGISTERED]: `Entry not registered`,
|
|
8940
6088
|
[PREDICTION_MIGRATOR_ERROR__INSUFFICIENT_BALANCE]: `Insufficient balance`,
|
|
8941
6089
|
[PREDICTION_MIGRATOR_ERROR__INVALID_ENTRY_ID]: `Invalid entry ID`,
|
|
8942
6090
|
[PREDICTION_MIGRATOR_ERROR__INVALID_INPUT]: `Invalid input`,
|
|
@@ -8947,7 +6095,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
8947
6095
|
[PREDICTION_MIGRATOR_ERROR__INVALID_WINNER_MINT]: `Invalid winner mint`,
|
|
8948
6096
|
[PREDICTION_MIGRATOR_ERROR__MARKET_NOT_RESOLVED]: `Market not resolved`,
|
|
8949
6097
|
[PREDICTION_MIGRATOR_ERROR__MATH_OVERFLOW]: `Math overflow`,
|
|
8950
|
-
[PREDICTION_MIGRATOR_ERROR__NO_PENDING_REWARDS]: `No pending rewards`,
|
|
8951
6098
|
[PREDICTION_MIGRATOR_ERROR__ORACLE_NOT_FINALIZED]: `Oracle not finalized`,
|
|
8952
6099
|
[PREDICTION_MIGRATOR_ERROR__QUOTE_MINT_MISMATCH]: `Quote mint mismatch`,
|
|
8953
6100
|
[PREDICTION_MIGRATOR_ERROR__UNAUTHORIZED]: `Unauthorized`,
|
|
@@ -8975,10 +6122,9 @@ var trustedOracle_exports = {};
|
|
|
8975
6122
|
__export(trustedOracle_exports, {
|
|
8976
6123
|
FINALIZE_DISCRIMINATOR: () => FINALIZE_DISCRIMINATOR,
|
|
8977
6124
|
INITIALIZE_ORACLE_DISCRIMINATOR: () => INITIALIZE_ORACLE_DISCRIMINATOR2,
|
|
8978
|
-
ORACLE_STATE_DISCRIMINATOR: () =>
|
|
6125
|
+
ORACLE_STATE_DISCRIMINATOR: () => ORACLE_STATE_DISCRIMINATOR2,
|
|
8979
6126
|
TRUSTED_ORACLE_ERROR__ALREADY_FINALIZED: () => TRUSTED_ORACLE_ERROR__ALREADY_FINALIZED,
|
|
8980
6127
|
TRUSTED_ORACLE_ERROR__INVALID_WINNING_MINT: () => TRUSTED_ORACLE_ERROR__INVALID_WINNING_MINT,
|
|
8981
|
-
TRUSTED_ORACLE_ERROR__NOT_FINALIZED: () => TRUSTED_ORACLE_ERROR__NOT_FINALIZED,
|
|
8982
6128
|
TRUSTED_ORACLE_ERROR__UNAUTHORIZED: () => TRUSTED_ORACLE_ERROR__UNAUTHORIZED,
|
|
8983
6129
|
TRUSTED_ORACLE_PROGRAM_ADDRESS: () => TRUSTED_ORACLE_PROGRAM_ADDRESS,
|
|
8984
6130
|
TrustedOracleAccount: () => TrustedOracleAccount,
|
|
@@ -9002,7 +6148,7 @@ __export(trustedOracle_exports, {
|
|
|
9002
6148
|
getInitializeOracleInstructionDataDecoder: () => getInitializeOracleInstructionDataDecoder2,
|
|
9003
6149
|
getInitializeOracleInstructionDataEncoder: () => getInitializeOracleInstructionDataEncoder2,
|
|
9004
6150
|
getOracleStateAddress: () => getOracleStateAddress,
|
|
9005
|
-
getOracleStateCodec: () =>
|
|
6151
|
+
getOracleStateCodec: () => getOracleStateCodec2,
|
|
9006
6152
|
getOracleStateDecoder: () => getOracleStateDecoder2,
|
|
9007
6153
|
getOracleStateDiscriminatorBytes: () => getOracleStateDiscriminatorBytes2,
|
|
9008
6154
|
getOracleStateEncoder: () => getOracleStateEncoder2,
|
|
@@ -9016,7 +6162,7 @@ __export(trustedOracle_exports, {
|
|
|
9016
6162
|
parseTrustedOracleInstruction: () => parseTrustedOracleInstruction,
|
|
9017
6163
|
trustedOracleProgram: () => trustedOracleProgram
|
|
9018
6164
|
});
|
|
9019
|
-
var
|
|
6165
|
+
var ORACLE_STATE_DISCRIMINATOR2 = new Uint8Array([
|
|
9020
6166
|
97,
|
|
9021
6167
|
156,
|
|
9022
6168
|
157,
|
|
@@ -9028,7 +6174,7 @@ var ORACLE_STATE_DISCRIMINATOR3 = new Uint8Array([
|
|
|
9028
6174
|
]);
|
|
9029
6175
|
function getOracleStateDiscriminatorBytes2() {
|
|
9030
6176
|
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
9031
|
-
|
|
6177
|
+
ORACLE_STATE_DISCRIMINATOR2
|
|
9032
6178
|
);
|
|
9033
6179
|
}
|
|
9034
6180
|
function getOracleStateEncoder2() {
|
|
@@ -9043,7 +6189,7 @@ function getOracleStateEncoder2() {
|
|
|
9043
6189
|
["bump", getU8Encoder()],
|
|
9044
6190
|
["reserved", fixEncoderSize(getBytesEncoder(), 31)]
|
|
9045
6191
|
]),
|
|
9046
|
-
(value) => ({ ...value, discriminator:
|
|
6192
|
+
(value) => ({ ...value, discriminator: ORACLE_STATE_DISCRIMINATOR2 })
|
|
9047
6193
|
);
|
|
9048
6194
|
}
|
|
9049
6195
|
function getOracleStateDecoder2() {
|
|
@@ -9058,7 +6204,7 @@ function getOracleStateDecoder2() {
|
|
|
9058
6204
|
["reserved", fixDecoderSize(getBytesDecoder(), 31)]
|
|
9059
6205
|
]);
|
|
9060
6206
|
}
|
|
9061
|
-
function
|
|
6207
|
+
function getOracleStateCodec2() {
|
|
9062
6208
|
return combineCodec(getOracleStateEncoder2(), getOracleStateDecoder2());
|
|
9063
6209
|
}
|
|
9064
6210
|
function decodeOracleState3(encodedAccount) {
|
|
@@ -9345,7 +6491,7 @@ function trustedOracleProgram() {
|
|
|
9345
6491
|
...client,
|
|
9346
6492
|
trustedOracle: {
|
|
9347
6493
|
accounts: {
|
|
9348
|
-
oracleState: addSelfFetchFunctions(client,
|
|
6494
|
+
oracleState: addSelfFetchFunctions(client, getOracleStateCodec2())
|
|
9349
6495
|
},
|
|
9350
6496
|
instructions: {
|
|
9351
6497
|
finalize: (input) => addSelfPlanAndSendFunctions(client, getFinalizeInstruction(input)),
|
|
@@ -9362,14 +6508,12 @@ function trustedOracleProgram() {
|
|
|
9362
6508
|
// src/solana/generated/trustedOracle/errors/trustedOracle.ts
|
|
9363
6509
|
var TRUSTED_ORACLE_ERROR__UNAUTHORIZED = 6e3;
|
|
9364
6510
|
var TRUSTED_ORACLE_ERROR__ALREADY_FINALIZED = 6001;
|
|
9365
|
-
var TRUSTED_ORACLE_ERROR__NOT_FINALIZED = 6002;
|
|
9366
6511
|
var TRUSTED_ORACLE_ERROR__INVALID_WINNING_MINT = 6003;
|
|
9367
6512
|
var trustedOracleErrorMessages;
|
|
9368
6513
|
if (process.env.NODE_ENV !== "production") {
|
|
9369
6514
|
trustedOracleErrorMessages = {
|
|
9370
6515
|
[TRUSTED_ORACLE_ERROR__ALREADY_FINALIZED]: `Oracle already finalized`,
|
|
9371
6516
|
[TRUSTED_ORACLE_ERROR__INVALID_WINNING_MINT]: `Invalid winning mint`,
|
|
9372
|
-
[TRUSTED_ORACLE_ERROR__NOT_FINALIZED]: `Oracle not finalized`,
|
|
9373
6517
|
[TRUSTED_ORACLE_ERROR__UNAUTHORIZED]: `Unauthorized: only oracle authority can perform this action`
|
|
9374
6518
|
};
|
|
9375
6519
|
}
|