@openocean.finance/openocean-sdk 0.1.56 → 0.1.59
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/lib/api/index.js +0 -3
- package/lib/config/Chains.js +4 -0
- package/lib/config/Wallets.d.ts +2 -1
- package/lib/config/Wallets.js +2 -0
- package/lib/index.js +1 -0
- package/lib/swapSdk/Approve.js +0 -13
- package/lib/swapSdk/ConnectWallet.js +4 -8
- package/lib/swapSdk/NotoMobile.js +0 -6
- package/lib/swapSdk/Swap.js +1 -10
- package/lib/swapSdk/getBalance.js +0 -1
- package/lib/swapSdk/index.js +0 -11
- package/lib/utils/index.js +0 -1
- package/package.json +2 -2
- package/lib/swapSdk/jupiterDex.d.ts +0 -1
- package/lib/swapSdk/jupiterDex.js +0 -97
package/lib/api/index.js
CHANGED
|
@@ -19,11 +19,9 @@ var Api = /** @class */ (function () {
|
|
|
19
19
|
if (baseUrl)
|
|
20
20
|
this.baseUrl = baseUrl;
|
|
21
21
|
}
|
|
22
|
-
// 获取nft contract 列表
|
|
23
22
|
Api.prototype.collections = function (option) {
|
|
24
23
|
return (0, ajx_1.get)("".concat(this.baseUrlNft, "/").concat(option.chain, "/").concat(option.market, "/collections"), option, RequestVo_1.CollectionsVo);
|
|
25
24
|
};
|
|
26
|
-
// 获取nft contract 列表
|
|
27
25
|
Api.prototype.assets = function (option) {
|
|
28
26
|
return (0, ajx_1.get)("".concat(this.baseUrlNft, "/").concat(option.chain, "/").concat(option.market, "/assets"), option, RequestVo_1.AssetsVo);
|
|
29
27
|
};
|
|
@@ -36,7 +34,6 @@ var Api = /** @class */ (function () {
|
|
|
36
34
|
Api.prototype.sign = function (option) {
|
|
37
35
|
return (0, ajx_1.post)("".concat(this.baseUrlNft, "/").concat(option.chain, "/").concat(option.market, "/sign"), option, RequestVo_1.NftSignVo);
|
|
38
36
|
};
|
|
39
|
-
// nft---------------------end----
|
|
40
37
|
Api.prototype.quote = function (option) {
|
|
41
38
|
return (0, ajx_1.get)("".concat(this.baseUrl, "/").concat(option.chain, "/quote"), option, RequestVo_1.ReqQuoteVo);
|
|
42
39
|
};
|
package/lib/config/Chains.js
CHANGED
|
@@ -50,6 +50,10 @@ var chainObj = {
|
|
|
50
50
|
compiler: 'SOL',
|
|
51
51
|
chainName: "Solana Mainnet", blockExplorerUrl: "https://solscan.io/tx/", popularToken: ["SOL", "SNY", "USDT", "USDC", "RAY", "STEP"], rpcUrls: null
|
|
52
52
|
},
|
|
53
|
+
"flow": {
|
|
54
|
+
compiler: 'FLOW',
|
|
55
|
+
chainName: "Flow Mainnet", blockExplorerUrl: "https://flowscan.org/transaction/", popularToken: ["SOL", "SNY", "USDT", "USDC", "RAY", "STEP"], rpcUrls: null
|
|
56
|
+
},
|
|
53
57
|
"polygon": {
|
|
54
58
|
compiler: 'EVM',
|
|
55
59
|
chainName: "Polygon Mainnet", chainId: 137, blockExplorerUrl: "https://polygonscan.com/tx/", popularToken: ["USDT", "USDC", "MATIC", "AAVE", "DINO", "ADDY", "MIMATIC"], nativeCurrency: { name: "MATIC", symbol: "matic", decimals: 18, address: "0x0000000000000000000000000000000000001010" }, rpcUrls: ["https://rpc-mainnet.maticvigil.com"]
|
package/lib/config/Wallets.d.ts
CHANGED
package/lib/config/Wallets.js
CHANGED
|
@@ -31,6 +31,7 @@ var WalletNames;
|
|
|
31
31
|
WalletNames[WalletNames["MetaXWallet"] = 24] = "MetaXWallet";
|
|
32
32
|
WalletNames[WalletNames["SlopeWallet"] = 25] = "SlopeWallet";
|
|
33
33
|
WalletNames[WalletNames["KeplrWallet"] = 26] = "KeplrWallet";
|
|
34
|
+
WalletNames[WalletNames["BloctoWallet"] = 27] = "BloctoWallet";
|
|
34
35
|
})(WalletNames = exports.WalletNames || (exports.WalletNames = {}));
|
|
35
36
|
var WalletObj = {
|
|
36
37
|
MetaMask: new wallet_1.MetaMask(),
|
|
@@ -60,6 +61,7 @@ var WalletObj = {
|
|
|
60
61
|
GnosisSafeWallet: new wallet_1.GnosisSafeWallet(),
|
|
61
62
|
SlopeWallet: new wallet_1.SlopeWallet(),
|
|
62
63
|
KeplrWallet: new wallet_1.KeplrWallet(),
|
|
64
|
+
BloctoWallet: new wallet_1.BloctoWallet()
|
|
63
65
|
};
|
|
64
66
|
var Wallets = /** @class */ (function () {
|
|
65
67
|
function Wallets() {
|
package/lib/index.js
CHANGED
package/lib/swapSdk/Approve.js
CHANGED
|
@@ -135,44 +135,34 @@ var Approve = /** @class */ (function () {
|
|
|
135
135
|
case 11:
|
|
136
136
|
json = {
|
|
137
137
|
from: address,
|
|
138
|
-
// gas: gasAmount
|
|
139
138
|
};
|
|
140
139
|
if (reqApproveVo.gasPrice) {
|
|
141
140
|
json.gasPrice = reqApproveVo.gasPrice;
|
|
142
141
|
}
|
|
143
|
-
console.log('准备授权');
|
|
144
142
|
try {
|
|
145
143
|
this.contract.methods.approve(this.contractAddress, this.amount)
|
|
146
144
|
.send(json, function (err, data) {
|
|
147
145
|
if (err) {
|
|
148
|
-
console.log('回调1error');
|
|
149
146
|
}
|
|
150
147
|
else {
|
|
151
|
-
console.log('data1----');
|
|
152
148
|
}
|
|
153
149
|
})
|
|
154
150
|
.on('error', function (error) {
|
|
155
|
-
console.log('回调2error');
|
|
156
151
|
_this.errorCallback(error);
|
|
157
152
|
})
|
|
158
153
|
.on('transactionHash', function (transactionHash) {
|
|
159
|
-
console.log('hash----');
|
|
160
154
|
_this.transactionHashCallback(transactionHash);
|
|
161
155
|
})
|
|
162
156
|
.on('receipt', function (receipt) {
|
|
163
|
-
console.log('receipt1----');
|
|
164
157
|
_this.receiptCallback(receipt);
|
|
165
158
|
_this.getSuccess();
|
|
166
159
|
})
|
|
167
160
|
.then(function (receipt) {
|
|
168
|
-
console.log('receipt2----');
|
|
169
161
|
})
|
|
170
162
|
.catch(function (err) {
|
|
171
|
-
console.log('catch----' + err);
|
|
172
163
|
});
|
|
173
164
|
}
|
|
174
165
|
catch (error) {
|
|
175
|
-
console.log('catch-error----');
|
|
176
166
|
this.errorCallback(error);
|
|
177
167
|
}
|
|
178
168
|
_b.label = 12;
|
|
@@ -183,7 +173,6 @@ var Approve = /** @class */ (function () {
|
|
|
183
173
|
};
|
|
184
174
|
Approve.prototype.on = function (events, callback) {
|
|
185
175
|
if (events === 'error') {
|
|
186
|
-
// alert('成功绑定回调方法')
|
|
187
176
|
this.errorCallback = callback;
|
|
188
177
|
}
|
|
189
178
|
else if (events === 'transactionHash') {
|
|
@@ -206,8 +195,6 @@ var Approve = /** @class */ (function () {
|
|
|
206
195
|
case 0: return [4 /*yield*/, this.contract.methods.allowance(this.account, this.contractAddress).call()];
|
|
207
196
|
case 1:
|
|
208
197
|
balance = _a.sent();
|
|
209
|
-
// const decimals = await this.contract.methods.decimals().call()
|
|
210
|
-
// Number(formatUnits(balance, decimals))
|
|
211
198
|
this.key++;
|
|
212
199
|
if (this.key > 20)
|
|
213
200
|
return [2 /*return*/];
|
|
@@ -61,12 +61,10 @@ var ConnectWallet = /** @class */ (function () {
|
|
|
61
61
|
wallet.chainId = chainId;
|
|
62
62
|
return [2 /*return*/, true];
|
|
63
63
|
case 2:
|
|
64
|
-
if (!(key <
|
|
64
|
+
if (!(key < 3)) return [3 /*break*/, 4];
|
|
65
65
|
return [4 /*yield*/, this.isChainIdEq(wallet, chainId, utilsEht, key + 1)];
|
|
66
|
-
case 3:
|
|
67
|
-
|
|
68
|
-
return [2 /*return*/, _a.sent()];
|
|
69
|
-
case 4: throw new Error('Link error.');
|
|
66
|
+
case 3: return [2 /*return*/, _a.sent()];
|
|
67
|
+
case 4: throw new Error('User rejected the request.');
|
|
70
68
|
}
|
|
71
69
|
});
|
|
72
70
|
});
|
|
@@ -90,9 +88,7 @@ var ConnectWallet = /** @class */ (function () {
|
|
|
90
88
|
_c.trys.push([1, 23, , 27]);
|
|
91
89
|
if (!(wallet.type === 'WalletConnect')) return [3 /*break*/, 3];
|
|
92
90
|
wallet.infuraId = '2c7c4d86c2c746c89de722551b606119';
|
|
93
|
-
return [4 /*yield*/, wallet.requestConnect(chainId)
|
|
94
|
-
// this.connect(wallet);
|
|
95
|
-
];
|
|
91
|
+
return [4 /*yield*/, wallet.requestConnect(chainId)];
|
|
96
92
|
case 2:
|
|
97
93
|
_c.sent();
|
|
98
94
|
return [3 /*break*/, 22];
|
|
@@ -25,10 +25,6 @@ var NotoMobile = /** @class */ (function () {
|
|
|
25
25
|
_this.close('success', action, account);
|
|
26
26
|
_this.cancel();
|
|
27
27
|
}
|
|
28
|
-
// else if (state === '1') {
|
|
29
|
-
// this.close('error', action, account)
|
|
30
|
-
// this.cancel()
|
|
31
|
-
// }
|
|
32
28
|
else {
|
|
33
29
|
_this.time++;
|
|
34
30
|
if (_this.time > 120) {
|
|
@@ -75,10 +71,8 @@ var NotoMobile = /** @class */ (function () {
|
|
|
75
71
|
};
|
|
76
72
|
NotoMobile.prototype.show = function () {
|
|
77
73
|
var _this = this;
|
|
78
|
-
// 获取整个页面的宽和高
|
|
79
74
|
var page_width = document.documentElement.scrollWidth;
|
|
80
75
|
var page_height = document.documentElement.scrollHeight;
|
|
81
|
-
// 获取浏览器的宽和高
|
|
82
76
|
var b_width = document.documentElement.clientWidth;
|
|
83
77
|
var b_height = document.documentElement.clientHeight;
|
|
84
78
|
this.mask = document.createElement("div");
|
package/lib/swapSdk/Swap.js
CHANGED
|
@@ -44,7 +44,6 @@ var Chains_1 = require("../config/Chains");
|
|
|
44
44
|
var web3_js_1 = require("@solana/web3.js");
|
|
45
45
|
var terra_js_1 = require("@terra-money/terra.js");
|
|
46
46
|
var ontology_ts_sdk_1 = require("ontology-ts-sdk");
|
|
47
|
-
// import { jupiterDex } from "./jupiterDex";
|
|
48
47
|
var ontology_dapi_1 = require("@ont-dev/ontology-dapi");
|
|
49
48
|
var NotoMobile_1 = require("./NotoMobile");
|
|
50
49
|
var axios = require('axios');
|
|
@@ -60,10 +59,6 @@ var Swap = /** @class */ (function () {
|
|
|
60
59
|
this.res = res;
|
|
61
60
|
this.wallet = wallet;
|
|
62
61
|
this.chain = chain;
|
|
63
|
-
// this.isNew = isNew || false
|
|
64
|
-
// if (!isNew && chains.getIsNewChain().indexOf(chain.key) !== -1) {
|
|
65
|
-
// this.isNew = true
|
|
66
|
-
// }
|
|
67
62
|
}
|
|
68
63
|
Swap.prototype.send = function () {
|
|
69
64
|
var _this = this;
|
|
@@ -183,7 +178,6 @@ var Swap = /** @class */ (function () {
|
|
|
183
178
|
transaction.recentBlockhash = recentBlock_1.blockhash;
|
|
184
179
|
return transaction;
|
|
185
180
|
});
|
|
186
|
-
console.log('总共(sendRawTransaction)次数:' + list.length + '----------');
|
|
187
181
|
return [4 /*yield*/, this.wallet.sdk.signAllTransactions(transactions)];
|
|
188
182
|
case 3: return [4 /*yield*/, _c.sent()];
|
|
189
183
|
case 4:
|
|
@@ -195,18 +189,15 @@ var Swap = /** @class */ (function () {
|
|
|
195
189
|
if (!(_i < transactions_1.length)) return [3 /*break*/, 10];
|
|
196
190
|
transaction_1 = transactions_1[_i];
|
|
197
191
|
i++;
|
|
198
|
-
console.log(i + '----------');
|
|
199
192
|
return [4 /*yield*/, this.wallet.connection.sendRawTransaction(transaction_1.serialize({ requireAllSignatures: false }))];
|
|
200
193
|
case 6:
|
|
201
194
|
txid = _c.sent();
|
|
202
|
-
console.log("https://solscan.io/tx/".concat(txid));
|
|
203
195
|
if (!(i < list.length)) return [3 /*break*/, 8];
|
|
204
196
|
return [4 /*yield*/, this.wallet.connection.confirmTransaction(txid)];
|
|
205
197
|
case 7:
|
|
206
198
|
_c.sent();
|
|
207
199
|
return [3 /*break*/, 9];
|
|
208
200
|
case 8:
|
|
209
|
-
console.log('完成交易----------');
|
|
210
201
|
this.transactionHashCallback(txid);
|
|
211
202
|
_c.label = 9;
|
|
212
203
|
case 9:
|
|
@@ -424,7 +415,7 @@ var Swap = /** @class */ (function () {
|
|
|
424
415
|
swapParams.maxPriorityFeePerGas = +maxPriorityFeePerGas;
|
|
425
416
|
}
|
|
426
417
|
}
|
|
427
|
-
else {
|
|
418
|
+
else if (gasPrice) {
|
|
428
419
|
swapParams.gasPrice = +gasPrice;
|
|
429
420
|
}
|
|
430
421
|
this.wallet.sdk.eth.sendTransaction(swapParams)
|
|
@@ -201,7 +201,6 @@ function getBalance(account, tokenAddressOrSymbol, decimals, chainName, myWallet
|
|
|
201
201
|
contract = new myWallet.sdk.eth.Contract(config_1.ERC20_abi, tokenAddressOrSymbol);
|
|
202
202
|
return [4 /*yield*/, contract.methods.balanceOf(account).call()];
|
|
203
203
|
case 28:
|
|
204
|
-
// 查看某个账号的代币余额
|
|
205
204
|
balance = _c.sent();
|
|
206
205
|
return [3 /*break*/, 30];
|
|
207
206
|
case 29:
|
package/lib/swapSdk/index.js
CHANGED
|
@@ -81,10 +81,6 @@ var SwapSdk = /** @class */ (function () {
|
|
|
81
81
|
}, 200);
|
|
82
82
|
return swap;
|
|
83
83
|
};
|
|
84
|
-
// public swapLocal(swapData: any) {
|
|
85
|
-
// let swap = new Swap(swapData, this.wallet, this.chain, true)
|
|
86
|
-
// return swap.send()
|
|
87
|
-
// }
|
|
88
84
|
SwapSdk.prototype.fastSwap = function (swapData) {
|
|
89
85
|
var _this = this;
|
|
90
86
|
return new Promise(function (resolve, reject) {
|
|
@@ -93,13 +89,6 @@ var SwapSdk = /** @class */ (function () {
|
|
|
93
89
|
.on('error', reject);
|
|
94
90
|
});
|
|
95
91
|
};
|
|
96
|
-
// public fastSwapLocal(swapData: any) {
|
|
97
|
-
// return new Promise((resolve, reject) => {
|
|
98
|
-
// this.swapLocal(swapData)
|
|
99
|
-
// .on('transactionHash', resolve)
|
|
100
|
-
// .on('error', reject);
|
|
101
|
-
// })
|
|
102
|
-
// }
|
|
103
92
|
SwapSdk.prototype.getGas = function (swapData) {
|
|
104
93
|
var swap = new Swap_1.Swap(swapData, this.wallet, this.chain);
|
|
105
94
|
return swap.getGas();
|
package/lib/utils/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openocean.finance/openocean-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.59",
|
|
4
4
|
"description": "Openocean sdk",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@jup-ag/core": "^1.0.0-beta.27",
|
|
49
|
-
"@openocean.finance/wallet": "^0.4.
|
|
49
|
+
"@openocean.finance/wallet": "^0.4.27",
|
|
50
50
|
"@solana/buffer-layout": "^4.0.0",
|
|
51
51
|
"@walletconnect/web3-provider": "^1.7.8",
|
|
52
52
|
"bs58": "^4.0.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const jupiterDex: (collection: any, customPublicKey: any, res: any) => Promise<any>;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.jupiterDex = void 0;
|
|
40
|
-
var web3_js_1 = require("@solana/web3.js");
|
|
41
|
-
var core_1 = require("@jup-ag/core");
|
|
42
|
-
// index.ts
|
|
43
|
-
var jupiterDex = function (collection, customPublicKey, res) { return __awaiter(void 0, void 0, void 0, function () {
|
|
44
|
-
var jupiter, routes, bestRoute, execute, swapResult;
|
|
45
|
-
return __generator(this, function (_a) {
|
|
46
|
-
switch (_a.label) {
|
|
47
|
-
case 0:
|
|
48
|
-
debugger;
|
|
49
|
-
console.log(res);
|
|
50
|
-
console.log('准备交易-----------------');
|
|
51
|
-
console.log(collection);
|
|
52
|
-
console.log(customPublicKey);
|
|
53
|
-
return [4 /*yield*/, core_1.Jupiter.load({
|
|
54
|
-
connection: collection,
|
|
55
|
-
cluster: 'mainnet-beta',
|
|
56
|
-
user: customPublicKey, // or public key
|
|
57
|
-
})];
|
|
58
|
-
case 1:
|
|
59
|
-
jupiter = _a.sent();
|
|
60
|
-
console.log('jupiter-----------------');
|
|
61
|
-
console.log(jupiter);
|
|
62
|
-
debugger;
|
|
63
|
-
return [4 /*yield*/, jupiter.computeRoutes({
|
|
64
|
-
inputMint: new web3_js_1.PublicKey(res.inToken.address),
|
|
65
|
-
outputMint: new web3_js_1.PublicKey(res.outToken.address),
|
|
66
|
-
inputAmount: res.inAmount,
|
|
67
|
-
slippage: 3 // 1 = 1%
|
|
68
|
-
})];
|
|
69
|
-
case 2:
|
|
70
|
-
routes = _a.sent();
|
|
71
|
-
console.log('路由-----------------');
|
|
72
|
-
console.log(routes);
|
|
73
|
-
debugger;
|
|
74
|
-
bestRoute = routes.routesInfos[0];
|
|
75
|
-
return [4 /*yield*/, jupiter.exchange({
|
|
76
|
-
routeInfo: bestRoute
|
|
77
|
-
})];
|
|
78
|
-
case 3:
|
|
79
|
-
execute = (_a.sent()).execute;
|
|
80
|
-
debugger;
|
|
81
|
-
return [4 /*yield*/, execute()];
|
|
82
|
-
case 4:
|
|
83
|
-
swapResult = _a.sent();
|
|
84
|
-
console.log('交易-----------------');
|
|
85
|
-
console.log(swapResult);
|
|
86
|
-
debugger;
|
|
87
|
-
if (swapResult.error) {
|
|
88
|
-
throw new Error(swapResult.error);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
return [2 /*return*/, swapResult.txid];
|
|
92
|
-
}
|
|
93
|
-
return [2 /*return*/];
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}); };
|
|
97
|
-
exports.jupiterDex = jupiterDex;
|