@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.
Files changed (114) hide show
  1. package/LICENSE +201 -201
  2. package/dist/index.d.ts +29 -29
  3. package/dist/index.js +45 -45
  4. package/dist/solana/SolanaChainType.d.ts +11 -11
  5. package/dist/solana/SolanaChainType.js +2 -2
  6. package/dist/solana/SolanaChains.d.ts +20 -20
  7. package/dist/solana/SolanaChains.js +25 -25
  8. package/dist/solana/SolanaInitializer.d.ts +18 -18
  9. package/dist/solana/SolanaInitializer.js +63 -63
  10. package/dist/solana/btcrelay/SolanaBtcRelay.d.ts +228 -228
  11. package/dist/solana/btcrelay/SolanaBtcRelay.js +441 -441
  12. package/dist/solana/btcrelay/headers/SolanaBtcHeader.d.ts +29 -29
  13. package/dist/solana/btcrelay/headers/SolanaBtcHeader.js +34 -34
  14. package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.d.ts +46 -46
  15. package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.js +78 -78
  16. package/dist/solana/btcrelay/program/programIdl.json +671 -671
  17. package/dist/solana/chain/SolanaAction.d.ts +26 -26
  18. package/dist/solana/chain/SolanaAction.js +86 -86
  19. package/dist/solana/chain/SolanaChainInterface.d.ts +65 -65
  20. package/dist/solana/chain/SolanaChainInterface.js +125 -125
  21. package/dist/solana/chain/SolanaModule.d.ts +14 -14
  22. package/dist/solana/chain/SolanaModule.js +13 -13
  23. package/dist/solana/chain/modules/SolanaAddresses.d.ts +8 -8
  24. package/dist/solana/chain/modules/SolanaAddresses.js +22 -22
  25. package/dist/solana/chain/modules/SolanaBlocks.d.ts +28 -28
  26. package/dist/solana/chain/modules/SolanaBlocks.js +72 -72
  27. package/dist/solana/chain/modules/SolanaEvents.d.ts +68 -68
  28. package/dist/solana/chain/modules/SolanaEvents.js +238 -225
  29. package/dist/solana/chain/modules/SolanaFees.d.ts +121 -121
  30. package/dist/solana/chain/modules/SolanaFees.js +379 -379
  31. package/dist/solana/chain/modules/SolanaSignatures.d.ts +23 -23
  32. package/dist/solana/chain/modules/SolanaSignatures.js +39 -39
  33. package/dist/solana/chain/modules/SolanaSlots.d.ts +31 -31
  34. package/dist/solana/chain/modules/SolanaSlots.js +68 -68
  35. package/dist/solana/chain/modules/SolanaTokens.d.ts +136 -136
  36. package/dist/solana/chain/modules/SolanaTokens.js +248 -248
  37. package/dist/solana/chain/modules/SolanaTransactions.d.ts +124 -124
  38. package/dist/solana/chain/modules/SolanaTransactions.js +323 -323
  39. package/dist/solana/events/SolanaChainEvents.d.ts +88 -88
  40. package/dist/solana/events/SolanaChainEvents.js +256 -256
  41. package/dist/solana/events/SolanaChainEventsBrowser.d.ts +75 -75
  42. package/dist/solana/events/SolanaChainEventsBrowser.js +172 -172
  43. package/dist/solana/program/SolanaProgramBase.d.ts +40 -40
  44. package/dist/solana/program/SolanaProgramBase.js +43 -43
  45. package/dist/solana/program/SolanaProgramModule.d.ts +8 -8
  46. package/dist/solana/program/SolanaProgramModule.js +11 -11
  47. package/dist/solana/program/modules/SolanaProgramEvents.d.ts +53 -53
  48. package/dist/solana/program/modules/SolanaProgramEvents.js +114 -114
  49. package/dist/solana/swaps/SolanaSwapData.d.ts +71 -71
  50. package/dist/solana/swaps/SolanaSwapData.js +292 -292
  51. package/dist/solana/swaps/SolanaSwapModule.d.ts +10 -10
  52. package/dist/solana/swaps/SolanaSwapModule.js +11 -11
  53. package/dist/solana/swaps/SolanaSwapProgram.d.ts +224 -224
  54. package/dist/solana/swaps/SolanaSwapProgram.js +570 -570
  55. package/dist/solana/swaps/SwapTypeEnum.d.ts +11 -11
  56. package/dist/solana/swaps/SwapTypeEnum.js +42 -42
  57. package/dist/solana/swaps/modules/SolanaDataAccount.d.ts +94 -94
  58. package/dist/solana/swaps/modules/SolanaDataAccount.js +231 -231
  59. package/dist/solana/swaps/modules/SolanaLpVault.d.ts +71 -71
  60. package/dist/solana/swaps/modules/SolanaLpVault.js +173 -173
  61. package/dist/solana/swaps/modules/SwapClaim.d.ts +129 -129
  62. package/dist/solana/swaps/modules/SwapClaim.js +291 -291
  63. package/dist/solana/swaps/modules/SwapInit.d.ts +217 -217
  64. package/dist/solana/swaps/modules/SwapInit.js +519 -519
  65. package/dist/solana/swaps/modules/SwapRefund.d.ts +82 -82
  66. package/dist/solana/swaps/modules/SwapRefund.js +262 -262
  67. package/dist/solana/swaps/programIdl.json +945 -945
  68. package/dist/solana/swaps/programTypes.d.ts +943 -943
  69. package/dist/solana/swaps/programTypes.js +945 -945
  70. package/dist/solana/wallet/SolanaKeypairWallet.d.ts +9 -9
  71. package/dist/solana/wallet/SolanaKeypairWallet.js +33 -33
  72. package/dist/solana/wallet/SolanaSigner.d.ts +11 -11
  73. package/dist/solana/wallet/SolanaSigner.js +17 -17
  74. package/dist/utils/Utils.d.ts +53 -53
  75. package/dist/utils/Utils.js +170 -170
  76. package/package.json +41 -41
  77. package/src/index.ts +36 -36
  78. package/src/solana/SolanaChainType.ts +27 -27
  79. package/src/solana/SolanaChains.ts +23 -23
  80. package/src/solana/SolanaInitializer.ts +102 -102
  81. package/src/solana/btcrelay/SolanaBtcRelay.ts +589 -589
  82. package/src/solana/btcrelay/headers/SolanaBtcHeader.ts +57 -57
  83. package/src/solana/btcrelay/headers/SolanaBtcStoredHeader.ts +102 -102
  84. package/src/solana/btcrelay/program/programIdl.json +670 -670
  85. package/src/solana/chain/SolanaAction.ts +108 -108
  86. package/src/solana/chain/SolanaChainInterface.ts +192 -192
  87. package/src/solana/chain/SolanaModule.ts +20 -20
  88. package/src/solana/chain/modules/SolanaAddresses.ts +20 -20
  89. package/src/solana/chain/modules/SolanaBlocks.ts +78 -78
  90. package/src/solana/chain/modules/SolanaEvents.ts +270 -256
  91. package/src/solana/chain/modules/SolanaFees.ts +450 -450
  92. package/src/solana/chain/modules/SolanaSignatures.ts +39 -39
  93. package/src/solana/chain/modules/SolanaSlots.ts +82 -82
  94. package/src/solana/chain/modules/SolanaTokens.ts +307 -307
  95. package/src/solana/chain/modules/SolanaTransactions.ts +365 -365
  96. package/src/solana/events/SolanaChainEvents.ts +299 -299
  97. package/src/solana/events/SolanaChainEventsBrowser.ts +209 -209
  98. package/src/solana/program/SolanaProgramBase.ts +79 -79
  99. package/src/solana/program/SolanaProgramModule.ts +15 -15
  100. package/src/solana/program/modules/SolanaProgramEvents.ts +155 -155
  101. package/src/solana/swaps/SolanaSwapData.ts +430 -430
  102. package/src/solana/swaps/SolanaSwapModule.ts +16 -16
  103. package/src/solana/swaps/SolanaSwapProgram.ts +854 -854
  104. package/src/solana/swaps/SwapTypeEnum.ts +29 -29
  105. package/src/solana/swaps/modules/SolanaDataAccount.ts +307 -307
  106. package/src/solana/swaps/modules/SolanaLpVault.ts +215 -215
  107. package/src/solana/swaps/modules/SwapClaim.ts +389 -389
  108. package/src/solana/swaps/modules/SwapInit.ts +663 -663
  109. package/src/solana/swaps/modules/SwapRefund.ts +323 -323
  110. package/src/solana/swaps/programIdl.json +944 -944
  111. package/src/solana/swaps/programTypes.ts +1885 -1885
  112. package/src/solana/wallet/SolanaKeypairWallet.ts +36 -36
  113. package/src/solana/wallet/SolanaSigner.ts +24 -24
  114. 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
+ }