@atomiqlabs/sdk 1.0.0-beta3 → 1.0.0-beta5
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atomiqlabs/sdk",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-beta5",
|
|
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-
|
|
25
|
+
"crosslightning-sdk-base": "10.0.5-beta9",
|
|
26
26
|
"crosslightning-solana": "7.0.0-beta4"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
package/src/MultichainSwapper.js
DELETED
|
@@ -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
|
-
});
|
package/src/SmartChainAssets.js
DELETED
|
@@ -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,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);
|