aftermath-ts-sdk 1.1.74-dca.8 → 1.1.74-dca.9
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/dist/general/apiHelpers/transactionsApiHelpers.d.ts +8 -0
- package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +1 -1
- package/dist/general/apiHelpers/transactionsApiHelpers.js +73 -0
- package/dist/packages/dca/api/dcaApi.d.ts +2 -3
- package/dist/packages/dca/api/dcaApi.d.ts.map +1 -1
- package/dist/packages/dca/api/dcaApi.js +21 -46
- package/dist/packages/dca/api/dcaApiCasting.d.ts +2 -1
- package/dist/packages/dca/api/dcaApiCasting.d.ts.map +1 -1
- package/dist/packages/dca/api/dcaApiCasting.js +16 -16
- package/dist/packages/dca/dca.d.ts +8 -5
- package/dist/packages/dca/dca.d.ts.map +1 -1
- package/dist/packages/dca/dca.js +15 -9
- package/dist/packages/dca/dcaTypes.d.ts +10 -14
- package/dist/packages/dca/dcaTypes.d.ts.map +1 -1
- package/dist/packages/router/api/routerApi.d.ts +2 -4
- package/dist/packages/router/api/routerApi.d.ts.map +1 -1
- package/dist/packages/router/api/routerApi.js +12 -53
- package/package.json +1 -1
|
@@ -47,5 +47,13 @@ export declare class TransactionsApiHelpers {
|
|
|
47
47
|
static coinTxArgFromServiceCoinDataV0: (inputs: {
|
|
48
48
|
serviceCoinData: ServiceCoinData;
|
|
49
49
|
}) => CoinTransactionObjectArgumentV0;
|
|
50
|
+
static transferTxMetadata: (inputs: {
|
|
51
|
+
initTx: Transaction;
|
|
52
|
+
newTx: Transaction;
|
|
53
|
+
}) => void;
|
|
54
|
+
static transferTxMetadataV0: (inputs: {
|
|
55
|
+
initTx: TransactionBlock;
|
|
56
|
+
newTx: TransactionBlock;
|
|
57
|
+
}) => void;
|
|
50
58
|
}
|
|
51
59
|
//# sourceMappingURL=transactionsApiHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionsApiHelpers.d.ts","sourceRoot":"","sources":["../../../src/general/apiHelpers/transactionsApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,QAAQ,EAER,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,OAAO,EACP,+BAA+B,EAC/B,QAAQ,EACR,QAAQ,EACR,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EACN,gBAAgB,EAGhB,MAAM,6BAA6B,CAAC;AAErC,qBAAa,sBAAsB;IAKtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAU5C,2BAA2B,WAAkB;QACnD,KAAK,EAAE,gCAAgC,CAAC;QACxC,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,KAAG,QAAQ,sBAAsB,CAAC,CAqBjC;IAEK,sBAAsB,WAAkB;QAC9C,EAAE,EAAE,WAAW,CAAC;KAChB,KAAG,QAAQ,WAAW,CAAC,CAsBtB;IAEK,wBAAwB,WAAkB;QAChD,EAAE,EAAE,gBAAgB,CAAC;KACrB,KAAG,QAAQ,gBAAgB,CAAC,CA6B3B;IAEK,+BAA+B,WAAkB;QACvD,EAAE,EAAE,WAAW,GAAG,QAAQ,WAAW,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,OAAO,CAAC;KACxB,KAAG,QAAQ,qBAAqB,CAAC,CAQhC;IAEK,iCAAiC,WAAkB;QACzD,EAAE,EAAE,gBAAgB,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QACjD,aAAa,CAAC,EAAE,OAAO,CAAC;KACxB,KAAG,QAAQ,qBAAqB,CAAC,CAQhC;IAUF,OAAc,cAAc,mBACX,MAAM,eACT,MAAM,gBACL,MAAM,KAClB,GAAG,MAAM,KAAK,MAAM,KAAK,MAAM,EAAE,CACkB;IAEtD,OAAc,iBAAiB,qCACJ,mBAAmB;uBAG7B,UAAU;+BAEtB,WAAW,CAkBd;WAEY,WAAW,CAAC,MAAM,EAAE;QACjC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAAC;QACnC,QAAQ,EAAE,QAAQ,CAAC;QAEnB,MAAM,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;KAChB;IAiBD,OAAc,4BAA4B,WAAY;QACrD,SAAS,EAAE,yBAAyB,GAAG,QAAQ,GAAG,QAAQ,CAAC;KAC3D,KAAG,eAAe,CA8BjB;IAEF,OAAc,8BAA8B,WAAY;QACvD,SAAS,EAAE,+BAA+B,GAAG,QAAQ,CAAC;KACtD,KAAG,eAAe,CAgBjB;IAEF,OAAc,4BAA4B,WAAY;QACrD,eAAe,EAAE,eAAe,CAAC;KACjC,KAAG,yBAAyB,CA2B3B;IAEF,OAAc,8BAA8B,WAAY;QACvD,eAAe,EAAE,eAAe,CAAC;KACjC,KAAG,+BAA+B,CAyBjC;
|
|
1
|
+
{"version":3,"file":"transactionsApiHelpers.d.ts","sourceRoot":"","sources":["../../../src/general/apiHelpers/transactionsApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,QAAQ,EAER,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,OAAO,EACP,+BAA+B,EAC/B,QAAQ,EACR,QAAQ,EACR,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EACN,gBAAgB,EAGhB,MAAM,6BAA6B,CAAC;AAErC,qBAAa,sBAAsB;IAKtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAU5C,2BAA2B,WAAkB;QACnD,KAAK,EAAE,gCAAgC,CAAC;QACxC,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,KAAG,QAAQ,sBAAsB,CAAC,CAqBjC;IAEK,sBAAsB,WAAkB;QAC9C,EAAE,EAAE,WAAW,CAAC;KAChB,KAAG,QAAQ,WAAW,CAAC,CAsBtB;IAEK,wBAAwB,WAAkB;QAChD,EAAE,EAAE,gBAAgB,CAAC;KACrB,KAAG,QAAQ,gBAAgB,CAAC,CA6B3B;IAEK,+BAA+B,WAAkB;QACvD,EAAE,EAAE,WAAW,GAAG,QAAQ,WAAW,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,OAAO,CAAC;KACxB,KAAG,QAAQ,qBAAqB,CAAC,CAQhC;IAEK,iCAAiC,WAAkB;QACzD,EAAE,EAAE,gBAAgB,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QACjD,aAAa,CAAC,EAAE,OAAO,CAAC;KACxB,KAAG,QAAQ,qBAAqB,CAAC,CAQhC;IAUF,OAAc,cAAc,mBACX,MAAM,eACT,MAAM,gBACL,MAAM,KAClB,GAAG,MAAM,KAAK,MAAM,KAAK,MAAM,EAAE,CACkB;IAEtD,OAAc,iBAAiB,qCACJ,mBAAmB;uBAG7B,UAAU;+BAEtB,WAAW,CAkBd;WAEY,WAAW,CAAC,MAAM,EAAE;QACjC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAAC;QACnC,QAAQ,EAAE,QAAQ,CAAC;QAEnB,MAAM,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;KAChB;IAiBD,OAAc,4BAA4B,WAAY;QACrD,SAAS,EAAE,yBAAyB,GAAG,QAAQ,GAAG,QAAQ,CAAC;KAC3D,KAAG,eAAe,CA8BjB;IAEF,OAAc,8BAA8B,WAAY;QACvD,SAAS,EAAE,+BAA+B,GAAG,QAAQ,CAAC;KACtD,KAAG,eAAe,CAgBjB;IAEF,OAAc,4BAA4B,WAAY;QACrD,eAAe,EAAE,eAAe,CAAC;KACjC,KAAG,yBAAyB,CA2B3B;IAEF,OAAc,8BAA8B,WAAY;QACvD,eAAe,EAAE,eAAe,CAAC;KACjC,KAAG,+BAA+B,CAyBjC;IAuCF,OAAc,kBAAkB,WAAY;QAC3C,MAAM,EAAE,WAAW,CAAC;QACpB,KAAK,EAAE,WAAW,CAAC;KACnB,UAoBC;IAEF,OAAc,oBAAoB,WAAY;QAC7C,MAAM,EAAE,gBAAgB,CAAC;QACzB,KAAK,EAAE,gBAAgB,CAAC;KACxB,UA+BC;CACF"}
|
|
@@ -203,3 +203,76 @@ TransactionsApiHelpers.coinTxArgFromServiceCoinDataV0 = (inputs) => {
|
|
|
203
203
|
index: Object.values(serviceCoinData)[0],
|
|
204
204
|
};
|
|
205
205
|
};
|
|
206
|
+
// public static mergeCoinsTx(inputs: {
|
|
207
|
+
// tx: Transaction;
|
|
208
|
+
// coinType: CoinType;
|
|
209
|
+
// destinationCoinId: TransactionArgument | string;
|
|
210
|
+
// sources: TransactionArgument[] | ObjectId[];
|
|
211
|
+
// }) {
|
|
212
|
+
// const { tx, coinType, destinationCoinId, sources } = inputs;
|
|
213
|
+
// // TODO: clean this up
|
|
214
|
+
// const coinVec =
|
|
215
|
+
// typeof sources[0] === "string"
|
|
216
|
+
// ? tx.makeMoveVec({
|
|
217
|
+
// objects: sources.map((source) =>
|
|
218
|
+
// tx.object(source as ObjectId)
|
|
219
|
+
// ),
|
|
220
|
+
// type: `Coin<${coinType}>`,
|
|
221
|
+
// })
|
|
222
|
+
// : sources;
|
|
223
|
+
// return tx.moveCall({
|
|
224
|
+
// target: this.createTxTarget(
|
|
225
|
+
// Sui.constants.addresses.suiPackageId,
|
|
226
|
+
// "pay",
|
|
227
|
+
// "join_vec"
|
|
228
|
+
// ),
|
|
229
|
+
// typeArguments: [coinType],
|
|
230
|
+
// arguments: [
|
|
231
|
+
// typeof destinationCoinId === "string"
|
|
232
|
+
// ? tx.object(destinationCoinId)
|
|
233
|
+
// : destinationCoinId, // Coin,
|
|
234
|
+
// // TODO: clean this up
|
|
235
|
+
// // @ts-ignore
|
|
236
|
+
// coinVec, // coins
|
|
237
|
+
// ],
|
|
238
|
+
// });
|
|
239
|
+
// }
|
|
240
|
+
TransactionsApiHelpers.transferTxMetadata = (inputs) => {
|
|
241
|
+
const { initTx, newTx } = inputs;
|
|
242
|
+
const sender = initTx.getData().sender;
|
|
243
|
+
if (sender)
|
|
244
|
+
newTx.setSender(sender);
|
|
245
|
+
const expiration = initTx.getData().expiration;
|
|
246
|
+
if (expiration)
|
|
247
|
+
newTx.setExpiration(expiration);
|
|
248
|
+
const gasData = initTx.getData().gasData;
|
|
249
|
+
if (gasData.budget && typeof gasData.budget !== "string")
|
|
250
|
+
newTx.setGasBudget(gasData.budget);
|
|
251
|
+
if (gasData.owner)
|
|
252
|
+
newTx.setGasOwner(gasData.owner);
|
|
253
|
+
if (gasData.payment)
|
|
254
|
+
newTx.setGasPayment(gasData.payment);
|
|
255
|
+
if (gasData.price && typeof gasData.price !== "string")
|
|
256
|
+
newTx.setGasPrice(gasData.price);
|
|
257
|
+
};
|
|
258
|
+
TransactionsApiHelpers.transferTxMetadataV0 = (inputs) => {
|
|
259
|
+
const { initTx, newTx } = inputs;
|
|
260
|
+
const sender = initTx.blockData.sender;
|
|
261
|
+
if (sender)
|
|
262
|
+
newTx.setSender(sender);
|
|
263
|
+
const expiration = initTx.blockData.expiration;
|
|
264
|
+
if (expiration && !("None" in expiration && expiration.None === null))
|
|
265
|
+
// @ts-ignore
|
|
266
|
+
newTx.setExpiration(expiration);
|
|
267
|
+
const gasData = initTx.blockData.gasConfig;
|
|
268
|
+
if (gasData.budget && typeof gasData.budget !== "string")
|
|
269
|
+
newTx.setGasBudget(gasData.budget);
|
|
270
|
+
if (gasData.owner)
|
|
271
|
+
newTx.setGasOwner(gasData.owner);
|
|
272
|
+
if (gasData.payment)
|
|
273
|
+
newTx.setGasPayment(gasData.payment.map((payment) => (Object.assign(Object.assign({}, payment), { version: typeof payment.version === "bigint"
|
|
274
|
+
? Number(payment.version)
|
|
275
|
+
: payment.version }))));
|
|
276
|
+
if (gasData.price && typeof gasData.price !== "string")
|
|
277
|
+
newTx.setGasPrice(gasData.price);
|
|
278
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AftermathApi } from "../../../general/providers";
|
|
2
|
-
import { ApiDcaCreateUserBody, ApiDCAsOwnedBody, ApiDcaTransactionForCloseOrderBody, ApiDcaTransactionForCreateOrderBody,
|
|
2
|
+
import { ApiDcaCreateUserBody, ApiDCAsOwnedBody, ApiDcaTransactionForCloseOrderBody, ApiDcaTransactionForCreateOrderBody, DcaOrderObject, DcaOrdersObject } from "../dcaTypes";
|
|
3
3
|
import { AnyObjectType, Balance, DcaAddresses, SuiAddress } from "../../../types";
|
|
4
4
|
import { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
5
5
|
export declare class DcaApi {
|
|
@@ -21,7 +21,7 @@ export declare class DcaApi {
|
|
|
21
21
|
orderAmountPerTrade: Balance;
|
|
22
22
|
} & ApiDcaTransactionForCreateOrderBody) => Promise<Transaction>;
|
|
23
23
|
fetchCloseDcaOrder: (inputs: ApiDcaTransactionForCloseOrderBody) => Promise<boolean>;
|
|
24
|
-
fetchUserPublicKey: (inputs: ApiDCAsOwnedBody) => Promise<
|
|
24
|
+
fetchUserPublicKey: (inputs: ApiDCAsOwnedBody) => Promise<string | undefined>;
|
|
25
25
|
fetchCreateUserPublicKey: (inputs: ApiDcaCreateUserBody) => Promise<boolean>;
|
|
26
26
|
fetchAllOrdersObjects: (inputs: {
|
|
27
27
|
walletAddress: SuiAddress;
|
|
@@ -40,6 +40,5 @@ export declare class DcaApi {
|
|
|
40
40
|
private createdOrderEventType;
|
|
41
41
|
private closedOrderEventType;
|
|
42
42
|
private executedOrderEventType;
|
|
43
|
-
private static transferTxMetadata;
|
|
44
43
|
}
|
|
45
44
|
//# sourceMappingURL=dcaApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dcaApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/dca/api/dcaApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EACN,oBAAoB,EACpB,gBAAgB,EAChB,kCAAkC,EAClC,mCAAmC,EACnC,
|
|
1
|
+
{"version":3,"file":"dcaApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/dca/api/dcaApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EACN,oBAAoB,EACpB,gBAAgB,EAChB,kCAAkC,EAClC,mCAAmC,EACnC,cAAc,EACd,eAAe,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,aAAa,EACb,OAAO,EACP,YAAY,EACZ,UAAU,EACV,MAAM,gBAAgB,CAAC;AAaxB,OAAO,EACN,WAAW,EACX,yBAAyB,EACzB,MAAM,0BAA0B,CAAC;AAKlC,qBAAa,MAAM;IAiCN,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA5BrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAW/B;IAMF,SAAgB,SAAS,EAAE,YAAY,CAAC;IACxC,SAAgB,UAAU,EAAE;QAC3B,YAAY,EAAE,aAAa,CAAC;QAC5B,WAAW,EAAE,aAAa,CAAC;QAC3B,aAAa,EAAE,aAAa,CAAC;KAC7B,CAAC;gBAM2B,QAAQ,EAAE,YAAY;IAmB5C,uBAAuB,WACrB,mCAAmC,KACzC,QAAQ,WAAW,CAAC,CAwCrB;IAMK,gBAAgB,WACd;QACP,EAAE,EAAE,WAAW,CAAC;QAChB,cAAc,EAAE,yBAAyB,CAAC;QAC1C,YAAY,EAAE,yBAAyB,CAAC;QACxC,gBAAgB,EAAE,UAAU,CAAC;QAC7B,mBAAmB,EAAE,OAAO,CAAC;KAC7B,GAAG,mCAAmC,0BA2DtC;IAMK,kBAAkB,WAChB,kCAAkC,KACxC,QAAQ,OAAO,CAAC,CAgBjB;IAMK,kBAAkB,WAChB,gBAAgB,KACtB,QAAQ,MAAM,GAAG,SAAS,CAAC,CAe5B;IAEK,wBAAwB,WACtB,oBAAoB,KAC1B,QAAQ,OAAO,CAAC,CAgBjB;IAMK,qBAAqB,WAAkB;QAC7C,aAAa,EAAE,UAAU,CAAC;KAC1B,KAAG,QAAQ,eAAe,CAAC,CAS1B;IAEK,wBAAwB,WAAkB;QAChD,aAAa,EAAE,UAAU,CAAC;KAC1B,KAAG,QAAQ,cAAc,EAAE,CAAC,CAK3B;IAEK,sBAAsB,WAAkB;QAC9C,aAAa,EAAE,UAAU,CAAC;KAC1B,KAAG,QAAQ,cAAc,EAAE,CAAC,CAK3B;IAEK,wBAAwB,WAAkB;QAChD,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;KACxB,KAAG,QAAQ,cAAc,EAAE,CAAC,CAgC3B;IAEF,OAAO,CAAC,OAAO,CAgCb;IAMF,OAAO,CAAC,qBAAqB,CAK1B;IAEH,OAAO,CAAC,oBAAoB,CAKzB;IAEH,OAAO,CAAC,sBAAsB,CAK3B;CACH"}
|
|
@@ -14,7 +14,8 @@ const utils_1 = require("../../../general/utils");
|
|
|
14
14
|
const coin_1 = require("../../coin");
|
|
15
15
|
const transactions_1 = require("@mysten/sui/transactions");
|
|
16
16
|
const eventsApiHelpers_1 = require("../../../general/apiHelpers/eventsApiHelpers");
|
|
17
|
-
const
|
|
17
|
+
const transactionsApiHelpers_1 = require("../../../general/apiHelpers/transactionsApiHelpers");
|
|
18
|
+
const dca_1 = require("../dca");
|
|
18
19
|
class DcaApi {
|
|
19
20
|
// =========================================================================
|
|
20
21
|
// Constructor
|
|
@@ -28,7 +29,7 @@ class DcaApi {
|
|
|
28
29
|
const { walletAddress } = inputs;
|
|
29
30
|
const tx = new transactions_1.Transaction();
|
|
30
31
|
tx.setSender(walletAddress);
|
|
31
|
-
const tradesGasAmount = BigInt(inputs.tradesAmount) *
|
|
32
|
+
const tradesGasAmount = BigInt(inputs.tradesAmount) * dca_1.Dca.constants.gasAmount;
|
|
32
33
|
const orderAmountPerTrade = inputs.allocateCoinAmount / BigInt(inputs.tradesAmount);
|
|
33
34
|
const recipientAddress = inputs.customRecipient
|
|
34
35
|
? inputs.customRecipient
|
|
@@ -84,17 +85,17 @@ class DcaApi {
|
|
|
84
85
|
delay_timestamp_ms: inputs.delayTimeMs.toString(),
|
|
85
86
|
amount_per_trade: inputs.orderAmountPerTrade.toString(),
|
|
86
87
|
max_allowable_slippage_bps: inputs.maxAllowableSlippageBps,
|
|
87
|
-
min_amount_out: ((_c = (_b = inputs.
|
|
88
|
+
min_amount_out: ((_c = (_b = inputs.strategy) === null || _b === void 0 ? void 0 : _b.minPrice) !== null && _c !== void 0 ? _c : 0)
|
|
88
89
|
.toString()
|
|
89
90
|
.replace("n", ""),
|
|
90
|
-
max_amount_out: ((_e = (_d = inputs.
|
|
91
|
+
max_amount_out: ((_e = (_d = inputs.strategy) === null || _d === void 0 ? void 0 : _d.maxPrice) !== null && _e !== void 0 ? _e : utils_1.Casting.u64MaxBigInt)
|
|
91
92
|
.toString()
|
|
92
93
|
.replace("n", ""),
|
|
93
94
|
number_of_trades: Number(inputs.tradesAmount),
|
|
94
95
|
},
|
|
95
96
|
}, undefined, undefined, undefined, true);
|
|
96
97
|
const tx = transactions_1.Transaction.fromKind(tx_data);
|
|
97
|
-
|
|
98
|
+
transactionsApiHelpers_1.TransactionsApiHelpers.transferTxMetadata({
|
|
98
99
|
initTx,
|
|
99
100
|
newTx: tx,
|
|
100
101
|
});
|
|
@@ -117,9 +118,7 @@ class DcaApi {
|
|
|
117
118
|
const data = yield this.Provider.indexerCaller.fetchIndexer(`dca/user/get`, {
|
|
118
119
|
wallet_address: inputs.walletAddress,
|
|
119
120
|
}, undefined, undefined, undefined, true);
|
|
120
|
-
return
|
|
121
|
-
publicKey: data.public_key,
|
|
122
|
-
};
|
|
121
|
+
return data.public_key;
|
|
123
122
|
});
|
|
124
123
|
this.fetchCreateUserPublicKey = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
125
124
|
return this.Provider.indexerCaller.fetchIndexer(`dca/user/add`, {
|
|
@@ -149,23 +148,20 @@ class DcaApi {
|
|
|
149
148
|
});
|
|
150
149
|
this.fetchOrdersObjectsByType = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
151
150
|
const { type, walletAddress } = inputs;
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
catch (error) {
|
|
167
|
-
return [];
|
|
168
|
-
}
|
|
151
|
+
const uncastedResponse = yield this.Provider.indexerCaller.fetchIndexer(`dca/get/${type}`, {
|
|
152
|
+
sender: walletAddress,
|
|
153
|
+
}, undefined, undefined, undefined, true);
|
|
154
|
+
const orders = uncastedResponse.orders
|
|
155
|
+
.sort((lhs, rhs) => rhs.created.timestamp - lhs.created.timestamp)
|
|
156
|
+
.map((order) => utils_1.Casting.dca.createdOrderEventOnIndexer(order));
|
|
157
|
+
const preparedOrders = yield Promise.all(orders.map((order) => __awaiter(this, void 0, void 0, function* () {
|
|
158
|
+
const preparedTrades = yield Promise.all(order.trades.map((trade) => __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
const rate = yield this.getRate(trade);
|
|
160
|
+
return Object.assign(Object.assign({}, trade), { rate });
|
|
161
|
+
})));
|
|
162
|
+
return Object.assign(Object.assign({}, order), { trades: preparedTrades });
|
|
163
|
+
})));
|
|
164
|
+
return preparedOrders;
|
|
169
165
|
});
|
|
170
166
|
this.getRate = (trade) => __awaiter(this, void 0, void 0, function* () {
|
|
171
167
|
const allocatedCoinType = utils_1.Helpers.addLeadingZeroesToType(trade.allocatedCoin.coin);
|
|
@@ -217,24 +213,3 @@ DcaApi.constants = {
|
|
|
217
213
|
executedTrade: "ExecutedTradeEvent",
|
|
218
214
|
},
|
|
219
215
|
};
|
|
220
|
-
// =========================================================================
|
|
221
|
-
// Helpers
|
|
222
|
-
// =========================================================================
|
|
223
|
-
DcaApi.transferTxMetadata = (inputs) => {
|
|
224
|
-
const { initTx, newTx } = inputs;
|
|
225
|
-
const sender = initTx.getData().sender;
|
|
226
|
-
if (sender)
|
|
227
|
-
newTx.setSender(sender);
|
|
228
|
-
const expiration = initTx.getData().expiration;
|
|
229
|
-
if (expiration)
|
|
230
|
-
newTx.setExpiration(expiration);
|
|
231
|
-
const gasData = initTx.getData().gasData;
|
|
232
|
-
if (gasData.budget && typeof gasData.budget !== "string")
|
|
233
|
-
newTx.setGasBudget(gasData.budget);
|
|
234
|
-
if (gasData.owner)
|
|
235
|
-
newTx.setGasOwner(gasData.owner);
|
|
236
|
-
if (gasData.payment)
|
|
237
|
-
newTx.setGasPayment(gasData.payment);
|
|
238
|
-
if (gasData.price && typeof gasData.price !== "string")
|
|
239
|
-
newTx.setGasPrice(gasData.price);
|
|
240
|
-
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { DcaClosedOrderEvent, DcaCreatedOrderEvent, DcaExecutedTradeEvent, DcaOrderObject, DcaOrderTradeObject } from "../dcaTypes";
|
|
2
2
|
import { DcaClosedOrderEventOnChain, DcaCreatedOrderEventOnChain, DcaExecutedTradeEventOnChain, DcaIndexerOrderResponse, DcaIndexerOrderTradeResponse } from "./dcaApiCastingTypes";
|
|
3
|
+
import { CoinType } from "../../../types";
|
|
3
4
|
export declare class DcaApiCasting {
|
|
4
5
|
static createdDcaOrderEventFromOnChain: (eventOnChain: DcaCreatedOrderEventOnChain) => DcaCreatedOrderEvent;
|
|
5
6
|
static closedDcaOrderEventFromOnChain: (eventOnChain: DcaClosedOrderEventOnChain) => DcaClosedOrderEvent;
|
|
6
7
|
static executedTradeEventFromOnChain: (eventOnChain: DcaExecutedTradeEventOnChain) => DcaExecutedTradeEvent;
|
|
7
8
|
static createdOrderEventOnIndexer: (response: DcaIndexerOrderResponse) => DcaOrderObject;
|
|
8
|
-
static createdOrderTradeEventOnIndexer: (response: DcaIndexerOrderTradeResponse,
|
|
9
|
+
static createdOrderTradeEventOnIndexer: (response: DcaIndexerOrderTradeResponse, inputCoinType: CoinType, outputCoinType: CoinType) => DcaOrderTradeObject;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=dcaApiCasting.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dcaApiCasting.d.ts","sourceRoot":"","sources":["../../../../src/packages/dca/api/dcaApiCasting.ts"],"names":[],"mappings":"AACA,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"dcaApiCasting.d.ts","sourceRoot":"","sources":["../../../../src/packages/dca/api/dcaApiCasting.ts"],"names":[],"mappings":"AACA,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAW,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qBAAa,aAAa;IAKzB,OAAc,+BAA+B,iDAE1C,oBAAoB,CAwBrB;IAEF,OAAc,8BAA8B,gDAEzC,mBAAmB,CAwBpB;IAEF,OAAc,6BAA6B,kDAExC,qBAAqB,CAiBtB;IAMF,OAAc,0BAA0B,aAC7B,uBAAuB,KAC/B,cAAc,CAqGf;IAEF,OAAc,+BAA+B,aAClC,4BAA4B,iBACvB,QAAQ,kBACP,QAAQ,KACtB,mBAAmB,CAgBpB;CACF"}
|
|
@@ -13,8 +13,8 @@ _a = DcaApiCasting;
|
|
|
13
13
|
DcaApiCasting.createdDcaOrderEventFromOnChain = (eventOnChain) => {
|
|
14
14
|
const fields = eventOnChain.parsedJson;
|
|
15
15
|
return {
|
|
16
|
-
orderId: fields.order_id,
|
|
17
|
-
owner: fields.user,
|
|
16
|
+
orderId: utils_1.Helpers.addLeadingZeroesToType(fields.order_id),
|
|
17
|
+
owner: utils_1.Helpers.addLeadingZeroesToType(fields.user),
|
|
18
18
|
inputValue: BigInt(fields.input_amount),
|
|
19
19
|
inputType: utils_1.Helpers.addLeadingZeroesToType("0x" + Buffer.from(fields.input_type).toString()),
|
|
20
20
|
outputType: utils_1.Helpers.addLeadingZeroesToType("0x" + Buffer.from(fields.output_type).toString()),
|
|
@@ -34,8 +34,8 @@ DcaApiCasting.createdDcaOrderEventFromOnChain = (eventOnChain) => {
|
|
|
34
34
|
DcaApiCasting.closedDcaOrderEventFromOnChain = (eventOnChain) => {
|
|
35
35
|
const fields = eventOnChain.parsedJson;
|
|
36
36
|
return {
|
|
37
|
-
orderId: fields.order_id,
|
|
38
|
-
owner: fields.user,
|
|
37
|
+
orderId: utils_1.Helpers.addLeadingZeroesToType(fields.order_id),
|
|
38
|
+
owner: utils_1.Helpers.addLeadingZeroesToType(fields.user),
|
|
39
39
|
remainingValue: BigInt(fields.remaining_amount),
|
|
40
40
|
inputType: utils_1.Helpers.addLeadingZeroesToType("0x" + Buffer.from(fields.input_type).toString()),
|
|
41
41
|
outputType: utils_1.Helpers.addLeadingZeroesToType("0x" + Buffer.from(fields.output_type).toString()),
|
|
@@ -55,8 +55,8 @@ DcaApiCasting.closedDcaOrderEventFromOnChain = (eventOnChain) => {
|
|
|
55
55
|
DcaApiCasting.executedTradeEventFromOnChain = (eventOnChain) => {
|
|
56
56
|
const fields = eventOnChain.parsedJson;
|
|
57
57
|
return {
|
|
58
|
-
orderId: fields.order_id,
|
|
59
|
-
user: fields.user,
|
|
58
|
+
orderId: utils_1.Helpers.addLeadingZeroesToType(fields.order_id),
|
|
59
|
+
user: utils_1.Helpers.addLeadingZeroesToType(fields.user),
|
|
60
60
|
inputType: utils_1.Helpers.addLeadingZeroesToType("0x" + Buffer.from(fields.input_type).toString()),
|
|
61
61
|
inputAmount: BigInt(fields.input_amount),
|
|
62
62
|
outputType: utils_1.Helpers.addLeadingZeroesToType("0x" + Buffer.from(fields.output_type).toString()),
|
|
@@ -75,14 +75,14 @@ DcaApiCasting.createdOrderEventOnIndexer = (response) => {
|
|
|
75
75
|
const progress = totalOrdersAmount > 0
|
|
76
76
|
? (totalOrdersAmount - ordersLeft) / totalOrdersAmount
|
|
77
77
|
: 1;
|
|
78
|
-
const inputCoinType = String(response.coin_sell);
|
|
79
|
-
const outputCoinType = String(response.coin_buy);
|
|
80
|
-
const strategy =
|
|
78
|
+
const inputCoinType = utils_1.Helpers.addLeadingZeroesToType(String(response.coin_sell));
|
|
79
|
+
const outputCoinType = utils_1.Helpers.addLeadingZeroesToType(String(response.coin_buy));
|
|
80
|
+
const strategy = BigInt(response.min_amount_out) === BigInt(0) &&
|
|
81
81
|
BigInt(response.max_amount_out) === utils_1.Casting.u64MaxBigInt
|
|
82
82
|
? undefined
|
|
83
83
|
: {
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
minPrice: BigInt(response.min_amount_out),
|
|
85
|
+
maxPrice: BigInt(response.max_amount_out),
|
|
86
86
|
};
|
|
87
87
|
const { totalSpent, totalBought } = response.trades.reduce((total, order) => {
|
|
88
88
|
total.totalSpent += BigInt(order.input_amount);
|
|
@@ -112,7 +112,7 @@ DcaApiCasting.createdOrderEventOnIndexer = (response) => {
|
|
|
112
112
|
}
|
|
113
113
|
: undefined;
|
|
114
114
|
return {
|
|
115
|
-
objectId: response.order_object_id,
|
|
115
|
+
objectId: utils_1.Helpers.addLeadingZeroesToType(response.order_object_id),
|
|
116
116
|
overview: {
|
|
117
117
|
allocatedCoin: {
|
|
118
118
|
coin: inputCoinType,
|
|
@@ -126,13 +126,13 @@ DcaApiCasting.createdOrderEventOnIndexer = (response) => {
|
|
|
126
126
|
? totalBought / BigInt(tradesPrepared.length)
|
|
127
127
|
: BigInt(0),
|
|
128
128
|
totalSpent: totalSpent,
|
|
129
|
-
|
|
129
|
+
intervalMs: Number(response.frequency_ms),
|
|
130
130
|
totalTrades: totalOrdersAmount,
|
|
131
131
|
tradesRemaining: ordersLeft,
|
|
132
132
|
maxSlippageBps: Number(response.slippage),
|
|
133
133
|
strategy: strategy,
|
|
134
134
|
progress: progress,
|
|
135
|
-
recipient: response.recipient,
|
|
135
|
+
recipient: utils_1.Helpers.addLeadingZeroesToType(response.recipient),
|
|
136
136
|
created: {
|
|
137
137
|
time: response.created.timestamp,
|
|
138
138
|
tnxDigest: response.created.tx_digest,
|
|
@@ -151,12 +151,12 @@ DcaApiCasting.createdOrderEventOnIndexer = (response) => {
|
|
|
151
151
|
trades: tradesPrepared,
|
|
152
152
|
};
|
|
153
153
|
};
|
|
154
|
-
DcaApiCasting.createdOrderTradeEventOnIndexer = (response,
|
|
154
|
+
DcaApiCasting.createdOrderTradeEventOnIndexer = (response, inputCoinType, outputCoinType) => {
|
|
155
155
|
const inputAmount = BigInt(response.input_amount);
|
|
156
156
|
const outputAmount = BigInt(response.output_amount);
|
|
157
157
|
return {
|
|
158
158
|
allocatedCoin: {
|
|
159
|
-
coin:
|
|
159
|
+
coin: inputCoinType,
|
|
160
160
|
amount: inputAmount,
|
|
161
161
|
},
|
|
162
162
|
buyCoin: {
|
|
@@ -2,11 +2,14 @@ import { ObjectId, SuiNetwork } from "../../types";
|
|
|
2
2
|
import { Caller } from "../../general/utils/caller";
|
|
3
3
|
import { AftermathApi } from "../../general/providers";
|
|
4
4
|
import { SuiAddress } from "../../types";
|
|
5
|
-
import { ApiDCAsOwnedBody, DcaOrdersObject, ApiDcaTransactionForCreateOrderBody, ApiDcaTransactionForCloseOrderBody, DcaOrderObject, ApiDcaCreateUserBody
|
|
5
|
+
import { ApiDCAsOwnedBody, DcaOrdersObject, ApiDcaTransactionForCreateOrderBody, ApiDcaTransactionForCloseOrderBody, DcaOrderObject, ApiDcaCreateUserBody } from "./dcaTypes";
|
|
6
6
|
import { Transaction } from "@mysten/sui/transactions";
|
|
7
7
|
export declare class Dca extends Caller {
|
|
8
8
|
readonly network?: SuiNetwork | undefined;
|
|
9
9
|
private readonly Provider?;
|
|
10
|
+
static readonly constants: {
|
|
11
|
+
gasAmount: bigint;
|
|
12
|
+
};
|
|
10
13
|
constructor(network?: SuiNetwork | undefined, Provider?: AftermathApi | undefined);
|
|
11
14
|
/**
|
|
12
15
|
* Fetches the API for dollar cost averaging orders list.
|
|
@@ -44,7 +47,7 @@ export declare class Dca extends Caller {
|
|
|
44
47
|
* @param inputs - The inputs for the transaction.
|
|
45
48
|
* @returns { Promise<boolean> } A promise that resolves with transaction execution status.
|
|
46
49
|
*/
|
|
47
|
-
|
|
50
|
+
closeDcaOrder(inputs: ApiDcaTransactionForCloseOrderBody): Promise<boolean>;
|
|
48
51
|
/**
|
|
49
52
|
* Method for getting the cancelation dca order message to sign.
|
|
50
53
|
* @param inputs - The inputs for the message.
|
|
@@ -68,17 +71,17 @@ export declare class Dca extends Caller {
|
|
|
68
71
|
* Fetches the API for users public key.
|
|
69
72
|
* @async
|
|
70
73
|
* @param { ApiDCAsOwnedBody } inputs - An object containing the walletAddress.
|
|
71
|
-
* @returns { Promise<
|
|
74
|
+
* @returns { Promise<string | undefined> } A promise that resolves users public key.
|
|
72
75
|
*/
|
|
73
76
|
getUserPublicKey(inputs: {
|
|
74
77
|
walletAddress: SuiAddress;
|
|
75
|
-
}): Promise<
|
|
78
|
+
}): Promise<string | undefined>;
|
|
76
79
|
/**
|
|
77
80
|
* Fetches the API to create users public key.
|
|
78
81
|
* @async
|
|
79
82
|
* @param { ApiDcaCreateUserBody } inputs - The inputs for creating users public key on BE side.
|
|
80
83
|
* @returns { Promise<boolean> } A promise that resolves to result if user pk has been created.
|
|
81
84
|
*/
|
|
82
|
-
|
|
85
|
+
createUserPublicKey(inputs: ApiDcaCreateUserBody): Promise<boolean>;
|
|
83
86
|
}
|
|
84
87
|
//# sourceMappingURL=dca.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dca.d.ts","sourceRoot":"","sources":["../../../src/packages/dca/dca.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,mCAAmC,EACnC,kCAAkC,EAClC,cAAc,EACd,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"dca.d.ts","sourceRoot":"","sources":["../../../src/packages/dca/dca.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,mCAAmC,EACnC,kCAAkC,EAClC,cAAc,EACd,oBAAoB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,qBAAa,GAAI,SAAQ,MAAM;aAcb,OAAO,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAV3B,gBAAuB,SAAS;;MAE9B;gBAOe,OAAO,CAAC,wBAAY,EACnB,QAAQ,CAAC,0BAAc;IASzC;;;;;OAKG;IAEU,eAAe,CAAC,MAAM,EAAE,gBAAgB;IAOrD;;;;;OAKG;IAEU,kBAAkB,CAAC,MAAM,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE;IAOrE;;;;;OAKG;IAEU,gBAAgB,CAAC,MAAM,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE;IAWnE;;;;OAIG;IAEU,mBAAmB,CAC/B,MAAM,EAAE,mCAAmC,GACzC,OAAO,CAAC,WAAW,CAAC;IAOvB;;;;OAIG;IAEU,aAAa,CACzB,MAAM,EAAE,kCAAkC,GACxC,OAAO,CAAC,OAAO,CAAC;IAWnB;;;;OAIG;IAEI,0BAA0B,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,QAAQ,CAAA;KAAE,GAAG;QACjE,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;KACxB;IAOD;;;;OAIG;IAEI,8BAA8B,IAAI;QACxC,MAAM,EAAE,MAAM,CAAC;KACf;IAUD;;;;;OAKG;IAEU,gBAAgB,CAAC,MAAM,EAAE;QACrC,aAAa,EAAE,UAAU,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS/B;;;;;OAKG;IAEU,mBAAmB,CAC/B,MAAM,EAAE,oBAAoB,GAC1B,OAAO,CAAC,OAAO,CAAC;CAMnB"}
|
package/dist/packages/dca/dca.js
CHANGED
|
@@ -31,7 +31,7 @@ class Dca extends caller_1.Caller {
|
|
|
31
31
|
*/
|
|
32
32
|
getAllDcaOrders(inputs) {
|
|
33
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
return this.fetchApi("", inputs);
|
|
34
|
+
return this.fetchApi("orders", inputs);
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
@@ -42,7 +42,7 @@ class Dca extends caller_1.Caller {
|
|
|
42
42
|
*/
|
|
43
43
|
getActiveDcaOrders(inputs) {
|
|
44
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
return this.fetchApi("
|
|
45
|
+
return this.fetchApi("orders/active", inputs);
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
@@ -53,7 +53,7 @@ class Dca extends caller_1.Caller {
|
|
|
53
53
|
*/
|
|
54
54
|
getPastDcaOrders(inputs) {
|
|
55
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
return this.fetchApi("
|
|
56
|
+
return this.fetchApi("orders/past", inputs);
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
// =========================================================================
|
|
@@ -74,9 +74,9 @@ class Dca extends caller_1.Caller {
|
|
|
74
74
|
* @param inputs - The inputs for the transaction.
|
|
75
75
|
* @returns { Promise<boolean> } A promise that resolves with transaction execution status.
|
|
76
76
|
*/
|
|
77
|
-
|
|
77
|
+
closeDcaOrder(inputs) {
|
|
78
78
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
return this.fetchApi(`
|
|
79
|
+
return this.fetchApi(`interactions/close-order`, inputs);
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
// =========================================================================
|
|
@@ -110,11 +110,11 @@ class Dca extends caller_1.Caller {
|
|
|
110
110
|
* Fetches the API for users public key.
|
|
111
111
|
* @async
|
|
112
112
|
* @param { ApiDCAsOwnedBody } inputs - An object containing the walletAddress.
|
|
113
|
-
* @returns { Promise<
|
|
113
|
+
* @returns { Promise<string | undefined> } A promise that resolves users public key.
|
|
114
114
|
*/
|
|
115
115
|
getUserPublicKey(inputs) {
|
|
116
116
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
return this.fetchApi(`
|
|
117
|
+
return this.fetchApi(`public-key`, inputs);
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
@@ -123,10 +123,16 @@ class Dca extends caller_1.Caller {
|
|
|
123
123
|
* @param { ApiDcaCreateUserBody } inputs - The inputs for creating users public key on BE side.
|
|
124
124
|
* @returns { Promise<boolean> } A promise that resolves to result if user pk has been created.
|
|
125
125
|
*/
|
|
126
|
-
|
|
126
|
+
createUserPublicKey(inputs) {
|
|
127
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
-
return this.fetchApi(`
|
|
128
|
+
return this.fetchApi(`save-public-key`, inputs);
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
exports.Dca = Dca;
|
|
133
|
+
// =========================================================================
|
|
134
|
+
// Constants
|
|
135
|
+
// =========================================================================
|
|
136
|
+
Dca.constants = {
|
|
137
|
+
gasAmount: BigInt(50000000),
|
|
138
|
+
};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { ObjectId, SuiAddress } from "../../types";
|
|
2
2
|
import { CoinType } from "../coin/coinTypes";
|
|
3
|
-
import { Balance, Event,
|
|
4
|
-
export type DcaOrderTrades = DcaOrderTradeObject[];
|
|
3
|
+
import { Balance, Event, Timestamp, TransactionDigest } from "../../general/types/generalTypes";
|
|
5
4
|
export interface ApiDcaInitializeOrdertStrategyBody {
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
minPrice: Balance;
|
|
6
|
+
maxPrice: Balance;
|
|
8
7
|
}
|
|
9
8
|
export interface ApiDcaTransactionForCreateOrderBody {
|
|
10
9
|
walletAddress: SuiAddress;
|
|
@@ -13,7 +12,7 @@ export interface ApiDcaTransactionForCreateOrderBody {
|
|
|
13
12
|
buyCoinType: CoinType;
|
|
14
13
|
frequencyMs: Timestamp;
|
|
15
14
|
tradesAmount: number;
|
|
16
|
-
|
|
15
|
+
strategy?: ApiDcaInitializeOrdertStrategyBody;
|
|
17
16
|
isSponsoredTx?: boolean;
|
|
18
17
|
delayTimeMs: Timestamp;
|
|
19
18
|
maxAllowableSlippageBps: number;
|
|
@@ -39,8 +38,8 @@ export interface DcaOrderTradeObject {
|
|
|
39
38
|
rate: number | undefined;
|
|
40
39
|
}
|
|
41
40
|
export interface DcaOrdertStrategyObject {
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
minPrice: Balance;
|
|
42
|
+
maxPrice: Balance;
|
|
44
43
|
}
|
|
45
44
|
export interface DcaOrderOverviewObject {
|
|
46
45
|
allocatedCoin: {
|
|
@@ -53,7 +52,7 @@ export interface DcaOrderOverviewObject {
|
|
|
53
52
|
};
|
|
54
53
|
averagePrice: Balance;
|
|
55
54
|
totalSpent: Balance;
|
|
56
|
-
|
|
55
|
+
intervalMs: Timestamp;
|
|
57
56
|
totalTrades: number;
|
|
58
57
|
tradesRemaining: number;
|
|
59
58
|
maxSlippageBps: number;
|
|
@@ -76,7 +75,7 @@ export interface DcaOrderOverviewObject {
|
|
|
76
75
|
export interface DcaOrderObject {
|
|
77
76
|
objectId: ObjectId;
|
|
78
77
|
overview: DcaOrderOverviewObject;
|
|
79
|
-
trades:
|
|
78
|
+
trades: DcaOrderTradeObject[];
|
|
80
79
|
}
|
|
81
80
|
export interface DcaOrdersObject {
|
|
82
81
|
active: DcaOrderObject[];
|
|
@@ -95,7 +94,7 @@ export interface DcaCreatedOrderEvent extends Event {
|
|
|
95
94
|
maxAllowableSlippageBps: Balance;
|
|
96
95
|
minAmountOut: Balance;
|
|
97
96
|
maxAmountOut: Balance;
|
|
98
|
-
remainingTrades:
|
|
97
|
+
remainingTrades: bigint;
|
|
99
98
|
}
|
|
100
99
|
export interface DcaClosedOrderEvent extends Event {
|
|
101
100
|
orderId: ObjectId;
|
|
@@ -110,7 +109,7 @@ export interface DcaClosedOrderEvent extends Event {
|
|
|
110
109
|
maxAllowableSlippageBps: Balance;
|
|
111
110
|
minAmountOut: Balance;
|
|
112
111
|
maxAmountOut: Balance;
|
|
113
|
-
remainingTrades:
|
|
112
|
+
remainingTrades: bigint;
|
|
114
113
|
}
|
|
115
114
|
export interface DcaExecutedTradeEvent extends Event {
|
|
116
115
|
orderId: ObjectId;
|
|
@@ -125,9 +124,6 @@ export interface ApiDcaCreateUserBody {
|
|
|
125
124
|
bytes: string;
|
|
126
125
|
signature: string;
|
|
127
126
|
}
|
|
128
|
-
export interface ApiDcaUser {
|
|
129
|
-
publicKey?: string;
|
|
130
|
-
}
|
|
131
127
|
export interface ApiDCAsOwnedBody {
|
|
132
128
|
walletAddress: SuiAddress;
|
|
133
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dcaTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/dca/dcaTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACN,OAAO,EACP,KAAK,EACL,
|
|
1
|
+
{"version":3,"file":"dcaTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/dca/dcaTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,7 +110,7 @@ export declare class RouterApi implements MoveErrorsInterface {
|
|
|
110
110
|
completeRoute: RouterCompleteTradeRoute;
|
|
111
111
|
slippage: Slippage;
|
|
112
112
|
tx?: Transaction;
|
|
113
|
-
|
|
113
|
+
coinInId?: TransactionObjectArgument;
|
|
114
114
|
walletAddress?: SuiAddress;
|
|
115
115
|
isSponsoredTx?: boolean;
|
|
116
116
|
transferCoinOut?: boolean;
|
|
@@ -122,7 +122,7 @@ export declare class RouterApi implements MoveErrorsInterface {
|
|
|
122
122
|
completeRoute: RouterCompleteTradeRoute;
|
|
123
123
|
slippage: Slippage;
|
|
124
124
|
tx?: TransactionBlock;
|
|
125
|
-
|
|
125
|
+
coinInId?: TransactionObjectArgumentV0;
|
|
126
126
|
walletAddress?: SuiAddress;
|
|
127
127
|
isSponsoredTx?: boolean;
|
|
128
128
|
transferCoinOut?: boolean;
|
|
@@ -137,8 +137,6 @@ export declare class RouterApi implements MoveErrorsInterface {
|
|
|
137
137
|
*/
|
|
138
138
|
fetchTradeEvents(inputs: UserEventsInputs): Promise<import("../../..").EventsWithCursor<RouterTradeEvent>>;
|
|
139
139
|
private fetchAddNetTradeFeePercentageToCompleteTradeRoute;
|
|
140
|
-
private static transferTxMetadata;
|
|
141
|
-
private static transferTxMetadataV0;
|
|
142
140
|
private routerTradeEventType;
|
|
143
141
|
}
|
|
144
142
|
//# sourceMappingURL=routerApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routerApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,wBAAwB,EACxB,QAAQ,EACR,gBAAgB,EAChB,UAAU,EAIV,gBAAgB,EAChB,aAAa,EACb,eAAe,EAMf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,yBAAyB,EACzB,WAAW,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAKhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,IAAI,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,EACN,UAAU,EACV,mBAAmB,EACnB,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"routerApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,wBAAwB,EACxB,QAAQ,EACR,gBAAgB,EAChB,UAAU,EAIV,gBAAgB,EAChB,aAAa,EACb,eAAe,EAMf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,yBAAyB,EACzB,WAAW,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAKhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,IAAI,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,EACN,UAAU,EACV,mBAAmB,EACnB,MAAM,4CAA4C,CAAC;AAGpD;;;GAGG;AACH,qBAAa,SAAU,YAAW,mBAAmB;IAoCxC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA/BrC,gBAAuB,SAAS;;;;;;;;;;MAU9B;IAMF,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,UAAU,EAAE;QAC3B,WAAW,EAAE,aAAa,CAAC;KAC3B,CAAC;IACF,SAAgB,UAAU,EAAE,UAAU,CAAC;IAMvC;;;;OAIG;gBAC0B,QAAQ,EAAE,YAAY;IAoDnD;;;;OAIG;IACI,WAAW,WAAkB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,wCAKxD;IAMK,cAAc,QAAO,QAAQ,QAAQ,EAAE,CAAC,CAS7C;IAEK,oBAAoB,WAAkB;QAC5C,MAAM,EAAE,MAAM,CAAC;KACf,KAAG,QAAQ,QAAQ,EAAE,CAAC,CA0BrB;IAMF;;;;OAIG;IACI,oCAAoC,WAAkB;QAC5D,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC1B,KAAG,QAAQ,wBAAwB,CAAC,CA6CnC;IAEF;;;;OAIG;IACI,qCAAqC,WAAkB;QAC7D,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC1B,KAAG,QAAQ,wBAAwB,CAAC,CAsDnC;IAEK,yCAAyC,WAAkB;QACjE,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,EAAE,QAAQ,CAAC;QACnB,EAAE,CAAC,EAAE,WAAW,CAAC;QACjB,MAAM,CAAC,EAAE,yBAAyB,CAAC;QACnC,aAAa,CAAC,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B;YACI,WAAW;uBACA,wBAAwB;iBAC9B,yBAAyB;uBACnB,OAAO;OAsHrB;IAEK,0CAA0C,WAAkB;QAClE,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,EAAE,QAAQ,CAAC;QACnB,EAAE,CAAC,EAAE,WAAW,CAAC;QACjB,MAAM,CAAC,EAAE,yBAAyB,CAAC;QACnC,aAAa,CAAC,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B;YACI,WAAW;uBACA,wBAAwB;iBAC9B,yBAAyB;sBACpB,OAAO;OA+CpB;IAMK,4BAA4B,WAAkB;QACpD,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;QACnB,EAAE,CAAC,EAAE,WAAW,CAAC;QACjB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;QACrC,aAAa,CAAC,EAAE,UAAU,CAAC;QAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B;YACI,WAAW;iBACN,yBAAyB;OAmGjC;IAEK,8BAA8B,WAAkB;QACtD,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;QACnB,EAAE,CAAC,EAAE,gBAAgB,CAAC;QACtB,QAAQ,CAAC,EAAE,2BAA2B,CAAC;QACvC,aAAa,CAAC,EAAE,UAAU,CAAC;QAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B;YACI,gBAAgB;iBACX,2BAA2B;OAmGnC;IAMF;;;;OAIG;IACU,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;YAwBxC,iDAAiD;IA4E/D,OAAO,CAAC,oBAAoB,CAKzB;CACH"}
|
|
@@ -15,6 +15,7 @@ const __1 = require("../../..");
|
|
|
15
15
|
const eventsApiHelpers_1 = require("../../../general/apiHelpers/eventsApiHelpers");
|
|
16
16
|
const routerApiCasting_1 = require("./routerApiCasting");
|
|
17
17
|
const transactions_2 = require("@mysten/sui.js/transactions");
|
|
18
|
+
const transactionsApiHelpers_1 = require("../../../general/apiHelpers/transactionsApiHelpers");
|
|
18
19
|
/**
|
|
19
20
|
* RouterApi class provides methods for interacting with the Aftermath Router API.
|
|
20
21
|
* @class
|
|
@@ -161,7 +162,7 @@ class RouterApi {
|
|
|
161
162
|
: undefined,
|
|
162
163
|
}, undefined, undefined, undefined, true);
|
|
163
164
|
const tx = transactions_1.Transaction.fromKind(tx_kind);
|
|
164
|
-
|
|
165
|
+
transactionsApiHelpers_1.TransactionsApiHelpers.transferTxMetadata({
|
|
165
166
|
initTx,
|
|
166
167
|
newTx: tx,
|
|
167
168
|
});
|
|
@@ -203,7 +204,7 @@ class RouterApi {
|
|
|
203
204
|
: (() => {
|
|
204
205
|
throw new Error("no walletAddress provided");
|
|
205
206
|
})());
|
|
206
|
-
const { tx, coinOut } = yield this.fetchTxForCompleteTradeRoute(Object.assign(Object.assign({}, inputs), { completeRoute,
|
|
207
|
+
const { tx, coinOut } = yield this.fetchTxForCompleteTradeRoute(Object.assign(Object.assign({}, inputs), { completeRoute, coinInId: coinTxArg }));
|
|
207
208
|
if (transferCoinOut && walletAddress) {
|
|
208
209
|
tx.transferObjects([coinOut], walletAddress);
|
|
209
210
|
}
|
|
@@ -219,13 +220,13 @@ class RouterApi {
|
|
|
219
220
|
// =========================================================================
|
|
220
221
|
this.fetchTxForCompleteTradeRoute = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
221
222
|
var _d;
|
|
222
|
-
const { completeRoute, walletAddress,
|
|
223
|
+
const { completeRoute, walletAddress, coinInId, isSponsoredTx, slippage, transferCoinOut, } = inputs;
|
|
223
224
|
const externalFee = inputs.completeRoute.externalFee;
|
|
224
225
|
const referrer = inputs.completeRoute.referrer;
|
|
225
226
|
const initTx = (_d = inputs.tx) !== null && _d !== void 0 ? _d : new transactions_1.Transaction();
|
|
226
227
|
if (walletAddress)
|
|
227
228
|
initTx.setSender(walletAddress);
|
|
228
|
-
const coinTxArg =
|
|
229
|
+
const coinTxArg = coinInId !== null && coinInId !== void 0 ? coinInId : (walletAddress
|
|
229
230
|
? yield this.Provider.Coin().fetchCoinWithAmountTx({
|
|
230
231
|
tx: initTx,
|
|
231
232
|
coinAmount: completeRoute.coinIn.amount,
|
|
@@ -256,7 +257,7 @@ class RouterApi {
|
|
|
256
257
|
: undefined,
|
|
257
258
|
}, undefined, undefined, undefined, true);
|
|
258
259
|
const tx = transactions_1.Transaction.fromKind(tx_kind);
|
|
259
|
-
|
|
260
|
+
transactionsApiHelpers_1.TransactionsApiHelpers.transferTxMetadata({
|
|
260
261
|
initTx,
|
|
261
262
|
newTx: tx,
|
|
262
263
|
});
|
|
@@ -273,13 +274,13 @@ class RouterApi {
|
|
|
273
274
|
});
|
|
274
275
|
this.fetchTxForCompleteTradeRouteV0 = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
275
276
|
var _e;
|
|
276
|
-
const { completeRoute, walletAddress,
|
|
277
|
+
const { completeRoute, walletAddress, coinInId, isSponsoredTx, slippage, transferCoinOut, } = inputs;
|
|
277
278
|
const externalFee = inputs.completeRoute.externalFee;
|
|
278
279
|
const referrer = inputs.completeRoute.referrer;
|
|
279
280
|
const initTx = (_e = inputs.tx) !== null && _e !== void 0 ? _e : new transactions_2.TransactionBlock();
|
|
280
281
|
if (walletAddress)
|
|
281
282
|
initTx.setSender(walletAddress);
|
|
282
|
-
const coinTxArg =
|
|
283
|
+
const coinTxArg = coinInId !== null && coinInId !== void 0 ? coinInId : (walletAddress
|
|
283
284
|
? yield this.Provider.Coin().fetchCoinWithAmountTx({
|
|
284
285
|
tx: initTx,
|
|
285
286
|
coinAmount: completeRoute.coinIn.amount,
|
|
@@ -310,7 +311,7 @@ class RouterApi {
|
|
|
310
311
|
: undefined,
|
|
311
312
|
}, undefined, undefined, undefined, true);
|
|
312
313
|
const tx = transactions_2.TransactionBlock.fromKind(tx_kind);
|
|
313
|
-
|
|
314
|
+
transactionsApiHelpers_1.TransactionsApiHelpers.transferTxMetadataV0({
|
|
314
315
|
initTx,
|
|
315
316
|
newTx: tx,
|
|
316
317
|
});
|
|
@@ -326,6 +327,9 @@ class RouterApi {
|
|
|
326
327
|
};
|
|
327
328
|
});
|
|
328
329
|
// =========================================================================
|
|
330
|
+
// Events
|
|
331
|
+
// =========================================================================
|
|
332
|
+
// =========================================================================
|
|
329
333
|
// Event Types
|
|
330
334
|
// =========================================================================
|
|
331
335
|
this.routerTradeEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.utils, RouterApi.constants.moduleNames.router, RouterApi.constants.eventNames.routerTrade);
|
|
@@ -451,48 +455,3 @@ RouterApi.constants = {
|
|
|
451
455
|
routerTrade: "SwapCompletedEvent",
|
|
452
456
|
},
|
|
453
457
|
};
|
|
454
|
-
// =========================================================================
|
|
455
|
-
// Events
|
|
456
|
-
// =========================================================================
|
|
457
|
-
// =========================================================================
|
|
458
|
-
// Private Static Helpers
|
|
459
|
-
// =========================================================================
|
|
460
|
-
RouterApi.transferTxMetadata = (inputs) => {
|
|
461
|
-
const { initTx, newTx } = inputs;
|
|
462
|
-
const sender = initTx.getData().sender;
|
|
463
|
-
if (sender)
|
|
464
|
-
newTx.setSender(sender);
|
|
465
|
-
const expiration = initTx.getData().expiration;
|
|
466
|
-
if (expiration)
|
|
467
|
-
newTx.setExpiration(expiration);
|
|
468
|
-
const gasData = initTx.getData().gasData;
|
|
469
|
-
if (gasData.budget && typeof gasData.budget !== "string")
|
|
470
|
-
newTx.setGasBudget(gasData.budget);
|
|
471
|
-
if (gasData.owner)
|
|
472
|
-
newTx.setGasOwner(gasData.owner);
|
|
473
|
-
if (gasData.payment)
|
|
474
|
-
newTx.setGasPayment(gasData.payment);
|
|
475
|
-
if (gasData.price && typeof gasData.price !== "string")
|
|
476
|
-
newTx.setGasPrice(gasData.price);
|
|
477
|
-
};
|
|
478
|
-
RouterApi.transferTxMetadataV0 = (inputs) => {
|
|
479
|
-
const { initTx, newTx } = inputs;
|
|
480
|
-
const sender = initTx.blockData.sender;
|
|
481
|
-
if (sender)
|
|
482
|
-
newTx.setSender(sender);
|
|
483
|
-
const expiration = initTx.blockData.expiration;
|
|
484
|
-
if (expiration && !("None" in expiration && expiration.None === null))
|
|
485
|
-
// @ts-ignore
|
|
486
|
-
newTx.setExpiration(expiration);
|
|
487
|
-
const gasData = initTx.blockData.gasConfig;
|
|
488
|
-
if (gasData.budget && typeof gasData.budget !== "string")
|
|
489
|
-
newTx.setGasBudget(gasData.budget);
|
|
490
|
-
if (gasData.owner)
|
|
491
|
-
newTx.setGasOwner(gasData.owner);
|
|
492
|
-
if (gasData.payment)
|
|
493
|
-
newTx.setGasPayment(gasData.payment.map((payment) => (Object.assign(Object.assign({}, payment), { version: typeof payment.version === "bigint"
|
|
494
|
-
? Number(payment.version)
|
|
495
|
-
: payment.version }))));
|
|
496
|
-
if (gasData.price && typeof gasData.price !== "string")
|
|
497
|
-
newTx.setGasPrice(gasData.price);
|
|
498
|
-
};
|