@openocean.finance/openocean-sdk 0.1.98 → 0.1.99
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/index.js +1 -1
- package/lib/index.js.LICENSE.txt +109 -0
- package/lib/swapSdk/Approve.d.ts +1 -1
- package/lib/utils/limit-order-sdk/README.md +124 -0
- package/lib/utils/limit-order-sdk/abi/ERC20ABI.json +222 -0
- package/lib/utils/limit-order-sdk/abi/LimitOrderProtocol.json +1506 -0
- package/lib/utils/limit-order-sdk/connector/private-key-provider.connector.d.ts +13 -0
- package/lib/utils/limit-order-sdk/connector/private-key-provider.connector.js +34 -0
- package/lib/utils/limit-order-sdk/connector/private-key-provider.connector.js.map +1 -0
- package/lib/utils/limit-order-sdk/connector/provider.connector.d.ts +8 -0
- package/lib/utils/limit-order-sdk/connector/provider.connector.js +3 -0
- package/lib/utils/limit-order-sdk/connector/provider.connector.js.map +1 -0
- package/lib/utils/limit-order-sdk/connector/web3-provider.connector.d.ts +12 -0
- package/lib/utils/limit-order-sdk/connector/web3-provider.connector.js +37 -0
- package/lib/utils/limit-order-sdk/connector/web3-provider.connector.js.map +1 -0
- package/lib/utils/limit-order-sdk/docs/about.md +51 -0
- package/lib/utils/limit-order-sdk/docs/cancel-all-limit-orders.md +41 -0
- package/lib/utils/limit-order-sdk/docs/cancel-limit-order-rfq.md +68 -0
- package/lib/utils/limit-order-sdk/docs/cancel-limit-order.md +38 -0
- package/lib/utils/limit-order-sdk/docs/create-limit-order-rfq.md +82 -0
- package/lib/utils/limit-order-sdk/docs/create-limit-order.md +110 -0
- package/lib/utils/limit-order-sdk/docs/domain-separator.md +22 -0
- package/lib/utils/limit-order-sdk/docs/fill-limit-order-rfq.md +103 -0
- package/lib/utils/limit-order-sdk/docs/fill-limit-order.md +57 -0
- package/lib/utils/limit-order-sdk/docs/limit-order-rfq-structure.md +24 -0
- package/lib/utils/limit-order-sdk/docs/limit-order-structure.md +14 -0
- package/lib/utils/limit-order-sdk/docs/nonce.md +54 -0
- package/lib/utils/limit-order-sdk/docs/predicate.md +90 -0
- package/lib/utils/limit-order-sdk/docs/quick-start.md +78 -0
- package/lib/utils/limit-order-sdk/docs/remaining.md +51 -0
- package/lib/utils/limit-order-sdk/docs/validate-limit-order.md +38 -0
- package/lib/utils/limit-order-sdk/erc20.facade.d.ts +10 -0
- package/lib/utils/limit-order-sdk/erc20.facade.js +19 -0
- package/lib/utils/limit-order-sdk/erc20.facade.js.map +1 -0
- package/lib/utils/limit-order-sdk/index.d.ts +11 -0
- package/lib/utils/limit-order-sdk/index.js +15 -0
- package/lib/utils/limit-order-sdk/index.js.map +1 -0
- package/lib/utils/limit-order-sdk/limit-order-predicate.builder.d.ts +13 -0
- package/lib/utils/limit-order-sdk/limit-order-predicate.builder.js +51 -0
- package/lib/utils/limit-order-sdk/limit-order-predicate.builder.js.map +1 -0
- package/lib/utils/limit-order-sdk/limit-order-protocol.const.d.ts +20 -0
- package/lib/utils/limit-order-sdk/limit-order-protocol.const.js +46 -0
- package/lib/utils/limit-order-sdk/limit-order-protocol.const.js.map +1 -0
- package/lib/utils/limit-order-sdk/limit-order-protocol.facade.d.ts +35 -0
- package/lib/utils/limit-order-sdk/limit-order-protocol.facade.js +177 -0
- package/lib/utils/limit-order-sdk/limit-order-protocol.facade.js.map +1 -0
- package/lib/utils/limit-order-sdk/limit-order.builder.d.ts +20 -0
- package/lib/utils/limit-order-sdk/limit-order.builder.js +113 -0
- package/lib/utils/limit-order-sdk/limit-order.builder.js.map +1 -0
- package/lib/utils/limit-order-sdk/model/abi.model.d.ts +21 -0
- package/lib/utils/limit-order-sdk/model/abi.model.js +3 -0
- package/lib/utils/limit-order-sdk/model/abi.model.js.map +1 -0
- package/lib/utils/limit-order-sdk/model/eip712.model.d.ts +25 -0
- package/lib/utils/limit-order-sdk/model/eip712.model.js +3 -0
- package/lib/utils/limit-order-sdk/model/eip712.model.js.map +1 -0
- package/lib/utils/limit-order-sdk/model/limit-order-protocol.model.d.ts +87 -0
- package/lib/utils/limit-order-sdk/model/limit-order-protocol.model.js +39 -0
- package/lib/utils/limit-order-sdk/model/limit-order-protocol.model.js.map +1 -0
- package/lib/utils/limit-order-sdk/package.json +80 -0
- package/lib/utils/limit-order-sdk/utils/get-rpc-code.d.ts +1 -0
- package/lib/utils/limit-order-sdk/utils/get-rpc-code.js +29 -0
- package/lib/utils/limit-order-sdk/utils/get-rpc-code.js.map +1 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.const.d.ts +15 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.const.js +134 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.const.js.map +1 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.helpers.d.ts +13 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.helpers.js +154 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.helpers.js.map +1 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.model.d.ts +29 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.model.js +3 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.model.js.map +1 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.utils.d.ts +2 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.utils.js +39 -0
- package/lib/utils/limit-order-sdk/utils/limit-order-rfq.utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PromptObject } from 'prompts';
|
|
2
|
+
import { ChainId } from '../model/limit-order-protocol.model';
|
|
3
|
+
export declare const operationSchema: PromptObject[];
|
|
4
|
+
export declare const createOrderSchema: PromptObject[];
|
|
5
|
+
export declare const fillOrderSchema: PromptObject[];
|
|
6
|
+
export declare const cancelOrderSchema: PromptObject[];
|
|
7
|
+
export declare const rpcUrls: {
|
|
8
|
+
[key in ChainId]: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const contractAddresses: {
|
|
11
|
+
[key in ChainId]: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const explorersUrls: {
|
|
14
|
+
[key in ChainId]: string;
|
|
15
|
+
};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.explorersUrls = exports.contractAddresses = exports.rpcUrls = exports.cancelOrderSchema = exports.fillOrderSchema = exports.createOrderSchema = exports.operationSchema = void 0;
|
|
4
|
+
const limit_order_protocol_model_1 = require("../model/limit-order-protocol.model");
|
|
5
|
+
const commonProperties = [
|
|
6
|
+
{
|
|
7
|
+
type: 'select',
|
|
8
|
+
name: 'chainId',
|
|
9
|
+
message: 'Select network',
|
|
10
|
+
choices: [
|
|
11
|
+
{ title: 'Ethereum', value: limit_order_protocol_model_1.ChainId.etherumMainnet },
|
|
12
|
+
{ title: 'BSC', value: limit_order_protocol_model_1.ChainId.binanceMainnet },
|
|
13
|
+
{ title: 'Polygon', value: limit_order_protocol_model_1.ChainId.polygonMainnet },
|
|
14
|
+
{ title: 'Optimism', value: limit_order_protocol_model_1.ChainId.optimismMainnet },
|
|
15
|
+
{ title: 'Arbitrum', value: limit_order_protocol_model_1.ChainId.arbitrumMainnet },
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'password',
|
|
20
|
+
name: 'privateKey',
|
|
21
|
+
message: 'Enter your private key',
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
exports.operationSchema = [
|
|
25
|
+
{
|
|
26
|
+
type: 'select',
|
|
27
|
+
name: 'operation',
|
|
28
|
+
choices: [
|
|
29
|
+
{ title: 'create', value: 'create' },
|
|
30
|
+
{ title: 'fill', value: 'fill' },
|
|
31
|
+
{ title: 'cancel', value: 'cancel' },
|
|
32
|
+
],
|
|
33
|
+
message: 'Choose operation for limit order RFQ: create, fill, cancel',
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
exports.createOrderSchema = [
|
|
37
|
+
...commonProperties,
|
|
38
|
+
{
|
|
39
|
+
type: 'number',
|
|
40
|
+
name: 'orderId',
|
|
41
|
+
message: 'Limit order RFQ id',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
type: 'number',
|
|
45
|
+
name: 'expiresIn',
|
|
46
|
+
message: 'Expires in (seconds, for example: 300 - order will expired in 5 mins)',
|
|
47
|
+
initial: 300,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
type: 'text',
|
|
51
|
+
name: 'makerAssetAddress',
|
|
52
|
+
message: 'Maker asset address',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: 'text',
|
|
56
|
+
name: 'takerAssetAddress',
|
|
57
|
+
message: 'Taker asset address',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: 'text',
|
|
61
|
+
name: 'makerAmount',
|
|
62
|
+
message: 'Maker asset amount',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
type: 'text',
|
|
66
|
+
name: 'takerAmount',
|
|
67
|
+
message: 'Taker asset amount',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: 'text',
|
|
71
|
+
name: 'takerAddress',
|
|
72
|
+
message: 'Taker address (optional)',
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
exports.fillOrderSchema = [
|
|
76
|
+
...commonProperties,
|
|
77
|
+
{
|
|
78
|
+
type: 'number',
|
|
79
|
+
name: 'gasPrice',
|
|
80
|
+
message: 'Gas price (GWEI)',
|
|
81
|
+
initial: 10,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: 'text',
|
|
85
|
+
name: 'order',
|
|
86
|
+
message: 'Limit order RFQ json',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'text',
|
|
90
|
+
name: 'makerAmount',
|
|
91
|
+
message: 'Maker asset fill amount (set 0 if you will use taker asset amount)',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'text',
|
|
95
|
+
name: 'takerAmount',
|
|
96
|
+
message: 'Taker asset amount (set 0 if has set maker asset amount)',
|
|
97
|
+
},
|
|
98
|
+
];
|
|
99
|
+
exports.cancelOrderSchema = [
|
|
100
|
+
...commonProperties,
|
|
101
|
+
{
|
|
102
|
+
type: 'number',
|
|
103
|
+
name: 'gasPrice',
|
|
104
|
+
message: 'Gas price (GWEI)',
|
|
105
|
+
initial: 10,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'text',
|
|
109
|
+
name: 'orderInfo',
|
|
110
|
+
message: 'Order info',
|
|
111
|
+
},
|
|
112
|
+
];
|
|
113
|
+
exports.rpcUrls = {
|
|
114
|
+
[limit_order_protocol_model_1.ChainId.etherumMainnet]: 'https://web3-node.1inch.io',
|
|
115
|
+
[limit_order_protocol_model_1.ChainId.binanceMainnet]: 'https://bsc-dataseed.binance.org',
|
|
116
|
+
[limit_order_protocol_model_1.ChainId.polygonMainnet]: 'https://bor-nodes.1inch.io',
|
|
117
|
+
[limit_order_protocol_model_1.ChainId.optimismMainnet]: 'https://optimism-nodes.1inch.io',
|
|
118
|
+
[limit_order_protocol_model_1.ChainId.arbitrumMainnet]: 'https://arbitrum-nodes.1inch.io',
|
|
119
|
+
};
|
|
120
|
+
exports.contractAddresses = {
|
|
121
|
+
[limit_order_protocol_model_1.ChainId.etherumMainnet]: '0x119c71d3bbac22029622cbaec24854d3d32d2828',
|
|
122
|
+
[limit_order_protocol_model_1.ChainId.binanceMainnet]: '0x1e38eff998df9d3669e32f4ff400031385bf6362',
|
|
123
|
+
[limit_order_protocol_model_1.ChainId.polygonMainnet]: '0x94bc2a1c732bcad7343b25af48385fe76e08734f',
|
|
124
|
+
[limit_order_protocol_model_1.ChainId.optimismMainnet]: '0x11431a89893025d2a48dca4eddc396f8c8117187',
|
|
125
|
+
[limit_order_protocol_model_1.ChainId.arbitrumMainnet]: '0x7f069df72b7a39bce9806e3afaf579e54d8cf2b9',
|
|
126
|
+
};
|
|
127
|
+
exports.explorersUrls = {
|
|
128
|
+
[limit_order_protocol_model_1.ChainId.etherumMainnet]: 'https://etherscan.io',
|
|
129
|
+
[limit_order_protocol_model_1.ChainId.binanceMainnet]: 'https://bscscan.com',
|
|
130
|
+
[limit_order_protocol_model_1.ChainId.polygonMainnet]: 'https://polygonscan.com',
|
|
131
|
+
[limit_order_protocol_model_1.ChainId.optimismMainnet]: 'https://optimistic.etherscan.io',
|
|
132
|
+
[limit_order_protocol_model_1.ChainId.arbitrumMainnet]: 'https://arbiscan.io',
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=limit-order-rfq.const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit-order-rfq.const.js","sourceRoot":"","sources":["../../src/utils/limit-order-rfq.const.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import Web3 from 'web3';
|
|
3
|
+
import { RFQOrder } from '../model/limit-order-protocol.model';
|
|
4
|
+
import { CancelingParams, CreatingParams, FillingParams } from './limit-order-rfq.model';
|
|
5
|
+
import { TransactionConfig } from 'web3-core';
|
|
6
|
+
export declare function createOrderOperation(isRunningWithArgv: boolean, params?: CreatingParams): Promise<void>;
|
|
7
|
+
export declare function fillOrderOperation(isRunningWithArgv: boolean, params?: FillingParams): Promise<void>;
|
|
8
|
+
export declare function cancelOrderOperation(isRunningWithArgv: boolean, params?: CancelingParams): Promise<void>;
|
|
9
|
+
export declare function createOrder(params: CreatingParams): RFQOrder;
|
|
10
|
+
export declare function fillOrder(params: FillingParams, order: RFQOrder): Promise<string>;
|
|
11
|
+
export declare function cancelOrder(params: CancelingParams): Promise<string>;
|
|
12
|
+
export declare function sendSignedTransaction(web3: Web3, txConfig: TransactionConfig, privateKey: string): Promise<string>;
|
|
13
|
+
export declare function gweiToWei(value: number): string;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.gweiToWei = exports.sendSignedTransaction = exports.cancelOrder = exports.fillOrder = exports.createOrder = exports.cancelOrderOperation = exports.fillOrderOperation = exports.createOrderOperation = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const prompts_1 = tslib_1.__importDefault(require("prompts"));
|
|
7
|
+
const kleur_1 = tslib_1.__importDefault(require("kleur"));
|
|
8
|
+
const web3_1 = tslib_1.__importDefault(require("web3"));
|
|
9
|
+
const limit_order_builder_1 = require("../limit-order.builder");
|
|
10
|
+
const limit_order_protocol_facade_1 = require("../limit-order-protocol.facade");
|
|
11
|
+
const limit_order_rfq_const_1 = require("./limit-order-rfq.const");
|
|
12
|
+
const private_key_provider_connector_1 = require("../connector/private-key-provider.connector");
|
|
13
|
+
function createOrderOperation(isRunningWithArgv, params) {
|
|
14
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
const creatingParams = params || (yield prompts_1.default(limit_order_rfq_const_1.createOrderSchema));
|
|
16
|
+
const newOrder = createOrder(creatingParams);
|
|
17
|
+
if (isRunningWithArgv) {
|
|
18
|
+
console.log(JSON.stringify(newOrder));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
console.log(kleur_1.default.green().bold('New limit order RFQ: '));
|
|
22
|
+
console.log(kleur_1.default.white().underline(JSON.stringify(newOrder, null, 4)));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
exports.createOrderOperation = createOrderOperation;
|
|
26
|
+
function fillOrderOperation(isRunningWithArgv, params) {
|
|
27
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const fillingParams = params || (yield prompts_1.default(limit_order_rfq_const_1.fillOrderSchema));
|
|
29
|
+
const orderForFill = JSON.parse(fillingParams.order);
|
|
30
|
+
console.log(kleur_1.default.green().bold('Order for filling: '));
|
|
31
|
+
console.log(kleur_1.default.white().underline(JSON.stringify(orderForFill, null, 4)));
|
|
32
|
+
const txHash = yield fillOrder(fillingParams, orderForFill);
|
|
33
|
+
if (isRunningWithArgv) {
|
|
34
|
+
console.log(txHash);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
console.log(kleur_1.default.green().bold('Order filling transaction: '));
|
|
38
|
+
printTransactionLink(explorerTxLink(fillingParams.chainId, txHash));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
exports.fillOrderOperation = fillOrderOperation;
|
|
42
|
+
function cancelOrderOperation(isRunningWithArgv, params) {
|
|
43
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
const cancelingParams = params || (yield prompts_1.default(limit_order_rfq_const_1.cancelOrderSchema));
|
|
45
|
+
const cancelingTxHash = yield cancelOrder(cancelingParams);
|
|
46
|
+
if (isRunningWithArgv) {
|
|
47
|
+
console.log(cancelingTxHash);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
console.log(kleur_1.default.green().bold('Order canceling transaction: '));
|
|
51
|
+
printTransactionLink(explorerTxLink(cancelingParams.chainId, cancelingTxHash));
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
exports.cancelOrderOperation = cancelOrderOperation;
|
|
55
|
+
/* eslint-disable max-lines-per-function */
|
|
56
|
+
function createOrder(params) {
|
|
57
|
+
const contractAddress = limit_order_rfq_const_1.contractAddresses[params.chainId];
|
|
58
|
+
const web3 = new web3_1.default(limit_order_rfq_const_1.rpcUrls[params.chainId]);
|
|
59
|
+
const providerConnector = new private_key_provider_connector_1.PrivateKeyProviderConnector(params.privateKey, web3);
|
|
60
|
+
const walletAddress = web3.eth.accounts.privateKeyToAccount(params.privateKey).address;
|
|
61
|
+
const limitOrderBuilder = new limit_order_builder_1.LimitOrderBuilder(contractAddress, params.chainId, providerConnector);
|
|
62
|
+
return limitOrderBuilder.buildRFQOrder({
|
|
63
|
+
id: params.orderId,
|
|
64
|
+
expiresInTimestamp: Math.ceil(Date.now() / 1000) + params.expiresIn,
|
|
65
|
+
makerAddress: walletAddress,
|
|
66
|
+
makerAssetAddress: params.makerAssetAddress,
|
|
67
|
+
takerAssetAddress: params.takerAssetAddress,
|
|
68
|
+
makerAmount: params.makerAmount,
|
|
69
|
+
takerAmount: params.takerAmount,
|
|
70
|
+
takerAddress: params.takerAddress || undefined,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
exports.createOrder = createOrder;
|
|
74
|
+
/* eslint-enable max-lines-per-function */
|
|
75
|
+
/* eslint-disable max-lines-per-function */
|
|
76
|
+
function fillOrder(params, order) {
|
|
77
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
const contractAddress = limit_order_rfq_const_1.contractAddresses[params.chainId];
|
|
79
|
+
const web3 = new web3_1.default(limit_order_rfq_const_1.rpcUrls[params.chainId]);
|
|
80
|
+
const providerConnector = new private_key_provider_connector_1.PrivateKeyProviderConnector(params.privateKey, web3);
|
|
81
|
+
const walletAddress = web3.eth.accounts.privateKeyToAccount(params.privateKey).address;
|
|
82
|
+
const limitOrderBuilder = new limit_order_builder_1.LimitOrderBuilder(contractAddress, params.chainId, providerConnector);
|
|
83
|
+
const limitOrderProtocolFacade = new limit_order_protocol_facade_1.LimitOrderProtocolFacade(contractAddress, providerConnector);
|
|
84
|
+
const typedData = limitOrderBuilder.buildRFQOrderTypedData(order, params.domainName || undefined);
|
|
85
|
+
const signature = yield limitOrderBuilder.buildOrderSignature(walletAddress, typedData);
|
|
86
|
+
const callData = limitOrderProtocolFacade.fillRFQOrder(order, signature, params.makerAmount, params.takerAmount);
|
|
87
|
+
const txConfig = {
|
|
88
|
+
to: contractAddress,
|
|
89
|
+
from: walletAddress,
|
|
90
|
+
data: callData,
|
|
91
|
+
value: '0',
|
|
92
|
+
gas: 120000,
|
|
93
|
+
gasPrice: gweiToWei(params.gasPrice),
|
|
94
|
+
nonce: yield web3.eth.getTransactionCount(walletAddress),
|
|
95
|
+
};
|
|
96
|
+
return sendSignedTransaction(web3, txConfig, params.privateKey);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
exports.fillOrder = fillOrder;
|
|
100
|
+
/* eslint-enable max-lines-per-function */
|
|
101
|
+
/* eslint-disable max-lines-per-function */
|
|
102
|
+
function cancelOrder(params) {
|
|
103
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
const contractAddress = limit_order_rfq_const_1.contractAddresses[params.chainId];
|
|
105
|
+
const web3 = new web3_1.default(new web3_1.default.providers.HttpProvider(limit_order_rfq_const_1.rpcUrls[params.chainId]));
|
|
106
|
+
const providerConnector = new private_key_provider_connector_1.PrivateKeyProviderConnector(params.privateKey, web3);
|
|
107
|
+
const walletAddress = web3.eth.accounts.privateKeyToAccount(params.privateKey).address;
|
|
108
|
+
const limitOrderProtocolFacade = new limit_order_protocol_facade_1.LimitOrderProtocolFacade(contractAddress, providerConnector);
|
|
109
|
+
const callData = limitOrderProtocolFacade.cancelRFQOrder(params.orderInfo);
|
|
110
|
+
const txConfig = {
|
|
111
|
+
to: contractAddress,
|
|
112
|
+
from: walletAddress,
|
|
113
|
+
data: callData,
|
|
114
|
+
value: '0',
|
|
115
|
+
gas: 50000,
|
|
116
|
+
gasPrice: gweiToWei(params.gasPrice),
|
|
117
|
+
nonce: yield web3.eth.getTransactionCount(walletAddress),
|
|
118
|
+
};
|
|
119
|
+
return sendSignedTransaction(web3, txConfig, params.privateKey);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
exports.cancelOrder = cancelOrder;
|
|
123
|
+
/* eslint-enable max-lines-per-function */
|
|
124
|
+
function sendSignedTransaction(web3, txConfig, privateKey) {
|
|
125
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
const sign = yield web3.eth.accounts.signTransaction(txConfig, privateKey);
|
|
127
|
+
return yield new Promise((resolve, reject) => {
|
|
128
|
+
web3.eth.sendSignedTransaction(sign.rawTransaction, (error, hash) => {
|
|
129
|
+
if (error) {
|
|
130
|
+
reject(error);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
resolve(hash);
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
exports.sendSignedTransaction = sendSignedTransaction;
|
|
139
|
+
function explorerTxLink(chainId, txHash) {
|
|
140
|
+
const explorerUrl = limit_order_rfq_const_1.explorersUrls[chainId];
|
|
141
|
+
return `${explorerUrl}/tx/${txHash}`;
|
|
142
|
+
}
|
|
143
|
+
function gweiToWei(value) {
|
|
144
|
+
return value + '000000000';
|
|
145
|
+
}
|
|
146
|
+
exports.gweiToWei = gweiToWei;
|
|
147
|
+
function printTransactionLink(text) {
|
|
148
|
+
console.log(kleur_1.default.white('************************************************'));
|
|
149
|
+
console.log(kleur_1.default.white(' '));
|
|
150
|
+
console.log(kleur_1.default.white().underline(text));
|
|
151
|
+
console.log(kleur_1.default.white(' '));
|
|
152
|
+
console.log(kleur_1.default.white('************************************************'));
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=limit-order-rfq.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit-order-rfq.helpers.js","sourceRoot":"","sources":["../../src/utils/limit-order-rfq.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface CreatingParams {
|
|
2
|
+
chainId: number;
|
|
3
|
+
privateKey: string;
|
|
4
|
+
orderId: number;
|
|
5
|
+
expiresIn: number;
|
|
6
|
+
makerAssetAddress: string;
|
|
7
|
+
takerAssetAddress: string;
|
|
8
|
+
makerAmount: string;
|
|
9
|
+
takerAmount: string;
|
|
10
|
+
takerAddress?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface FillingParams {
|
|
13
|
+
chainId: number;
|
|
14
|
+
privateKey: string;
|
|
15
|
+
gasPrice: number;
|
|
16
|
+
order: string;
|
|
17
|
+
makerAmount: string;
|
|
18
|
+
takerAmount: string;
|
|
19
|
+
domainName?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CancelingParams {
|
|
22
|
+
chainId: number;
|
|
23
|
+
privateKey: string;
|
|
24
|
+
gasPrice: number;
|
|
25
|
+
orderInfo: string;
|
|
26
|
+
}
|
|
27
|
+
export interface OperationParams {
|
|
28
|
+
operation: string;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit-order-rfq.model.js","sourceRoot":"","sources":["../../src/utils/limit-order-rfq.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const prompts_1 = tslib_1.__importDefault(require("prompts"));
|
|
6
|
+
const yargs_1 = tslib_1.__importDefault(require("yargs"));
|
|
7
|
+
const limit_order_rfq_const_1 = require("./limit-order-rfq.const");
|
|
8
|
+
const limit_order_rfq_helpers_1 = require("./limit-order-rfq.helpers");
|
|
9
|
+
const allSchemas = [
|
|
10
|
+
limit_order_rfq_const_1.cancelOrderSchema,
|
|
11
|
+
limit_order_rfq_const_1.createOrderSchema,
|
|
12
|
+
limit_order_rfq_const_1.fillOrderSchema,
|
|
13
|
+
limit_order_rfq_const_1.operationSchema,
|
|
14
|
+
];
|
|
15
|
+
(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
const argvKeys = Object.keys(yargs_1.default.argv);
|
|
17
|
+
const isRunningWithArgv = allSchemas.some((schema) => {
|
|
18
|
+
return schema
|
|
19
|
+
.map((i) => i.name)
|
|
20
|
+
.every((param) => argvKeys.includes(param));
|
|
21
|
+
});
|
|
22
|
+
prompts_1.default.override(yargs_1.default.argv);
|
|
23
|
+
const operationResult = (yield prompts_1.default(limit_order_rfq_const_1.operationSchema));
|
|
24
|
+
switch (operationResult.operation) {
|
|
25
|
+
case 'create':
|
|
26
|
+
yield limit_order_rfq_helpers_1.createOrderOperation(isRunningWithArgv);
|
|
27
|
+
break;
|
|
28
|
+
case 'fill':
|
|
29
|
+
yield limit_order_rfq_helpers_1.fillOrderOperation(isRunningWithArgv);
|
|
30
|
+
break;
|
|
31
|
+
case 'cancel':
|
|
32
|
+
yield limit_order_rfq_helpers_1.cancelOrderOperation(isRunningWithArgv);
|
|
33
|
+
break;
|
|
34
|
+
default:
|
|
35
|
+
console.log('Unknown operation: ', operationResult.operation);
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}))();
|
|
39
|
+
//# sourceMappingURL=limit-order-rfq.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit-order-rfq.utils.js","sourceRoot":"","sources":["../../src/utils/limit-order-rfq.utils.ts"],"names":[],"mappings":";;;;AAEA,8DAA8B;AAC9B,0DAA0B;AAC1B,mEAKiC;AAEjC,uEAImC;AAEnC,MAAM,UAAU,GAAG;IACf,yCAAiB;IACjB,yCAAiB;IACjB,uCAAe;IACf,uCAAe;CAClB,CAAC;AAEF,CAAC,GAAS,EAAE;IACR,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,OAAO,MAAM;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC;aAC5B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,iBAAO,CAAC,QAAQ,CAAC,eAAK,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,eAAe,GAAG,CAAC,MAAM,iBAAO,CAAC,uCAAe,CAAC,CAAoB,CAAC;IAE5E,QAAQ,eAAe,CAAC,SAAS,EAAE;QAC/B,KAAK,QAAQ;YACT,MAAM,8CAAoB,CAAC,iBAAiB,CAAC,CAAC;YAC9C,MAAM;QACV,KAAK,MAAM;YACP,MAAM,4CAAkB,CAAC,iBAAiB,CAAC,CAAC;YAC5C,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,8CAAoB,CAAC,iBAAiB,CAAC,CAAC;YAC9C,MAAM;QACV;YACI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM;KACb;AACL,CAAC,CAAA,CAAC,EAAE,CAAC"}
|