@atomiqlabs/chain-solana 12.0.14 → 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 -238
- 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 -270
- 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,25 +1,25 @@
|
|
|
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
|
-
//TODO: Not deployed yet
|
|
7
|
-
[base_1.BitcoinNetwork.TESTNET4]: {
|
|
8
|
-
addresses: {
|
|
9
|
-
swapContract: "11111111111111111111111111111111",
|
|
10
|
-
btcRelayContract: "11111111111111111111111111111111"
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
[base_1.BitcoinNetwork.TESTNET]: {
|
|
14
|
-
addresses: {
|
|
15
|
-
swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
|
|
16
|
-
btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
[base_1.BitcoinNetwork.MAINNET]: {
|
|
20
|
-
addresses: {
|
|
21
|
-
swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
|
|
22
|
-
btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
};
|
|
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
|
+
//TODO: Not deployed yet
|
|
7
|
+
[base_1.BitcoinNetwork.TESTNET4]: {
|
|
8
|
+
addresses: {
|
|
9
|
+
swapContract: "11111111111111111111111111111111",
|
|
10
|
+
btcRelayContract: "11111111111111111111111111111111"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
[base_1.BitcoinNetwork.TESTNET]: {
|
|
14
|
+
addresses: {
|
|
15
|
+
swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
|
|
16
|
+
btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
[base_1.BitcoinNetwork.MAINNET]: {
|
|
20
|
+
addresses: {
|
|
21
|
+
swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
|
|
22
|
+
btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { BaseTokenType, BitcoinNetwork, BitcoinRpc, ChainData, ChainInitializer, IStorageManager, StorageObject } from "@atomiqlabs/base";
|
|
2
|
-
import { Connection } from "@solana/web3.js";
|
|
3
|
-
import { StoredDataAccount } from "./swaps/modules/SolanaDataAccount";
|
|
4
|
-
import { SolanaRetryPolicy } from "./chain/SolanaChainInterface";
|
|
5
|
-
import { SolanaFees } from "./chain/modules/SolanaFees";
|
|
6
|
-
import { SolanaChainType } from "./SolanaChainType";
|
|
7
|
-
export type SolanaAssetsType = BaseTokenType<"WBTC" | "USDC" | "USDT" | "SOL" | "BONK">;
|
|
8
|
-
export type SolanaSwapperOptions = {
|
|
9
|
-
rpcUrl: string | Connection;
|
|
10
|
-
dataAccountStorage?: IStorageManager<StoredDataAccount>;
|
|
11
|
-
retryPolicy?: SolanaRetryPolicy;
|
|
12
|
-
btcRelayContract?: string;
|
|
13
|
-
swapContract?: string;
|
|
14
|
-
fees?: SolanaFees;
|
|
15
|
-
};
|
|
16
|
-
export declare function initializeSolana(options: SolanaSwapperOptions, bitcoinRpc: BitcoinRpc<any>, network: BitcoinNetwork, storageCtor: <T extends StorageObject>(name: string) => IStorageManager<T>): ChainData<SolanaChainType>;
|
|
17
|
-
export type SolanaInitializerType = ChainInitializer<SolanaSwapperOptions, SolanaChainType, SolanaAssetsType>;
|
|
18
|
-
export declare const SolanaInitializer: SolanaInitializerType;
|
|
1
|
+
import { BaseTokenType, BitcoinNetwork, BitcoinRpc, ChainData, ChainInitializer, IStorageManager, StorageObject } from "@atomiqlabs/base";
|
|
2
|
+
import { Connection } from "@solana/web3.js";
|
|
3
|
+
import { StoredDataAccount } from "./swaps/modules/SolanaDataAccount";
|
|
4
|
+
import { SolanaRetryPolicy } from "./chain/SolanaChainInterface";
|
|
5
|
+
import { SolanaFees } from "./chain/modules/SolanaFees";
|
|
6
|
+
import { SolanaChainType } from "./SolanaChainType";
|
|
7
|
+
export type SolanaAssetsType = BaseTokenType<"WBTC" | "USDC" | "USDT" | "SOL" | "BONK">;
|
|
8
|
+
export type SolanaSwapperOptions = {
|
|
9
|
+
rpcUrl: string | Connection;
|
|
10
|
+
dataAccountStorage?: IStorageManager<StoredDataAccount>;
|
|
11
|
+
retryPolicy?: SolanaRetryPolicy;
|
|
12
|
+
btcRelayContract?: string;
|
|
13
|
+
swapContract?: string;
|
|
14
|
+
fees?: SolanaFees;
|
|
15
|
+
};
|
|
16
|
+
export declare function initializeSolana(options: SolanaSwapperOptions, bitcoinRpc: BitcoinRpc<any>, network: BitcoinNetwork, storageCtor: <T extends StorageObject>(name: string) => IStorageManager<T>): ChainData<SolanaChainType>;
|
|
17
|
+
export type SolanaInitializerType = ChainInitializer<SolanaSwapperOptions, SolanaChainType, SolanaAssetsType>;
|
|
18
|
+
export declare const SolanaInitializer: SolanaInitializerType;
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SolanaInitializer = exports.initializeSolana = void 0;
|
|
4
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
-
const SolanaChainInterface_1 = require("./chain/SolanaChainInterface");
|
|
6
|
-
const SolanaFees_1 = require("./chain/modules/SolanaFees");
|
|
7
|
-
const SolanaBtcRelay_1 = require("./btcrelay/SolanaBtcRelay");
|
|
8
|
-
const SolanaChains_1 = require("./SolanaChains");
|
|
9
|
-
const SolanaSwapProgram_1 = require("./swaps/SolanaSwapProgram");
|
|
10
|
-
const SolanaChainEventsBrowser_1 = require("./events/SolanaChainEventsBrowser");
|
|
11
|
-
const SolanaSwapData_1 = require("./swaps/SolanaSwapData");
|
|
12
|
-
const chainId = "SOLANA";
|
|
13
|
-
const SolanaAssets = {
|
|
14
|
-
WBTC: {
|
|
15
|
-
address: "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",
|
|
16
|
-
decimals: 8
|
|
17
|
-
},
|
|
18
|
-
USDC: {
|
|
19
|
-
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
20
|
-
decimals: 6
|
|
21
|
-
},
|
|
22
|
-
USDT: {
|
|
23
|
-
address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
|
|
24
|
-
decimals: 6
|
|
25
|
-
},
|
|
26
|
-
SOL: {
|
|
27
|
-
address: "So11111111111111111111111111111111111111112",
|
|
28
|
-
decimals: 9
|
|
29
|
-
},
|
|
30
|
-
BONK: {
|
|
31
|
-
address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
|
|
32
|
-
decimals: 5
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
function initializeSolana(options, bitcoinRpc, network, storageCtor) {
|
|
36
|
-
const connection = typeof (options.rpcUrl) === "string" ?
|
|
37
|
-
new web3_js_1.Connection(options.rpcUrl) :
|
|
38
|
-
options.rpcUrl;
|
|
39
|
-
const Fees = options.fees ?? new SolanaFees_1.SolanaFees(connection, 200000, 4, 100);
|
|
40
|
-
const chainInterface = new SolanaChainInterface_1.SolanaChainInterface(connection, options.retryPolicy ?? { transactionResendInterval: 1000 }, Fees);
|
|
41
|
-
const btcRelay = new SolanaBtcRelay_1.SolanaBtcRelay(chainInterface, bitcoinRpc, options.btcRelayContract ?? SolanaChains_1.SolanaChains[network].addresses.btcRelayContract);
|
|
42
|
-
const swapContract = new SolanaSwapProgram_1.SolanaSwapProgram(chainInterface, btcRelay, options.dataAccountStorage || storageCtor("solAccounts"), options.swapContract ?? SolanaChains_1.SolanaChains[network].addresses.swapContract);
|
|
43
|
-
const chainEvents = new SolanaChainEventsBrowser_1.SolanaChainEventsBrowser(connection, swapContract);
|
|
44
|
-
return {
|
|
45
|
-
chainId,
|
|
46
|
-
btcRelay,
|
|
47
|
-
swapContract,
|
|
48
|
-
chainEvents,
|
|
49
|
-
swapDataConstructor: SolanaSwapData_1.SolanaSwapData,
|
|
50
|
-
chainInterface,
|
|
51
|
-
spvVaultContract: null,
|
|
52
|
-
spvVaultDataConstructor: null,
|
|
53
|
-
spvVaultWithdrawalDataConstructor: null
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
exports.initializeSolana = initializeSolana;
|
|
57
|
-
exports.SolanaInitializer = {
|
|
58
|
-
chainId,
|
|
59
|
-
chainType: null,
|
|
60
|
-
initializer: initializeSolana,
|
|
61
|
-
tokens: SolanaAssets,
|
|
62
|
-
options: null
|
|
63
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SolanaInitializer = exports.initializeSolana = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const SolanaChainInterface_1 = require("./chain/SolanaChainInterface");
|
|
6
|
+
const SolanaFees_1 = require("./chain/modules/SolanaFees");
|
|
7
|
+
const SolanaBtcRelay_1 = require("./btcrelay/SolanaBtcRelay");
|
|
8
|
+
const SolanaChains_1 = require("./SolanaChains");
|
|
9
|
+
const SolanaSwapProgram_1 = require("./swaps/SolanaSwapProgram");
|
|
10
|
+
const SolanaChainEventsBrowser_1 = require("./events/SolanaChainEventsBrowser");
|
|
11
|
+
const SolanaSwapData_1 = require("./swaps/SolanaSwapData");
|
|
12
|
+
const chainId = "SOLANA";
|
|
13
|
+
const SolanaAssets = {
|
|
14
|
+
WBTC: {
|
|
15
|
+
address: "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",
|
|
16
|
+
decimals: 8
|
|
17
|
+
},
|
|
18
|
+
USDC: {
|
|
19
|
+
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
20
|
+
decimals: 6
|
|
21
|
+
},
|
|
22
|
+
USDT: {
|
|
23
|
+
address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
|
|
24
|
+
decimals: 6
|
|
25
|
+
},
|
|
26
|
+
SOL: {
|
|
27
|
+
address: "So11111111111111111111111111111111111111112",
|
|
28
|
+
decimals: 9
|
|
29
|
+
},
|
|
30
|
+
BONK: {
|
|
31
|
+
address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
|
|
32
|
+
decimals: 5
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
function initializeSolana(options, bitcoinRpc, network, storageCtor) {
|
|
36
|
+
const connection = typeof (options.rpcUrl) === "string" ?
|
|
37
|
+
new web3_js_1.Connection(options.rpcUrl) :
|
|
38
|
+
options.rpcUrl;
|
|
39
|
+
const Fees = options.fees ?? new SolanaFees_1.SolanaFees(connection, 200000, 4, 100);
|
|
40
|
+
const chainInterface = new SolanaChainInterface_1.SolanaChainInterface(connection, options.retryPolicy ?? { transactionResendInterval: 1000 }, Fees);
|
|
41
|
+
const btcRelay = new SolanaBtcRelay_1.SolanaBtcRelay(chainInterface, bitcoinRpc, options.btcRelayContract ?? SolanaChains_1.SolanaChains[network].addresses.btcRelayContract);
|
|
42
|
+
const swapContract = new SolanaSwapProgram_1.SolanaSwapProgram(chainInterface, btcRelay, options.dataAccountStorage || storageCtor("solAccounts"), options.swapContract ?? SolanaChains_1.SolanaChains[network].addresses.swapContract);
|
|
43
|
+
const chainEvents = new SolanaChainEventsBrowser_1.SolanaChainEventsBrowser(connection, swapContract);
|
|
44
|
+
return {
|
|
45
|
+
chainId,
|
|
46
|
+
btcRelay,
|
|
47
|
+
swapContract,
|
|
48
|
+
chainEvents,
|
|
49
|
+
swapDataConstructor: SolanaSwapData_1.SolanaSwapData,
|
|
50
|
+
chainInterface,
|
|
51
|
+
spvVaultContract: null,
|
|
52
|
+
spvVaultDataConstructor: null,
|
|
53
|
+
spvVaultWithdrawalDataConstructor: null
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
exports.initializeSolana = initializeSolana;
|
|
57
|
+
exports.SolanaInitializer = {
|
|
58
|
+
chainId,
|
|
59
|
+
chainType: null,
|
|
60
|
+
initializer: initializeSolana,
|
|
61
|
+
tokens: SolanaAssets,
|
|
62
|
+
options: null
|
|
63
|
+
};
|