@atomiqlabs/sdk 1.0.0-beta3 → 1.0.0-beta30

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.
@@ -1,18 +1,18 @@
1
- import {BitcoinNetwork} from "crosslightning-sdk-base";
2
-
3
- export const SolanaChains = {
4
- [BitcoinNetwork.TESTNET]: {
5
- addresses: {
6
- swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
7
- btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
8
- },
9
- trustedSwapForGasUrl: "https://node3.gethopa.com:24100"
10
- },
11
- [BitcoinNetwork.MAINNET]: {
12
- addresses: {
13
- swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
14
- btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
15
- },
16
- trustedSwapForGasUrl: "https://node3.gethopa.com:34100"
17
- }
18
- } as const;
1
+ import {BitcoinNetwork} from "crosslightning-sdk-base";
2
+
3
+ export const SolanaChains = {
4
+ [BitcoinNetwork.TESTNET]: {
5
+ addresses: {
6
+ swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
7
+ btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
8
+ },
9
+ trustedSwapForGasUrl: "https://node3.gethopa.com:24100"
10
+ },
11
+ [BitcoinNetwork.MAINNET]: {
12
+ addresses: {
13
+ swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
14
+ btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
15
+ },
16
+ trustedSwapForGasUrl: "https://node3.gethopa.com:34100"
17
+ }
18
+ } as const;
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from "./MultichainSwapper";
2
- export * from "crosslightning-base";
3
- export * from "crosslightning-sdk-base";
4
- export * from "crosslightning-solana";
1
+ export * from "./MultichainSwapper";
2
+ export * from "crosslightning-base";
3
+ export * from "crosslightning-sdk-base";
4
+ export * from "crosslightning-solana";
@@ -1,45 +0,0 @@
1
- import { BtcToken, SCToken, Swapper, SwapperOptions } from "crosslightning-sdk-base";
2
- import { SdkSolanaType } from "./chains/solana/SolanaChainInitializer";
3
- import { SdkChain } from "./chains/ChainInitializer";
4
- import { IStorageManager, StorageObject } from "crosslightning-base";
5
- type Chains = {
6
- "SOLANA": SdkSolanaType;
7
- };
8
- declare const Chains: {
9
- [C in keyof Chains]: SdkChain<Chains[C]>;
10
- };
11
- type SdkMultichain = {
12
- [C in keyof Chains]: Chains[C]["ChainType"];
13
- };
14
- export type MultichainSwapperOptions = SwapperOptions & {
15
- chains: {
16
- [C in keyof Chains]: Chains[C]["Options"];
17
- };
18
- } & {
19
- storageCtor?: <T extends StorageObject>(name: string) => IStorageManager<T>;
20
- };
21
- export declare class MultichainSwapper extends Swapper<SdkMultichain> {
22
- constructor(options: MultichainSwapperOptions);
23
- }
24
- export declare const Tokens: {
25
- [C in keyof Chains]: {
26
- [T in keyof Chains[C]["Assets"]]: SCToken<Chains[C]["ChainType"]["ChainId"]> & {
27
- name: string;
28
- decimals: number;
29
- };
30
- };
31
- } & {
32
- BITCOIN: {
33
- BTC: BtcToken<false>;
34
- BTCLN: BtcToken<true>;
35
- };
36
- };
37
- export declare const TokenResolver: {
38
- [C in keyof Chains]: {
39
- getToken(address: string): {
40
- ticker: string;
41
- name: string;
42
- };
43
- };
44
- };
45
- export {};
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenResolver = exports.Tokens = exports.MultichainSwapper = void 0;
4
- const crosslightning_sdk_base_1 = require("crosslightning-sdk-base");
5
- const Utils_1 = require("crosslightning-sdk-base/dist/utils/Utils");
6
- const SolanaChainInitializer_1 = require("./chains/solana/SolanaChainInitializer");
7
- const BN = require("bn.js");
8
- const SmartChainAssets_1 = require("./SmartChainAssets");
9
- const Chains = {
10
- "SOLANA": SolanaChainInitializer_1.SdkSolana
11
- };
12
- class MultichainSwapper extends crosslightning_sdk_base_1.Swapper {
13
- constructor(options) {
14
- var _a, _b, _c, _d;
15
- (_a = options.bitcoinNetwork) !== null && _a !== void 0 ? _a : (options.bitcoinNetwork = crosslightning_sdk_base_1.BitcoinNetwork.MAINNET);
16
- (_b = options.storagePrefix) !== null && _b !== void 0 ? _b : (options.storagePrefix = "atomiqsdk-" + options.bitcoinNetwork);
17
- (_c = options.storageCtor) !== null && _c !== void 0 ? _c : (options.storageCtor = (name) => new crosslightning_sdk_base_1.IndexedDBStorageManager(name));
18
- (_d = options.registryUrl) !== null && _d !== void 0 ? _d : (options.registryUrl = options.bitcoinNetwork === crosslightning_sdk_base_1.BitcoinNetwork.MAINNET ?
19
- "https://api.github.com/repos/adambor/SolLightning-registry/contents/registry-mainnet.json?ref=main" :
20
- "https://api.github.com/repos/adambor/SolLightning-registry/contents/registry.json?ref=main");
21
- const mempoolApi = new crosslightning_sdk_base_1.MempoolApi(options.bitcoinNetwork === crosslightning_sdk_base_1.BitcoinNetwork.TESTNET ?
22
- "https://mempool.space/testnet/api/" :
23
- "https://mempool.space/api/");
24
- const bitcoinRpc = new crosslightning_sdk_base_1.MempoolBitcoinRpc(mempoolApi);
25
- const pricingAssets = [];
26
- Object.keys(SmartChainAssets_1.SmartChainAssets).forEach((ticker) => {
27
- const chains = {};
28
- for (let chainId in Chains) {
29
- if (Chains[chainId].assets[ticker] != null)
30
- chains[chainId] = Chains[chainId].assets[ticker];
31
- }
32
- pricingAssets.push(Object.assign(Object.assign({}, SmartChainAssets_1.SmartChainAssets[ticker].pricing), { chains }));
33
- });
34
- const ctorChainData = (0, Utils_1.objectMap)(Chains, (value, key) => {
35
- return value.getCtorData(options, bitcoinRpc, options.bitcoinNetwork);
36
- });
37
- super(bitcoinRpc, ctorChainData, crosslightning_sdk_base_1.RedundantSwapPrice.createFromTokenMap(new BN(10000), pricingAssets), options);
38
- }
39
- }
40
- exports.MultichainSwapper = MultichainSwapper;
41
- exports.Tokens = Object.assign(Object.assign({}, (0, Utils_1.objectMap)(Chains, (value, key) => {
42
- return (0, Utils_1.objectMap)(value.assets, (assetData, ticker) => {
43
- return {
44
- chain: "SC",
45
- chainId: value.chainIdentifier,
46
- address: assetData.address,
47
- name: SmartChainAssets_1.SmartChainAssets[ticker].name,
48
- decimals: assetData.decimals
49
- };
50
- });
51
- })), { BITCOIN: {
52
- BTC: {
53
- chain: "BTC",
54
- lightning: false
55
- },
56
- BTCLN: {
57
- chain: "BTC",
58
- lightning: true
59
- }
60
- } });
61
- exports.TokenResolver = (0, Utils_1.objectMap)(Chains, (value, key) => {
62
- const addressMap = {};
63
- for (let ticker in value.assets) {
64
- addressMap[value.assets[ticker].address] = {
65
- ticker,
66
- name: SmartChainAssets_1.SmartChainAssets[ticker].name,
67
- decimals: value.assets[ticker].decimals
68
- };
69
- }
70
- return {
71
- getToken: (address) => addressMap[address]
72
- };
73
- });
@@ -1,54 +0,0 @@
1
- export declare const SmartChainAssets: {
2
- readonly WBTC: {
3
- readonly pricing: {
4
- readonly binancePair: "WBTCBTC";
5
- readonly okxPair: "$fixed-1";
6
- readonly coinGeckoCoinId: "wrapped-bitcoin";
7
- readonly coinPaprikaCoinId: "wbtc-wrapped-bitcoin";
8
- };
9
- readonly name: "Wrapped BTC";
10
- };
11
- readonly USDC: {
12
- readonly pricing: {
13
- readonly binancePair: "!BTCUSDC";
14
- readonly okxPair: "!BTC-USDC";
15
- readonly coinGeckoCoinId: "usd-coin";
16
- readonly coinPaprikaCoinId: "usdc-usd-coin";
17
- };
18
- readonly name: "USD Circle";
19
- };
20
- readonly USDT: {
21
- readonly pricing: {
22
- readonly binancePair: "!BTCUSDT";
23
- readonly okxPair: "!BTC-USDT";
24
- readonly coinGeckoCoinId: "tether";
25
- readonly coinPaprikaCoinId: "usdt-tether";
26
- };
27
- readonly name: "Tether USD";
28
- };
29
- readonly SOL: {
30
- readonly pricing: {
31
- readonly binancePair: "SOLBTC";
32
- readonly okxPair: "SOL-BTC";
33
- readonly coinGeckoCoinId: "solana";
34
- readonly coinPaprikaCoinId: "sol-solana";
35
- };
36
- readonly name: "Solana";
37
- };
38
- readonly BONK: {
39
- readonly pricing: {
40
- readonly binancePair: "BONKUSDC;!BTCUSDC";
41
- readonly okxPair: any;
42
- readonly coinGeckoCoinId: "bonk";
43
- readonly coinPaprikaCoinId: "bonk-bonk";
44
- };
45
- readonly name: "Bonk";
46
- };
47
- };
48
- export type SmartChainAssetTickers = keyof typeof SmartChainAssets;
49
- export type AssetData = {
50
- [ticker in SmartChainAssetTickers]?: {
51
- address: string;
52
- decimals: number;
53
- };
54
- };
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SmartChainAssets = void 0;
4
- exports.SmartChainAssets = {
5
- WBTC: {
6
- pricing: {
7
- binancePair: "WBTCBTC",
8
- okxPair: "$fixed-1",
9
- coinGeckoCoinId: "wrapped-bitcoin",
10
- coinPaprikaCoinId: "wbtc-wrapped-bitcoin"
11
- },
12
- name: "Wrapped BTC"
13
- },
14
- USDC: {
15
- pricing: {
16
- binancePair: "!BTCUSDC",
17
- okxPair: "!BTC-USDC",
18
- coinGeckoCoinId: "usd-coin",
19
- coinPaprikaCoinId: "usdc-usd-coin"
20
- },
21
- name: "USD Circle"
22
- },
23
- USDT: {
24
- pricing: {
25
- binancePair: "!BTCUSDT",
26
- okxPair: "!BTC-USDT",
27
- coinGeckoCoinId: "tether",
28
- coinPaprikaCoinId: "usdt-tether"
29
- },
30
- name: "Tether USD"
31
- },
32
- SOL: {
33
- pricing: {
34
- binancePair: "SOLBTC",
35
- okxPair: "SOL-BTC",
36
- coinGeckoCoinId: "solana",
37
- coinPaprikaCoinId: "sol-solana"
38
- },
39
- name: "Solana"
40
- },
41
- BONK: {
42
- pricing: {
43
- binancePair: "BONKUSDC;!BTCUSDC",
44
- okxPair: null,
45
- coinGeckoCoinId: "bonk",
46
- coinPaprikaCoinId: "bonk-bonk"
47
- },
48
- name: "Bonk"
49
- }
50
- };
@@ -1,13 +0,0 @@
1
- import { BitcoinRpc, ChainType } from "crosslightning-base";
2
- import { BitcoinNetwork, CtorChainData, SwapperOptions } from "crosslightning-sdk-base";
3
- import { AssetData } from "../SmartChainAssets";
4
- export type SdkChainType = {
5
- ChainType: ChainType;
6
- Options: {};
7
- Assets: AssetData;
8
- };
9
- export type SdkChain<T extends SdkChainType> = {
10
- getCtorData: (options: SwapperOptions, bitcoinRpc: BitcoinRpc<any>, network: BitcoinNetwork) => CtorChainData<T["ChainType"]>;
11
- assets: AssetData;
12
- chainIdentifier: string;
13
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,22 +0,0 @@
1
- import { BitcoinRpc, ChainType } from "crosslightning-base";
2
- import { BitcoinNetwork, CtorChainData } from "crosslightning-sdk-base";
3
- export type SdkChainType = {
4
- ChainType: ChainType;
5
- Options: {};
6
- Assets: {
7
- [ticker: string]: {
8
- address: string;
9
- decimals: number;
10
- };
11
- };
12
- };
13
- export type SdkChain<T extends SdkChainType> = {
14
- getCtorData: (options: T["Options"], bitcoinRpc: BitcoinRpc<any>, network: BitcoinNetwork) => CtorChainData<T["ChainType"]>;
15
- assets: {
16
- [ticker: string]: {
17
- address: string;
18
- decimals: number;
19
- };
20
- };
21
- chainIdentifier: string;
22
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,40 +0,0 @@
1
- import { SolanaChainType, SolanaRetryPolicy, StoredDataAccount } from "crosslightning-solana";
2
- import { IStorageManager } from "crosslightning-base";
3
- import { SdkChain } from "../ChainInitializer";
4
- type SolanaSwapperOptions = {
5
- rpcUrl: string;
6
- dataAccountStorage?: IStorageManager<StoredDataAccount>;
7
- retryPolicy?: SolanaRetryPolicy;
8
- btcRelayContract?: string;
9
- swapContract?: string;
10
- trustedIntermediary?: string;
11
- };
12
- declare const SolanaAssets: {
13
- readonly WBTC: {
14
- readonly address: "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh";
15
- readonly decimals: 8;
16
- };
17
- readonly USDC: {
18
- readonly address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
19
- readonly decimals: 6;
20
- };
21
- readonly USDT: {
22
- readonly address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB";
23
- readonly decimals: 6;
24
- };
25
- readonly SOL: {
26
- readonly address: "So11111111111111111111111111111111111111112";
27
- readonly decimals: 9;
28
- };
29
- readonly BONK: {
30
- readonly address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263";
31
- readonly decimals: 5;
32
- };
33
- };
34
- export type SdkSolanaType = {
35
- ChainType: SolanaChainType;
36
- Options: SolanaSwapperOptions;
37
- Assets: typeof SolanaAssets;
38
- };
39
- export declare const SdkSolana: SdkChain<SdkSolanaType>;
40
- export {};
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdkSolana = void 0;
4
- const crosslightning_solana_1 = require("crosslightning-solana");
5
- const web3_js_1 = require("@solana/web3.js");
6
- const SolanaChains_1 = require("./SolanaChains");
7
- const SolanaChainEventsBrowser_1 = require("crosslightning-solana/dist/solana/events/SolanaChainEventsBrowser");
8
- const chainId = "SOLANA";
9
- function getSolanaCtorData(options, bitcoinRpc, network) {
10
- var _a, _b, _c, _d;
11
- const connection = new web3_js_1.Connection(options.chains.SOLANA.rpcUrl);
12
- const Fees = new crosslightning_solana_1.SolanaFees(connection, 200000, 2, 100);
13
- const btcRelay = new crosslightning_solana_1.SolanaBtcRelay(connection, bitcoinRpc, (_a = options.chains.SOLANA.btcRelayContract) !== null && _a !== void 0 ? _a : SolanaChains_1.SolanaChains[network].addresses.btcRelayContract, Fees);
14
- const swapContract = new crosslightning_solana_1.SolanaSwapProgram(connection, btcRelay, options.chains.SOLANA.dataAccountStorage || options.storageCtor("solAccounts"), (_b = options.chains.SOLANA.swapContract) !== null && _b !== void 0 ? _b : SolanaChains_1.SolanaChains[network].addresses.swapContract, (_c = options.chains.SOLANA.retryPolicy) !== null && _c !== void 0 ? _c : { transactionResendInterval: 1000 }, Fees);
15
- const chainEvents = new SolanaChainEventsBrowser_1.SolanaChainEventsBrowser(connection, swapContract);
16
- return {
17
- btcRelay,
18
- swapContract,
19
- chainEvents,
20
- swapDataConstructor: crosslightning_solana_1.SolanaSwapData,
21
- defaultTrustedIntermediaryUrl: (_d = options.chains.SOLANA.trustedIntermediary) !== null && _d !== void 0 ? _d : SolanaChains_1.SolanaChains[network].trustedSwapForGasUrl,
22
- //These are defined here to keep the data from old SolLightning-sdk, not needed for other chains
23
- storage: {
24
- toBtc: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-ToBTC"),
25
- toBtcLn: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-ToBTCLN"),
26
- fromBtc: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-FromBTC"),
27
- fromBtcLn: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-FromBTCLN"),
28
- lnForGas: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-LnForGas")
29
- }
30
- };
31
- }
32
- const SolanaAssets = {
33
- WBTC: {
34
- address: "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",
35
- decimals: 8
36
- },
37
- USDC: {
38
- address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
39
- decimals: 6
40
- },
41
- USDT: {
42
- address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
43
- decimals: 6
44
- },
45
- SOL: {
46
- address: "So11111111111111111111111111111111111111112",
47
- decimals: 9
48
- },
49
- BONK: {
50
- address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
51
- decimals: 5
52
- }
53
- };
54
- exports.SdkSolana = {
55
- getCtorData: getSolanaCtorData,
56
- assets: SolanaAssets,
57
- chainIdentifier: chainId
58
- };
@@ -1,16 +0,0 @@
1
- export declare const SolanaChains: {
2
- readonly 1: {
3
- readonly addresses: {
4
- readonly swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM";
5
- readonly btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc";
6
- };
7
- readonly trustedSwapForGasUrl: "https://node3.gethopa.com:24100";
8
- };
9
- readonly 0: {
10
- readonly addresses: {
11
- readonly swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM";
12
- readonly btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc";
13
- };
14
- readonly trustedSwapForGasUrl: "https://node3.gethopa.com:34100";
15
- };
16
- };
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SolanaChains = void 0;
4
- const crosslightning_sdk_base_1 = require("crosslightning-sdk-base");
5
- exports.SolanaChains = {
6
- [crosslightning_sdk_base_1.BitcoinNetwork.TESTNET]: {
7
- addresses: {
8
- swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
9
- btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
10
- },
11
- trustedSwapForGasUrl: "https://node3.gethopa.com:24100"
12
- },
13
- [crosslightning_sdk_base_1.BitcoinNetwork.MAINNET]: {
14
- addresses: {
15
- swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
16
- btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
17
- },
18
- trustedSwapForGasUrl: "https://node3.gethopa.com:34100"
19
- }
20
- };
package/dist/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from "./MultichainSwapper";
2
- export * from "crosslightning-base";
3
- export * from "crosslightning-sdk-base";
4
- export * from "crosslightning-solana";
package/dist/index.js DELETED
@@ -1,20 +0,0 @@
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
- __exportStar(require("./MultichainSwapper"), exports);
18
- __exportStar(require("crosslightning-base"), exports);
19
- __exportStar(require("crosslightning-sdk-base"), exports);
20
- __exportStar(require("crosslightning-solana"), exports);
@@ -1,101 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.TokenResolver = exports.Tokens = exports.MultichainSwapper = void 0;
30
- var crosslightning_sdk_base_1 = require("crosslightning-sdk-base");
31
- var Utils_1 = require("crosslightning-sdk-base/dist/utils/Utils");
32
- var SolanaChainInitializer_1 = require("./chains/solana/SolanaChainInitializer");
33
- var BN = require("bn.js");
34
- var SmartChainAssets_1 = require("./SmartChainAssets");
35
- var Chains = {
36
- "SOLANA": SolanaChainInitializer_1.SdkSolana
37
- };
38
- var MultichainSwapper = /** @class */ (function (_super) {
39
- __extends(MultichainSwapper, _super);
40
- function MultichainSwapper(options) {
41
- var _a, _b, _c, _d;
42
- (_a = options.bitcoinNetwork) !== null && _a !== void 0 ? _a : (options.bitcoinNetwork = crosslightning_sdk_base_1.BitcoinNetwork.MAINNET);
43
- (_b = options.storagePrefix) !== null && _b !== void 0 ? _b : (options.storagePrefix = "atomiqsdk-" + options.bitcoinNetwork);
44
- (_c = options.storageCtor) !== null && _c !== void 0 ? _c : (options.storageCtor = function (name) { return new crosslightning_sdk_base_1.IndexedDBStorageManager(name); });
45
- (_d = options.registryUrl) !== null && _d !== void 0 ? _d : (options.registryUrl = options.bitcoinNetwork === crosslightning_sdk_base_1.BitcoinNetwork.MAINNET ?
46
- "https://api.github.com/repos/adambor/SolLightning-registry/contents/registry-mainnet.json?ref=main" :
47
- "https://api.github.com/repos/adambor/SolLightning-registry/contents/registry.json?ref=main");
48
- var mempoolApi = new crosslightning_sdk_base_1.MempoolApi(options.bitcoinNetwork === crosslightning_sdk_base_1.BitcoinNetwork.TESTNET ?
49
- "https://mempool.space/testnet/api/" :
50
- "https://mempool.space/api/");
51
- var bitcoinRpc = new crosslightning_sdk_base_1.MempoolBitcoinRpc(mempoolApi);
52
- var pricingAssets = [];
53
- Object.keys(SmartChainAssets_1.SmartChainAssets).forEach(function (ticker) {
54
- var chains = {};
55
- for (var chainId in Chains) {
56
- if (Chains[chainId].assets[ticker] != null)
57
- chains[chainId] = Chains[chainId].assets[ticker];
58
- }
59
- pricingAssets.push(__assign(__assign({}, SmartChainAssets_1.SmartChainAssets[ticker].pricing), { chains: chains }));
60
- });
61
- var ctorChainData = (0, Utils_1.objectMap)(Chains, function (value, key) {
62
- return value.getCtorData(options, bitcoinRpc, options.bitcoinNetwork);
63
- });
64
- return _super.call(this, bitcoinRpc, ctorChainData, crosslightning_sdk_base_1.RedundantSwapPrice.createFromTokenMap(new BN(10000), pricingAssets), options) || this;
65
- }
66
- return MultichainSwapper;
67
- }(crosslightning_sdk_base_1.Swapper));
68
- exports.MultichainSwapper = MultichainSwapper;
69
- exports.Tokens = __assign(__assign({}, (0, Utils_1.objectMap)(Chains, function (value, key) {
70
- return (0, Utils_1.objectMap)(value.assets, function (assetData, ticker) {
71
- return {
72
- chain: "SC",
73
- chainId: value.chainIdentifier,
74
- address: assetData.address,
75
- name: SmartChainAssets_1.SmartChainAssets[ticker].name,
76
- decimals: assetData.decimals
77
- };
78
- });
79
- })), { BITCOIN: {
80
- BTC: {
81
- chain: "BTC",
82
- lightning: false
83
- },
84
- BTCLN: {
85
- chain: "BTC",
86
- lightning: true
87
- }
88
- } });
89
- exports.TokenResolver = (0, Utils_1.objectMap)(Chains, function (value, key) {
90
- var addressMap = {};
91
- for (var ticker in value.assets) {
92
- addressMap[value.assets[ticker].address] = {
93
- ticker: ticker,
94
- name: SmartChainAssets_1.SmartChainAssets[ticker].name,
95
- decimals: value.assets[ticker].decimals
96
- };
97
- }
98
- return {
99
- getToken: function (address) { return addressMap[address]; }
100
- };
101
- });
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SmartChainAssets = void 0;
4
- exports.SmartChainAssets = {
5
- WBTC: {
6
- pricing: {
7
- binancePair: "WBTCBTC",
8
- okxPair: "$fixed-1",
9
- coinGeckoCoinId: "wrapped-bitcoin",
10
- coinPaprikaCoinId: "wbtc-wrapped-bitcoin"
11
- },
12
- name: "Wrapped BTC"
13
- },
14
- USDC: {
15
- pricing: {
16
- binancePair: "!BTCUSDC",
17
- okxPair: "!BTC-USDC",
18
- coinGeckoCoinId: "usd-coin",
19
- coinPaprikaCoinId: "usdc-usd-coin"
20
- },
21
- name: "USD Circle"
22
- },
23
- USDT: {
24
- pricing: {
25
- binancePair: "!BTCUSDT",
26
- okxPair: "!BTC-USDT",
27
- coinGeckoCoinId: "tether",
28
- coinPaprikaCoinId: "usdt-tether"
29
- },
30
- name: "Tether USD"
31
- },
32
- SOL: {
33
- pricing: {
34
- binancePair: "SOLBTC",
35
- okxPair: "SOL-BTC",
36
- coinGeckoCoinId: "solana",
37
- coinPaprikaCoinId: "sol-solana"
38
- },
39
- name: "Solana"
40
- },
41
- BONK: {
42
- pricing: {
43
- binancePair: "BONKUSDC;!BTCUSDC",
44
- okxPair: null,
45
- coinGeckoCoinId: "bonk",
46
- coinPaprikaCoinId: "bonk-bonk"
47
- },
48
- name: "Bonk"
49
- }
50
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });