@atomiqlabs/sdk 1.0.0-beta2 → 1.0.0-beta20

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,6 +1,7 @@
1
1
  import { BtcToken, SCToken, Swapper, SwapperOptions } from "crosslightning-sdk-base";
2
2
  import { SdkSolanaType } from "./chains/solana/SolanaChainInitializer";
3
3
  import { SdkChain } from "./chains/ChainInitializer";
4
+ import * as BN from "bn.js";
4
5
  import { IStorageManager, StorageObject } from "crosslightning-base";
5
6
  type Chains = {
6
7
  "SOLANA": SdkSolanaType;
@@ -17,16 +18,14 @@ export type MultichainSwapperOptions = SwapperOptions & {
17
18
  };
18
19
  } & {
19
20
  storageCtor?: <T extends StorageObject>(name: string) => IStorageManager<T>;
21
+ pricingFeeDifferencePPM?: BN;
20
22
  };
21
23
  export declare class MultichainSwapper extends Swapper<SdkMultichain> {
22
24
  constructor(options: MultichainSwapperOptions);
23
25
  }
24
26
  export declare const Tokens: {
25
27
  [C in keyof Chains]: {
26
- [T in keyof Chains[C]["Assets"]]: SCToken<Chains[C]["ChainType"]["ChainId"]> & {
27
- name: string;
28
- decimals: number;
29
- };
28
+ [T in keyof Chains[C]["Assets"]]: SCToken<C>;
30
29
  };
31
30
  } & {
32
31
  BITCOIN: {
@@ -36,10 +35,7 @@ export declare const Tokens: {
36
35
  };
37
36
  export declare const TokenResolver: {
38
37
  [C in keyof Chains]: {
39
- getToken(address: string): {
40
- ticker: string;
41
- name: string;
42
- };
38
+ getToken(address: string): SCToken<C>;
43
39
  };
44
40
  };
45
41
  export {};
@@ -11,7 +11,7 @@ const Chains = {
11
11
  };
12
12
  class MultichainSwapper extends crosslightning_sdk_base_1.Swapper {
13
13
  constructor(options) {
14
- var _a, _b, _c, _d;
14
+ var _a, _b, _c, _d, _e;
15
15
  (_a = options.bitcoinNetwork) !== null && _a !== void 0 ? _a : (options.bitcoinNetwork = crosslightning_sdk_base_1.BitcoinNetwork.MAINNET);
16
16
  (_b = options.storagePrefix) !== null && _b !== void 0 ? _b : (options.storagePrefix = "atomiqsdk-" + options.bitcoinNetwork);
17
17
  (_c = options.storageCtor) !== null && _c !== void 0 ? _c : (options.storageCtor = (name) => new crosslightning_sdk_base_1.IndexedDBStorageManager(name));
@@ -29,12 +29,14 @@ class MultichainSwapper extends crosslightning_sdk_base_1.Swapper {
29
29
  if (Chains[chainId].assets[ticker] != null)
30
30
  chains[chainId] = Chains[chainId].assets[ticker];
31
31
  }
32
- pricingAssets.push(Object.assign(Object.assign({}, SmartChainAssets_1.SmartChainAssets[ticker].pricing), { chains }));
32
+ const assetData = SmartChainAssets_1.SmartChainAssets[ticker];
33
+ pricingAssets.push(Object.assign(Object.assign({}, assetData.pricing), { chains,
34
+ ticker, name: assetData.name }));
33
35
  });
34
36
  const ctorChainData = (0, Utils_1.objectMap)(Chains, (value, key) => {
35
37
  return value.getCtorData(options, bitcoinRpc, options.bitcoinNetwork);
36
38
  });
37
- super(bitcoinRpc, ctorChainData, crosslightning_sdk_base_1.RedundantSwapPrice.createFromTokenMap(new BN(10000), pricingAssets), options);
39
+ super(bitcoinRpc, ctorChainData, crosslightning_sdk_base_1.RedundantSwapPrice.createFromTokenMap((_e = options.pricingFeeDifferencePPM) !== null && _e !== void 0 ? _e : new BN(10000), pricingAssets), pricingAssets, options);
38
40
  }
39
41
  }
