aftermath-ts-sdk 1.1.72 → 1.1.74-dca.0
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/prices/router/routerPricesApi.js +4 -4
- package/dist/general/providers/aftermath.d.ts +8 -0
- package/dist/general/providers/aftermath.d.ts.map +1 -1
- package/dist/general/providers/aftermath.js +8 -0
- package/dist/general/providers/aftermathApi.d.ts +4 -0
- package/dist/general/providers/aftermathApi.d.ts.map +1 -1
- package/dist/general/providers/aftermathApi.js +4 -0
- package/dist/general/types/configTypes.d.ts +23 -0
- package/dist/general/types/configTypes.d.ts.map +1 -1
- package/dist/general/utils/casting.d.ts +5 -1
- package/dist/general/utils/casting.d.ts.map +1 -1
- package/dist/general/utils/casting.js +19 -0
- package/dist/general/utils/helpers.d.ts +2 -1
- package/dist/general/utils/helpers.d.ts.map +1 -1
- package/dist/general/utils/helpers.js +11 -0
- package/dist/packages/dca/api/dcaApi.d.ts +52 -0
- package/dist/packages/dca/api/dcaApi.d.ts.map +1 -0
- package/dist/packages/dca/api/dcaApi.js +221 -0
- package/dist/packages/dca/api/dcaApiCasting.d.ts +11 -0
- package/dist/packages/dca/api/dcaApiCasting.d.ts.map +1 -0
- package/dist/packages/dca/api/dcaApiCasting.js +164 -0
- package/dist/packages/dca/api/dcaApiCastingTypes.d.ts +119 -0
- package/dist/packages/dca/api/dcaApiCastingTypes.d.ts.map +1 -0
- package/dist/packages/dca/api/dcaApiCastingTypes.js +2 -0
- package/dist/packages/dca/dca.d.ts +66 -0
- package/dist/packages/dca/dca.d.ts.map +1 -0
- package/dist/packages/dca/dca.js +122 -0
- package/dist/packages/dca/dcaTypes.d.ts +129 -0
- package/dist/packages/dca/dcaTypes.d.ts.map +1 -0
- package/dist/packages/dca/dcaTypes.js +2 -0
- package/dist/packages/dca/index.d.ts +2 -0
- package/dist/packages/dca/index.d.ts.map +1 -0
- package/dist/packages/dca/index.js +17 -0
- package/dist/packages/farms/api/farmsApiCasting.d.ts.map +1 -1
- package/dist/packages/farms/api/farmsApiCasting.js +4 -4
- package/dist/packages/farms/farms.d.ts.map +1 -1
- package/dist/packages/farms/farms.js +12 -2
- package/dist/packages/multisig/api/multisigApi.d.ts +10 -0
- package/dist/packages/multisig/api/multisigApi.d.ts.map +1 -0
- package/dist/packages/multisig/api/multisigApi.js +49 -0
- package/dist/packages/multisig/index.d.ts +2 -0
- package/dist/packages/multisig/index.d.ts.map +1 -0
- package/dist/packages/multisig/index.js +17 -0
- package/dist/packages/multisig/multisig.d.ts +18 -0
- package/dist/packages/multisig/multisig.d.ts.map +1 -0
- package/dist/packages/multisig/multisig.js +48 -0
- package/dist/packages/multisig/multisigTypes.d.ts +9 -0
- package/dist/packages/multisig/multisigTypes.d.ts.map +1 -0
- package/dist/packages/multisig/multisigTypes.js +2 -0
- package/dist/packages/nftAmm/api/nftAmmApi.js +4 -4
- package/dist/packages/pools/api/poolsApi.d.ts +200 -128
- package/dist/packages/pools/api/poolsApi.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApi.js +540 -307
- package/dist/packages/pools/api/poolsApiCasting.d.ts +9 -6
- package/dist/packages/pools/api/poolsApiCasting.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApiCasting.js +51 -31
- package/dist/packages/pools/api/poolsApiCastingTypes.d.ts +23 -1
- package/dist/packages/pools/api/poolsApiCastingTypes.d.ts.map +1 -1
- package/dist/packages/pools/pool.d.ts +43 -29
- package/dist/packages/pools/pool.d.ts.map +1 -1
- package/dist/packages/pools/pool.js +109 -49
- package/dist/packages/pools/pools.d.ts +5 -2
- package/dist/packages/pools/pools.d.ts.map +1 -1
- package/dist/packages/pools/pools.js +9 -2
- package/dist/packages/pools/poolsTypes.d.ts +34 -3
- package/dist/packages/pools/poolsTypes.d.ts.map +1 -1
- package/dist/packages/pools/utils/cmmmCalculations.d.ts.map +1 -1
- package/dist/packages/pools/utils/cmmmCalculations.js +9 -1
- package/package.json +1 -1
|
@@ -34,7 +34,7 @@ class RouterPricesApi {
|
|
|
34
34
|
// TODO: add single caches
|
|
35
35
|
this.fetchCoinsToPrice = this.Provider.withCache({
|
|
36
36
|
key: "routerPricesApi.fetchCoinsToPrice",
|
|
37
|
-
expirationSeconds:
|
|
37
|
+
expirationSeconds: 60 * 60,
|
|
38
38
|
callback: (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
39
39
|
const { coins } = inputs;
|
|
40
40
|
if (coins.length <= 0)
|
|
@@ -48,7 +48,7 @@ class RouterPricesApi {
|
|
|
48
48
|
// TODO: add single cache by coin type ?
|
|
49
49
|
this.fetchCoinsToPriceInfo = this.Provider.withCache({
|
|
50
50
|
key: "routerPricesApi.fetchCoinsToPriceInfo",
|
|
51
|
-
expirationSeconds:
|
|
51
|
+
expirationSeconds: 60 * 60,
|
|
52
52
|
callback: (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
53
53
|
const { coins } = inputs;
|
|
54
54
|
// filter regular vs LP coins
|
|
@@ -84,7 +84,7 @@ class RouterPricesApi {
|
|
|
84
84
|
// =========================================================================
|
|
85
85
|
this.fetchCoinsToPriceInfoInternal = this.Provider.withCache({
|
|
86
86
|
key: "routerPricesApi.fetchCoinsToPriceInfoInternal",
|
|
87
|
-
expirationSeconds:
|
|
87
|
+
expirationSeconds: 60 * 60,
|
|
88
88
|
callback: (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
89
89
|
const { coins } = inputs;
|
|
90
90
|
if (coins.length <= 0)
|
|
@@ -115,7 +115,7 @@ class RouterPricesApi {
|
|
|
115
115
|
key: singleCacheKey,
|
|
116
116
|
data: coinsInfo,
|
|
117
117
|
inputs: [coin],
|
|
118
|
-
expirationSeconds:
|
|
118
|
+
expirationSeconds: 60 * 60,
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
return Object.assign(Object.assign({}, cachedCoinsToPriceInfo), nonCachedCoinsInfo);
|
|
@@ -16,6 +16,8 @@ import { Oracle } from "../../packages/oracle/oracle";
|
|
|
16
16
|
import { Farms } from "../../packages/farms/farms";
|
|
17
17
|
import { DynamicGas } from "../dynamicGas/dynamicGas";
|
|
18
18
|
import { AftermathApi } from "./aftermathApi";
|
|
19
|
+
import { Dca } from "../../packages/dca/dca";
|
|
20
|
+
import { Multisig } from "../../packages/multisig/multisig";
|
|
19
21
|
/**
|
|
20
22
|
* @class Aftermath Provider
|
|
21
23
|
*
|
|
@@ -77,6 +79,12 @@ export declare class Aftermath extends Caller {
|
|
|
77
79
|
* @returns A new instance of the Farms class.
|
|
78
80
|
*/
|
|
79
81
|
Farms: () => Farms;
|
|
82
|
+
/**
|
|
83
|
+
* Creates a new instance of the DCA class.
|
|
84
|
+
* @returns A new instance of the DCA class.
|
|
85
|
+
*/
|
|
86
|
+
Dca: () => Dca;
|
|
87
|
+
Multisig: () => Multisig;
|
|
80
88
|
Sui: () => Sui;
|
|
81
89
|
Prices: () => Prices;
|
|
82
90
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aftermath.d.ts","sourceRoot":"","sources":["../../../src/general/providers/aftermath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EACN,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,GAAG,EACH,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACN,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"aftermath.d.ts","sourceRoot":"","sources":["../../../src/general/providers/aftermath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EACN,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,GAAG,EACH,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACN,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAU,SAAQ,MAAM;IAWF,OAAO,CAAC,QAAQ,CAAC;IANnD;;;;;OAKG;gBACS,OAAO,CAAC,EAAE,UAAU,EAAU,QAAQ,CAAC,0BAAc;IAQpD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE;IAuB/C;;;OAGG;IACU,YAAY;IAIlB,aAAa;IAYpB;;;OAGG;IACI,KAAK,cAAgD;IAC5D;;;OAGG;IACI,OAAO,gBAAkD;IACzD,gBAAgB,yBAA4C;IAC5D,QAAQ,iBAAmD;IAC3D,MAAM,eAAiD;IAC9D;;;OAGG;IACI,MAAM,eAAkC;IACxC,MAAM,eAAiD;IACvD,aAAa,sBAAwD;IACrE,UAAU,mBAAsC;IAChD,MAAM,eAAiD;IAC9D;;;OAGG;IACI,KAAK,cAAgD;IAC5D;;;OAGG;IACI,GAAG,YAA8C;IACjD,QAAQ,iBAAmD;IAM3D,GAAG,YAA8C;IACjD,MAAM,eAAkC;IAC/C;;;;OAIG;IACI,MAAM,YAAa,UAAU,YACc;IAClD;;;;OAIG;IACI,IAAI,cAAe,QAAQ,UACe;IAC1C,cAAc,uBAA0C;IAExD,UAAU,mBAAsC;IAMvD,OAAc,OAAO,iBAAW;IAChC,OAAc,OAAO,iBAAW;CAChC"}
|
|
@@ -30,6 +30,8 @@ const dynamicGas_1 = require("../dynamicGas/dynamicGas");
|
|
|
30
30
|
const aftermathApi_1 = require("./aftermathApi");
|
|
31
31
|
const utils_1 = require("../utils");
|
|
32
32
|
const client_1 = require("@mysten/sui/client");
|
|
33
|
+
const dca_1 = require("../../packages/dca/dca");
|
|
34
|
+
const multisig_1 = require("../../packages/multisig/multisig");
|
|
33
35
|
/**
|
|
34
36
|
* @class Aftermath Provider
|
|
35
37
|
*
|
|
@@ -92,6 +94,12 @@ class Aftermath extends caller_1.Caller {
|
|
|
92
94
|
* @returns A new instance of the Farms class.
|
|
93
95
|
*/
|
|
94
96
|
this.Farms = () => new farms_1.Farms(this.network, this.Provider);
|
|
97
|
+
/**
|
|
98
|
+
* Creates a new instance of the DCA class.
|
|
99
|
+
* @returns A new instance of the DCA class.
|
|
100
|
+
*/
|
|
101
|
+
this.Dca = () => new dca_1.Dca(this.network, this.Provider);
|
|
102
|
+
this.Multisig = () => new multisig_1.Multisig(this.network, this.Provider);
|
|
95
103
|
// =========================================================================
|
|
96
104
|
// General
|
|
97
105
|
// =========================================================================
|
|
@@ -26,10 +26,12 @@ import { FarmsApi } from "../../packages/farms/api/farmsApi";
|
|
|
26
26
|
import { IndexerCaller } from "../utils";
|
|
27
27
|
import { SuiClient } from "@mysten/sui/client";
|
|
28
28
|
import { SuiClient as SuiClientV0 } from "@mysten/sui.js/client";
|
|
29
|
+
import { DcaApi } from "../../packages/dca/api/dcaApi";
|
|
29
30
|
import { DynamicGasApi } from "../dynamicGas/dynamicGasApi";
|
|
30
31
|
import { LeveragedStakingApi } from "../../packages/leveragedStaking/api/leveragedStakingApi";
|
|
31
32
|
import { NftsApi } from "../nfts/nftsApi";
|
|
32
33
|
import { MoveErrorsInterface } from "../types/moveErrorsInterface";
|
|
34
|
+
import { MultisigApi } from "../../packages/multisig/api/multisigApi";
|
|
33
35
|
/**
|
|
34
36
|
* This class represents the Aftermath API and provides helper methods for various functionalities.
|
|
35
37
|
* @class
|
|
@@ -85,6 +87,8 @@ export declare class AftermathApi {
|
|
|
85
87
|
Perpetuals: () => PerpetualsApi;
|
|
86
88
|
Oracle: () => OracleApi;
|
|
87
89
|
Farms: () => FarmsApi;
|
|
90
|
+
Dca: () => DcaApi;
|
|
91
|
+
Multisig: () => MultisigApi;
|
|
88
92
|
/**
|
|
89
93
|
* Creates a new instance of the RouterApi class.
|
|
90
94
|
* @returns A new instance of the RouterApi class.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aftermathApi.d.ts","sourceRoot":"","sources":["../../../src/general/providers/aftermathApi.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAEN,UAAU,EACV,aAAa,EACb,QAAQ,EAER,gBAAgB,EAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAW,aAAa,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"aftermathApi.d.ts","sourceRoot":"","sources":["../../../src/general/providers/aftermathApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,9 +34,11 @@ const oracleApi_1 = require("../../packages/oracle/api/oracleApi");
|
|
|
34
34
|
// import { PriceFeedsApi } from "../priceFeeds/priceFeedsApi";
|
|
35
35
|
const farmsApi_1 = require("../../packages/farms/api/farmsApi");
|
|
36
36
|
const utils_1 = require("../utils");
|
|
37
|
+
const dcaApi_1 = require("../../packages/dca/api/dcaApi");
|
|
37
38
|
const dynamicGasApi_1 = require("../dynamicGas/dynamicGasApi");
|
|
38
39
|
const leveragedStakingApi_1 = require("../../packages/leveragedStaking/api/leveragedStakingApi");
|
|
39
40
|
const nftsApi_1 = require("../nfts/nftsApi");
|
|
41
|
+
const multisigApi_1 = require("../../packages/multisig/api/multisigApi");
|
|
40
42
|
/**
|
|
41
43
|
* This class represents the Aftermath API and provides helper methods for various functionalities.
|
|
42
44
|
* @class
|
|
@@ -106,6 +108,8 @@ class AftermathApi {
|
|
|
106
108
|
this.Perpetuals = () => new perpetualsApi_1.PerpetualsApi(this);
|
|
107
109
|
this.Oracle = () => new oracleApi_1.OracleApi(this);
|
|
108
110
|
this.Farms = () => new farmsApi_1.FarmsApi(this);
|
|
111
|
+
this.Dca = () => new dcaApi_1.DcaApi(this);
|
|
112
|
+
this.Multisig = () => new multisigApi_1.MultisigApi(this);
|
|
109
113
|
/**
|
|
110
114
|
* Creates a new instance of the RouterApi class.
|
|
111
115
|
* @returns A new instance of the RouterApi class.
|
|
@@ -5,6 +5,7 @@ export interface ConfigAddresses {
|
|
|
5
5
|
faucet?: FaucetAddresses;
|
|
6
6
|
staking?: StakingAddresses;
|
|
7
7
|
pools?: PoolsAddresses;
|
|
8
|
+
daoFeePools?: DaoFeePoolsAddresses;
|
|
8
9
|
suiFrens?: SuiFrensAddresses;
|
|
9
10
|
nftAmm?: NftAmmAddresses;
|
|
10
11
|
router?: RouterAddresses;
|
|
@@ -15,6 +16,8 @@ export interface ConfigAddresses {
|
|
|
15
16
|
dynamicGas?: DynamicGasAddresses;
|
|
16
17
|
scallop?: ScallopAddresses;
|
|
17
18
|
leveragedStaking?: LeveragedStakingAddresses;
|
|
19
|
+
dca?: DcaAddresses;
|
|
20
|
+
sharedCustody?: SharedCustodyAddresses;
|
|
18
21
|
}
|
|
19
22
|
export interface FaucetAddresses {
|
|
20
23
|
packages: {
|
|
@@ -71,6 +74,14 @@ export interface PoolsAddresses {
|
|
|
71
74
|
createLpCoinPackageCompilations: Record<CoinDecimal, string>;
|
|
72
75
|
};
|
|
73
76
|
}
|
|
77
|
+
export interface DaoFeePoolsAddresses {
|
|
78
|
+
packages: {
|
|
79
|
+
amm: SuiAddress;
|
|
80
|
+
};
|
|
81
|
+
objects: {
|
|
82
|
+
version: ObjectId;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
74
85
|
export interface SuiFrensAddresses {
|
|
75
86
|
packages: {
|
|
76
87
|
suiFrens: SuiAddress;
|
|
@@ -143,4 +154,16 @@ export interface ScallopAddresses {
|
|
|
143
154
|
xOracle: ObjectId;
|
|
144
155
|
};
|
|
145
156
|
}
|
|
157
|
+
export interface DcaAddresses {
|
|
158
|
+
packages: {
|
|
159
|
+
dca: SuiAddress;
|
|
160
|
+
};
|
|
161
|
+
objects: {
|
|
162
|
+
config: ObjectId;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
export interface SharedCustodyAddresses {
|
|
166
|
+
address: ObjectId;
|
|
167
|
+
publicKey: ObjectId;
|
|
168
|
+
}
|
|
146
169
|
//# sourceMappingURL=configTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../../src/general/types/configTypes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../../src/general/types/configTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { FaucetApiCasting } from "../../packages/faucet/api/faucetApiCasting";
|
|
|
4
4
|
import { NftAmmApiCasting } from "../../packages/nftAmm/api/nftAmmApiCasting";
|
|
5
5
|
import { PoolsApiCasting } from "../../packages/pools/api/poolsApiCasting";
|
|
6
6
|
import { StakingApiCasting } from "../../packages/staking/api/stakingApiCasting";
|
|
7
|
-
import { Byte, SuiAddress } from "../types";
|
|
7
|
+
import { Byte, Percentage, SuiAddress } from "../types";
|
|
8
8
|
import { RouterApiCasting } from "../../packages/router/api/routerApiCasting";
|
|
9
9
|
import { FixedUtils } from "./fixedUtils";
|
|
10
10
|
import { IFixedUtils } from "./iFixedUtils";
|
|
@@ -13,6 +13,7 @@ import { FarmsApiCasting } from "../../packages/farms/api/farmsApiCasting";
|
|
|
13
13
|
import { LeveragedStakingApiCasting } from "../../packages/leveragedStaking/api/leveragedStakingApiCasting";
|
|
14
14
|
import { SuiObjectResponse } from "@mysten/sui/client";
|
|
15
15
|
import { NftsApiCasting } from "../nfts/nftsApiCasting";
|
|
16
|
+
import { DcaApiCasting } from "../../packages/dca/api/dcaApiCasting";
|
|
16
17
|
/**
|
|
17
18
|
* Utility class for casting and conversion functions.
|
|
18
19
|
* @class
|
|
@@ -28,12 +29,15 @@ export declare class Casting {
|
|
|
28
29
|
static perpetuals: typeof PerpetualsApiCasting;
|
|
29
30
|
static farms: typeof FarmsApiCasting;
|
|
30
31
|
static nfts: typeof NftsApiCasting;
|
|
32
|
+
static dca: typeof DcaApiCasting;
|
|
31
33
|
static Fixed: typeof FixedUtils;
|
|
32
34
|
static IFixed: typeof IFixedUtils;
|
|
33
35
|
static u64MaxBigInt: bigint;
|
|
34
36
|
static numberToFixedBigInt: (a: number) => bigint;
|
|
35
37
|
static bigIntToFixedNumber: (a: bigint) => number;
|
|
36
38
|
static scaleNumberByBigInt: (scalar: number, int: bigint) => bigint;
|
|
39
|
+
static percentageToBps(percentage: Percentage): bigint;
|
|
40
|
+
static bpsToPercentage(bps: bigint): Percentage;
|
|
37
41
|
static stringFromBytes: (bytes: Byte[]) => string;
|
|
38
42
|
static bigIntFromBytes: (bytes: Byte[]) => bigint;
|
|
39
43
|
static addressFromBcsBytes: (bytes: Byte[]) => SuiAddress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"casting.d.ts","sourceRoot":"","sources":["../../../src/general/utils/casting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,IAAI,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"casting.d.ts","sourceRoot":"","sources":["../../../src/general/utils/casting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,IAAI,EAAU,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAC;AAG5G,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE;;;GAGG;AACH,qBAAa,OAAO;IAKnB,OAAc,KAAK,yBAAmB;IACtC,OAAc,QAAQ,4BAAsB;IAC5C,OAAc,MAAM,0BAAoB;IACxC,OAAc,OAAO,2BAAqB;IAC1C,OAAc,gBAAgB,oCAA8B;IAC5D,OAAc,MAAM,0BAAoB;IACxC,OAAc,MAAM,0BAAoB;IACxC,OAAc,UAAU,8BAAwB;IAChD,OAAc,KAAK,yBAAmB;IACtC,OAAc,IAAI,wBAAkB;IACpC,OAAc,GAAG,uBAAiB;IAUlC,OAAc,KAAK,oBAAc;IACjC,OAAc,MAAM,qBAAe;IAEnC,OAAc,YAAY,EAAE,MAAM,CAAgC;IAYlE,OAAc,mBAAmB,MAAO,MAAM,KAAG,MAAM,CACT;IAC9C,OAAc,mBAAmB,MAAO,MAAM,KAAG,MAAM,CACrB;IAElC,OAAc,mBAAmB,WAAY,MAAM,OAAO,MAAM,KAAG,MAAM,CAC/B;WAM5B,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;WAQ/C,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAYtD,OAAc,eAAe,UAAW,IAAI,EAAE,YACN;IAExC,OAAc,eAAe,UAAW,IAAI,EAAE,YAO3C;IAEH,OAAc,mBAAmB,UAAW,IAAI,EAAE,KAAG,UAAU,CAG5D;IAEH,OAAc,gBAAgB,UAAW,IAAI,EAAE,KAAG,UAAU,CASzD;IAEH,OAAc,sBAAsB,UAAW,MAAM,EAAE,KAAG,UAAU,CACX;IAEzD,OAAc,oBAAoB,UAAW,MAAM,EAAE,KAAG,IAAI,EAAE,CAC3B;IAEnC,OAAc,wBAAwB,qBACnB,GAAG,KACnB,GAAG,GAAG,SAAS,CAOhB;IAEF,OAAc,kBAAkB,QAAS,MAAM,cAS7C;IAEF,OAAc,0BAA0B,sBAAuB,MAAM,YAEnE;IAEF,OAAc,aAAa;2BACP,iBAAiB;;yCAEH,GAAG;YASnC;WAEY,6BAA6B,CAC1C,iBAAiB,EAAE,iBAAiB,GAClC,MAAM;CAOT"}
|
|
@@ -16,11 +16,29 @@ const farmsApiCasting_1 = require("../../packages/farms/api/farmsApiCasting");
|
|
|
16
16
|
const leveragedStakingApiCasting_1 = require("../../packages/leveragedStaking/api/leveragedStakingApiCasting");
|
|
17
17
|
const __1 = require("../..");
|
|
18
18
|
const nftsApiCasting_1 = require("../nfts/nftsApiCasting");
|
|
19
|
+
const dcaApiCasting_1 = require("../../packages/dca/api/dcaApiCasting");
|
|
19
20
|
/**
|
|
20
21
|
* Utility class for casting and conversion functions.
|
|
21
22
|
* @class
|
|
22
23
|
*/
|
|
23
24
|
class Casting {
|
|
25
|
+
// =========================================================================
|
|
26
|
+
// Fixed
|
|
27
|
+
// =========================================================================
|
|
28
|
+
static percentageToBps(percentage) {
|
|
29
|
+
// Convert decimal percentage to basis points
|
|
30
|
+
const bps = percentage * 10000;
|
|
31
|
+
// Convert basis points to bigint
|
|
32
|
+
const bpsBigint = BigInt(Math.round(bps));
|
|
33
|
+
return bpsBigint;
|
|
34
|
+
}
|
|
35
|
+
static bpsToPercentage(bps) {
|
|
36
|
+
// Convert bigint basis points to number
|
|
37
|
+
const bpsNumber = Number(bps);
|
|
38
|
+
// Convert basis points to decimal percentage
|
|
39
|
+
const percentage = bpsNumber / 10000;
|
|
40
|
+
return percentage;
|
|
41
|
+
}
|
|
24
42
|
static bcsBytesFromSuiObjectResponse(suiObjectResponse) {
|
|
25
43
|
var _b, _c;
|
|
26
44
|
const rawData = (_b = suiObjectResponse.data) === null || _b === void 0 ? void 0 : _b.bcs;
|
|
@@ -44,6 +62,7 @@ Casting.router = routerApiCasting_1.RouterApiCasting;
|
|
|
44
62
|
Casting.perpetuals = perpetualsApiCasting_1.PerpetualsApiCasting;
|
|
45
63
|
Casting.farms = farmsApiCasting_1.FarmsApiCasting;
|
|
46
64
|
Casting.nfts = nftsApiCasting_1.NftsApiCasting;
|
|
65
|
+
Casting.dca = dcaApiCasting_1.DcaApiCasting;
|
|
47
66
|
// =========================================================================
|
|
48
67
|
// Constants
|
|
49
68
|
// =========================================================================
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DisplayFieldsResponse, SuiObjectResponse } from "@mysten/sui/client";
|
|
2
|
-
import { AnyObjectType, Balance, ScallopProviders, SuiNetwork, CoinsToDecimals, CoinsToPrice, ObjectId, Slippage, ModuleName, MoveErrorCode } from "../../types";
|
|
2
|
+
import { AnyObjectType, Balance, ScallopProviders, SuiNetwork, CoinsToDecimals, CoinsToPrice, ObjectId, Slippage, ModuleName, MoveErrorCode, SuiAddress } from "../../types";
|
|
3
3
|
import { DynamicFieldsApiHelpers } from "../apiHelpers/dynamicFieldsApiHelpers";
|
|
4
4
|
import { EventsApiHelpers } from "../apiHelpers/eventsApiHelpers";
|
|
5
5
|
import { InspectionsApiHelpers } from "../apiHelpers/inspectionsApiHelpers";
|
|
@@ -86,6 +86,7 @@ export declare class Helpers {
|
|
|
86
86
|
coinsToPrice: CoinsToPrice;
|
|
87
87
|
coinsToDecimals: CoinsToDecimals;
|
|
88
88
|
}) => number;
|
|
89
|
+
static isValidSuiAddress: (address: SuiAddress) => boolean;
|
|
89
90
|
static parseMoveErrorMessage(inputs: {
|
|
90
91
|
errorMessage: string;
|
|
91
92
|
}): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/general/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,qBAAqB,EAErB,iBAAiB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,aAAa,EACb,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,EAEV,aAAa,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EACN,WAAW,EACX,yBAAyB,EACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/general/utils/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ const transactionsApiHelpers_1 = require("../apiHelpers/transactionsApiHelpers")
|
|
|
19
19
|
const casting_1 = require("./casting");
|
|
20
20
|
const sui_scallop_sdk_1 = require("@scallop-io/sui-scallop-sdk");
|
|
21
21
|
const __1 = require("../..");
|
|
22
|
+
const utils_1 = require("@mysten/sui/utils");
|
|
22
23
|
/**
|
|
23
24
|
* A utility class containing various helper functions for general use.
|
|
24
25
|
*/
|
|
@@ -399,3 +400,13 @@ Helpers.calcIndexerVolumeUsd = (inputs) => {
|
|
|
399
400
|
return acc + amountUsd;
|
|
400
401
|
}, 0);
|
|
401
402
|
};
|
|
403
|
+
Helpers.isValidSuiAddress = (address) => (0, utils_1.isValidSuiAddress)((() => {
|
|
404
|
+
if (!address.startsWith("0x") || address.length < 3)
|
|
405
|
+
return "";
|
|
406
|
+
try {
|
|
407
|
+
return Helpers.addLeadingZeroesToType(address);
|
|
408
|
+
}
|
|
409
|
+
catch (e) {
|
|
410
|
+
return "";
|
|
411
|
+
}
|
|
412
|
+
})());
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { AftermathApi } from "../../../general/providers";
|
|
2
|
+
import { TransactionArgument, TransactionBlock } from "@mysten/sui.js/transactions";
|
|
3
|
+
import { ApiDcaTransactionForCancelOrderBody, ApiDcaTransactionForCreateOrderBody, DcaOrderObject, DcaOrdersObject } from "../dcaTypes";
|
|
4
|
+
import { AnyObjectType, Balance, CoinType, DcaAddresses, ObjectId, SuiAddress } from "../../../types";
|
|
5
|
+
import { DcaIndexerOrderCancelRequest, DcaIndexerOrderCancelResponse } from "./dcaApiCastingTypes";
|
|
6
|
+
import { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
7
|
+
export declare class DcaApi {
|
|
8
|
+
private readonly Provider;
|
|
9
|
+
private static readonly constants;
|
|
10
|
+
readonly addresses: DcaAddresses;
|
|
11
|
+
readonly eventTypes: {
|
|
12
|
+
createdOrder: AnyObjectType;
|
|
13
|
+
closedOrder: AnyObjectType;
|
|
14
|
+
executedTrade: AnyObjectType;
|
|
15
|
+
};
|
|
16
|
+
constructor(Provider: AftermathApi);
|
|
17
|
+
fetchBuildCreateOrderTx: (inputs: ApiDcaTransactionForCreateOrderBody) => Promise<Transaction>;
|
|
18
|
+
fetchBuildCancelOrderTx: (inputs: ApiDcaTransactionForCancelOrderBody) => Promise<Transaction>;
|
|
19
|
+
createNewOrderTx: (inputs: {
|
|
20
|
+
tx: Transaction;
|
|
21
|
+
inputCoinTxArg: TransactionObjectArgument;
|
|
22
|
+
gasCoinTxArg: TransactionObjectArgument;
|
|
23
|
+
recipientAddress: SuiAddress;
|
|
24
|
+
orderAmountPerTrade: Balance;
|
|
25
|
+
} & ApiDcaTransactionForCreateOrderBody) => Promise<Transaction>;
|
|
26
|
+
createCancelOrderTx: (inputs: {
|
|
27
|
+
tx: Transaction | TransactionBlock;
|
|
28
|
+
allocateCoinType: CoinType;
|
|
29
|
+
buyCoinType: CoinType;
|
|
30
|
+
orderId: ObjectId | TransactionArgument;
|
|
31
|
+
}) => any;
|
|
32
|
+
fetchAllOrdersObjects: (inputs: {
|
|
33
|
+
walletAddress: SuiAddress;
|
|
34
|
+
}) => Promise<DcaOrdersObject>;
|
|
35
|
+
fetchActiveOrdersObjects: (inputs: {
|
|
36
|
+
walletAddress: SuiAddress;
|
|
37
|
+
}) => Promise<DcaOrderObject[]>;
|
|
38
|
+
fetchPastOrdersObjects: (inputs: {
|
|
39
|
+
walletAddress: SuiAddress;
|
|
40
|
+
}) => Promise<DcaOrderObject[]>;
|
|
41
|
+
fetchOrdersObjectsByType: (inputs: {
|
|
42
|
+
walletAddress: SuiAddress;
|
|
43
|
+
type: "active" | "past";
|
|
44
|
+
}) => Promise<DcaOrderObject[]>;
|
|
45
|
+
fetchOrderExecutionPause: (inputs: DcaIndexerOrderCancelRequest) => Promise<DcaIndexerOrderCancelResponse>;
|
|
46
|
+
private createdOrderEventType;
|
|
47
|
+
private closedOrderEventType;
|
|
48
|
+
private executedOrderEventType;
|
|
49
|
+
private getSponsorTransaction;
|
|
50
|
+
private static transferTxMetadata;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=dcaApi.d.ts.map
|
|
@@ -0,0 +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;AAC1D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpF,OAAO,EACH,mCAAmC,EACnC,mCAAmC,EACnC,cAAc,EACd,eAAe,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,aAAa,EACb,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,UAAU,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,4BAA4B,EAC5B,6BAA6B,EAKhC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAOlF,qBAAa,MAAM;IAkCN,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA5BlC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAWhC;IAMD,SAAgB,SAAS,EAAE,YAAY,CAAC;IACxC,SAAgB,UAAU,EAAE;QACxB,YAAY,EAAE,aAAa,CAAC;QAC5B,WAAW,EAAE,aAAa,CAAC;QAC3B,aAAa,EAAE,aAAa,CAAC;KAChC,CAAA;gBAMyB,QAAQ,EAAE,YAAY;IAmBzC,uBAAuB,WAClB,mCAAmC,KAC5C,QAAQ,WAAW,CAAC,CAoCrB;IAEK,uBAAuB,WAClB,mCAAmC,KACxC,QAAQ,WAAW,CAAC,CAa1B;IAMM,gBAAgB,WAAkB;QACrC,EAAE,EAAE,WAAW,CAAC;QAChB,cAAc,EAAE,yBAAyB,CAAC;QAC1C,YAAY,EAAE,yBAAyB,CAAC;QACxC,gBAAgB,EAAE,UAAU,CAAC;QAC7B,mBAAmB,EAAE,OAAO,CAAC;KAChC,GAAG,mCAAmC,0BAmDtC;IAEM,mBAAmB,WAAY;QAClC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAAC;QACnC,gBAAgB,EAAE,QAAQ,CAAC;QAC3B,WAAW,EAAE,QAAQ,CAAC;QACtB,OAAO,EAAE,QAAQ,GAAG,mBAAmB,CAAA;KAC1C,SAcA;IAMM,qBAAqB,WAAkB;QAC1C,aAAa,EAAE,UAAU,CAAC;KAC7B,KAAG,QAAQ,eAAe,CAAC,CAY3B;IAEM,wBAAwB,WAAkB;QAC7C,aAAa,EAAE,UAAU,CAAA;KAC5B,KAAG,QAAQ,cAAc,EAAE,CAAC,CAK5B;IAEM,sBAAsB,WAAkB;QAC3C,aAAa,EAAE,UAAU,CAAA;KAC5B,KAAG,QAAQ,cAAc,EAAE,CAAC,CAK5B;IAEM,wBAAwB,WAAkB;QAC7C,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;KAC1B,KAAG,QAAQ,cAAc,EAAE,CAAC,CAsB5B;IAEM,wBAAwB,WACzB,4BAA4B,KAClC,QAAQ,6BAA6B,CAAC,CAerC;IAMD,OAAO,CAAC,qBAAqB,CAK7B;IAEA,OAAO,CAAC,oBAAoB,CAK5B;IAEA,OAAO,CAAC,sBAAsB,CAK9B;IAMA,OAAO,CAAC,qBAAqB,CAQ5B;IAED,OAAO,CAAC,MAAM,CAAC,kBAAkB,CA8BlC;CACF"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DcaApi = void 0;
|
|
13
|
+
const utils_1 = require("../../../general/utils");
|
|
14
|
+
const coin_1 = require("../../coin");
|
|
15
|
+
const transactions_1 = require("@mysten/sui/transactions");
|
|
16
|
+
const eventsApiHelpers_1 = require("../../../general/apiHelpers/eventsApiHelpers");
|
|
17
|
+
const GAS_SUI_AMOUNT = BigInt(5000000); // 0.005 SUI
|
|
18
|
+
const ORDER_MAX_ALLOWABLE_SLIPPAGE_BPS = BigInt(10000); // Maximum valued
|
|
19
|
+
class DcaApi {
|
|
20
|
+
// =========================================================================
|
|
21
|
+
// Constructor
|
|
22
|
+
// =========================================================================
|
|
23
|
+
constructor(Provider) {
|
|
24
|
+
this.Provider = Provider;
|
|
25
|
+
// =========================================================================
|
|
26
|
+
// Public Transaction Methods
|
|
27
|
+
// =========================================================================
|
|
28
|
+
this.fetchBuildCreateOrderTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const { walletAddress } = inputs;
|
|
30
|
+
const tx = new transactions_1.Transaction();
|
|
31
|
+
tx.setSender(walletAddress);
|
|
32
|
+
const tradesGasAmount = BigInt(inputs.tradesAmount) * GAS_SUI_AMOUNT;
|
|
33
|
+
const orderAmountPerTrade = inputs.allocateCoinAmount / BigInt(inputs.tradesAmount);
|
|
34
|
+
const recipientAddress = inputs.customRecipient ? inputs.customRecipient : walletAddress;
|
|
35
|
+
const [gasCoinTxArg, inputCoinTxArg] = yield Promise.all([
|
|
36
|
+
this.Provider.Coin().fetchCoinWithAmountTx({
|
|
37
|
+
tx,
|
|
38
|
+
walletAddress,
|
|
39
|
+
coinType: coin_1.Coin.constants.suiCoinType,
|
|
40
|
+
coinAmount: tradesGasAmount,
|
|
41
|
+
isSponsoredTx: inputs.isSponsoredTx
|
|
42
|
+
}),
|
|
43
|
+
this.Provider.Coin().fetchCoinWithAmountTx({
|
|
44
|
+
tx,
|
|
45
|
+
walletAddress,
|
|
46
|
+
coinType: inputs.allocateCoinType,
|
|
47
|
+
coinAmount: inputs.allocateCoinAmount,
|
|
48
|
+
isSponsoredTx: inputs.isSponsoredTx
|
|
49
|
+
})
|
|
50
|
+
]);
|
|
51
|
+
const resultTx = yield this.createNewOrderTx(Object.assign(Object.assign({}, inputs), { tx,
|
|
52
|
+
gasCoinTxArg,
|
|
53
|
+
inputCoinTxArg,
|
|
54
|
+
orderAmountPerTrade,
|
|
55
|
+
recipientAddress }));
|
|
56
|
+
return resultTx;
|
|
57
|
+
});
|
|
58
|
+
this.fetchBuildCancelOrderTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const { walletAddress, userPublicKey } = inputs;
|
|
60
|
+
const tx = yield this.getSponsorTransaction(walletAddress);
|
|
61
|
+
const pulicKey = Uint8Array.from(Buffer.from(userPublicKey, "hex"));
|
|
62
|
+
const multisig = yield this.Provider.Multisig().fetchMultisigForUser({
|
|
63
|
+
userPublicKey: pulicKey
|
|
64
|
+
});
|
|
65
|
+
tx.setSender(multisig.address);
|
|
66
|
+
this.createCancelOrderTx(Object.assign(Object.assign({}, inputs), { tx }));
|
|
67
|
+
return tx;
|
|
68
|
+
});
|
|
69
|
+
// =========================================================================
|
|
70
|
+
// Transaction Commands
|
|
71
|
+
// =========================================================================
|
|
72
|
+
this.createNewOrderTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
var _a, _b, _c, _d, _e;
|
|
74
|
+
const initTx = (_a = inputs.tx) !== null && _a !== void 0 ? _a : new transactions_1.Transaction();
|
|
75
|
+
const txBytes = yield initTx.build({
|
|
76
|
+
client: this.Provider.provider,
|
|
77
|
+
onlyTransactionKind: true,
|
|
78
|
+
});
|
|
79
|
+
const b64TxBytes = Buffer.from(txBytes).toString("base64");
|
|
80
|
+
const { tx_data } = yield this.Provider.indexerCaller.fetchIndexer("dca/create", {
|
|
81
|
+
tx_kind: b64TxBytes,
|
|
82
|
+
order: {
|
|
83
|
+
input_coin: utils_1.Helpers.transactions.serviceCoinDataFromCoinTxArg({
|
|
84
|
+
coinTxArg: inputs.inputCoinTxArg,
|
|
85
|
+
}),
|
|
86
|
+
input_coin_type: inputs.allocateCoinType,
|
|
87
|
+
output_coin_type: inputs.buyCoinType,
|
|
88
|
+
gas_coin: utils_1.Helpers.transactions.serviceCoinDataFromCoinTxArg({
|
|
89
|
+
coinTxArg: inputs.gasCoinTxArg,
|
|
90
|
+
}),
|
|
91
|
+
owner: inputs.walletAddress,
|
|
92
|
+
user_pk: inputs.publicKey,
|
|
93
|
+
recipient: inputs.recipientAddress,
|
|
94
|
+
frequency_ms: inputs.frequencyMs.toString(),
|
|
95
|
+
delay_timestamp_ms: inputs.delayTimeMs.toString(),
|
|
96
|
+
amount_per_trade: inputs.orderAmountPerTrade.toString(),
|
|
97
|
+
max_allowable_slippage_bps: Number(ORDER_MAX_ALLOWABLE_SLIPPAGE_BPS),
|
|
98
|
+
min_amount_out: ((_c = (_b = inputs.straregy) === null || _b === void 0 ? void 0 : _b.priceMin) !== null && _c !== void 0 ? _c : 0).toString().replace("n", ""),
|
|
99
|
+
max_amount_out: ((_e = (_d = inputs.straregy) === null || _d === void 0 ? void 0 : _d.priceMax) !== null && _e !== void 0 ? _e : utils_1.Casting.u64MaxBigInt).toString().replace("n", ""),
|
|
100
|
+
number_of_trades: Number(inputs.tradesAmount)
|
|
101
|
+
}
|
|
102
|
+
}, undefined, undefined, undefined, true);
|
|
103
|
+
const tx = transactions_1.Transaction.fromKind(tx_data);
|
|
104
|
+
DcaApi.transferTxMetadata({
|
|
105
|
+
initTx,
|
|
106
|
+
newTx: tx,
|
|
107
|
+
});
|
|
108
|
+
return tx;
|
|
109
|
+
});
|
|
110
|
+
this.createCancelOrderTx = (inputs) => {
|
|
111
|
+
const { tx } = inputs;
|
|
112
|
+
return tx.moveCall({
|
|
113
|
+
target: utils_1.Helpers.transactions.createTxTarget(this.addresses.packages.dca, DcaApi.constants.moduleNames.dca, "close_order"),
|
|
114
|
+
typeArguments: [inputs.allocateCoinType, inputs.buyCoinType],
|
|
115
|
+
arguments: [
|
|
116
|
+
tx.object(inputs.orderId),
|
|
117
|
+
tx.object(this.addresses.objects.config),
|
|
118
|
+
],
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
// =========================================================================
|
|
122
|
+
// Class Objects
|
|
123
|
+
// =========================================================================
|
|
124
|
+
this.fetchAllOrdersObjects = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
const [activeOrders = [], pastOrders = []] = yield Promise.all([
|
|
126
|
+
this.fetchActiveOrdersObjects(inputs),
|
|
127
|
+
this.fetchPastOrdersObjects(inputs)
|
|
128
|
+
]);
|
|
129
|
+
return {
|
|
130
|
+
active: activeOrders,
|
|
131
|
+
past: pastOrders
|
|
132
|
+
};
|
|
133
|
+
});
|
|
134
|
+
this.fetchActiveOrdersObjects = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
135
|
+
return this.fetchOrdersObjectsByType(Object.assign(Object.assign({}, inputs), { type: "active" }));
|
|
136
|
+
});
|
|
137
|
+
this.fetchPastOrdersObjects = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
return this.fetchOrdersObjectsByType(Object.assign(Object.assign({}, inputs), { type: "past" }));
|
|
139
|
+
});
|
|
140
|
+
this.fetchOrdersObjectsByType = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
const { type, walletAddress } = inputs;
|
|
142
|
+
const uncastedResponse = yield this.Provider.indexerCaller.fetchIndexer(`dca/get/${type}`, {
|
|
143
|
+
sender: walletAddress,
|
|
144
|
+
}, undefined, undefined, undefined, true);
|
|
145
|
+
return uncastedResponse.orders
|
|
146
|
+
.sort((lhs, rhs) => rhs.created.timestamp - lhs.created.timestamp)
|
|
147
|
+
.map(order => utils_1.Casting.dca.createdOrderEventOnIndexer(order));
|
|
148
|
+
});
|
|
149
|
+
this.fetchOrderExecutionPause = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
150
|
+
const { order_object_id } = inputs;
|
|
151
|
+
return this.Provider.indexerCaller.fetchIndexer("dca/cancel", {
|
|
152
|
+
order_object_id
|
|
153
|
+
}, undefined, undefined, undefined, true);
|
|
154
|
+
});
|
|
155
|
+
// =========================================================================
|
|
156
|
+
// Events
|
|
157
|
+
// =========================================================================
|
|
158
|
+
this.createdOrderEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.dca, DcaApi.constants.moduleNames.events, DcaApi.constants.eventNames.createdOrder);
|
|
159
|
+
this.closedOrderEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.dca, DcaApi.constants.moduleNames.events, DcaApi.constants.eventNames.closedOrder);
|
|
160
|
+
this.executedOrderEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.dca, DcaApi.constants.moduleNames.events, DcaApi.constants.eventNames.executedTrade);
|
|
161
|
+
// =========================================================================
|
|
162
|
+
// Helpers
|
|
163
|
+
// =========================================================================
|
|
164
|
+
this.getSponsorTransaction = (sponsor) => __awaiter(this, void 0, void 0, function* () {
|
|
165
|
+
const txBlock = new transactions_1.Transaction();
|
|
166
|
+
const kindBytes = yield txBlock.build({ onlyTransactionKind: true });
|
|
167
|
+
const tx = transactions_1.Transaction.fromKind(kindBytes);
|
|
168
|
+
tx.setGasOwner(sponsor);
|
|
169
|
+
return tx;
|
|
170
|
+
});
|
|
171
|
+
const addresses = this.Provider.addresses.dca;
|
|
172
|
+
if (!addresses)
|
|
173
|
+
throw new Error("not all required addresses have been set in provider");
|
|
174
|
+
this.addresses = addresses;
|
|
175
|
+
this.eventTypes = {
|
|
176
|
+
createdOrder: this.createdOrderEventType(),
|
|
177
|
+
closedOrder: this.closedOrderEventType(),
|
|
178
|
+
executedTrade: this.executedOrderEventType(),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.DcaApi = DcaApi;
|
|
183
|
+
// =========================================================================
|
|
184
|
+
// Constants
|
|
185
|
+
// =========================================================================
|
|
186
|
+
DcaApi.constants = {
|
|
187
|
+
moduleNames: {
|
|
188
|
+
dca: "order",
|
|
189
|
+
events: "events",
|
|
190
|
+
config: "config"
|
|
191
|
+
},
|
|
192
|
+
eventNames: {
|
|
193
|
+
createdOrder: "CreatedOrderEvent",
|
|
194
|
+
closedOrder: "CancelledOrderEvent",
|
|
195
|
+
executedTrade: "ExecutedTradeEvent",
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
DcaApi.transferTxMetadata = (inputs) => {
|
|
199
|
+
const { initTx, newTx } = inputs;
|
|
200
|
+
const sender = initTx.getData().sender;
|
|
201
|
+
if (sender)
|
|
202
|
+
newTx.setSender(sender);
|
|
203
|
+
const expiration = initTx.getData().expiration;
|
|
204
|
+
if (expiration)
|
|
205
|
+
newTx.setExpiration(expiration);
|
|
206
|
+
const gasData = initTx.getData().gasData;
|
|
207
|
+
if (gasData.budget && typeof gasData.budget !== "string")
|
|
208
|
+
newTx.setGasBudget(gasData.budget);
|
|
209
|
+
if (gasData.owner)
|
|
210
|
+
newTx.setGasOwner(gasData.owner);
|
|
211
|
+
if (gasData.payment)
|
|
212
|
+
newTx.setGasPayment(gasData.payment);
|
|
213
|
+
if (gasData.price && typeof gasData.price !== "string")
|
|
214
|
+
newTx.setGasPrice(gasData.price);
|
|
215
|
+
console.log({
|
|
216
|
+
gasData,
|
|
217
|
+
budget: gasData.budget,
|
|
218
|
+
owner: gasData.owner,
|
|
219
|
+
payment: gasData.payment,
|
|
220
|
+
});
|
|
221
|
+
};
|