@atomiqlabs/chain-solana 13.5.13 → 13.5.14

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 (131) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +73 -73
  3. package/dist/index.d.ts +81 -81
  4. package/dist/index.js +102 -102
  5. package/dist/node/index.d.ts +9 -9
  6. package/dist/node/index.js +13 -13
  7. package/dist/solana/SolanaChainType.d.ts +15 -15
  8. package/dist/solana/SolanaChainType.js +2 -2
  9. package/dist/solana/SolanaChains.d.ts +12 -12
  10. package/dist/solana/SolanaChains.js +45 -45
  11. package/dist/solana/SolanaInitializer.d.ts +94 -94
  12. package/dist/solana/SolanaInitializer.js +174 -174
  13. package/dist/solana/btcrelay/SolanaBtcRelay.d.ts +222 -222
  14. package/dist/solana/btcrelay/SolanaBtcRelay.js +455 -455
  15. package/dist/solana/btcrelay/headers/SolanaBtcHeader.d.ts +84 -84
  16. package/dist/solana/btcrelay/headers/SolanaBtcHeader.js +70 -70
  17. package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.d.ts +92 -92
  18. package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.js +109 -109
  19. package/dist/solana/btcrelay/program/programIdl.json +671 -671
  20. package/dist/solana/chain/SolanaAction.d.ts +26 -26
  21. package/dist/solana/chain/SolanaAction.js +87 -87
  22. package/dist/solana/chain/SolanaChainInterface.d.ts +224 -224
  23. package/dist/solana/chain/SolanaChainInterface.js +275 -275
  24. package/dist/solana/chain/SolanaModule.d.ts +14 -14
  25. package/dist/solana/chain/SolanaModule.js +13 -13
  26. package/dist/solana/chain/modules/SolanaAddresses.d.ts +8 -8
  27. package/dist/solana/chain/modules/SolanaAddresses.js +22 -22
  28. package/dist/solana/chain/modules/SolanaBlocks.d.ts +32 -32
  29. package/dist/solana/chain/modules/SolanaBlocks.js +78 -78
  30. package/dist/solana/chain/modules/SolanaEvents.d.ts +68 -68
  31. package/dist/solana/chain/modules/SolanaEvents.js +238 -238
  32. package/dist/solana/chain/modules/SolanaFees.d.ts +189 -189
  33. package/dist/solana/chain/modules/SolanaFees.js +434 -434
  34. package/dist/solana/chain/modules/SolanaSignatures.d.ts +24 -24
  35. package/dist/solana/chain/modules/SolanaSignatures.js +39 -39
  36. package/dist/solana/chain/modules/SolanaSlots.d.ts +33 -33
  37. package/dist/solana/chain/modules/SolanaSlots.js +72 -72
  38. package/dist/solana/chain/modules/SolanaTokens.d.ts +123 -123
  39. package/dist/solana/chain/modules/SolanaTokens.js +242 -242
  40. package/dist/solana/chain/modules/SolanaTransactions.d.ts +149 -149
  41. package/dist/solana/chain/modules/SolanaTransactions.js +445 -445
  42. package/dist/solana/connection/ConnectionWithRetries.d.ts +35 -35
  43. package/dist/solana/connection/ConnectionWithRetries.js +86 -71
  44. package/dist/solana/events/SolanaChainEvents.d.ts +45 -45
  45. package/dist/solana/events/SolanaChainEvents.js +108 -108
  46. package/dist/solana/events/SolanaChainEventsBrowser.d.ts +205 -205
  47. package/dist/solana/events/SolanaChainEventsBrowser.js +404 -404
  48. package/dist/solana/program/SolanaProgramBase.d.ts +73 -73
  49. package/dist/solana/program/SolanaProgramBase.js +54 -54
  50. package/dist/solana/program/SolanaProgramModule.d.ts +8 -8
  51. package/dist/solana/program/SolanaProgramModule.js +11 -11
  52. package/dist/solana/program/modules/SolanaProgramEvents.d.ts +53 -53
  53. package/dist/solana/program/modules/SolanaProgramEvents.js +117 -117
  54. package/dist/solana/swaps/SolanaSwapData.d.ts +333 -333
  55. package/dist/solana/swaps/SolanaSwapData.js +535 -535
  56. package/dist/solana/swaps/SolanaSwapModule.d.ts +11 -11
  57. package/dist/solana/swaps/SolanaSwapModule.js +12 -12
  58. package/dist/solana/swaps/SolanaSwapProgram.d.ts +376 -376
  59. package/dist/solana/swaps/SolanaSwapProgram.js +769 -769
  60. package/dist/solana/swaps/SwapTypeEnum.d.ts +11 -11
  61. package/dist/solana/swaps/SwapTypeEnum.js +43 -43
  62. package/dist/solana/swaps/modules/SolanaDataAccount.d.ts +95 -95
  63. package/dist/solana/swaps/modules/SolanaDataAccount.js +232 -232
  64. package/dist/solana/swaps/modules/SolanaLpVault.d.ts +69 -69
  65. package/dist/solana/swaps/modules/SolanaLpVault.js +171 -171
  66. package/dist/solana/swaps/modules/SwapClaim.d.ts +126 -126
  67. package/dist/solana/swaps/modules/SwapClaim.js +294 -294
  68. package/dist/solana/swaps/modules/SwapInit.d.ts +213 -213
  69. package/dist/solana/swaps/modules/SwapInit.js +658 -658
  70. package/dist/solana/swaps/modules/SwapRefund.d.ts +87 -87
  71. package/dist/solana/swaps/modules/SwapRefund.js +293 -293
  72. package/dist/solana/swaps/programIdl.json +945 -945
  73. package/dist/solana/swaps/programTypes.d.ts +943 -943
  74. package/dist/solana/swaps/programTypes.js +945 -945
  75. package/dist/solana/swaps/v1/programIdl.json +945 -945
  76. package/dist/solana/swaps/v1/programTypes.d.ts +943 -943
  77. package/dist/solana/swaps/v1/programTypes.js +945 -945
  78. package/dist/solana/swaps/v2/programIdl.json +952 -952
  79. package/dist/solana/swaps/v2/programTypes.d.ts +950 -950
  80. package/dist/solana/swaps/v2/programTypes.js +952 -952
  81. package/dist/solana/wallet/SolanaKeypairWallet.d.ts +29 -29
  82. package/dist/solana/wallet/SolanaKeypairWallet.js +50 -50
  83. package/dist/solana/wallet/SolanaSigner.d.ts +30 -30
  84. package/dist/solana/wallet/SolanaSigner.js +30 -30
  85. package/dist/utils/Utils.d.ts +58 -58
  86. package/dist/utils/Utils.js +170 -170
  87. package/node/index.d.ts +1 -1
  88. package/node/index.js +3 -3
  89. package/package.json +46 -46
  90. package/src/index.ts +87 -87
  91. package/src/node/index.ts +9 -9
  92. package/src/solana/SolanaChainType.ts +32 -32
  93. package/src/solana/SolanaChains.ts +46 -46
  94. package/src/solana/SolanaInitializer.ts +278 -278
  95. package/src/solana/btcrelay/SolanaBtcRelay.ts +615 -615
  96. package/src/solana/btcrelay/headers/SolanaBtcHeader.ts +116 -116
  97. package/src/solana/btcrelay/headers/SolanaBtcStoredHeader.ts +148 -148
  98. package/src/solana/btcrelay/program/programIdl.json +670 -670
  99. package/src/solana/chain/SolanaAction.ts +109 -109
  100. package/src/solana/chain/SolanaChainInterface.ts +404 -404
  101. package/src/solana/chain/SolanaModule.ts +20 -20
  102. package/src/solana/chain/modules/SolanaAddresses.ts +20 -20
  103. package/src/solana/chain/modules/SolanaBlocks.ts +89 -89
  104. package/src/solana/chain/modules/SolanaEvents.ts +271 -271
  105. package/src/solana/chain/modules/SolanaFees.ts +522 -522
  106. package/src/solana/chain/modules/SolanaSignatures.ts +39 -39
  107. package/src/solana/chain/modules/SolanaSlots.ts +85 -85
  108. package/src/solana/chain/modules/SolanaTokens.ts +300 -300
  109. package/src/solana/chain/modules/SolanaTransactions.ts +503 -503
  110. package/src/solana/connection/ConnectionWithRetries.ts +113 -96
  111. package/src/solana/events/SolanaChainEvents.ts +127 -127
  112. package/src/solana/events/SolanaChainEventsBrowser.ts +495 -495
  113. package/src/solana/program/SolanaProgramBase.ts +119 -119
  114. package/src/solana/program/SolanaProgramModule.ts +15 -15
  115. package/src/solana/program/modules/SolanaProgramEvents.ts +157 -157
  116. package/src/solana/swaps/SolanaSwapData.ts +735 -735
  117. package/src/solana/swaps/SolanaSwapModule.ts +19 -19
  118. package/src/solana/swaps/SolanaSwapProgram.ts +1074 -1074
  119. package/src/solana/swaps/SwapTypeEnum.ts +30 -30
  120. package/src/solana/swaps/modules/SolanaDataAccount.ts +302 -302
  121. package/src/solana/swaps/modules/SolanaLpVault.ts +208 -208
  122. package/src/solana/swaps/modules/SwapClaim.ts +387 -387
  123. package/src/solana/swaps/modules/SwapInit.ts +785 -785
  124. package/src/solana/swaps/modules/SwapRefund.ts +353 -353
  125. package/src/solana/swaps/v1/programIdl.json +944 -944
  126. package/src/solana/swaps/v1/programTypes.ts +1885 -1885
  127. package/src/solana/swaps/v2/programIdl.json +951 -951
  128. package/src/solana/swaps/v2/programTypes.ts +1899 -1899
  129. package/src/solana/wallet/SolanaKeypairWallet.ts +56 -56
  130. package/src/solana/wallet/SolanaSigner.ts +43 -43
  131. package/src/utils/Utils.ts +194 -194
