@atomiqlabs/chain-solana 12.0.13 → 12.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/dist/index.d.ts +29 -29
- package/dist/index.js +45 -45
- package/dist/solana/SolanaChainType.d.ts +11 -11
- package/dist/solana/SolanaChainType.js +2 -2
- package/dist/solana/SolanaChains.d.ts +20 -20
- package/dist/solana/SolanaChains.js +25 -25
- package/dist/solana/SolanaInitializer.d.ts +18 -18
- package/dist/solana/SolanaInitializer.js +63 -63
- package/dist/solana/btcrelay/SolanaBtcRelay.d.ts +228 -228
- package/dist/solana/btcrelay/SolanaBtcRelay.js +441 -441
- package/dist/solana/btcrelay/headers/SolanaBtcHeader.d.ts +29 -29
- package/dist/solana/btcrelay/headers/SolanaBtcHeader.js +34 -34
- package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.d.ts +46 -46
- package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.js +78 -78
- package/dist/solana/btcrelay/program/programIdl.json +671 -671
- package/dist/solana/chain/SolanaAction.d.ts +26 -26
- package/dist/solana/chain/SolanaAction.js +86 -86
- package/dist/solana/chain/SolanaChainInterface.d.ts +65 -65
- package/dist/solana/chain/SolanaChainInterface.js +125 -125
- package/dist/solana/chain/SolanaModule.d.ts +14 -14
- package/dist/solana/chain/SolanaModule.js +13 -13
- package/dist/solana/chain/modules/SolanaAddresses.d.ts +8 -8
- package/dist/solana/chain/modules/SolanaAddresses.js +22 -22
- package/dist/solana/chain/modules/SolanaBlocks.d.ts +28 -28
- package/dist/solana/chain/modules/SolanaBlocks.js +72 -72
- package/dist/solana/chain/modules/SolanaEvents.d.ts +68 -68
- package/dist/solana/chain/modules/SolanaEvents.js +238 -225
- package/dist/solana/chain/modules/SolanaFees.d.ts +121 -121
- package/dist/solana/chain/modules/SolanaFees.js +379 -379
- package/dist/solana/chain/modules/SolanaSignatures.d.ts +23 -23
- package/dist/solana/chain/modules/SolanaSignatures.js +39 -39
- package/dist/solana/chain/modules/SolanaSlots.d.ts +31 -31
- package/dist/solana/chain/modules/SolanaSlots.js +68 -68
- package/dist/solana/chain/modules/SolanaTokens.d.ts +136 -136
- package/dist/solana/chain/modules/SolanaTokens.js +248 -248
- package/dist/solana/chain/modules/SolanaTransactions.d.ts +124 -124
- package/dist/solana/chain/modules/SolanaTransactions.js +323 -323
- package/dist/solana/events/SolanaChainEvents.d.ts +88 -88
- package/dist/solana/events/SolanaChainEvents.js +256 -256
- package/dist/solana/events/SolanaChainEventsBrowser.d.ts +75 -75
- package/dist/solana/events/SolanaChainEventsBrowser.js +172 -172
- package/dist/solana/program/SolanaProgramBase.d.ts +40 -40
- package/dist/solana/program/SolanaProgramBase.js +43 -43
- package/dist/solana/program/SolanaProgramModule.d.ts +8 -8
- package/dist/solana/program/SolanaProgramModule.js +11 -11
- package/dist/solana/program/modules/SolanaProgramEvents.d.ts +53 -53
- package/dist/solana/program/modules/SolanaProgramEvents.js +114 -114
- package/dist/solana/swaps/SolanaSwapData.d.ts +71 -71
- package/dist/solana/swaps/SolanaSwapData.js +292 -292
- package/dist/solana/swaps/SolanaSwapModule.d.ts +10 -10
- package/dist/solana/swaps/SolanaSwapModule.js +11 -11
- package/dist/solana/swaps/SolanaSwapProgram.d.ts +224 -224
- package/dist/solana/swaps/SolanaSwapProgram.js +570 -570
- package/dist/solana/swaps/SwapTypeEnum.d.ts +11 -11
- package/dist/solana/swaps/SwapTypeEnum.js +42 -42
- package/dist/solana/swaps/modules/SolanaDataAccount.d.ts +94 -94
- package/dist/solana/swaps/modules/SolanaDataAccount.js +231 -231
- package/dist/solana/swaps/modules/SolanaLpVault.d.ts +71 -71
- package/dist/solana/swaps/modules/SolanaLpVault.js +173 -173
- package/dist/solana/swaps/modules/SwapClaim.d.ts +129 -129
- package/dist/solana/swaps/modules/SwapClaim.js +291 -291
- package/dist/solana/swaps/modules/SwapInit.d.ts +217 -217
- package/dist/solana/swaps/modules/SwapInit.js +519 -519
- package/dist/solana/swaps/modules/SwapRefund.d.ts +82 -82
- package/dist/solana/swaps/modules/SwapRefund.js +262 -262
- package/dist/solana/swaps/programIdl.json +945 -945
- package/dist/solana/swaps/programTypes.d.ts +943 -943
- package/dist/solana/swaps/programTypes.js +945 -945
- package/dist/solana/wallet/SolanaKeypairWallet.d.ts +9 -9
- package/dist/solana/wallet/SolanaKeypairWallet.js +33 -33
- package/dist/solana/wallet/SolanaSigner.d.ts +11 -11
- package/dist/solana/wallet/SolanaSigner.js +17 -17
- package/dist/utils/Utils.d.ts +53 -53
- package/dist/utils/Utils.js +170 -170
- package/package.json +41 -41
- package/src/index.ts +36 -36
- package/src/solana/SolanaChainType.ts +27 -27
- package/src/solana/SolanaChains.ts +23 -23
- package/src/solana/SolanaInitializer.ts +102 -102
- package/src/solana/btcrelay/SolanaBtcRelay.ts +589 -589
- package/src/solana/btcrelay/headers/SolanaBtcHeader.ts +57 -57
- package/src/solana/btcrelay/headers/SolanaBtcStoredHeader.ts +102 -102
- package/src/solana/btcrelay/program/programIdl.json +670 -670
- package/src/solana/chain/SolanaAction.ts +108 -108
- package/src/solana/chain/SolanaChainInterface.ts +192 -192
- package/src/solana/chain/SolanaModule.ts +20 -20
- package/src/solana/chain/modules/SolanaAddresses.ts +20 -20
- package/src/solana/chain/modules/SolanaBlocks.ts +78 -78
- package/src/solana/chain/modules/SolanaEvents.ts +270 -256
- package/src/solana/chain/modules/SolanaFees.ts +450 -450
- package/src/solana/chain/modules/SolanaSignatures.ts +39 -39
- package/src/solana/chain/modules/SolanaSlots.ts +82 -82
- package/src/solana/chain/modules/SolanaTokens.ts +307 -307
- package/src/solana/chain/modules/SolanaTransactions.ts +365 -365
- package/src/solana/events/SolanaChainEvents.ts +299 -299
- package/src/solana/events/SolanaChainEventsBrowser.ts +209 -209
- package/src/solana/program/SolanaProgramBase.ts +79 -79
- package/src/solana/program/SolanaProgramModule.ts +15 -15
- package/src/solana/program/modules/SolanaProgramEvents.ts +155 -155
- package/src/solana/swaps/SolanaSwapData.ts +430 -430
- package/src/solana/swaps/SolanaSwapModule.ts +16 -16
- package/src/solana/swaps/SolanaSwapProgram.ts +854 -854
- package/src/solana/swaps/SwapTypeEnum.ts +29 -29
- package/src/solana/swaps/modules/SolanaDataAccount.ts +307 -307
- package/src/solana/swaps/modules/SolanaLpVault.ts +215 -215
- package/src/solana/swaps/modules/SwapClaim.ts +389 -389
- package/src/solana/swaps/modules/SwapInit.ts +663 -663
- package/src/solana/swaps/modules/SwapRefund.ts +323 -323
- package/src/solana/swaps/programIdl.json +944 -944
- package/src/solana/swaps/programTypes.ts +1885 -1885
- package/src/solana/wallet/SolanaKeypairWallet.ts +36 -36
- package/src/solana/wallet/SolanaSigner.ts +24 -24
- package/src/utils/Utils.ts +180 -180
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Connection, PublicKey, SendOptions, Transaction } from "@solana/web3.js";
|
|
3
|
-
export type FeeBribeData = {
|
|
4
|
-
address: string;
|
|
5
|
-
endpoint: string;
|
|
6
|
-
getBribeFee?: (original: bigint) => bigint;
|
|
7
|
-
};
|
|
8
|
-
export declare class SolanaFees {
|
|
9
|
-
private readonly connection;
|
|
10
|
-
private readonly maxFeeMicroLamports;
|
|
11
|
-
private readonly numSamples;
|
|
12
|
-
private readonly period;
|
|
13
|
-
private useHeliusApi;
|
|
14
|
-
private heliusApiSupported;
|
|
15
|
-
private readonly heliusFeeLevel;
|
|
16
|
-
private readonly bribeData?;
|
|
17
|
-
private readonly getStaticFee?;
|
|
18
|
-
private readonly logger;
|
|
19
|
-
private blockFeeCache;
|
|
20
|
-
constructor(connection: Connection, maxFeeMicroLamports?: number, numSamples?: number, period?: number, useHeliusApi?: "yes" | "no" | "auto", heliusFeeLevel?: "min" | "low" | "medium" | "high" | "veryHigh" | "unsafeMax", getStaticFee?: (feeRate: bigint) => bigint, bribeData?: FeeBribeData);
|
|
21
|
-
/**
|
|
22
|
-
* Returns solana block with transactionDetails="signatures"
|
|
23
|
-
*
|
|
24
|
-
* @param slot
|
|
25
|
-
* @private
|
|
26
|
-
*/
|
|
27
|
-
private getBlockWithSignature;
|
|
28
|
-
/**
|
|
29
|
-
* Returns fee estimate from Helius API - only works with Helius RPC, return null for all other RPC providers
|
|
30
|
-
*
|
|
31
|
-
* @param mutableAccounts
|
|
32
|
-
* @private
|
|
33
|
-
*/
|
|
34
|
-
private getPriorityFeeEstimate;
|
|
35
|
-
/**
|
|
36
|
-
* Sends the transaction over Jito
|
|
37
|
-
*
|
|
38
|
-
* @param tx
|
|
39
|
-
* @param options
|
|
40
|
-
* @private
|
|
41
|
-
* @returns {Promise<string>} transaction signature
|
|
42
|
-
*/
|
|
43
|
-
private sendJitoTx;
|
|
44
|
-
/**
|
|
45
|
-
* Checks whether the transaction should be sent over Jito, returns the fee paid to Jito in case the transaction
|
|
46
|
-
* should be sent over Jito, returns null if the transaction shouldn't be sent over Jito
|
|
47
|
-
*
|
|
48
|
-
* @param parsedTx
|
|
49
|
-
* @private
|
|
50
|
-
*/
|
|
51
|
-
private getJitoTxFee;
|
|
52
|
-
/**
|
|
53
|
-
* Gets the mean microLamports/CU fee rate for the block at a specific slot
|
|
54
|
-
*
|
|
55
|
-
* @param slot
|
|
56
|
-
* @private
|
|
57
|
-
*/
|
|
58
|
-
private getBlockMeanFeeRate;
|
|
59
|
-
/**
|
|
60
|
-
* Manually gets global fee rate by sampling random blocks over the last period
|
|
61
|
-
*
|
|
62
|
-
* @private
|
|
63
|
-
* @returns {Promise<BN>} sampled mean microLamports/CU fee over the last period
|
|
64
|
-
*/
|
|
65
|
-
private _getGlobalFeeRate;
|
|
66
|
-
/**
|
|
67
|
-
* Gets the combined microLamports/CU fee rate (from localized & global fee market)
|
|
68
|
-
*
|
|
69
|
-
* @param mutableAccounts
|
|
70
|
-
* @private
|
|
71
|
-
*/
|
|
72
|
-
private _getFeeRate;
|
|
73
|
-
/**
|
|
74
|
-
* Gets global fee rate, with caching
|
|
75
|
-
*
|
|
76
|
-
* @returns {Promise<BN>} global fee rate microLamports/CU
|
|
77
|
-
*/
|
|
78
|
-
getGlobalFeeRate(): Promise<bigint>;
|
|
79
|
-
/**
|
|
80
|
-
* Gets the combined microLamports/CU fee rate (from localized & global fee market), cached & adjusted as for
|
|
81
|
-
* when bribe and/or static fee should be included, format: <uLamports/CU>;<static fee lamport>[;<bribe address>]
|
|
82
|
-
*
|
|
83
|
-
* @param mutableAccounts
|
|
84
|
-
* @private
|
|
85
|
-
*/
|
|
86
|
-
getFeeRate(mutableAccounts: PublicKey[]): Promise<string>;
|
|
87
|
-
/**
|
|
88
|
-
* Calculates the total priority fee paid for a given compute budget at a given fee rate
|
|
89
|
-
*
|
|
90
|
-
* @param computeUnits
|
|
91
|
-
* @param feeRate
|
|
92
|
-
* @param includeStaticFee whether the include the static/base part of the fee rate
|
|
93
|
-
*/
|
|
94
|
-
getPriorityFee(computeUnits: number, feeRate: string, includeStaticFee?: boolean): bigint;
|
|
95
|
-
/**
|
|
96
|
-
* Applies fee rate to a transaction at the beginning of the transaction (has to be called after
|
|
97
|
-
* feePayer is set for the tx), specifically adds the setComputeUnitLimit & setComputeUnitPrice instruction
|
|
98
|
-
*
|
|
99
|
-
* @param tx
|
|
100
|
-
* @param computeBudget
|
|
101
|
-
* @param feeRate
|
|
102
|
-
*/
|
|
103
|
-
applyFeeRateBegin(tx: Transaction, computeBudget: number, feeRate: string): boolean;
|
|
104
|
-
/**
|
|
105
|
-
* Applies fee rate to the end of the transaction (has to be called after feePayer is set for the tx),
|
|
106
|
-
* specifically adds the bribe SystemProgram.transfer instruction
|
|
107
|
-
*
|
|
108
|
-
* @param tx
|
|
109
|
-
* @param computeBudget
|
|
110
|
-
* @param feeRate
|
|
111
|
-
*/
|
|
112
|
-
applyFeeRateEnd(tx: Transaction, computeBudget: number, feeRate: string): boolean;
|
|
113
|
-
/**
|
|
114
|
-
* Checks if the transaction should be submitted over Jito and if yes submits it
|
|
115
|
-
*
|
|
116
|
-
* @param tx
|
|
117
|
-
* @param options
|
|
118
|
-
* @returns {Promise<string | null>} null if the transaction was not sent over Jito, tx signature when tx was sent over Jito
|
|
119
|
-
*/
|
|
120
|
-
submitTx(tx: Buffer, options?: SendOptions): Promise<string | null>;
|
|
121
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Connection, PublicKey, SendOptions, Transaction } from "@solana/web3.js";
|
|
3
|
+
export type FeeBribeData = {
|
|
4
|
+
address: string;
|
|
5
|
+
endpoint: string;
|
|
6
|
+
getBribeFee?: (original: bigint) => bigint;
|
|
7
|
+
};
|
|
8
|
+
export declare class SolanaFees {
|
|
9
|
+
private readonly connection;
|
|
10
|
+
private readonly maxFeeMicroLamports;
|
|
11
|
+
private readonly numSamples;
|
|
12
|
+
private readonly period;
|
|
13
|
+
private useHeliusApi;
|
|
14
|
+
private heliusApiSupported;
|
|
15
|
+
private readonly heliusFeeLevel;
|
|
16
|
+
private readonly bribeData?;
|
|
17
|
+
private readonly getStaticFee?;
|
|
18
|
+
private readonly logger;
|
|
19
|
+
private blockFeeCache;
|
|
20
|
+
constructor(connection: Connection, maxFeeMicroLamports?: number, numSamples?: number, period?: number, useHeliusApi?: "yes" | "no" | "auto", heliusFeeLevel?: "min" | "low" | "medium" | "high" | "veryHigh" | "unsafeMax", getStaticFee?: (feeRate: bigint) => bigint, bribeData?: FeeBribeData);
|
|
21
|
+
/**
|
|
22
|
+
* Returns solana block with transactionDetails="signatures"
|
|
23
|
+
*
|
|
24
|
+
* @param slot
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
private getBlockWithSignature;
|
|
28
|
+
/**
|
|
29
|
+
* Returns fee estimate from Helius API - only works with Helius RPC, return null for all other RPC providers
|
|
30
|
+
*
|
|
31
|
+
* @param mutableAccounts
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
private getPriorityFeeEstimate;
|
|
35
|
+
/**
|
|
36
|
+
* Sends the transaction over Jito
|
|
37
|
+
*
|
|
38
|
+
* @param tx
|
|
39
|
+
* @param options
|
|
40
|
+
* @private
|
|
41
|
+
* @returns {Promise<string>} transaction signature
|
|
42
|
+
*/
|
|
43
|
+
private sendJitoTx;
|
|
44
|
+
/**
|
|
45
|
+
* Checks whether the transaction should be sent over Jito, returns the fee paid to Jito in case the transaction
|
|
46
|
+
* should be sent over Jito, returns null if the transaction shouldn't be sent over Jito
|
|
47
|
+
*
|
|
48
|
+
* @param parsedTx
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
private getJitoTxFee;
|
|
52
|
+
/**
|
|
53
|
+
* Gets the mean microLamports/CU fee rate for the block at a specific slot
|
|
54
|
+
*
|
|
55
|
+
* @param slot
|
|
56
|
+
* @private
|
|
57
|
+
*/
|
|
58
|
+
private getBlockMeanFeeRate;
|
|
59
|
+
/**
|
|
60
|
+
* Manually gets global fee rate by sampling random blocks over the last period
|
|
61
|
+
*
|
|
62
|
+
* @private
|
|
63
|
+
* @returns {Promise<BN>} sampled mean microLamports/CU fee over the last period
|
|
64
|
+
*/
|
|
65
|
+
private _getGlobalFeeRate;
|
|
66
|
+
/**
|
|
67
|
+
* Gets the combined microLamports/CU fee rate (from localized & global fee market)
|
|
68
|
+
*
|
|
69
|
+
* @param mutableAccounts
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
private _getFeeRate;
|
|
73
|
+
/**
|
|
74
|
+
* Gets global fee rate, with caching
|
|
75
|
+
*
|
|
76
|
+
* @returns {Promise<BN>} global fee rate microLamports/CU
|
|
77
|
+
*/
|
|
78
|
+
getGlobalFeeRate(): Promise<bigint>;
|
|
79
|
+
/**
|
|
80
|
+
* Gets the combined microLamports/CU fee rate (from localized & global fee market), cached & adjusted as for
|
|
81
|
+
* when bribe and/or static fee should be included, format: <uLamports/CU>;<static fee lamport>[;<bribe address>]
|
|
82
|
+
*
|
|
83
|
+
* @param mutableAccounts
|
|
84
|
+
* @private
|
|
85
|
+
*/
|
|
86
|
+
getFeeRate(mutableAccounts: PublicKey[]): Promise<string>;
|
|
87
|
+
/**
|
|
88
|
+
* Calculates the total priority fee paid for a given compute budget at a given fee rate
|
|
89
|
+
*
|
|
90
|
+
* @param computeUnits
|
|
91
|
+
* @param feeRate
|
|
92
|
+
* @param includeStaticFee whether the include the static/base part of the fee rate
|
|
93
|
+
*/
|
|
94
|
+
getPriorityFee(computeUnits: number, feeRate: string, includeStaticFee?: boolean): bigint;
|
|
95
|
+
/**
|
|
96
|
+
* Applies fee rate to a transaction at the beginning of the transaction (has to be called after
|
|
97
|
+
* feePayer is set for the tx), specifically adds the setComputeUnitLimit & setComputeUnitPrice instruction
|
|
98
|
+
*
|
|
99
|
+
* @param tx
|
|
100
|
+
* @param computeBudget
|
|
101
|
+
* @param feeRate
|
|
102
|
+
*/
|
|
103
|
+
applyFeeRateBegin(tx: Transaction, computeBudget: number, feeRate: string): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Applies fee rate to the end of the transaction (has to be called after feePayer is set for the tx),
|
|
106
|
+
* specifically adds the bribe SystemProgram.transfer instruction
|
|
107
|
+
*
|
|
108
|
+
* @param tx
|
|
109
|
+
* @param computeBudget
|
|
110
|
+
* @param feeRate
|
|
111
|
+
*/
|
|
112
|
+
applyFeeRateEnd(tx: Transaction, computeBudget: number, feeRate: string): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Checks if the transaction should be submitted over Jito and if yes submits it
|
|
115
|
+
*
|
|
116
|
+
* @param tx
|
|
117
|
+
* @param options
|
|
118
|
+
* @returns {Promise<string | null>} null if the transaction was not sent over Jito, tx signature when tx was sent over Jito
|
|
119
|
+
*/
|
|
120
|
+
submitTx(tx: Buffer, options?: SendOptions): Promise<string | null>;
|
|
121
|
+
}
|