@defisaver/automation-sdk 1.2.13 → 1.2.15
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/esm/services/strategySubService.d.ts +1 -1
- package/esm/services/strategySubService.js +3 -7
- package/esm/services/subDataService.d.ts +1 -1
- package/esm/services/subDataService.js +12 -8
- package/esm/services/triggerService.d.ts +2 -1
- package/esm/services/triggerService.js +4 -3
- package/package.json +1 -1
- package/src/services/strategySubService.ts +4 -8
- package/src/services/subDataService.ts +12 -9
- package/src/services/triggerService.ts +5 -4
- package/umd/index.js +10 -16
|
@@ -36,5 +36,5 @@ export declare const morphoAaveV2Encode: {
|
|
|
36
36
|
};
|
|
37
37
|
export declare const exchangeEncode: {
|
|
38
38
|
dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
39
|
-
limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: number):
|
|
39
|
+
limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string, orderType: number): string[];
|
|
40
40
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Dec from 'decimal.js';
|
|
2
|
-
import { getAssetInfo
|
|
2
|
+
import { getAssetInfo } from '@defisaver/tokens';
|
|
3
3
|
import { Bundles, ChainId, RatioState, Strategies, } from '../types/enums';
|
|
4
4
|
import * as subDataService from './subDataService';
|
|
5
5
|
import * as triggerService from './triggerService';
|
|
@@ -112,11 +112,7 @@ export const exchangeEncode = {
|
|
|
112
112
|
const strategyId = Strategies.MainnetIds.EXCHANGE_DCA;
|
|
113
113
|
return [strategyId, false, triggerData, subData];
|
|
114
114
|
},
|
|
115
|
-
limitOrder(fromToken, toToken, amount, targetPrice, goodUntil) {
|
|
116
|
-
|
|
117
|
-
const subData = subDataService.exchangeLimitOrderSubData.encode(fromToken, toToken, amount);
|
|
118
|
-
const fromTokenDecimals = getAssetInfoByAddress(fromToken).decimals;
|
|
119
|
-
const triggerData = triggerService.exchangeOffchainPriceTrigger.encode(targetPrice, goodUntil, fromTokenDecimals);
|
|
120
|
-
return [strategyId, false, triggerData, subData];
|
|
115
|
+
limitOrder(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
|
|
116
|
+
return subDataService.exchangeLimitOrderSubData.encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType);
|
|
121
117
|
},
|
|
122
118
|
};
|
|
@@ -83,7 +83,7 @@ export declare const exchangeDcaSubData: {
|
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
85
|
export declare const exchangeLimitOrderSubData: {
|
|
86
|
-
encode
|
|
86
|
+
encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: number): string[];
|
|
87
87
|
decode: (subData: string[]) => {
|
|
88
88
|
fromToken: string;
|
|
89
89
|
toToken: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Dec from 'decimal.js';
|
|
2
|
-
import { getAssetInfo } from '@defisaver/tokens';
|
|
2
|
+
import { assetAmountInEth, getAssetInfo, getAssetInfoByAddress } from '@defisaver/tokens';
|
|
3
3
|
import { otherAddresses } from '@defisaver/sdk';
|
|
4
4
|
import { ChainId } from '../types/enums';
|
|
5
5
|
import { ZERO_ADDRESS } from '../constants';
|
|
@@ -189,7 +189,7 @@ export const exchangeDcaSubData = {
|
|
|
189
189
|
decode: (subData) => {
|
|
190
190
|
const fromToken = mockedWeb3.eth.abi.decodeParameter('address', subData[0]).toString();
|
|
191
191
|
const toToken = mockedWeb3.eth.abi.decodeParameter('address', subData[1]).toString();
|
|
192
|
-
const amount = mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString();
|
|
192
|
+
const amount = assetAmountInEth(mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString(), getAssetInfoByAddress(fromToken).symbol);
|
|
193
193
|
const interval = mockedWeb3.eth.abi.decodeParameter('uint256', subData[3]).toString();
|
|
194
194
|
return {
|
|
195
195
|
fromToken,
|
|
@@ -200,16 +200,20 @@ export const exchangeDcaSubData = {
|
|
|
200
200
|
},
|
|
201
201
|
};
|
|
202
202
|
export const exchangeLimitOrderSubData = {
|
|
203
|
-
encode
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
203
|
+
encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
|
|
204
|
+
return [
|
|
205
|
+
fromToken,
|
|
206
|
+
toToken,
|
|
207
|
+
amount,
|
|
208
|
+
targetPrice,
|
|
209
|
+
new Dec(goodUntil).toString(),
|
|
210
|
+
new Dec(orderType).toString(),
|
|
211
|
+
];
|
|
208
212
|
},
|
|
209
213
|
decode: (subData) => {
|
|
210
214
|
const fromToken = mockedWeb3.eth.abi.decodeParameter('address', subData[0]).toString();
|
|
211
215
|
const toToken = mockedWeb3.eth.abi.decodeParameter('address', subData[1]).toString();
|
|
212
|
-
const amount = mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString();
|
|
216
|
+
const amount = assetAmountInEth(mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString(), getAssetInfoByAddress(fromToken).symbol);
|
|
213
217
|
return { fromToken, toToken, amount };
|
|
214
218
|
},
|
|
215
219
|
};
|
|
@@ -107,7 +107,8 @@ export declare const exchangeTimestampTrigger: {
|
|
|
107
107
|
export declare const exchangeOffchainPriceTrigger: {
|
|
108
108
|
encode(targetPrice: string, goodUntil: number, fromTokenDecimals: number): string[];
|
|
109
109
|
decode(triggerData: string[], fromTokenDecimals: number): {
|
|
110
|
+
orderType: number;
|
|
110
111
|
targetPrice: string;
|
|
111
|
-
goodUntil:
|
|
112
|
+
goodUntil: any;
|
|
112
113
|
};
|
|
113
114
|
};
|
|
@@ -179,11 +179,12 @@ export const exchangeOffchainPriceTrigger = {
|
|
|
179
179
|
return [mockedWeb3.eth.abi.encodeParameters(['uint256', 'uint256'], [price, goodUntilWei])];
|
|
180
180
|
},
|
|
181
181
|
decode(triggerData, fromTokenDecimals) {
|
|
182
|
-
const decodedData = mockedWeb3.eth.abi.decodeParameters(['uint256', 'uint256'], triggerData[0]);
|
|
183
|
-
const price = new Dec(decodedData[0]).div(
|
|
182
|
+
const decodedData = mockedWeb3.eth.abi.decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
|
|
183
|
+
const price = new Dec(decodedData[0]).div(new Dec(10).pow(fromTokenDecimals)).toDP(fromTokenDecimals).toString();
|
|
184
184
|
return {
|
|
185
185
|
targetPrice: price,
|
|
186
|
-
goodUntil:
|
|
186
|
+
goodUntil: decodedData[1],
|
|
187
|
+
orderType: +decodedData[2],
|
|
187
188
|
};
|
|
188
189
|
},
|
|
189
190
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Dec from 'decimal.js';
|
|
2
|
-
import { getAssetInfo
|
|
2
|
+
import { getAssetInfo } from '@defisaver/tokens';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
Bundles, ChainId, RatioState, Strategies,
|
|
@@ -250,13 +250,9 @@ export const exchangeEncode = {
|
|
|
250
250
|
toToken: EthereumAddress,
|
|
251
251
|
amount: string,
|
|
252
252
|
targetPrice: string,
|
|
253
|
-
goodUntil:
|
|
253
|
+
goodUntil: string,
|
|
254
|
+
orderType: number,
|
|
254
255
|
) {
|
|
255
|
-
|
|
256
|
-
const subData = subDataService.exchangeLimitOrderSubData.encode(fromToken, toToken, amount);
|
|
257
|
-
const fromTokenDecimals = getAssetInfoByAddress(fromToken).decimals;
|
|
258
|
-
const triggerData = triggerService.exchangeOffchainPriceTrigger.encode(targetPrice, goodUntil, fromTokenDecimals);
|
|
259
|
-
|
|
260
|
-
return [strategyId, false, triggerData, subData];
|
|
256
|
+
return subDataService.exchangeLimitOrderSubData.encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType);
|
|
261
257
|
},
|
|
262
258
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Dec from 'decimal.js';
|
|
2
|
-
import { getAssetInfo } from '@defisaver/tokens';
|
|
2
|
+
import { assetAmountInEth, getAssetInfo, getAssetInfoByAddress } from '@defisaver/tokens';
|
|
3
3
|
import { otherAddresses } from '@defisaver/sdk';
|
|
4
4
|
|
|
5
5
|
import type { EthereumAddress, SubData } from '../types';
|
|
@@ -264,7 +264,7 @@ export const exchangeDcaSubData = {
|
|
|
264
264
|
decode: (subData: SubData) => {
|
|
265
265
|
const fromToken = mockedWeb3.eth.abi.decodeParameter('address', subData[0]).toString();
|
|
266
266
|
const toToken = mockedWeb3.eth.abi.decodeParameter('address', subData[1]).toString();
|
|
267
|
-
const amount = mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString();
|
|
267
|
+
const amount = assetAmountInEth(mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString(), getAssetInfoByAddress(fromToken).symbol);
|
|
268
268
|
const interval = mockedWeb3.eth.abi.decodeParameter('uint256', subData[3]).toString();
|
|
269
269
|
return {
|
|
270
270
|
fromToken,
|
|
@@ -276,17 +276,20 @@ export const exchangeDcaSubData = {
|
|
|
276
276
|
};
|
|
277
277
|
|
|
278
278
|
export const exchangeLimitOrderSubData = {
|
|
279
|
-
encode
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
279
|
+
encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: number) : SubData {
|
|
280
|
+
return [
|
|
281
|
+
fromToken,
|
|
282
|
+
toToken,
|
|
283
|
+
amount,
|
|
284
|
+
targetPrice,
|
|
285
|
+
new Dec(goodUntil).toString(),
|
|
286
|
+
new Dec(orderType).toString(),
|
|
287
|
+
];
|
|
285
288
|
},
|
|
286
289
|
decode: (subData: SubData) => {
|
|
287
290
|
const fromToken = mockedWeb3.eth.abi.decodeParameter('address', subData[0]).toString();
|
|
288
291
|
const toToken = mockedWeb3.eth.abi.decodeParameter('address', subData[1]).toString();
|
|
289
|
-
const amount = mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString();
|
|
292
|
+
const amount = assetAmountInEth(mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString(), getAssetInfoByAddress(fromToken).symbol);
|
|
290
293
|
return { fromToken, toToken, amount };
|
|
291
294
|
},
|
|
292
295
|
};
|
|
@@ -224,12 +224,13 @@ export const exchangeOffchainPriceTrigger = {
|
|
|
224
224
|
decode(
|
|
225
225
|
triggerData: TriggerData,
|
|
226
226
|
fromTokenDecimals: number,
|
|
227
|
-
): { targetPrice: string
|
|
228
|
-
const decodedData = mockedWeb3.eth.abi.decodeParameters(['uint256', 'uint256'], triggerData[0]);
|
|
229
|
-
const price = new Dec(decodedData[0]).div(10
|
|
227
|
+
): { orderType: number; targetPrice: string; goodUntil: any } {
|
|
228
|
+
const decodedData = mockedWeb3.eth.abi.decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
|
|
229
|
+
const price = new Dec(decodedData[0]).div(new Dec(10).pow(fromTokenDecimals)).toDP(fromTokenDecimals).toString();
|
|
230
230
|
return {
|
|
231
231
|
targetPrice: price,
|
|
232
|
-
goodUntil:
|
|
232
|
+
goodUntil: decodedData[1],
|
|
233
|
+
orderType: +decodedData[2],
|
|
233
234
|
};
|
|
234
235
|
},
|
|
235
236
|
};
|
package/umd/index.js
CHANGED
|
@@ -19273,7 +19273,7 @@ var exchangeDcaSubData = {
|
|
|
19273
19273
|
decode: subData => {
|
|
19274
19274
|
var fromToken = mockedWeb3.eth.abi.decodeParameter('address', subData[0]).toString();
|
|
19275
19275
|
var toToken = mockedWeb3.eth.abi.decodeParameter('address', subData[1]).toString();
|
|
19276
|
-
var amount = mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString();
|
|
19276
|
+
var amount = (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.assetAmountInEth)(mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString(), (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.getAssetInfoByAddress)(fromToken).symbol);
|
|
19277
19277
|
var interval = mockedWeb3.eth.abi.decodeParameter('uint256', subData[3]).toString();
|
|
19278
19278
|
return {
|
|
19279
19279
|
fromToken,
|
|
@@ -19284,16 +19284,13 @@ var exchangeDcaSubData = {
|
|
|
19284
19284
|
}
|
|
19285
19285
|
};
|
|
19286
19286
|
var exchangeLimitOrderSubData = {
|
|
19287
|
-
encode
|
|
19288
|
-
|
|
19289
|
-
var toTokenEncoded = mockedWeb3.eth.abi.encodeParameter('address', toToken);
|
|
19290
|
-
var amountEncoded = mockedWeb3.eth.abi.encodeParameter('uint256', amount);
|
|
19291
|
-
return [fromTokenEncoded, toTokenEncoded, amountEncoded];
|
|
19287
|
+
encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
|
|
19288
|
+
return [fromToken, toToken, amount, targetPrice, new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(goodUntil).toString(), new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(orderType).toString()];
|
|
19292
19289
|
},
|
|
19293
19290
|
decode: subData => {
|
|
19294
19291
|
var fromToken = mockedWeb3.eth.abi.decodeParameter('address', subData[0]).toString();
|
|
19295
19292
|
var toToken = mockedWeb3.eth.abi.decodeParameter('address', subData[1]).toString();
|
|
19296
|
-
var amount = mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString();
|
|
19293
|
+
var amount = (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.assetAmountInEth)(mockedWeb3.eth.abi.decodeParameter('uint256', subData[2]).toString(), (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.getAssetInfoByAddress)(fromToken).symbol);
|
|
19297
19294
|
return {
|
|
19298
19295
|
fromToken,
|
|
19299
19296
|
toToken,
|
|
@@ -29238,11 +29235,12 @@ var exchangeOffchainPriceTrigger = {
|
|
|
29238
29235
|
return [mockedWeb3.eth.abi.encodeParameters(['uint256', 'uint256'], [price, goodUntilWei])];
|
|
29239
29236
|
},
|
|
29240
29237
|
decode(triggerData, fromTokenDecimals) {
|
|
29241
|
-
var decodedData = mockedWeb3.eth.abi.decodeParameters(['uint256', 'uint256'], triggerData[0]);
|
|
29242
|
-
var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[0]).div(10
|
|
29238
|
+
var decodedData = mockedWeb3.eth.abi.decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
|
|
29239
|
+
var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[0]).div(new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(10).pow(fromTokenDecimals)).toDP(fromTokenDecimals).toString();
|
|
29243
29240
|
return {
|
|
29244
29241
|
targetPrice: price,
|
|
29245
|
-
goodUntil:
|
|
29242
|
+
goodUntil: decodedData[1],
|
|
29243
|
+
orderType: +decodedData[2]
|
|
29246
29244
|
};
|
|
29247
29245
|
}
|
|
29248
29246
|
};
|
|
@@ -29451,12 +29449,8 @@ var exchangeEncode = {
|
|
|
29451
29449
|
var strategyId = _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.EXCHANGE_DCA;
|
|
29452
29450
|
return [strategyId, false, triggerData, subData];
|
|
29453
29451
|
},
|
|
29454
|
-
limitOrder(fromToken, toToken, amount, targetPrice, goodUntil) {
|
|
29455
|
-
|
|
29456
|
-
var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.exchangeLimitOrderSubData.encode(fromToken, toToken, amount);
|
|
29457
|
-
var fromTokenDecimals = (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.getAssetInfoByAddress)(fromToken).decimals;
|
|
29458
|
-
var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.exchangeOffchainPriceTrigger.encode(targetPrice, goodUntil, fromTokenDecimals);
|
|
29459
|
-
return [strategyId, false, triggerData, subData];
|
|
29452
|
+
limitOrder(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
|
|
29453
|
+
return _subDataService__WEBPACK_IMPORTED_MODULE_3__.exchangeLimitOrderSubData.encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType);
|
|
29460
29454
|
}
|
|
29461
29455
|
};
|
|
29462
29456
|
|