40
42
  exports.MultichainSwapper = MultichainSwapper;
@@ -45,23 +47,18 @@ exports.Tokens = Object.assign(Object.assign({}, (0, Utils_1.objectMap)(Chains,
45
47
  chainId: value.chainIdentifier,
46
48
  address: assetData.address,
47
49
  name: SmartChainAssets_1.SmartChainAssets[ticker].name,
48
- decimals: assetData.decimals
50
+ decimals: assetData.decimals,
51
+ ticker
49
52
  };
50
53
  });
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) => {
54
+ })), { BITCOIN: crosslightning_sdk_base_1.BitcoinTokens });
55
+ exports.TokenResolver = Object.assign({}, (0, Utils_1.objectMap)(Chains, (value, key) => {
62
56
  const addressMap = {};
63
57
  for (let ticker in value.assets) {
64
58
  addressMap[value.assets[ticker].address] = {
59
+ chain: "SC",
60
+ chainId: value.chainIdentifier,
61
+ address: value.assets[ticker].address,
65
62
  ticker,
66
63
  name: SmartChainAssets_1.SmartChainAssets[ticker].name,
67
64
  decimals: value.assets[ticker].decimals
@@ -70,4 +67,4 @@ exports.TokenResolver = (0, Utils_1.objectMap)(Chains, (value, key) => {
70
67
  return {
71
68
  getToken: (address) => addressMap[address]
72
69
  };
73
- });
70
+ }));
@@ -1,13 +1,15 @@
1
- import { SolanaChainType, SolanaRetryPolicy, StoredDataAccount } from "crosslightning-solana";
1
+ import { SolanaChainType, SolanaFees, SolanaRetryPolicy, StoredDataAccount } from "crosslightning-solana";
2
2
  import { IStorageManager } from "crosslightning-base";
3
+ import { Connection } from "@solana/web3.js";
3
4
  import { SdkChain } from "../ChainInitializer";
4
5
  type SolanaSwapperOptions = {
5
- rpcUrl: string;
6
+ rpcUrl: string | Connection;
6
7
  dataAccountStorage?: IStorageManager<StoredDataAccount>;
7
8
  retryPolicy?: SolanaRetryPolicy;
8
9
  btcRelayContract?: string;
9
10
  swapContract?: string;
10
11
  trustedIntermediary?: string;
12
+ fees?: SolanaFees;
11
13
  };
12
14
  declare const SolanaAssets: {
13
15
  readonly WBTC: {
@@ -7,18 +7,20 @@ const SolanaChains_1 = require("./SolanaChains");
7
7
  const SolanaChainEventsBrowser_1 = require("crosslightning-solana/dist/solana/events/SolanaChainEventsBrowser");
8
8
  const chainId = "SOLANA";
9
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);
10
+ var _a, _b, _c, _d, _e;
11
+ const connection = typeof (options.chains.SOLANA.rpcUrl) === "string" ?
12
+ new web3_js_1.Connection(options.chains.SOLANA.rpcUrl) :
13
+ options.chains.SOLANA.rpcUrl;
14
+ const Fees = (_a = options.chains.SOLANA.fees) !== null && _a !== void 0 ? _a : new crosslightning_solana_1.SolanaFees(connection, 200000, 4, 100);
15
+ const btcRelay = new crosslightning_solana_1.SolanaBtcRelay(connection, bitcoinRpc, (_b = options.chains.SOLANA.btcRelayContract) !== null && _b !== void 0 ? _b : SolanaChains_1.SolanaChains[network].addresses.btcRelayContract, Fees);
16
+ const swapContract = new crosslightning_solana_1.SolanaSwapProgram(connection, btcRelay, options.chains.SOLANA.dataAccountStorage || options.storageCtor("solAccounts"), (_c = options.chains.SOLANA.swapContract) !== null && _c !== void 0 ? _c : SolanaChains_1.SolanaChains[network].addresses.swapContract, (_d = options.chains.SOLANA.retryPolicy) !== null && _d !== void 0 ? _d : { transactionResendInterval: 1000 }, Fees);
15
17
  const chainEvents = new SolanaChainEventsBrowser_1.SolanaChainEventsBrowser(connection, swapContract);
16
18
  return {
17
19
  btcRelay,
18
20
  swapContract,
19
21
  chainEvents,
20
22
  swapDataConstructor: crosslightning_solana_1.SolanaSwapData,
21
- defaultTrustedIntermediaryUrl: (_d = options.chains.SOLANA.trustedIntermediary) !== null && _d !== void 0 ? _d : SolanaChains_1.SolanaChains[network].trustedSwapForGasUrl,
23
+ defaultTrustedIntermediaryUrl: (_e = options.chains.SOLANA.trustedIntermediary) !== null && _e !== void 0 ? _e : SolanaChains_1.SolanaChains[network].trustedSwapForGasUrl,
22
24
  //These are defined here to keep the data from old SolLightning-sdk, not needed for other chains
23
25
  storage: {
24
26
  toBtc: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-ToBTC"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomiqlabs/sdk",
3
- "version": "1.0.0-beta2",
3
+ "version": "1.0.0-beta20",
4
4
  "description": "atomiq labs SDK for cross-chain swaps between smart chains and bitcoin",
5
5
  "main": "./dist/index.js",
6
6
  "types:": "./dist/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  "license": "ISC",
23
23
  "dependencies": {
24
24
  "crosslightning-base": "7.0.0-beta1",
25
- "crosslightning-sdk-base": "10.0.5-beta6",
25
+ "crosslightning-sdk-base": "10.0.5-beta23",
26
26
  "crosslightning-solana": "7.0.0-beta4"
27
27
  },
28
28
  "devDependencies": {
@@ -1,13 +1,13 @@
1
1
  import {
2
- BitcoinNetwork,
3
- BtcToken, IndexedDBStorageManager,
2
+ BitcoinNetwork, BitcoinTokens,
3
+ BtcToken, IndexedDBStorageManager, isToken,
4
4
  MempoolApi,
5
5
  MempoolBitcoinRpc,
6
6
  RedundantSwapPrice,
7
7
  RedundantSwapPriceAssets,
8
8
  SCToken,
9
9
  Swapper,
10
- SwapperOptions
10
+ SwapperOptions, Token
11
11
  } from "crosslightning-sdk-base";
12
12
  import {objectMap} from "crosslightning-sdk-base/dist/utils/Utils";
13
13
  import {SdkSolana, SdkSolanaType} from "./chains/solana/SolanaChainInitializer";
@@ -33,7 +33,8 @@ export type MultichainSwapperOptions = SwapperOptions & {
33
33
  [C in keyof Chains]: Chains[C]["Options"]
34
34
  }
35
35
  } & {
36
- storageCtor?: <T extends StorageObject>(name: string) => IStorageManager<T>
36
+ storageCtor?: <T extends StorageObject>(name: string) => IStorageManager<T>,
37
+ pricingFeeDifferencePPM?: BN
37
38
  };
38
39
 
39
40
  export class MultichainSwapper extends Swapper<SdkMultichain> {
@@ -54,15 +55,18 @@ export class MultichainSwapper extends Swapper<SdkMultichain> {
54
55
  );
55
56
  const bitcoinRpc = new MempoolBitcoinRpc(mempoolApi);
56
57
 
57
- const pricingAssets: RedundantSwapPriceAssets<SdkMultichain> = [];
58
+ const pricingAssets: (RedundantSwapPriceAssets<SdkMultichain>[number] & {ticker: string, name: string})[] = [];
58
59
  Object.keys(SmartChainAssets).forEach((ticker) => {
59
60
  const chains: any = {};
60
61
  for(let chainId in Chains) {
61
62
  if(Chains[chainId].assets[ticker]!=null) chains[chainId] = Chains[chainId].assets[ticker];
62
63
  }
64
+ const assetData = SmartChainAssets[ticker];
63
65
  pricingAssets.push({
64
- ...SmartChainAssets[ticker].pricing,
65
- chains
66
+ ...assetData.pricing,
67
+ chains,
68
+ ticker,
69
+ name: assetData.name
66
70
  })
67
71
  });
68
72
 
@@ -70,14 +74,20 @@ export class MultichainSwapper extends Swapper<SdkMultichain> {
70
74
  return value.getCtorData(options, bitcoinRpc, options.bitcoinNetwork);
71
75
  });
72
76
 
73
- super(bitcoinRpc, ctorChainData, RedundantSwapPrice.createFromTokenMap<SdkMultichain>(new BN(10000), pricingAssets), options);
77
+ super(
78
+ bitcoinRpc,
79
+ ctorChainData,
80
+ RedundantSwapPrice.createFromTokenMap<SdkMultichain>(options.pricingFeeDifferencePPM ?? new BN(10000), pricingAssets),
81
+ pricingAssets,
82
+ options
83
+ );
74
84
  }
75
85
 
76
86
  }
77
87
 
78
88
  export const Tokens: {
79
89
  [C in keyof Chains]: {
80
- [T in keyof Chains[C]["Assets"]]: SCToken<Chains[C]["ChainType"]["ChainId"]> & {name: string, decimals: number}
90
+ [T in keyof Chains[C]["Assets"]]: SCToken<C>
81
91
  }
82
92
  } & {
83
93
  BITCOIN: {
@@ -92,36 +102,33 @@ export const Tokens: {
92
102
  chainId: value.chainIdentifier,
93
103
  address: assetData.address,
94
104
  name: SmartChainAssets[ticker].name,
95
- decimals: assetData.decimals
105
+ decimals: assetData.decimals,
106
+ ticker
96
107
  }
97
108
  });
98
109
  }),
99
- BITCOIN: {
100
- BTC: {
101
- chain: "BTC",
102
- lightning: false
103
- },
104
- BTCLN: {
105
- chain: "BTC",
106
- lightning: true
107
- }
108
- }
110
+ BITCOIN: BitcoinTokens
109
111
  };
