@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
package/dist/index.d.ts CHANGED
@@ -1,81 +1,81 @@
1
- /**
2
- * # @atomiqlabs/chain-solana
3
- *
4
- * `@atomiqlabs/chain-solana` is the Solana integration package for the Atomiq protocol.
5
- *
6
- * Within the Atomiq stack, this library provides the Solana-side building blocks used for Bitcoin-aware swaps on Solana. It includes:
7
- *
8
- * - the `SolanaInitializer` used to register Solana support in the Atomiq SDK
9
- * - the `SolanaChainInterface` used to talk to Solana RPCs
10
- * - Solana BTC relay and swap program wrappers
11
- * - signer and wallet helpers for Solana integrations
12
- * - connection retry and chain event utilities
13
- *
14
- * This package is intended for direct protocol integrations and for higher-level Atomiq SDK layers that need Solana chain support.
15
- *
16
- * ## Installation
17
- *
18
- * Install the package with its `@solana/web3.js` peer dependency:
19
- *
20
- * ```bash
21
- * npm install @atomiqlabs/chain-solana @solana/web3.js
22
- * ```
23
- *
24
- * ## Supported Chains
25
- *
26
- * This package exports a single Solana initializer:
27
- *
28
- * - Solana via `SolanaInitializer`
29
- *
30
- * Canonical deployments currently defined in this package:
31
- *
32
- * | Chain | Canonical deployments included |
33
- * | --- | --- |
34
- * | Solana | `MAINNET`, `TESTNET` |
35
- *
36
- * In this package, the selected Bitcoin network determines which canonical Solana program addresses are used by default. `BitcoinNetwork.TESTNET4` is not wired to a Solana deployment here yet.
37
- *
38
- * The Solana implementation doesn't support the UTXO-controlled vault (SPV vault) contract, hence it can only process legacy HTLC & PrTLC based swaps.
39
- *
40
- * ## SDK Example
41
- *
42
- * Initialize the Atomiq SDK with Solana network support:
43
- *
44
- * ```ts
45
- * import {SolanaInitializerV2} from "@atomiqlabs/chain-solana";
46
- * import {BitcoinNetwork, SwapperFactory, TypedSwapper} from "@atomiqlabs/sdk";
47
- *
48
- * // Define chains that you want to support here
49
- * const chains = [SolanaInitializerV2] as const;
50
- * type SupportedChains = typeof chains;
51
- *
52
- * const Factory = new SwapperFactory<SupportedChains>(chains);
53
- *
54
- * const swapper: TypedSwapper<SupportedChains> = Factory.newSwapper({
55
- * chains: {
56
- * SOLANA: {
57
- * rpcUrl: solanaRpc // You can also pass a web3.js Connection object here
58
- * }
59
- * },
60
- * bitcoinNetwork: BitcoinNetwork.MAINNET // or BitcoinNetwork.TESTNET
61
- * });
62
- * ```
63
- *
64
- * If you use the lower-level initializer directly, you can also provide a custom storage backend for temporary Solana data accounts used when submitting large Bitcoin proof payloads.
65
- *
66
- * @packageDocumentation
67
- */
68
- export { SolanaBtcHeader } from "./solana/btcrelay/headers/SolanaBtcHeader";
69
- export { SolanaBtcStoredHeader } from "./solana/btcrelay/headers/SolanaBtcStoredHeader";
70
- export * from "./solana/btcrelay/SolanaBtcRelay";
71
- export * from "./solana/chain/SolanaChainInterface";
72
- export * from "./solana/chain/modules/SolanaFees";
73
- export { SolanaTx, SignedSolanaTx } from "./solana/chain/modules/SolanaTransactions";
74
- export { ConnectionWithRetries } from "./solana/connection/ConnectionWithRetries";
75
- export { SolanaChainEventsBrowser, SolanaEventListenerState } from "./solana/events/SolanaChainEventsBrowser";
76
- export * from "./solana/swaps/SolanaSwapProgram";
77
- export { SolanaSwapData } from "./solana/swaps/SolanaSwapData";
78
- export * from "./solana/wallet/SolanaKeypairWallet";
79
- export * from "./solana/wallet/SolanaSigner";
80
- export * from "./solana/SolanaChainType";
81
- export * from "./solana/SolanaInitializer";
1
+ /**
2
+ * # @atomiqlabs/chain-solana
3
+ *
4
+ * `@atomiqlabs/chain-solana` is the Solana integration package for the Atomiq protocol.
5
+ *
6
+ * Within the Atomiq stack, this library provides the Solana-side building blocks used for Bitcoin-aware swaps on Solana. It includes:
7
+ *
8
+ * - the `SolanaInitializer` used to register Solana support in the Atomiq SDK
9
+ * - the `SolanaChainInterface` used to talk to Solana RPCs
10
+ * - Solana BTC relay and swap program wrappers
11
+ * - signer and wallet helpers for Solana integrations
12
+ * - connection retry and chain event utilities
13
+ *
14
+ * This package is intended for direct protocol integrations and for higher-level Atomiq SDK layers that need Solana chain support.
15
+ *
16
+ * ## Installation
17
+ *
18
+ * Install the package with its `@solana/web3.js` peer dependency:
19
+ *
20
+ * ```bash
21
+ * npm install @atomiqlabs/chain-solana @solana/web3.js
22
+ * ```
23
+ *
24
+ * ## Supported Chains
25
+ *
26
+ * This package exports a single Solana initializer:
27
+ *
28
+ * - Solana via `SolanaInitializer`
29
+ *
30
+ * Canonical deployments currently defined in this package:
31
+ *
32
+ * | Chain | Canonical deployments included |
33
+ * | --- | --- |
34
+ * | Solana | `MAINNET`, `TESTNET` |
35
+ *
36
+ * In this package, the selected Bitcoin network determines which canonical Solana program addresses are used by default. `BitcoinNetwork.TESTNET4` is not wired to a Solana deployment here yet.
37
+ *
38
+ * The Solana implementation doesn't support the UTXO-controlled vault (SPV vault) contract, hence it can only process legacy HTLC & PrTLC based swaps.
39
+ *
40
+ * ## SDK Example
41
+ *
42
+ * Initialize the Atomiq SDK with Solana network support:
43
+ *
44
+ * ```ts
45
+ * import {SolanaInitializerV2} from "@atomiqlabs/chain-solana";
46
+ * import {BitcoinNetwork, SwapperFactory, TypedSwapper} from "@atomiqlabs/sdk";
47
+ *
48
+ * // Define chains that you want to support here
49
+ * const chains = [SolanaInitializerV2] as const;
50
+ * type SupportedChains = typeof chains;
51
+ *
52
+ * const Factory = new SwapperFactory<SupportedChains>(chains);
53
+ *
54
+ * const swapper: TypedSwapper<SupportedChains> = Factory.newSwapper({
55
+ * chains: {
56
+ * SOLANA: {
57
+ * rpcUrl: solanaRpc // You can also pass a web3.js Connection object here
58
+ * }
59
+ * },
60
+ * bitcoinNetwork: BitcoinNetwork.MAINNET // or BitcoinNetwork.TESTNET
61
+ * });
62
+ * ```
63
+ *
64
+ * If you use the lower-level initializer directly, you can also provide a custom storage backend for temporary Solana data accounts used when submitting large Bitcoin proof payloads.
65
+ *
66
+ * @packageDocumentation
67
+ */
68
+ export { SolanaBtcHeader } from "./solana/btcrelay/headers/SolanaBtcHeader";
69
+ export { SolanaBtcStoredHeader } from "./solana/btcrelay/headers/SolanaBtcStoredHeader";
70
+ export * from "./solana/btcrelay/SolanaBtcRelay";
71
+ export * from "./solana/chain/SolanaChainInterface";
72
+ export * from "./solana/chain/modules/SolanaFees";
73
+ export { SolanaTx, SignedSolanaTx } from "./solana/chain/modules/SolanaTransactions";
74
+ export { ConnectionWithRetries } from "./solana/connection/ConnectionWithRetries";
75
+ export { SolanaChainEventsBrowser, SolanaEventListenerState } from "./solana/events/SolanaChainEventsBrowser";
76
+ export * from "./solana/swaps/SolanaSwapProgram";
77
+ export { SolanaSwapData } from "./solana/swaps/SolanaSwapData";
78
+ export * from "./solana/wallet/SolanaKeypairWallet";
79
+ export * from "./solana/wallet/SolanaSigner";
80
+ export * from "./solana/SolanaChainType";
81
+ export * from "./solana/SolanaInitializer";
package/dist/index.js CHANGED
@@ -1,102 +1,102 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SolanaSwapData = exports.SolanaChainEventsBrowser = exports.ConnectionWithRetries = exports.SolanaBtcStoredHeader = exports.SolanaBtcHeader = void 0;
18
- /**
19
- * # @atomiqlabs/chain-solana
20
- *
21
- * `@atomiqlabs/chain-solana` is the Solana integration package for the Atomiq protocol.
22
- *
23
- * Within the Atomiq stack, this library provides the Solana-side building blocks used for Bitcoin-aware swaps on Solana. It includes:
24
- *
25
- * - the `SolanaInitializer` used to register Solana support in the Atomiq SDK
26
- * - the `SolanaChainInterface` used to talk to Solana RPCs
27
- * - Solana BTC relay and swap program wrappers
28
- * - signer and wallet helpers for Solana integrations
29
- * - connection retry and chain event utilities
30
- *
31
- * This package is intended for direct protocol integrations and for higher-level Atomiq SDK layers that need Solana chain support.
32
- *
33
- * ## Installation
34
- *
35
- * Install the package with its `@solana/web3.js` peer dependency:
36
- *
37
- * ```bash
38
- * npm install @atomiqlabs/chain-solana @solana/web3.js
39
- * ```
40
- *
41
- * ## Supported Chains
42
- *
43
- * This package exports a single Solana initializer:
44
- *
45
- * - Solana via `SolanaInitializer`
46
- *
47
- * Canonical deployments currently defined in this package:
48
- *
49
- * | Chain | Canonical deployments included |
50
- * | --- | --- |
51
- * | Solana | `MAINNET`, `TESTNET` |
52
- *
53
- * In this package, the selected Bitcoin network determines which canonical Solana program addresses are used by default. `BitcoinNetwork.TESTNET4` is not wired to a Solana deployment here yet.
54
- *
55
- * The Solana implementation doesn't support the UTXO-controlled vault (SPV vault) contract, hence it can only process legacy HTLC & PrTLC based swaps.
56
- *
57
- * ## SDK Example
58
- *
59
- * Initialize the Atomiq SDK with Solana network support:
60
- *
61
- * ```ts
62
- * import {SolanaInitializerV2} from "@atomiqlabs/chain-solana";
63
- * import {BitcoinNetwork, SwapperFactory, TypedSwapper} from "@atomiqlabs/sdk";
64
- *
65
- * // Define chains that you want to support here
66
- * const chains = [SolanaInitializerV2] as const;
67
- * type SupportedChains = typeof chains;
68
- *
69
- * const Factory = new SwapperFactory<SupportedChains>(chains);
70
- *
71
- * const swapper: TypedSwapper<SupportedChains> = Factory.newSwapper({
72
- * chains: {
73
- * SOLANA: {
74
- * rpcUrl: solanaRpc // You can also pass a web3.js Connection object here
75
- * }
76
- * },
77
- * bitcoinNetwork: BitcoinNetwork.MAINNET // or BitcoinNetwork.TESTNET
78
- * });
79
- * ```
80
- *
81
- * If you use the lower-level initializer directly, you can also provide a custom storage backend for temporary Solana data accounts used when submitting large Bitcoin proof payloads.
82
- *
83
- * @packageDocumentation
84
- */
85
- var SolanaBtcHeader_1 = require("./solana/btcrelay/headers/SolanaBtcHeader");
86
- Object.defineProperty(exports, "SolanaBtcHeader", { enumerable: true, get: function () { return SolanaBtcHeader_1.SolanaBtcHeader; } });
87
- var SolanaBtcStoredHeader_1 = require("./solana/btcrelay/headers/SolanaBtcStoredHeader");
88
- Object.defineProperty(exports, "SolanaBtcStoredHeader", { enumerable: true, get: function () { return SolanaBtcStoredHeader_1.SolanaBtcStoredHeader; } });
89
- __exportStar(require("./solana/btcrelay/SolanaBtcRelay"), exports);
90
- __exportStar(require("./solana/chain/SolanaChainInterface"), exports);
91
- __exportStar(require("./solana/chain/modules/SolanaFees"), exports);
92
- var ConnectionWithRetries_1 = require("./solana/connection/ConnectionWithRetries");
93
- Object.defineProperty(exports, "ConnectionWithRetries", { enumerable: true, get: function () { return ConnectionWithRetries_1.ConnectionWithRetries; } });
94
- var SolanaChainEventsBrowser_1 = require("./solana/events/SolanaChainEventsBrowser");
95
- Object.defineProperty(exports, "SolanaChainEventsBrowser", { enumerable: true, get: function () { return SolanaChainEventsBrowser_1.SolanaChainEventsBrowser; } });
96
- __exportStar(require("./solana/swaps/SolanaSwapProgram"), exports);
97
- var SolanaSwapData_1 = require("./solana/swaps/SolanaSwapData");
98
- Object.defineProperty(exports, "SolanaSwapData", { enumerable: true, get: function () { return SolanaSwapData_1.SolanaSwapData; } });
99
- __exportStar(require("./solana/wallet/SolanaKeypairWallet"), exports);
100
- __exportStar(require("./solana/wallet/SolanaSigner"), exports);
101
- __exportStar(require("./solana/SolanaChainType"), exports);
102
- __exportStar(require("./solana/SolanaInitializer"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.SolanaSwapData = exports.SolanaChainEventsBrowser = exports.ConnectionWithRetries = exports.SolanaBtcStoredHeader = exports.SolanaBtcHeader = void 0;
18
+ /**
19
+ * # @atomiqlabs/chain-solana
20
+ *
21
+ * `@atomiqlabs/chain-solana` is the Solana integration package for the Atomiq protocol.
22
+ *
23
+ * Within the Atomiq stack, this library provides the Solana-side building blocks used for Bitcoin-aware swaps on Solana. It includes:
24
+ *
25
+ * - the `SolanaInitializer` used to register Solana support in the Atomiq SDK
26
+ * - the `SolanaChainInterface` used to talk to Solana RPCs
27
+ * - Solana BTC relay and swap program wrappers
28
+ * - signer and wallet helpers for Solana integrations
29
+ * - connection retry and chain event utilities
30
+ *
31
+ * This package is intended for direct protocol integrations and for higher-level Atomiq SDK layers that need Solana chain support.
32
+ *
33
+ * ## Installation
34
+ *
35
+ * Install the package with its `@solana/web3.js` peer dependency:
36
+ *
37
+ * ```bash
38
+ * npm install @atomiqlabs/chain-solana @solana/web3.js
39
+ * ```
40
+ *
41
+ * ## Supported Chains
42
+ *
43
+ * This package exports a single Solana initializer:
44
+ *
45
+ * - Solana via `SolanaInitializer`
46
+ *
47
+ * Canonical deployments currently defined in this package:
48
+ *
49
+ * | Chain | Canonical deployments included |
50
+ * | --- | --- |
51
+ * | Solana | `MAINNET`, `TESTNET` |
52
+ *
53
+ * In this package, the selected Bitcoin network determines which canonical Solana program addresses are used by default. `BitcoinNetwork.TESTNET4` is not wired to a Solana deployment here yet.
54
+ *
55
+ * The Solana implementation doesn't support the UTXO-controlled vault (SPV vault) contract, hence it can only process legacy HTLC & PrTLC based swaps.
56
+ *
57
+ * ## SDK Example
58
+ *
59
+ * Initialize the Atomiq SDK with Solana network support:
60
+ *
61
+ * ```ts
62
+ * import {SolanaInitializerV2} from "@atomiqlabs/chain-solana";
63
+ * import {BitcoinNetwork, SwapperFactory, TypedSwapper} from "@atomiqlabs/sdk";
64
+ *
65
+ * // Define chains that you want to support here
66
+ * const chains = [SolanaInitializerV2] as const;
67
+ * type SupportedChains = typeof chains;
68
+ *
69
+ * const Factory = new SwapperFactory<SupportedChains>(chains);
70
+ *
71
+ * const swapper: TypedSwapper<SupportedChains> = Factory.newSwapper({
72
+ * chains: {
73
+ * SOLANA: {
74
+ * rpcUrl: solanaRpc // You can also pass a web3.js Connection object here
75
+ * }
76
+ * },
77
+ * bitcoinNetwork: BitcoinNetwork.MAINNET // or BitcoinNetwork.TESTNET
78
+ * });
79
+ * ```
80
+ *
81
+ * If you use the lower-level initializer directly, you can also provide a custom storage backend for temporary Solana data accounts used when submitting large Bitcoin proof payloads.
82
+ *
83
+ * @packageDocumentation
84
+ */
85
+ var SolanaBtcHeader_1 = require("./solana/btcrelay/headers/SolanaBtcHeader");
86
+ Object.defineProperty(exports, "SolanaBtcHeader", { enumerable: true, get: function () { return SolanaBtcHeader_1.SolanaBtcHeader; } });
87
+ var SolanaBtcStoredHeader_1 = require("./solana/btcrelay/headers/SolanaBtcStoredHeader");
88
+ Object.defineProperty(exports, "SolanaBtcStoredHeader", { enumerable: true, get: function () { return SolanaBtcStoredHeader_1.SolanaBtcStoredHeader; } });
89
+ __exportStar(require("./solana/btcrelay/SolanaBtcRelay"), exports);
90
+ __exportStar(require("./solana/chain/SolanaChainInterface"), exports);
91
+ __exportStar(require("./solana/chain/modules/SolanaFees"), exports);
92
+ var ConnectionWithRetries_1 = require("./solana/connection/ConnectionWithRetries");
93
+ Object.defineProperty(exports, "ConnectionWithRetries", { enumerable: true, get: function () { return ConnectionWithRetries_1.ConnectionWithRetries; } });
94
+ var SolanaChainEventsBrowser_1 = require("./solana/events/SolanaChainEventsBrowser");
95
+ Object.defineProperty(exports, "SolanaChainEventsBrowser", { enumerable: true, get: function () { return SolanaChainEventsBrowser_1.SolanaChainEventsBrowser; } });
96
+ __exportStar(require("./solana/swaps/SolanaSwapProgram"), exports);
97
+ var SolanaSwapData_1 = require("./solana/swaps/SolanaSwapData");
98
+ Object.defineProperty(exports, "SolanaSwapData", { enumerable: true, get: function () { return SolanaSwapData_1.SolanaSwapData; } });
99
+ __exportStar(require("./solana/wallet/SolanaKeypairWallet"), exports);
100
+ __exportStar(require("./solana/wallet/SolanaSigner"), exports);
101
+ __exportStar(require("./solana/SolanaChainType"), exports);
102
+ __exportStar(require("./solana/SolanaInitializer"), exports);
@@ -1,9 +1,9 @@
1
- /**
2
- * Node.js-only entrypoint for filesystem-backed Solana helpers.
3
- *
4
- * Import from `@atomiqlabs/chain-solana/node` when you need runtime features
5
- * that depend on Node's `fs` module.
6
- *
7
- * @packageDocumentation
8
- */
9
- export { SolanaChainEvents } from "../solana/events/SolanaChainEvents";
1
+ /**
2
+ * Node.js-only entrypoint for filesystem-backed Solana helpers.
3
+ *
4
+ * Import from `@atomiqlabs/chain-solana/node` when you need runtime features
5
+ * that depend on Node's `fs` module.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export { SolanaChainEvents } from "../solana/events/SolanaChainEvents";
@@ -1,13 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SolanaChainEvents = void 0;
4
- /**
5
- * Node.js-only entrypoint for filesystem-backed Solana helpers.
6
- *
7
- * Import from `@atomiqlabs/chain-solana/node` when you need runtime features
8
- * that depend on Node's `fs` module.
9
- *
10
- * @packageDocumentation
11
- */
12
- var SolanaChainEvents_1 = require("../solana/events/SolanaChainEvents");
13
- Object.defineProperty(exports, "SolanaChainEvents", { enumerable: true, get: function () { return SolanaChainEvents_1.SolanaChainEvents; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SolanaChainEvents = void 0;
4
+ /**
5
+ * Node.js-only entrypoint for filesystem-backed Solana helpers.
6
+ *
7
+ * Import from `@atomiqlabs/chain-solana/node` when you need runtime features
8
+ * that depend on Node's `fs` module.
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ var SolanaChainEvents_1 = require("../solana/events/SolanaChainEvents");
13
+ Object.defineProperty(exports, "SolanaChainEvents", { enumerable: true, get: function () { return SolanaChainEvents_1.SolanaChainEvents; } });
@@ -1,15 +1,15 @@
1
- import { ChainType } from "@atomiqlabs/base";
2
- import { SignedSolanaTx, SolanaTx } from "./chain/modules/SolanaTransactions";
3
- import { SolanaPreFetchData, SolanaPreFetchVerification } from "./swaps/modules/SwapInit";
4
- import { SolanaSigner } from "./wallet/SolanaSigner";
5
- import { SolanaSwapProgram } from "./swaps/SolanaSwapProgram";
6
- import { SolanaSwapData } from "./swaps/SolanaSwapData";
7
- import { SolanaChainEventsBrowser } from "./events/SolanaChainEventsBrowser";
8
- import { SolanaBtcRelay } from "./btcrelay/SolanaBtcRelay";
9
- import { SolanaChainInterface } from "./chain/SolanaChainInterface";
10
- import { Wallet } from "@coral-xyz/anchor/dist/cjs/provider";
11
- /**
12
- * Type definition for the Solana chain implementation
13
- * @category Chain Interface
14
- */
15
- export type SolanaChainType<Version extends "v1" | "v2" = "v1"> = ChainType<"SOLANA", SolanaPreFetchData, SolanaPreFetchVerification, SolanaTx, SignedSolanaTx, SolanaSigner, Wallet, SolanaSwapData, SolanaSwapProgram<Version>, SolanaChainInterface, SolanaChainEventsBrowser, SolanaBtcRelay<any>, never, never, never>;
1
+ import { ChainType } from "@atomiqlabs/base";
2
+ import { SignedSolanaTx, SolanaTx } from "./chain/modules/SolanaTransactions";
3
+ import { SolanaPreFetchData, SolanaPreFetchVerification } from "./swaps/modules/SwapInit";
4
+ import { SolanaSigner } from "./wallet/SolanaSigner";
5
+ import { SolanaSwapProgram } from "./swaps/SolanaSwapProgram";
6
+ import { SolanaSwapData } from "./swaps/SolanaSwapData";
7
+ import { SolanaChainEventsBrowser } from "./events/SolanaChainEventsBrowser";
8
+ import { SolanaBtcRelay } from "./btcrelay/SolanaBtcRelay";
9
+ import { SolanaChainInterface } from "./chain/SolanaChainInterface";
10
+ import { Wallet } from "@coral-xyz/anchor/dist/cjs/provider";
11
+ /**
12
+ * Type definition for the Solana chain implementation
13
+ * @category Chain Interface
14
+ */
15
+ export type SolanaChainType<Version extends "v1" | "v2" = "v1"> = ChainType<"SOLANA", SolanaPreFetchData, SolanaPreFetchVerification, SolanaTx, SignedSolanaTx, SolanaSigner, Wallet, SolanaSwapData, SolanaSwapProgram<Version>, SolanaChainInterface, SolanaChainEventsBrowser, SolanaBtcRelay<any>, never, never, never>;
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,12 +1,12 @@
1
- import { BitcoinNetwork } from "@atomiqlabs/base";
2
- export declare const SolanaChains: {
3
- [key in BitcoinNetwork]?: {
4
- addresses: {
5
- [version in "v1" | "v2"]?: {
6
- swapContract: string;
7
- btcRelayContract: string;
8
- };
9
- };
10
- clusterName: "mainnet-beta" | "devnet" | "testnet";
11
- };
12
- };
1
+ import { BitcoinNetwork } from "@atomiqlabs/base";
2
+ export declare const SolanaChains: {
3
+ [key in BitcoinNetwork]?: {
4
+ addresses: {
5
+ [version in "v1" | "v2"]?: {
6
+ swapContract: string;
7
+ btcRelayContract: string;
8
+ };
9
+ };
10
+ clusterName: "mainnet-beta" | "devnet" | "testnet";
11
+ };
12
+ };
@@ -1,45 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SolanaChains = void 0;
4
- const base_1 = require("@atomiqlabs/base");
5
- exports.SolanaChains = {
6
- [base_1.BitcoinNetwork.TESTNET4]: {
7
- addresses: {
8
- v1: {
9
- swapContract: "7g6iDybm7XiiPidYwQ5DbuCREro39St52Xn7V3NV2EE4",
10
- btcRelayContract: "CBYz9cgBG6v8kF19jhLk46gPRhY858NV1MfngzGzwgdX"
11
- },
12
- v2: {
13
- swapContract: "8YiqJKjuS7zKPYoxdMFsfPpavPYCnu13Yx1CFqgV6o43",
14
- btcRelayContract: "HKKJKW1jWh3DZptNSABZ4iKUvjxYvic4tb3qnqNvBZoF"
15
- }
16
- },
17
- clusterName: "devnet"
18
- },
19
- [base_1.BitcoinNetwork.TESTNET]: {
20
- addresses: {
21
- v1: {
22
- swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
23
- btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
24
- },
25
- v2: {
26
- swapContract: "atq2FYuvww5EF6qeB28gj9tkao6Ld9mEGUzF4M93cCC",
27
- btcRelayContract: "btc2WHkrjoZU9xzFJupDCmMaUTRHyYTzJE25LvEi9Ls"
28
- }
29
- },
30
- clusterName: "devnet"
31
- },
32
- [base_1.BitcoinNetwork.MAINNET]: {
33
- addresses: {
34
- v1: {
35
- swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
36
- btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
37
- },
38
- v2: {
39
- swapContract: "atq2FYuvww5EF6qeB28gj9tkao6Ld9mEGUzF4M93cCC",
40
- btcRelayContract: "btc2WHkrjoZU9xzFJupDCmMaUTRHyYTzJE25LvEi9Ls"
41
- }
42
- },
43
- clusterName: "mainnet-beta"
44
- }
45
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SolanaChains = void 0;
4
+ const base_1 = require("@atomiqlabs/base");
5
+ exports.SolanaChains = {
6
+ [base_1.BitcoinNetwork.TESTNET4]: {
7
+ addresses: {
8
+ v1: {
9
+ swapContract: "7g6iDybm7XiiPidYwQ5DbuCREro39St52Xn7V3NV2EE4",
10
+ btcRelayContract: "CBYz9cgBG6v8kF19jhLk46gPRhY858NV1MfngzGzwgdX"
11
+ },
12
+ v2: {
13
+ swapContract: "8YiqJKjuS7zKPYoxdMFsfPpavPYCnu13Yx1CFqgV6o43",
14
+ btcRelayContract: "HKKJKW1jWh3DZptNSABZ4iKUvjxYvic4tb3qnqNvBZoF"
15
+ }
16
+ },
17
+ clusterName: "devnet"
18
+ },
19
+ [base_1.BitcoinNetwork.TESTNET]: {
20
+ addresses: {
21
+ v1: {
22
+ swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
23
+ btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
24
+ },
25
+ v2: {
26
+ swapContract: "atq2FYuvww5EF6qeB28gj9tkao6Ld9mEGUzF4M93cCC",
27
+ btcRelayContract: "btc2WHkrjoZU9xzFJupDCmMaUTRHyYTzJE25LvEi9Ls"
28
+ }
29
+ },
30
+ clusterName: "devnet"
31
+ },
32
+ [base_1.BitcoinNetwork.MAINNET]: {
33
+ addresses: {
34
+ v1: {
35
+ swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
36
+ btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
37
+ },
38
+ v2: {
39
+ swapContract: "atq2FYuvww5EF6qeB28gj9tkao6Ld9mEGUzF4M93cCC",
40
+ btcRelayContract: "btc2WHkrjoZU9xzFJupDCmMaUTRHyYTzJE25LvEi9Ls"
41
+ }
42
+ },
43
+ clusterName: "mainnet-beta"
44
+ }
45
+ };