@@ -1,11 +1,11 @@
1
- export declare class SwapTypeEnum {
2
- static toChainSwapType(data: any): number;
3
- static toNumber(data: any): number;
4
- static fromNumber(kind: 0 | 1 | 2 | 3): {
5
- htlc?: never;
6
- chain?: never;
7
- chainNonced?: never;
8
- } & {
9
- chainTxhash: Record<string, never>;
10
- };
11
- }
1
+ export declare class SwapTypeEnum {
2
+ static toChainSwapType(data: any): number;
3
+ static toNumber(data: any): number;
4
+ static fromNumber(kind: 0 | 1 | 2 | 3): {
5
+ htlc?: never;
6
+ chain?: never;
7
+ chainNonced?: never;
8
+ } & {
9
+ chainTxhash: Record<string, never>;
10
+ };
11
+ }
@@ -1,43 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SwapTypeEnum = void 0;
4
- const base_1 = require("@atomiqlabs/base");
5
- class SwapTypeEnum {
6
- static toChainSwapType(data) {
7
- const text = Object.keys(data)[0];
8
- if (text === "htlc")
9
- return base_1.ChainSwapType.HTLC;
10
- if (text === "chain")
11
- return base_1.ChainSwapType.CHAIN;
12
- if (text === "chainNonced")
13
- return base_1.ChainSwapType.CHAIN_NONCED;
14
- if (text === "chainTxhash")
15
- return base_1.ChainSwapType.CHAIN_TXID;
16
- throw new Error("Invalid data passed!");
17
- }
18
- static toNumber(data) {
19
- const text = Object.keys(data)[0];
20
- if (text === "htlc")
21
- return 0;
22
- if (text === "chain")
23
- return 1;
24
- if (text === "chainNonced")
25
- return 2;
26
- if (text === "chainTxhash")
27
- return 3;
28
- throw new Error("Invalid data passed!");
29
- }
30
- static fromNumber(kind) {
31
- if (kind === 0)
32
- return { htlc: null };
33
- if (kind === 1)
34
- return { chain: null };
35
- if (kind === 2)
36
- return { chainNonced: null };
37
- if (kind === 3)
38
- return { chainTxhash: null };
39
- throw new Error("Invalid kind number!");
40
- }
41
- }
42
- exports.SwapTypeEnum = SwapTypeEnum;
43
- ;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SwapTypeEnum = void 0;
4
+ const base_1 = require("@atomiqlabs/base");
5
+ class SwapTypeEnum {
6
+ static toChainSwapType(data) {
7
+ const text = Object.keys(data)[0];
8
+ if (text === "htlc")
9
+ return base_1.ChainSwapType.HTLC;
10
+ if (text === "chain")
11
+ return base_1.ChainSwapType.CHAIN;
12
+ if (text === "chainNonced")
13
+ return base_1.ChainSwapType.CHAIN_NONCED;
14
+ if (text === "chainTxhash")
15
+ return base_1.ChainSwapType.CHAIN_TXID;
16
+ throw new Error("Invalid data passed!");
17
+ }
18
+ static toNumber(data) {
19
+ const text = Object.keys(data)[0];
20
+ if (text === "htlc")
21
+ return 0;
22
+ if (text === "chain")
23
+ return 1;
24
+ if (text === "chainNonced")
25
+ return 2;
26
+ if (text === "chainTxhash")
27
+ return 3;
28
+ throw new Error("Invalid data passed!");
29
+ }
30
+ static fromNumber(kind) {
31
+ if (kind === 0)
32
+ return { htlc: null };
33
+ if (kind === 1)
34
+ return { chain: null };
35
+ if (kind === 2)
36
+ return { chainNonced: null };
37
+ if (kind === 3)
38
+ return { chainTxhash: null };
39
+ throw new Error("Invalid kind number!");
40
+ }
41
+ }
42
+ exports.SwapTypeEnum = SwapTypeEnum;
43
+ ;
@@ -1,95 +1,95 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { SolanaSwapModule } from "../SolanaSwapModule";
4
- import { PublicKey, Signer } from "@solana/web3.js";
5
- import { IStorageManager, StorageObject } from "@atomiqlabs/base";
6
- import { SolanaSwapProgram } from "../SolanaSwapProgram";
7
- import { SolanaTx } from "../../chain/modules/SolanaTransactions";
8
- import { SolanaSigner } from "../../wallet/SolanaSigner";
9
- import { SolanaChainInterface } from "../../chain/SolanaChainInterface";
10
- export declare class StoredDataAccount implements StorageObject {
11
- accountKey: PublicKey;
12
- owner: PublicKey;
13
- constructor(accountKey: PublicKey, owner: PublicKey);
14
- constructor(data: any);
15
- serialize(): any;
16
- }
17
- export declare class SolanaDataAccount extends SolanaSwapModule {
18
- readonly SwapTxDataAlt: (reversedTxId: Buffer, signer: Signer) => import("@solana/web3.js").Keypair;
19
- readonly SwapTxDataAltBuffer: (reversedTxId: Buffer, secret: Buffer) => import("@solana/web3.js").Keypair;
20
- readonly storage: IStorageManager<StoredDataAccount>;
21
- private static readonly CUCosts;
22
- /**
23
- * Action for initialization of the data account
24
- *
25
- * @param signer
26
- * @param accountKey
27
- * @param dataLength
28
- * @private
29
- */
30
- private InitDataAccount;
31
- /**
32
- * Action for closing the specific data account
33
- *
34
- * @param signer
35
- * @param publicKey
36
- */
37
- private CloseDataAccount;
38
- /**
39
- * Action for writing data to a data account, writes up to sizeLimit starting from the offset position of the
40
- * provided writeData buffer
41
- *
42
- * @param signer
43
- * @param accountKey account public key to write to
44
- * @param writeData buffer holding the write data
45
- * @param offset data from buffer starting at offset are written
46
- * @param sizeLimit maximum amount of data to be written to the data account in this action
47
- * @private
48
- * @returns {Promise<{bytesWritten: number, action: SolanaAction}>} bytes written to the data account & action
49
- */
50
- private WriteData;
51
- constructor(chainInterface: SolanaChainInterface, program: SolanaSwapProgram, storage: IStorageManager<StoredDataAccount>);
52
- /**
53
- * Saves data account to the storage, the storage is required such that we are able to close the accounts later
54
- * manually in case the claim doesn't happen (expires due to fees, etc.)
55
- *
56
- * @param signer
57
- * @param publicKey
58
- * @private
59
- */
60
- private saveDataAccount;
61
- /**
62
- * Initializes the data account handler, loads the existing data accounts which should be checked and closed
63
- */
64
- init(): Promise<void>;
65
- /**
66
- * Removes data account from the list of accounts that should be checked for reclaiming the locked SOL, this should
67
- * be called after a batch of transactions claiming the swap was confirmed
68
- *
69
- * @param publicKey
70
- */
71
- removeDataAccount(publicKey: PublicKey): Promise<void>;
72
- getDataAccountsInfo(signer: PublicKey): Promise<{
73
- closePublicKeys: PublicKey[];
74
- count: number;
75
- totalValue: bigint;
76
- }>;
77
- /**
78
- * Sweeps all old data accounts, reclaiming the SOL locked in the PDAs
79
- */
80
- sweepDataAccounts(signer: SolanaSigner): Promise<{
81
- txIds: string[];
82
- count: number;
83
- totalValue: bigint;
84
- }>;
85
- /**
86
- * Adds the transactions writing (and also initializing if it doesn't exist) data to the data account
87
- *
88
- * @param signer
89
- * @param reversedTxId reversed btc tx id is used to derive the data account address
90
- * @param writeData full data to be written to the data account
91
- * @param txs solana transactions array, where txns for writing & initializing will be added
92
- * @param feeRate fee rate to use for the transactions
93
- */
94
- addTxsWriteData(signer: SolanaSigner | PublicKey, reversedTxId: Buffer, writeData: Buffer, txs: SolanaTx[], feeRate: string): Promise<PublicKey>;
95
- }
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { SolanaSwapModule } from "../SolanaSwapModule";
4
+ import { PublicKey, Signer } from "@solana/web3.js";
5
+ import { IStorageManager, StorageObject } from "@atomiqlabs/base";
6
+ import { SolanaSwapProgram } from "../SolanaSwapProgram";
7
+ import { SolanaTx } from "../../chain/modules/SolanaTransactions";
8
+ import { SolanaSigner } from "../../wallet/SolanaSigner";
9
+ import { SolanaChainInterface } from "../../chain/SolanaChainInterface";
10
+ export declare class StoredDataAccount implements StorageObject {
11
+ accountKey: PublicKey;
12
+ owner: PublicKey;
13
+ constructor(accountKey: PublicKey, owner: PublicKey);
14
+ constructor(data: any);
15
+ serialize(): any;
16
+ }
17
+ export declare class SolanaDataAccount extends SolanaSwapModule {
18
+ readonly SwapTxDataAlt: (reversedTxId: Buffer, signer: Signer) => import("@solana/web3.js").Keypair;
19
+ readonly SwapTxDataAltBuffer: (reversedTxId: Buffer, secret: Buffer) => import("@solana/web3.js").Keypair;
20
+ readonly storage: IStorageManager<StoredDataAccount>;
21
+ private static readonly CUCosts;
22
+ /**
23
+ * Action for initialization of the data account
24
+ *
25
+ * @param signer
26
+ * @param accountKey
27
+ * @param dataLength
28
+ * @private
29
+ */
30
+ private InitDataAccount;
31
+ /**
32
+ * Action for closing the specific data account
33
+ *
34
+ * @param signer
35
+ * @param publicKey
36
+ */
37
+ private CloseDataAccount;
38
+ /**
39
+ * Action for writing data to a data account, writes up to sizeLimit starting from the offset position of the
40
+ * provided writeData buffer
41
+ *
42
+ * @param signer
43
+ * @param accountKey account public key to write to
44
+ * @param writeData buffer holding the write data
45
+ * @param offset data from buffer starting at offset are written
46
+ * @param sizeLimit maximum amount of data to be written to the data account in this action
47
+ * @private
48
+ * @returns {Promise<{bytesWritten: number, action: SolanaAction}>} bytes written to the data account & action
49
+ */
50
+ private WriteData;
51
+ constructor(chainInterface: SolanaChainInterface, program: SolanaSwapProgram, storage: IStorageManager<StoredDataAccount>);
52
+ /**
53
+ * Saves data account to the storage, the storage is required such that we are able to close the accounts later
54
+ * manually in case the claim doesn't happen (expires due to fees, etc.)
55
+ *
56
+ * @param signer
57
+ * @param publicKey
58
+ * @private
59
+ */
60
+ private saveDataAccount;
61
+ /**
62
+ * Initializes the data account handler, loads the existing data accounts which should be checked and closed
63
+ */
64
+ init(): Promise<void>;
65
+ /**
66
+ * Removes data account from the list of accounts that should be checked for reclaiming the locked SOL, this should
67
+ * be called after a batch of transactions claiming the swap was confirmed
68
+ *
69
+ * @param publicKey
70
+ */
71
+ removeDataAccount(publicKey: PublicKey): Promise<void>;
72
+ getDataAccountsInfo(signer: PublicKey): Promise<{
73
+ closePublicKeys: PublicKey[];
74
+ count: number;
75
+ totalValue: bigint;
76
+ }>;
77
+ /**
78
+ * Sweeps all old data accounts, reclaiming the SOL locked in the PDAs
79
+ */
80
+ sweepDataAccounts(signer: SolanaSigner): Promise<{
81
+ txIds: string[];
82
+ count: number;
83
+ totalValue: bigint;
84
+ }>;
85
+ /**
86
+ * Adds the transactions writing (and also initializing if it doesn't exist) data to the data account
87
+ *
88
+ * @param signer
89
+ * @param reversedTxId reversed btc tx id is used to derive the data account address
90
+ * @param writeData full data to be written to the data account
91
+ * @param txs solana transactions array, where txns for writing & initializing will be added
92
+ * @param feeRate fee rate to use for the transactions
93
+ */
94
+ addTxsWriteData(signer: SolanaSigner | PublicKey, reversedTxId: Buffer, writeData: Buffer, txs: SolanaTx[], feeRate: string): Promise<PublicKey>;
95
+ }