110
112
 
111
113
  export const TokenResolver: {
112
114
  [C in keyof Chains]: {
113
- getToken(address: string): {ticker: string, name: string}
115
+ getToken(address: string): SCToken<C>
114
116
  }
115
- } = objectMap(Chains, (value, key) => {
116
- const addressMap: {[tokenAddress: string]: {ticker: string, name: string, decimals: number}} = {};
117
- for(let ticker in value.assets) {
118
- addressMap[value.assets[ticker].address] = {
119
- ticker,
120
- name: SmartChainAssets[ticker].name,
121
- decimals: value.assets[ticker].decimals
117
+ } = {
118
+ ...objectMap(Chains, (value, key) => {
119
+ const addressMap: {[tokenAddress: string]: SCToken} = {};
120
+ for(let ticker in value.assets) {
121
+ addressMap[value.assets[ticker].address] = {
122
+ chain: "SC",
123
+ chainId: value.chainIdentifier,
124
+ address: value.assets[ticker].address,
125
+ ticker,
126
+ name: SmartChainAssets[ticker].name,
127
+ decimals: value.assets[ticker].decimals
128
+ }
122
129
  }
123
- }
124
- return {
125
- getToken: (address: string) => addressMap[address]
126
- };
127
- });
130
+ return {
131
+ getToken: (address: string) => addressMap[address]
132
+ };
133
+ })
134
+ };
@@ -19,20 +19,24 @@ import {MultichainSwapperOptions} from "../../MultichainSwapper";
19
19
  const chainId = "SOLANA" as const;
