@openocean.finance/openocean-sdk 0.1.88 → 0.1.90

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.
Files changed (60) hide show
  1. package/lib/index.js +2 -20
  2. package/lib/index.js.LICENSE.txt +145 -0
  3. package/package.json +3 -2
  4. package/lib/api/index.js +0 -136
  5. package/lib/api/vo/RequestVo.js +0 -401
  6. package/lib/asset/abi/ERC20_abi.js +0 -119
  7. package/lib/asset/abi/aggregator.js +0 -391
  8. package/lib/config/Chains.js +0 -508
  9. package/lib/config/Wallets.js +0 -89
  10. package/lib/config/index.js +0 -11
  11. package/lib/swapSdk/Approve.js +0 -227
  12. package/lib/swapSdk/ConnectWallet.js +0 -312
  13. package/lib/swapSdk/NotoMobile.js +0 -141
  14. package/lib/swapSdk/RequestVo.js +0 -94
  15. package/lib/swapSdk/Swap.js +0 -739
  16. package/lib/swapSdk/getAllowance.js +0 -97
  17. package/lib/swapSdk/getBalance.js +0 -220
  18. package/lib/swapSdk/index.js +0 -277
  19. package/lib/swapSdk/limitOrder.js +0 -225
  20. package/lib/swapSdk/qrcode.d.ts +0 -6
  21. package/lib/swapSdk/qrcode.js +0 -969
  22. package/lib/utils/ajx.js +0 -150
  23. package/lib/utils/index.js +0 -91
  24. package/lib/utils/limit-order-sdk/abi/ERC20ABI.json +0 -222
  25. package/lib/utils/limit-order-sdk/abi/LimitOrderProtocol.json +0 -1506
  26. package/lib/utils/limit-order-sdk/connector/private-key-provider.connector.d.ts +0 -10
  27. package/lib/utils/limit-order-sdk/connector/private-key-provider.connector.js +0 -36
  28. package/lib/utils/limit-order-sdk/connector/provider.connector.d.ts +0 -1
  29. package/lib/utils/limit-order-sdk/connector/provider.connector.js +0 -2
  30. package/lib/utils/limit-order-sdk/connector/web3-provider.connector.d.ts +0 -9
  31. package/lib/utils/limit-order-sdk/connector/web3-provider.connector.js +0 -38
  32. package/lib/utils/limit-order-sdk/erc20.facade.d.ts +0 -7
  33. package/lib/utils/limit-order-sdk/erc20.facade.js +0 -19
  34. package/lib/utils/limit-order-sdk/index.d.ts +0 -1
  35. package/lib/utils/limit-order-sdk/index.js +0 -14
  36. package/lib/utils/limit-order-sdk/limit-order-predicate.builder.d.ts +0 -12
  37. package/lib/utils/limit-order-sdk/limit-order-predicate.builder.js +0 -60
  38. package/lib/utils/limit-order-sdk/limit-order-protocol.const.d.ts +0 -18
  39. package/lib/utils/limit-order-sdk/limit-order-protocol.const.js +0 -45
  40. package/lib/utils/limit-order-sdk/limit-order-protocol.facade.d.ts +0 -26
  41. package/lib/utils/limit-order-sdk/limit-order-protocol.facade.js +0 -180
  42. package/lib/utils/limit-order-sdk/limit-order.builder.d.ts +0 -101
  43. package/lib/utils/limit-order-sdk/limit-order.builder.js +0 -120
  44. package/lib/utils/limit-order-sdk/model/abi.model.d.ts +0 -1
  45. package/lib/utils/limit-order-sdk/model/abi.model.js +0 -2
  46. package/lib/utils/limit-order-sdk/model/eip712.model.d.ts +0 -1
  47. package/lib/utils/limit-order-sdk/model/eip712.model.js +0 -2
  48. package/lib/utils/limit-order-sdk/model/limit-order-protocol.model.d.ts +0 -3
  49. package/lib/utils/limit-order-sdk/model/limit-order-protocol.model.js +0 -38
  50. package/lib/utils/limit-order-sdk/utils/get-rpc-code.d.ts +0 -2
  51. package/lib/utils/limit-order-sdk/utils/get-rpc-code.js +0 -28
  52. package/lib/utils/limit-order-sdk/utils/limit-order-rfq.const.d.ts +0 -89
  53. package/lib/utils/limit-order-sdk/utils/limit-order-rfq.const.js +0 -140
  54. package/lib/utils/limit-order-sdk/utils/limit-order-rfq.helpers.d.ts +0 -10
  55. package/lib/utils/limit-order-sdk/utils/limit-order-rfq.helpers.js +0 -254
  56. package/lib/utils/limit-order-sdk/utils/limit-order-rfq.model.d.ts +0 -1
  57. package/lib/utils/limit-order-sdk/utils/limit-order-rfq.model.js +0 -2
  58. package/lib/utils/limit-order-sdk/utils/limit-order-rfq.utils.d.ts +0 -2
  59. package/lib/utils/limit-order-sdk/utils/limit-order-rfq.utils.js +0 -82
  60. package/lib/utils/web3.js +0 -9
