@openocean.finance/openocean-sdk 0.1.88 → 0.1.89

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,10 +0,0 @@
1
- export var __esModule: boolean;
2
- export class PrivateKeyProviderConnector {
3
- constructor(privateKey: any, web3Provider: any);
4
- privateKey: any;
5
- web3Provider: any;
6
- contractEncodeABI(abi: any, address: any, methodName: any, methodParams: any): any;
7
- signTypedData(_walletAddress: any, typedData: any, _typedDataHash?: string): Promise<any>;
8
- ethCall(contractAddress: any, callData: any): any;
9
- decodeABIParameter(type: any, hex: any): any;
10
- }
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PrivateKeyProviderConnector = void 0;
4
- var eth_sig_util_1 = require("eth-sig-util");
5
- var PrivateKeyProviderConnector = /** @class */ (function () {
6
- function PrivateKeyProviderConnector(privateKey, web3Provider) {
7
- this.privateKey = privateKey;
8
- this.web3Provider = web3Provider;
9
- }
10
- PrivateKeyProviderConnector.prototype.contractEncodeABI = function (abi, address, methodName, methodParams) {
11
- var _a;
12
- var contract = new this.web3Provider.eth.Contract(abi, address === null ? undefined : address);
13
- return (_a = contract.methods)[methodName].apply(_a, methodParams).encodeABI();
14
- };
15
- PrivateKeyProviderConnector.prototype.signTypedData = function (_walletAddress, typedData,
16
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
17
- _typedDataHash) {
18
- if (_typedDataHash === void 0) { _typedDataHash = ''; }
19
- var result = eth_sig_util_1.signTypedData_v4(Buffer.from(this.privateKey, 'hex'), {
20
- data: typedData,
21
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
22
- });
23
- return Promise.resolve(result);
24
- };
25
- PrivateKeyProviderConnector.prototype.ethCall = function (contractAddress, callData) {
26
- return this.web3Provider.eth.call({
27
- to: contractAddress,
28
- data: callData,
29
- });
30
- };
31
- PrivateKeyProviderConnector.prototype.decodeABIParameter = function (type, hex) {
32
- return this.web3Provider.eth.abi.decodeParameter(type, hex);
33
- };
34
- return PrivateKeyProviderConnector;
35
- }());
36
- exports.PrivateKeyProviderConnector = PrivateKeyProviderConnector;
@@ -1 +0,0 @@
1
- export var __esModule: boolean;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +0,0 @@
1
- export var __esModule: boolean;
2
- export class Web3ProviderConnector {
3
- constructor(web3Provider: any);
4
- web3Provider: any;
5
- contractEncodeABI(abi: any, address: any, methodName: any, methodParams: any): any;
6
- signTypedData(walletAddress: any, typedData: any, _typedDataHash: any): any;
7
- ethCall(contractAddress: any, callData: any): any;
8
- decodeABIParameter(type: any, hex: any): any;
9
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Web3ProviderConnector = void 0;
4
- var Web3ProviderConnector = /** @class */ (function () {
5
- function Web3ProviderConnector(web3Provider) {
6
- this.web3Provider = web3Provider;
7
- }
8
- Web3ProviderConnector.prototype.contractEncodeABI = function (abi, address, methodName, methodParams) {
9
- var _a;
10
- var contract = new this.web3Provider.eth.Contract(abi, address === null ? undefined : address);
11
- return (_a = contract.methods)[methodName].apply(_a, methodParams).encodeABI();
12
- };
13
- Web3ProviderConnector.prototype.signTypedData = function (walletAddress, typedData,
14
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
15
- _typedDataHash) {
16
- var extendedWeb3 = this.web3Provider.extend({
17
- methods: [
18
- {
19
- name: 'signTypedDataV4',
20
- call: 'eth_signTypedData_v4',
21
- params: 2,
22
- },
23
- ],
24
- });
25
- return extendedWeb3.signTypedDataV4(walletAddress, JSON.stringify(typedData));
26
- };
27
- Web3ProviderConnector.prototype.ethCall = function (contractAddress, callData) {
28
- return this.web3Provider.eth.call({
29
- to: contractAddress,
30
- data: callData,
31
- });
32
- };
33
- Web3ProviderConnector.prototype.decodeABIParameter = function (type, hex) {
34
- return this.web3Provider.eth.abi.decodeParameter(type, hex);
35
- };
36
- return Web3ProviderConnector;
37
- }());
38
- exports.Web3ProviderConnector = Web3ProviderConnector;
@@ -1,7 +0,0 @@
1
- export var __esModule: boolean;
2
- export var Erc20Methods: {};
3
- export class Erc20Facade {
4
- constructor(providerConnector: any);
5
- providerConnector: any;
6
- balanceOf(tokenAddress: any, walletAddress: any): any;
7
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Erc20Facade = exports.Erc20Methods = void 0;
4
- var limit_order_protocol_const_1 = require("./limit-order-protocol.const");
5
- var Erc20Methods;
6
- (function (Erc20Methods) {
7
- Erc20Methods["transferFrom"] = "transferFrom";
8
- Erc20Methods["balanceOf"] = "balanceOf";
9
- })(Erc20Methods = exports.Erc20Methods || (exports.Erc20Methods = {}));
10
- var Erc20Facade = /** @class */ (function () {
11
- function Erc20Facade(providerConnector) {
12
- this.providerConnector = providerConnector;
13
- }
14
- Erc20Facade.prototype.balanceOf = function (tokenAddress, walletAddress) {
15
- return this.providerConnector.contractEncodeABI(limit_order_protocol_const_1.ERC20_ABI, tokenAddress, Erc20Methods.balanceOf, [walletAddress]);
16
- };
17
- return Erc20Facade;
18
- }());
19
- exports.Erc20Facade = Erc20Facade;
@@ -1 +0,0 @@
1
- export var __esModule: boolean;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./erc20.facade"), exports);
5
- tslib_1.__exportStar(require("./limit-order.builder"), exports);
6
- tslib_1.__exportStar(require("./limit-order-predicate.builder"), exports);
7
- tslib_1.__exportStar(require("./limit-order-protocol.const"), exports);
8
- tslib_1.__exportStar(require("./limit-order-protocol.facade"), exports);
9
- tslib_1.__exportStar(require("./connector/provider.connector"), exports);
10
- tslib_1.__exportStar(require("./connector/web3-provider.connector"), exports);
11
- tslib_1.__exportStar(require("./connector/private-key-provider.connector"), exports);
12
- tslib_1.__exportStar(require("./model/abi.model"), exports);
13
- tslib_1.__exportStar(require("./model/eip712.model"), exports);
14
- tslib_1.__exportStar(require("./model/limit-order-protocol.model"), exports);
@@ -1,12 +0,0 @@
1
- export var __esModule: boolean;
2
- export class LimitOrderPredicateBuilder {
3
- constructor(facade: any);
4
- facade: any;
5
- and: (...predicates: any[]) => any;
6
- or: (...predicates: any[]) => any;
7
- eq: (value: any, address: any, callData: any) => any;
8
- lt: (value: any, address: any, callData: any) => any;
9
- gt: (value: any, address: any, callData: any) => any;
10
- nonceEquals: (makerAddress: any, makerNonce: any) => any;
11
- timestampBelow: (timestamp: any) => any;
12
- }
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LimitOrderPredicateBuilder = void 0;
4
- var limit_order_protocol_model_1 = require("./model/limit-order-protocol.model");
5
- var limit_order_protocol_const_1 = require("./limit-order-protocol.const");
6
- var LimitOrderPredicateBuilder = /** @class */ (function () {
7
- function LimitOrderPredicateBuilder(facade) {
8
- var _this = this;
9
- this.facade = facade;
10
- this.and = function () {
11
- var predicates = [];
12
- for (var _i = 0; _i < arguments.length; _i++) {
13
- predicates[_i] = arguments[_i];
14
- }
15
- return _this.facade.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.and, [
16
- predicates.map(function () { return _this.facade.contractAddress; }),
17
- predicates,
18
- ]);
19
- };
20
- this.or = function () {
21
- var predicates = [];
22
- for (var _i = 0; _i < arguments.length; _i++) {
23
- predicates[_i] = arguments[_i];
24
- }
25
- return _this.facade.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.or, [
26
- predicates.map(function () { return _this.facade.contractAddress; }),
27
- predicates,
28
- ]);
29
- };
30
- this.eq = function (value, address, callData) {
31
- return _this.facade.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.eq, [
32
- value,
33
- address,
34
- callData,
35
- ]);
36
- };
37
- this.lt = function (value, address, callData) {
38
- return _this.facade.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.lt, [
39
- value,
40
- address,
41
- callData,
42
- ]);
43
- };
44
- this.gt = function (value, address, callData) {
45
- return _this.facade.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.gt, [
46
- value,
47
- address,
48
- callData,
49
- ]);
50
- };
51
- this.nonceEquals = function (makerAddress, makerNonce) {
52
- return _this.facade.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.nonceEquals, [makerAddress, makerNonce]);
53
- };
54
- this.timestampBelow = function (timestamp) {
55
- return _this.facade.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.timestampBelow, [limit_order_protocol_const_1.ZX + timestamp.toString(16)]);
56
- };
57
- }
58
- return LimitOrderPredicateBuilder;
59
- }());
60
- exports.LimitOrderPredicateBuilder = LimitOrderPredicateBuilder;
@@ -1,18 +0,0 @@
1
- export var __esModule: boolean;
2
- export var PROTOCOL_NAME: string;
3
- export var PROTOCOL_VERSION: string;
4
- export var ZX: string;
5
- export var ZERO_ADDRESS: string;
6
- export var CALL_RESULTS_PREFIX: string;
7
- export var EIP712_DOMAIN: {
8
- name: string;
9
- type: string;
10
- }[];
11
- export var ORDER_STRUCTURE: {
12
- name: string;
13
- type: string;
14
- }[];
15
- export var RFQ_ORDER_STRUCTURE: {
16
- name: string;
17
- type: string;
18
- }[];
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RFQ_ORDER_STRUCTURE = exports.ORDER_STRUCTURE = exports.EIP712_DOMAIN = exports.ERC20_ABI = exports.LIMIT_ORDER_PROTOCOL_ABI = exports.CALL_RESULTS_PREFIX = exports.ZERO_ADDRESS = exports.ZX = exports.PROTOCOL_VERSION = exports.PROTOCOL_NAME = void 0;
4
- var tslib_1 = require("tslib");
5
- var LimitOrderProtocol_json_1 = tslib_1.__importDefault(require("./abi/LimitOrderProtocol.json"));
6
- var ERC20ABI_json_1 = tslib_1.__importDefault(require("./abi/ERC20ABI.json"));
7
- exports.PROTOCOL_NAME = '1inch Limit Order Protocol';
8
- exports.PROTOCOL_VERSION = '2';
9
- exports.ZX = '0x';
10
- exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
11
- exports.CALL_RESULTS_PREFIX = 'CALL_RESULTS_';
12
- exports.LIMIT_ORDER_PROTOCOL_ABI = LimitOrderProtocol_json_1.default;
13
- exports.ERC20_ABI = ERC20ABI_json_1.default;
14
- exports.EIP712_DOMAIN = [
15
- { name: 'name', type: 'string' },
16
- { name: 'version', type: 'string' },
17
- { name: 'chainId', type: 'uint256' },
18
- { name: 'verifyingContract', type: 'address' },
19
- ];
20
- exports.ORDER_STRUCTURE = [
21
- { name: 'salt', type: 'uint256' },
22
- { name: 'makerAsset', type: 'address' },
23
- { name: 'takerAsset', type: 'address' },
24
- { name: 'maker', type: 'address' },
25
- { name: 'receiver', type: 'address' },
26
- { name: 'allowedSender', type: 'address' },
27
- { name: 'makingAmount', type: 'uint256' },
28
- { name: 'takingAmount', type: 'uint256' },
29
- { name: 'makerAssetData', type: 'bytes' },
30
- { name: 'takerAssetData', type: 'bytes' },
31
- { name: 'getMakerAmount', type: 'bytes' },
32
- { name: 'getTakerAmount', type: 'bytes' },
33
- { name: 'predicate', type: 'bytes' },
34
- { name: 'permit', type: 'bytes' },
35
- { name: 'interaction', type: 'bytes' },
36
- ];
37
- exports.RFQ_ORDER_STRUCTURE = [
38
- { name: 'info', type: 'uint256' },
39
- { name: 'makerAsset', type: 'address' },
40
- { name: 'takerAsset', type: 'address' },
41
- { name: 'maker', type: 'address' },
42
- { name: 'allowedSender', type: 'address' },
43
- { name: 'makingAmount', type: 'uint256' },
44
- { name: 'takingAmount', type: 'uint256' },
45
- ];
@@ -1,26 +0,0 @@
1
- export var __esModule: boolean;
2
- export class LimitOrderProtocolFacade {
3
- constructor(contractAddress: any, providerConnector: any);
4
- contractAddress: any;
5
- providerConnector: any;
6
- fillLimitOrder(order: any, signature: any, makerAmount: any, takerAmount: any, thresholdAmount: any): any;
7
- fillOrderToWithPermit(params: any): any;
8
- fillRFQOrder(order: any, signature: any, makerAmount: any, takerAmount: any): any;
9
- cancelLimitOrder(order: any): any;
10
- cancelRFQOrder(orderInfo: any): any;
11
- nonce(makerAddress: any): any;
12
- advanceNonce(count: any): any;
13
- increaseNonce(): any;
14
- checkPredicate(order: any): any;
15
- remaining(orderHash: any): any;
16
- simulateCalls(tokens: any, data: any): any;
17
- domainSeparator(): any;
18
- getContractCallData(methodName: any, methodParams?: any[]): any;
19
- parseRemainingResponse(response: any): bignumber_1.BigNumber | null;
20
- parseSimulateTransferResponse(response: any): boolean | null;
21
- parseSimulateTransferError(error: any): boolean | null;
22
- parseContractResponse(response: any): any;
23
- isMsgContainsCorrectCode(message: any): boolean | null;
24
- stringifyError(error: any): string;
25
- }
26
- import bignumber_1 = require("@ethersproject/bignumber");
@@ -1,180 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LimitOrderProtocolFacade = void 0;
4
- var limit_order_protocol_const_1 = require("./limit-order-protocol.const");
5
- var limit_order_protocol_model_1 = require("./model/limit-order-protocol.model");
6
- var bignumber_1 = require("@ethersproject/bignumber");
7
- var get_rpc_code_1 = require("./utils/get-rpc-code");
8
- var LimitOrderProtocolFacade = /** @class */ (function () {
9
- function LimitOrderProtocolFacade(contractAddress, providerConnector) {
10
- this.contractAddress = contractAddress;
11
- this.providerConnector = providerConnector;
12
- }
13
- LimitOrderProtocolFacade.prototype.fillLimitOrder = function (order, signature, makerAmount, takerAmount, thresholdAmount) {
14
- return this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.fillOrder, [
15
- order,
16
- signature,
17
- makerAmount,
18
- takerAmount,
19
- thresholdAmount,
20
- ]);
21
- };
22
- LimitOrderProtocolFacade.prototype.fillOrderToWithPermit = function (params) {
23
- var order = params.order, signature = params.signature, makerAmount = params.makerAmount, takerAmount = params.takerAmount, thresholdAmount = params.thresholdAmount, targetAddress = params.targetAddress, permit = params.permit;
24
- return this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.fillOrderToWithPermit, [
25
- order,
26
- signature,
27
- makerAmount,
28
- takerAmount,
29
- thresholdAmount,
30
- targetAddress,
31
- permit,
32
- ]);
33
- };
34
- LimitOrderProtocolFacade.prototype.fillRFQOrder = function (order, signature, makerAmount, takerAmount) {
35
- return this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.fillOrderRFQ, [order, signature, makerAmount, takerAmount]);
36
- };
37
- LimitOrderProtocolFacade.prototype.cancelLimitOrder = function (order) {
38
- return this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.cancelOrder, [
39
- order,
40
- ]);
41
- };
42
- LimitOrderProtocolFacade.prototype.cancelRFQOrder = function (orderInfo) {
43
- return this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.cancelOrderRFQ, [orderInfo]);
44
- };
45
- LimitOrderProtocolFacade.prototype.nonce = function (makerAddress) {
46
- var callData = this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.nonce, [makerAddress]);
47
- return this.providerConnector
48
- .ethCall(this.contractAddress, callData)
49
- .then(function (nonce) { return bignumber_1.BigNumber.from(nonce).toNumber(); });
50
- };
51
- LimitOrderProtocolFacade.prototype.advanceNonce = function (count) {
52
- return this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.advanceNonce, [count]);
53
- };
54
- LimitOrderProtocolFacade.prototype.increaseNonce = function () {
55
- return this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.increaseNonce);
56
- };
57
- LimitOrderProtocolFacade.prototype.checkPredicate = function (order) {
58
- var callData = this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.checkPredicate, [order]);
59
- return this.providerConnector
60
- .ethCall(this.contractAddress, callData)
61
- .catch(function (error) {
62
- console.error(error);
63
- return false;
64
- })
65
- .then(function (result) {
66
- try {
67
- return bignumber_1.BigNumber.from(result).toNumber() === 1;
68
- }
69
- catch (e) {
70
- console.error(e);
71
- return false;
72
- }
73
- });
74
- };
75
- LimitOrderProtocolFacade.prototype.remaining = function (orderHash) {
76
- var _this = this;
77
- var callData = this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.remaining, [orderHash]);
78
- return this.providerConnector
79
- .ethCall(this.contractAddress, callData)
80
- .then(function (result) {
81
- var response = _this.parseRemainingResponse(result);
82
- if (response !== null) {
83
- return response;
84
- }
85
- // Parse error
86
- var parsed = _this.parseContractResponse(result);
87
- return Promise.reject(parsed);
88
- });
89
- };
90
- LimitOrderProtocolFacade.prototype.simulateCalls = function (tokens, data) {
91
- var _this = this;
92
- var callData = this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.simulateCalls, [tokens, data]);
93
- return this.providerConnector
94
- .ethCall(this.contractAddress, callData)
95
- .then(function (result) {
96
- var parsed = _this.parseSimulateTransferResponse(result);
97
- if (parsed !== null)
98
- return parsed;
99
- return Promise.reject(result);
100
- })
101
- .catch(function (error) {
102
- var parsed = _this.parseSimulateTransferError(error);
103
- if (parsed !== null)
104
- return parsed;
105
- return Promise.reject(error);
106
- });
107
- };
108
- LimitOrderProtocolFacade.prototype.domainSeparator = function () {
109
- var callData = this.getContractCallData(limit_order_protocol_model_1.LimitOrderProtocolMethods.DOMAIN_SEPARATOR);
110
- return this.providerConnector.ethCall(this.contractAddress, callData);
111
- };
112
- LimitOrderProtocolFacade.prototype.getContractCallData = function (methodName, methodParams) {
113
- if (methodParams === void 0) { methodParams = []; }
114
- return this.providerConnector.contractEncodeABI(limit_order_protocol_const_1.LIMIT_ORDER_PROTOCOL_ABI, this.contractAddress, methodName, methodParams);
115
- };
116
- LimitOrderProtocolFacade.prototype.parseRemainingResponse = function (response) {
117
- if (response.length === 66) {
118
- return bignumber_1.BigNumber.from(response);
119
- }
120
- return null;
121
- };
122
- LimitOrderProtocolFacade.prototype.parseSimulateTransferResponse = function (response) {
123
- var parsed = this.parseContractResponse(response);
124
- if (parsed.startsWith(limit_order_protocol_const_1.CALL_RESULTS_PREFIX)) {
125
- var data = parsed.replace(limit_order_protocol_const_1.CALL_RESULTS_PREFIX, '');
126
- return !data.includes('0');
127
- }
128
- return null;
129
- };
130
- LimitOrderProtocolFacade.prototype.parseSimulateTransferError = function (error) {
131
- var message = this.stringifyError(error);
132
- var isCorrectCode = this.isMsgContainsCorrectCode(message);
133
- if (isCorrectCode !== null) {
134
- return isCorrectCode;
135
- }
136
- try {
137
- var code = get_rpc_code_1.getRPCCode(message);
138
- return code ? this.isMsgContainsCorrectCode(code) : null;
139
- }
140
- catch (e) {
141
- return null;
142
- }
143
- };
144
- LimitOrderProtocolFacade.prototype.parseContractResponse = function (response) {
145
- // Aurora network wraps revert message into Revert()
146
- var matched = response.match(/Revert\(([^)]+)\)/);
147
- var message = matched && matched[1] ? matched[1] : response;
148
- return this.providerConnector.decodeABIParameter('string', limit_order_protocol_const_1.ZX + message.slice(10));
149
- };
150
- LimitOrderProtocolFacade.prototype.isMsgContainsCorrectCode = function (message) {
151
- var regex = new RegExp('(' + limit_order_protocol_const_1.CALL_RESULTS_PREFIX + '\\d+)');
152
- var matched = message.match(regex);
153
- if (matched) {
154
- return !matched[0].includes('0');
155
- }
156
- else {
157
- try {
158
- var matchParsed = this.parseContractResponse(message).match(regex);
159
- if (matchParsed) {
160
- return !matchParsed[0].includes('0');
161
- }
162
- }
163
- catch (e) {
164
- console.error(e);
165
- }
166
- }
167
- return null;
168
- };
169
- LimitOrderProtocolFacade.prototype.stringifyError = function (error) {
170
- if (typeof error === 'string') {
171
- return error;
172
- }
173
- if (error instanceof Error) {
174
- return error.toString();
175
- }
176
- return JSON.stringify(error);
177
- };
178
- return LimitOrderProtocolFacade;
179
- }());
180
- exports.LimitOrderProtocolFacade = LimitOrderProtocolFacade;
@@ -1,101 +0,0 @@
1
- export var __esModule: boolean;
2
- export function generateOrderSalt(): string;
3
- export function generateRFQOrderInfo(id: any, expiresInTimestamp: any, wrapEth: any): string;
4
- export class LimitOrderBuilder {
5
- constructor(contractAddress: any, chainId: any, providerConnector: any, generateSalt?: typeof generateOrderSalt);
6
- contractAddress: any;
7
- chainId: any;
8
- providerConnector: any;
9
- generateSalt: typeof generateOrderSalt;
10
- buildOrderSignature(walletAddress: any, typedData: any): any;
11
- buildLimitOrderHash(orderTypedData: any): string;
12
- buildLimitOrderTypedData(order: any, domainName?: string): {
13
- primaryType: string;
14
- types: {
15
- EIP712Domain: {
16
- name: string;
17
- type: string;
18
- }[];
19
- Order: {
20
- name: string;
21
- type: string;
22
- }[];
23
- };
24
- domain: {
25
- name: string;
26
- version: string;
27
- chainId: any;
28
- verifyingContract: any;
29
- };
30
- message: any;
31
- };
32
- buildRFQOrderTypedData(order: any, domainName?: string): {
33
- primaryType: string;
34
- types: {
35
- EIP712Domain: {
36
- name: string;
37
- type: string;
38
- }[];
39
- OrderRFQ: {
40
- name: string;
41
- type: string;
42
- }[];
43
- };
44
- domain: {
45
- name: string;
46
- version: string;
47
- chainId: any;
48
- verifyingContract: any;
49
- };
50
- message: any;
51
- };
52
- buildRFQOrder({ id, wrapEth, expiresInTimestamp, makerAssetAddress, takerAssetAddress, makerAddress, takerAddress, makerAmount, takerAmount, }: {
53
- id: any;
54
- wrapEth?: boolean | undefined;
55
- expiresInTimestamp: any;
56
- makerAssetAddress: any;
57
- takerAssetAddress: any;
58
- makerAddress: any;
59
- takerAddress?: string | undefined;
60
- makerAmount: any;
61
- takerAmount: any;
62
- }): {
63
- info: string;
64
- makerAsset: any;
65
- takerAsset: any;
66
- maker: any;
67
- allowedSender: string;
68
- makingAmount: any;
69
- takingAmount: any;
70
- };
71
- buildLimitOrder({ makerAssetAddress, takerAssetAddress, makerAddress, receiver, takerAddress, makerAmount, takerAmount, predicate, permit, interaction, }: {
72
- makerAssetAddress: any;
73
- takerAssetAddress: any;
74
- makerAddress: any;
75
- receiver?: string | undefined;
76
- takerAddress?: string | undefined;
77
- makerAmount: any;
78
- takerAmount: any;
79
- predicate?: string | undefined;
80
- permit?: string | undefined;
81
- interaction?: string | undefined;
82
- }): {
83
- salt: string;
84
- makerAsset: any;
85
- takerAsset: any;
86
- maker: any;
87
- receiver: string;
88
- allowedSender: string;
89
- makingAmount: any;
90
- takingAmount: any;
91
- makerAssetData: string;
92
- takerAssetData: string;
93
- getMakerAmount: any;
94
- getTakerAmount: any;
95
- predicate: string;
96
- permit: string;
97
- interaction: string;
98
- };
99
- getContractCallData(methodName: any, methodParams?: any[]): any;
100
- getAmountData(methodName: any, makerAmount: any, takerAmount: any, swapTakerAmount?: string): any;
101
- }