20
20
 
21
21
  type SolanaSwapperOptions = {
22
- rpcUrl: string,
22
+ rpcUrl: string | Connection,
23
23
  dataAccountStorage?: IStorageManager<StoredDataAccount>,
24
24
  retryPolicy?: SolanaRetryPolicy,
25
25
 
26
26
  btcRelayContract?: string,
27
27
  swapContract?: string,
28
28
 
29
- trustedIntermediary?: string
29
+ trustedIntermediary?: string,
30
+
31
+ fees?: SolanaFees
30
32
  };
31
33
 
32
34
  function getSolanaCtorData(options: MultichainSwapperOptions, bitcoinRpc: BitcoinRpc<any>, network: BitcoinNetwork): CtorChainData<SolanaChainType> {
33
- const connection = new Connection(options.chains.SOLANA.rpcUrl);
35
+ const connection = typeof(options.chains.SOLANA.rpcUrl)==="string" ?
36
+ new Connection(options.chains.SOLANA.rpcUrl) :
37
+ options.chains.SOLANA.rpcUrl;
34
38
 
35
- const Fees = new SolanaFees(connection, 200000, 2, 100);
39
+ const Fees = options.chains.SOLANA.fees ?? new SolanaFees(connection, 200000, 4, 100);
36
40
  const btcRelay = new SolanaBtcRelay(connection, bitcoinRpc, options.chains.SOLANA.btcRelayContract ?? SolanaChains[network].addresses.btcRelayContract, Fees);
37
41
  const swapContract = new SolanaSwapProgram(
38
42
  connection,
@@ -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 });
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdkSolana = void 0;
4
- var crosslightning_solana_1 = require("crosslightning-solana");
5
- var web3_js_1 = require("@solana/web3.js");
6
- var SolanaChains_1 = require("./SolanaChains");
7
- var SolanaChainEventsBrowser_1 = require("crosslightning-solana/dist/solana/events/SolanaChainEventsBrowser");
8
- var chainId = "SOLANA";
9
- function getSolanaCtorData(options, bitcoinRpc, network) {
10
- var _a, _b, _c, _d;
11
- var connection = new web3_js_1.Connection(options.chains.SOLANA.rpcUrl);
12
- var btcRelay = new crosslightning_solana_1.SolanaBtcRelay(connection, bitcoinRpc, (_a = options.chains.SOLANA.btcRelayContract) !== null && _a !== void 0 ? _a : SolanaChains_1.SolanaChains[network].addresses.btcRelayContract);
13
- var 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 }, btcRelay.Fees);
14
- var chainEvents = new SolanaChainEventsBrowser_1.SolanaChainEventsBrowser(connection, swapContract);
15
- return {
16
- btcRelay: btcRelay,
17
- swapContract: swapContract,
18
- chainEvents: chainEvents,
19
- swapDataConstructor: crosslightning_solana_1.SolanaSwapData,
20
- defaultTrustedIntermediaryUrl: (_d = options.chains.SOLANA.trustedIntermediary) !== null && _d !== void 0 ? _d : SolanaChains_1.SolanaChains[network].trustedSwapForGasUrl,
21
- //These are defined here to keep the data from old SolLightning-sdk, not needed for other chains
22
- storage: {
23
- toBtc: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-ToBTC"),
24
- toBtcLn: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-ToBTCLN"),
25
- fromBtc: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-FromBTC"),
26
- fromBtcLn: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-FromBTCLN"),
27
- lnForGas: options.storageCtor("SOLv4-" + options.bitcoinNetwork + "-Swaps-LnForGas")
28
- }
29
- };
30
- }
31
- var SolanaAssets = {
32
- WBTC: {
33
- address: "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",
34
- decimals: 8
35
- },
36
- USDC: {
37
- address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
38
- decimals: 6
39
- },
40
- USDT: {
41
- address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
42
- decimals: 6
43
- },
44
- SOL: {
45
- address: "So11111111111111111111111111111111111111112",
46
- decimals: 9
47
- },
48
- BONK: {
49
- address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
50
- decimals: 5
51
- }
52
- };
53
- exports.SdkSolana = {
54
- getCtorData: getSolanaCtorData,
55
- assets: SolanaAssets,
56
- chainIdentifier: chainId
57
- };
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.SolanaChains = void 0;
5
- var crosslightning_sdk_base_1 = require("crosslightning-sdk-base");
6
- exports.SolanaChains = (_a = {},
7
- _a[crosslightning_sdk_base_1.BitcoinNetwork.TESTNET] = {
8
- addresses: {
9
- swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
10
- btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
11
- },
12
- trustedSwapForGasUrl: "https://node3.gethopa.com:24100"
13
- },
14
- _a[crosslightning_sdk_base_1.BitcoinNetwork.MAINNET] = {
15
- addresses: {
16
- swapContract: "4hfUykhqmD7ZRvNh1HuzVKEY7ToENixtdUKZspNDCrEM",
17
- btcRelayContract: "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
18
- },
19
- trustedSwapForGasUrl: "https://node3.gethopa.com:34100"
20
- },
21
- _a);
package/src/index.js DELETED
@@ -1,17 +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);