@@ -1,225 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.confirmLater = exports.sendEthApprove = exports.cancelLimitOrder = exports.createLimitOrder = void 0;
43
- var limit_order_sdk_1 = require("./../utils/limit-order-sdk");
44
- var ERC20_abi_1 = require("../asset/abi/ERC20_abi");
45
- var Chains_1 = require("./../config/Chains");
46
- var utils_1 = require("../utils");
47
- var bignumber_js_1 = __importDefault(require("bignumber.js"));
48
- function createLimitOrder(makerToken, takerToken, _makerAddress, makerAmount, takerAmount, chainId, gasPrice, expire, decimals, chainName, myWallet) {
49
- return __awaiter(this, void 0, void 0, function () {
50
- var connector, limitOrderBuilder, limitOrderProtocolFacade, limitOrderPredicateBuilder, minutes, expireTime, and, timestampBelow, simplePredicate, limitOrder, limitOrderTypedData, contract, approveAmount, _approveAmount, _makerAmount2, signature, orderHash, message, amountRate;
51
- return __generator(this, function (_a) {
52
- switch (_a.label) {
53
- case 0:
54
- connector = new limit_order_sdk_1.Web3ProviderConnector(myWallet.sdk);
55
- limitOrderBuilder = new limit_order_sdk_1.LimitOrderBuilder(getLimitContractAddress(chainName), chainId, connector);
56
- limitOrderProtocolFacade = new limit_order_sdk_1.LimitOrderProtocolFacade(getLimitContractAddress(chainName), connector);
57
- limitOrderPredicateBuilder = new limit_order_sdk_1.LimitOrderPredicateBuilder(limitOrderProtocolFacade);
58
- minutes = {
59
- "10M": 10,
60
- "1H": 60,
61
- "1D": 1440,
62
- "3D": 4320,
63
- "7D": 10080,
64
- "30D": 43200,
65
- "3Month": 129600,
66
- "6Month": 259200,
67
- "1Y": 525600,
68
- "2Y": 1051200,
69
- "3Y": 1576800,
70
- }[expire];
71
- expireTime = minutes * 60 * 1000;
72
- and = limitOrderPredicateBuilder.and, timestampBelow = limitOrderPredicateBuilder.timestampBelow;
73
- simplePredicate = and(timestampBelow(Math.round(Date.now() / 1000) + minutes * 60) // a limit order is valid only for 1 minute
74
- );
75
- limitOrder = limitOrderBuilder.buildLimitOrder({
76
- makerAssetAddress: makerToken.address,
77
- takerAssetAddress: takerToken.address,
78
- makerAddress: _makerAddress,
79
- makerAmount: makerAmount,
80
- takerAmount: takerAmount,
81
- predicate: simplePredicate,
82
- permit: "0x",
83
- interaction: "0x", // 默认值0x
84
- });
85
- limitOrderTypedData = limitOrderBuilder.buildLimitOrderTypedData(limitOrder);
86
- limitOrderTypedData.domain.name = "openocean Limit Order Protocol";
87
- limitOrderTypedData.domain.version = "2";
88
- contract = new myWallet.sdk.eth.Contract(ERC20_abi_1.ERC20_abi, makerToken.address);
89
- if (!!Chains_1.chains.isNativeToken(chainName, makerToken.address)) return [3 /*break*/, 3];
90
- return [4 /*yield*/, contract.methods
91
- .allowance(_makerAddress, getLimitContractAddress(chainName))
92
- .call()];
93
- case 1:
94
- approveAmount = _a.sent();
95
- _approveAmount = +utils_1.utils.decimals2Amount(approveAmount, decimals);
96
- _makerAmount2 = +utils_1.utils.decimals2Amount(makerAmount, decimals);
97
- console.log("_approveAmount", _approveAmount, _makerAmount2, decimals);
98
- if (!(_approveAmount < _makerAmount2)) return [3 /*break*/, 3];
99
- return [4 /*yield*/, sendEthApprove(makerToken.address, "1", "", gasPrice, getLimitContractAddress(chainName), myWallet)];
100
- case 2:
101
- _a.sent();
102
- _a.label = 3;
103
- case 3: return [4 /*yield*/, limitOrderBuilder.buildOrderSignature(_makerAddress, limitOrderTypedData)];
104
- case 4:
105
- signature = _a.sent();
106
- orderHash = limitOrderBuilder.buildLimitOrderHash(limitOrderTypedData);
107
- message = limitOrderTypedData.message;
108
- amountRate = (+utils_1.utils.decimals2Amount(makerAmount, makerToken.decimals) /
109
- +utils_1.utils.decimals2Amount(takerAmount, takerToken.decimals)).toFixed(6);
110
- return [2 /*return*/, {
111
- makerAmount: makerAmount,
112
- takerAmount: takerAmount,
113
- signature: signature,
114
- orderHash: orderHash,
115
- orderMaker: _makerAddress,
116
- remainingMakerAmount: makerAmount,
117
- data: message,
118
- isActive: true,
119
- chainId: chainId,
120
- expireTime: expireTime,
121
- amountRate: amountRate,
122
- }];
123
- }
124
- });
125
- });
126
- }
127
- exports.createLimitOrder = createLimitOrder;
128
- function cancelLimitOrder(order, gasPrice, chainName, myWallet) {
129
- return __awaiter(this, void 0, void 0, function () {
130
- var connector, limitOrderProtocolFacade, callData, account, swapParams, result;
131
- return __generator(this, function (_a) {
132
- switch (_a.label) {
133
- case 0:
134
- connector = new limit_order_sdk_1.Web3ProviderConnector(myWallet.sdk);
135
- limitOrderProtocolFacade = new limit_order_sdk_1.LimitOrderProtocolFacade(getLimitContractAddress(chainName), connector);
136
- callData = limitOrderProtocolFacade.cancelLimitOrder(order.data);
137
- account = myWallet.address;
138
- swapParams = {
139
- from: account,
140
- to: getLimitContractAddress(chainName),
141
- data: callData,
142
- gas: 5000000,
143
- gasPrice: gasPrice,
144
- };
145
- return [4 /*yield*/, confirmLater(myWallet.sdk.eth.sendTransaction(swapParams))];
146
- case 1:
147
- result = _a.sent();
148
- return [2 /*return*/, result];
149
- }
150
- });
151
- });
152
- }
153
- exports.cancelLimitOrder = cancelLimitOrder;
154
- function getLimitContractAddress(chainName) {
155
- var address = {
156
- eth: "0xcC8d695603ce0b43D352891892FcC716c6a7C9f4",
157
- bsc: "0xA8A0213bb2ce671E457Ec14D08EB9d40E6DA8e2d",
158
- avax: "0x99b3488Ee3432bB60256140b4BD2488E3b6A705f",
159
- fantom: "0x44A632dC8ee03ad2cF5d530280a044DaED3E1ec0",
160
- polygon: "0xFA9B584Bc9543B66BeFdc41fb1DA8636edD7a697",
161
- arbitrum: "0x23C78B3d85b45BfA6DC8e09b517ba2d9b0ECCA8C",
162
- optimism: "0xc0A62DDCd284020dC883C642A3Ed5D2A1770eb91",
163
- moonriver: "0xc0A62DDCd284020dC883C642A3Ed5D2A1770eb91",
164
- harmony: "0xc0A62DDCd284020dC883C642A3Ed5D2A1770eb91",
165
- heco: "0xc0A62DDCd284020dC883C642A3Ed5D2A1770eb91",
166
- okex: "0xc0A62DDCd284020dC883C642A3Ed5D2A1770eb91",
167
- xdai: "0xc0A62DDCd284020dC883C642A3Ed5D2A1770eb91",
168
- cronos: "0xc0A62DDCd284020dC883C642A3Ed5D2A1770eb91",
169
- }[chainName];
170
- if (address)
171
- return address;
172
- return "";
173
- }
174
- function sendEthApprove(inToken, type, amount, gasPrice, toContract, myWallet) {
175
- return __awaiter(this, void 0, void 0, function () {
176
- var contract, account, maxAmount, approveAmount, gasAmount;
177
- return __generator(this, function (_a) {
178
- switch (_a.label) {
179
- case 0:
180
- contract = new myWallet.sdk.eth.Contract(ERC20_abi_1.ERC20_abi, inToken);
181
- account = myWallet.address;
182
- maxAmount = new bignumber_js_1.default("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff").toFixed(0, 1);
183
- if (!(inToken === "0xfa17b330bcc4e7f3e2456996d89a5a54ab044831")) return [3 /*break*/, 2];
184
- return [4 /*yield*/, contract.methods.balanceOf(account).call()];
185
- case 1:
186
- maxAmount = _a.sent();
187
- return [3 /*break*/, 4];
188
- case 2:
189
- if (!contract.methods.totalSupply) return [3 /*break*/, 4];
190
- return [4 /*yield*/, contract.methods.totalSupply().call()];
191
- case 3:
192
- maxAmount = _a.sent();
193
- console.log("maxAmount", maxAmount);
194
- _a.label = 4;
195
- case 4:
196
- approveAmount = type === "1" ? maxAmount : amount;
197
- return [4 /*yield*/, contract.methods
198
- .approve(toContract, approveAmount)
199
- .estimateGas({
200
- from: account,
201
- })];
202
- case 5:
203
- gasAmount = _a.sent();
204
- return [4 /*yield*/, confirmLater(contract.methods.approve(toContract, approveAmount).send({
205
- from: account,
206
- gasPrice: gasPrice,
207
- gas: gasAmount,
208
- }))];
209
- case 6: return [2 /*return*/, _a.sent()];
210
- }
211
- });
212
- });
213
- }
214
- exports.sendEthApprove = sendEthApprove;
215
- function confirmLater(promise) {
216
- return new Promise(function (resolve, reject) {
217
- promise.on("transactionHash", resolve);
218
- promise.on("error", reject);
219
- function onConfirm(confNumber, receipt) {
220
- promise.off("confirmation", onConfirm);
221
- }
222
- promise.on("confirmation", onConfirm);
223
- });
224
- }
225
- exports.confirmLater = confirmLater;
@@ -1,6 +0,0 @@
1
- /**
2
- * @author davidshimjs
3
- * @see <a href="http://www.d-project.com/" target="_blank">http://www.d-project.com/</a>
4
- * @see <a href="http://jeromeetienne.github.com/jquery-qrcode/" target="_blank">http://jeromeetienne.github.com/jquery-qrcode/</a>
5
- */
6
- export var QRCode: any;