aftermath-ts-sdk 1.2.51 → 1.2.52-perps.3
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/README.md +62 -28
- package/dist/general/apiHelpers/eventsApiHelpers.d.ts +1 -1
- package/dist/general/apiHelpers/eventsApiHelpers.d.ts.map +1 -1
- package/dist/general/apiHelpers/eventsApiHelpers.js +4 -1
- package/dist/general/apiHelpers/transactionsApiHelpers.d.ts +6 -0
- package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +1 -1
- package/dist/general/apiHelpers/transactionsApiHelpers.js +46 -0
- package/dist/general/dynamicGas/dynamicGas.d.ts +34 -0
- package/dist/general/dynamicGas/dynamicGas.d.ts.map +1 -1
- package/dist/general/dynamicGas/dynamicGas.js +34 -0
- package/dist/general/dynamicGas/dynamicGasTypes.d.ts +25 -0
- package/dist/general/dynamicGas/dynamicGasTypes.d.ts.map +1 -1
- package/dist/general/prices/coinGeckoTypes.d.ts +2 -0
- package/dist/general/prices/coinGeckoTypes.d.ts.map +1 -1
- package/dist/general/prices/prices.d.ts +73 -0
- package/dist/general/prices/prices.d.ts.map +1 -1
- package/dist/general/prices/prices.js +73 -0
- package/dist/general/providers/aftermath.d.ts +107 -27
- package/dist/general/providers/aftermath.d.ts.map +1 -1
- package/dist/general/providers/aftermath.js +110 -30
- package/dist/general/providers/aftermathApi.d.ts +128 -10
- package/dist/general/providers/aftermathApi.d.ts.map +1 -1
- package/dist/general/providers/aftermathApi.js +133 -14
- package/dist/general/types/castingTypes.d.ts +15 -7
- package/dist/general/types/castingTypes.d.ts.map +1 -1
- package/dist/general/types/castingTypes.js +6 -0
- package/dist/general/types/configTypes.d.ts +14 -8
- package/dist/general/types/configTypes.d.ts.map +1 -1
- package/dist/general/types/generalTypes.d.ts +229 -7
- package/dist/general/types/generalTypes.d.ts.map +1 -1
- package/dist/general/types/moveErrorsInterface.d.ts +1 -1
- package/dist/general/types/moveErrorsInterface.d.ts.map +1 -1
- package/dist/general/types/suiTypes.d.ts +0 -16
- package/dist/general/types/suiTypes.d.ts.map +1 -1
- package/dist/general/types/suiTypes.js +3 -25
- package/dist/general/utils/caller.d.ts +6 -3
- package/dist/general/utils/caller.d.ts.map +1 -1
- package/dist/general/utils/caller.js +22 -4
- package/dist/general/utils/casting.d.ts +156 -5
- package/dist/general/utils/casting.d.ts.map +1 -1
- package/dist/general/utils/casting.js +159 -18
- package/dist/general/utils/fixedUtils.d.ts +89 -2
- package/dist/general/utils/fixedUtils.d.ts.map +1 -1
- package/dist/general/utils/fixedUtils.js +81 -4
- package/dist/general/utils/helpers.d.ts +327 -10
- package/dist/general/utils/helpers.d.ts.map +1 -1
- package/dist/general/utils/helpers.js +409 -91
- package/dist/general/utils/iFixedUtils.d.ts +64 -0
- package/dist/general/utils/iFixedUtils.d.ts.map +1 -1
- package/dist/general/utils/iFixedUtils.js +64 -0
- package/dist/general/wallet/wallet.d.ts +76 -1
- package/dist/general/wallet/wallet.d.ts.map +1 -1
- package/dist/general/wallet/wallet.js +75 -5
- package/dist/packages/auth/auth.d.ts +113 -4
- package/dist/packages/auth/auth.d.ts.map +1 -1
- package/dist/packages/auth/auth.js +190 -59
- package/dist/packages/auth/authTypes.d.ts +66 -0
- package/dist/packages/auth/authTypes.d.ts.map +1 -1
- package/dist/packages/coin/api/coinApi.d.ts.map +1 -1
- package/dist/packages/coin/api/coinApi.js +29 -20
- package/dist/packages/coin/coin.d.ts +256 -1
- package/dist/packages/coin/coin.d.ts.map +1 -1
- package/dist/packages/coin/coin.js +246 -15
- package/dist/packages/coin/coinTypes.d.ts +95 -0
- package/dist/packages/coin/coinTypes.d.ts.map +1 -1
- package/dist/packages/dca/api/dcaApi.d.ts +2 -0
- package/dist/packages/dca/api/dcaApi.d.ts.map +1 -1
- package/dist/packages/dca/api/dcaApi.js +6 -3
- package/dist/packages/dca/dca.d.ts +125 -35
- package/dist/packages/dca/dca.d.ts.map +1 -1
- package/dist/packages/dca/dca.js +135 -43
- package/dist/packages/dca/dcaTypes.d.ts +217 -42
- package/dist/packages/dca/dcaTypes.d.ts.map +1 -1
- package/dist/packages/farms/api/farmsApi.d.ts +725 -58
- package/dist/packages/farms/api/farmsApi.d.ts.map +1 -1
- package/dist/packages/farms/api/farmsApi.js +1149 -153
- package/dist/packages/farms/api/farmsApiCasting.d.ts +34 -18
- package/dist/packages/farms/api/farmsApiCasting.d.ts.map +1 -1
- package/dist/packages/farms/api/farmsApiCasting.js +218 -17
- package/dist/packages/farms/api/farmsApiCastingTypes.d.ts +117 -21
- package/dist/packages/farms/api/farmsApiCastingTypes.d.ts.map +1 -1
- package/dist/packages/farms/farms.d.ts +200 -12
- package/dist/packages/farms/farms.d.ts.map +1 -1
- package/dist/packages/farms/farms.js +204 -50
- package/dist/packages/farms/farmsStakedPosition.d.ts +143 -8
- package/dist/packages/farms/farmsStakedPosition.d.ts.map +1 -1
- package/dist/packages/farms/farmsStakedPosition.js +243 -137
- package/dist/packages/farms/farmsStakingPool.d.ts +171 -3
- package/dist/packages/farms/farmsStakingPool.d.ts.map +1 -1
- package/dist/packages/farms/farmsStakingPool.js +233 -73
- package/dist/packages/farms/farmsTypes.d.ts +310 -2
- package/dist/packages/farms/farmsTypes.d.ts.map +1 -1
- package/dist/packages/farms/farmsTypes.js +47 -0
- package/dist/packages/faucet/api/faucetApi.d.ts +9 -17
- package/dist/packages/faucet/api/faucetApi.d.ts.map +1 -1
- package/dist/packages/faucet/api/faucetApi.js +44 -49
- package/dist/packages/faucet/api/faucetApiCasting.d.ts.map +1 -1
- package/dist/packages/faucet/api/faucetApiCasting.js +8 -5
- package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts +1 -4
- package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts.map +1 -1
- package/dist/packages/faucet/faucet.d.ts +1 -1
- package/dist/packages/faucet/faucet.d.ts.map +1 -1
- package/dist/packages/faucet/faucet.js +1 -1
- package/dist/packages/faucet/faucetTypes.d.ts +2 -3
- package/dist/packages/faucet/faucetTypes.d.ts.map +1 -1
- package/dist/packages/limitOrders/api/limitOrdersApi.d.ts +12 -0
- package/dist/packages/limitOrders/api/limitOrdersApi.d.ts.map +1 -0
- package/dist/packages/limitOrders/api/limitOrdersApi.js +25 -0
- package/dist/packages/limitOrders/index.d.ts +2 -0
- package/dist/packages/limitOrders/index.d.ts.map +1 -0
- package/dist/packages/limitOrders/index.js +17 -0
- package/dist/packages/limitOrders/limitOrders.d.ts +143 -0
- package/dist/packages/limitOrders/limitOrders.d.ts.map +1 -0
- package/dist/packages/limitOrders/limitOrders.js +190 -0
- package/dist/packages/limitOrders/limitOrdersTypes.d.ts +211 -0
- package/dist/packages/limitOrders/limitOrdersTypes.d.ts.map +1 -0
- package/dist/packages/multisig/multisig.d.ts +34 -5
- package/dist/packages/multisig/multisig.d.ts.map +1 -1
- package/dist/packages/multisig/multisig.js +33 -4
- package/dist/packages/multisig/multisigTypes.d.ts +17 -0
- package/dist/packages/multisig/multisigTypes.d.ts.map +1 -1
- package/dist/packages/nftAmm/nftAmm.d.ts +1 -1
- package/dist/packages/nftAmm/nftAmm.d.ts.map +1 -1
- package/dist/packages/perpetuals/api/perpetualsApi.d.ts +38 -23
- package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +1 -1
- package/dist/packages/perpetuals/api/perpetualsApi.js +740 -299
- package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +10 -6
- package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +1 -1
- package/dist/packages/perpetuals/api/perpetualsApiCasting.js +112 -42
- package/dist/packages/perpetuals/perpetuals.d.ts +33 -4
- package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetuals.js +105 -18
- package/dist/packages/perpetuals/perpetualsAccount.d.ts +107 -33
- package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsAccount.js +569 -68
- package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts +104 -25
- package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsMarket.d.ts +31 -9
- package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsMarket.js +85 -77
- package/dist/packages/perpetuals/perpetualsTypes.d.ts +348 -380
- package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsTypes.js +43 -113
- package/dist/packages/pools/api/poolsApiCasting.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApiCasting.js +0 -1
- package/dist/packages/pools/pool.d.ts +333 -106
- package/dist/packages/pools/pool.d.ts.map +1 -1
- package/dist/packages/pools/pool.js +347 -119
- package/dist/packages/pools/pools.d.ts +307 -39
- package/dist/packages/pools/pools.d.ts.map +1 -1
- package/dist/packages/pools/pools.js +323 -54
- package/dist/packages/pools/poolsTypes.d.ts +267 -2
- package/dist/packages/pools/poolsTypes.d.ts.map +1 -1
- package/dist/packages/referralVault/referralVault.d.ts +38 -1
- package/dist/packages/referralVault/referralVault.d.ts.map +1 -1
- package/dist/packages/referralVault/referralVault.js +37 -0
- package/dist/packages/router/api/routerApi.d.ts +2 -2
- package/dist/packages/router/api/routerApi.d.ts.map +1 -1
- package/dist/packages/router/api/routerApi.js +19 -11
- package/dist/packages/router/router.d.ts +214 -18
- package/dist/packages/router/router.d.ts.map +1 -1
- package/dist/packages/router/router.js +216 -20
- package/dist/packages/router/routerTypes.d.ts +202 -17
- package/dist/packages/router/routerTypes.d.ts.map +1 -1
- package/dist/packages/staking/staking.d.ts +306 -45
- package/dist/packages/staking/staking.d.ts.map +1 -1
- package/dist/packages/staking/staking.js +313 -51
- package/dist/packages/staking/stakingTypes.d.ts +431 -6
- package/dist/packages/staking/stakingTypes.d.ts.map +1 -1
- package/dist/packages/staking/stakingTypes.js +19 -0
- package/dist/packages/sui/sui.d.ts +40 -1
- package/dist/packages/sui/sui.d.ts.map +1 -1
- package/dist/packages/sui/sui.js +39 -0
- package/dist/packages/suiFrens/stakedSuiFren.d.ts +1 -1
- package/dist/packages/suiFrens/stakedSuiFren.d.ts.map +1 -1
- package/dist/packages/suiFrens/suiFren.d.ts +1 -1
- package/dist/packages/suiFrens/suiFren.d.ts.map +1 -1
- package/dist/packages/suiFrens/suiFrens.d.ts +1 -1
- package/dist/packages/suiFrens/suiFrens.d.ts.map +1 -1
- package/dist/packages/userData/api/userDataApi.d.ts +6 -0
- package/dist/packages/userData/api/userDataApi.d.ts.map +1 -0
- package/dist/packages/userData/api/userDataApi.js +12 -0
- package/dist/packages/userData/index.d.ts +2 -0
- package/dist/packages/userData/index.d.ts.map +1 -0
- package/dist/packages/userData/index.js +17 -0
- package/dist/packages/userData/userData.d.ts +89 -0
- package/dist/packages/userData/userData.d.ts.map +1 -0
- package/dist/packages/userData/userData.js +119 -0
- package/dist/packages/userData/userDataTypes.d.ts +29 -0
- package/dist/packages/userData/userDataTypes.d.ts.map +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/package.json +1 -1
- package/dist/general/historicalData/historicalData.d.ts +0 -15
- package/dist/general/historicalData/historicalData.d.ts.map +0 -1
- package/dist/general/historicalData/historicalData.js +0 -45
- package/dist/general/historicalData/historicalDataTypes.d.ts +0 -10
- package/dist/general/historicalData/historicalDataTypes.d.ts.map +0 -1
- package/dist/packages/dca/api/dcaApiCasting.d.ts +0 -11
- package/dist/packages/dca/api/dcaApiCasting.d.ts.map +0 -1
- package/dist/packages/dca/api/dcaApiCasting.js +0 -186
- package/dist/packages/dca/api/dcaApiCastingTypes.d.ts +0 -142
- package/dist/packages/dca/api/dcaApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/oracle/api/oracleApi.d.ts +0 -13
- package/dist/packages/oracle/api/oracleApi.d.ts.map +0 -1
- package/dist/packages/oracle/api/oracleApi.js +0 -35
- package/dist/packages/oracle/oracle.d.ts +0 -15
- package/dist/packages/oracle/oracle.d.ts.map +0 -1
- package/dist/packages/oracle/oracle.js +0 -46
- package/dist/packages/oracle/oracleTypes.d.ts +0 -2
- package/dist/packages/oracle/oracleTypes.d.ts.map +0 -1
- package/dist/packages/oracle/oracleTypes.js +0 -2
- /package/dist/{general/historicalData/historicalDataTypes.js → packages/limitOrders/limitOrdersTypes.js} +0 -0
- /package/dist/packages/{dca/api/dcaApiCastingTypes.js → userData/userDataTypes.js} +0 -0
|
@@ -16,6 +16,7 @@ const coin_1 = require("../../coin");
|
|
|
16
16
|
const transactionsApiHelpers_1 = require("../../../general/apiHelpers/transactionsApiHelpers");
|
|
17
17
|
const eventsApiHelpers_1 = require("../../../general/apiHelpers/eventsApiHelpers");
|
|
18
18
|
const sui_1 = require("../../sui");
|
|
19
|
+
const utils_1 = require("../../../general/utils");
|
|
19
20
|
class FaucetApi {
|
|
20
21
|
// =========================================================================
|
|
21
22
|
// Constructor
|
|
@@ -23,61 +24,39 @@ class FaucetApi {
|
|
|
23
24
|
constructor(Provider) {
|
|
24
25
|
this.Provider = Provider;
|
|
25
26
|
// =========================================================================
|
|
26
|
-
//
|
|
27
|
+
// Inspections
|
|
27
28
|
// =========================================================================
|
|
28
|
-
this.
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
this.requestCoinAmountTx({
|
|
33
|
-
tx,
|
|
34
|
-
coinType,
|
|
35
|
-
amount,
|
|
36
|
-
});
|
|
37
|
-
return tx;
|
|
38
|
-
});
|
|
39
|
-
this.fetchBuildMintSuiFrenTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const { walletAddress, mintFee, suiFrenType } = inputs;
|
|
41
|
-
const tx = new transactions_1.Transaction();
|
|
42
|
-
tx.setSender(walletAddress);
|
|
43
|
-
const suiPaymentCoinId = yield this.Provider.Coin().fetchCoinWithAmountTx({
|
|
44
|
-
tx,
|
|
45
|
-
walletAddress,
|
|
46
|
-
coinType: coin_1.Coin.constants.suiCoinType,
|
|
47
|
-
coinAmount: mintFee,
|
|
48
|
-
});
|
|
49
|
-
this.mintSuiFrenTx({ tx, suiPaymentCoinId, suiFrenType });
|
|
50
|
-
return tx;
|
|
29
|
+
this.fetchSupportedCoins = () => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const addCoinEvents = yield this.fetchAddCoinEvents({});
|
|
31
|
+
const coins = addCoinEvents.events.map((event) => "0x" + event.coinType);
|
|
32
|
+
return coins;
|
|
51
33
|
});
|
|
52
34
|
// =========================================================================
|
|
53
|
-
//
|
|
35
|
+
// Transaction Commands
|
|
54
36
|
// =========================================================================
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
],
|
|
75
|
-
});
|
|
76
|
-
};
|
|
37
|
+
// public addCoinTx = (inputs: {
|
|
38
|
+
// tx: Transaction;
|
|
39
|
+
// treasuryCapId: ObjectId;
|
|
40
|
+
// treasuryCapType: AnyObjectType;
|
|
41
|
+
// }) => {
|
|
42
|
+
// const { tx, treasuryCapId, treasuryCapType } = inputs;
|
|
43
|
+
// return tx.moveCall({
|
|
44
|
+
// target: TransactionsApiHelpers.createTxTarget(
|
|
45
|
+
// this.addresses.packages.faucet,
|
|
46
|
+
// FaucetApi.constants.moduleNames.faucet,
|
|
47
|
+
// "add_coin"
|
|
48
|
+
// ),
|
|
49
|
+
// typeArguments: [treasuryCapType],
|
|
50
|
+
// arguments: [
|
|
51
|
+
// tx.object(this.addresses.objects.faucet),
|
|
52
|
+
// tx.object(treasuryCapId),
|
|
53
|
+
// ],
|
|
54
|
+
// });
|
|
55
|
+
// };
|
|
77
56
|
this.requestCoinTx = (inputs) => {
|
|
78
57
|
const { tx, coinType } = inputs;
|
|
79
58
|
return tx.moveCall({
|
|
80
|
-
target: transactionsApiHelpers_1.TransactionsApiHelpers.createTxTarget(this.addresses.packages.faucet, FaucetApi.constants.moduleNames.faucet, "
|
|
59
|
+
target: transactionsApiHelpers_1.TransactionsApiHelpers.createTxTarget(this.addresses.packages.faucet, FaucetApi.constants.moduleNames.faucet, "request_default_amount"),
|
|
81
60
|
typeArguments: [coinType],
|
|
82
61
|
arguments: [tx.object(this.addresses.objects.faucet)],
|
|
83
62
|
});
|
|
@@ -97,6 +76,23 @@ class FaucetApi {
|
|
|
97
76
|
});
|
|
98
77
|
};
|
|
99
78
|
// =========================================================================
|
|
79
|
+
// Transaction Builders
|
|
80
|
+
// =========================================================================
|
|
81
|
+
this.buildRequestCoinTx = utils_1.Helpers.transactions.createBuildTxFunc(this.requestCoinTx);
|
|
82
|
+
this.fetchBuildMintSuiFrenTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const { walletAddress, mintFee, suiFrenType } = inputs;
|
|
84
|
+
const tx = new transactions_1.Transaction();
|
|
85
|
+
tx.setSender(walletAddress);
|
|
86
|
+
const suiPaymentCoinId = yield this.Provider.Coin().fetchCoinWithAmountTx({
|
|
87
|
+
tx,
|
|
88
|
+
walletAddress,
|
|
89
|
+
coinType: coin_1.Coin.constants.suiCoinType,
|
|
90
|
+
coinAmount: mintFee,
|
|
91
|
+
});
|
|
92
|
+
this.mintSuiFrenTx({ tx, suiPaymentCoinId, suiFrenType });
|
|
93
|
+
return tx;
|
|
94
|
+
});
|
|
95
|
+
// =========================================================================
|
|
100
96
|
// Events
|
|
101
97
|
// =========================================================================
|
|
102
98
|
// TODO: add to indexer
|
|
@@ -140,7 +136,6 @@ exports.FaucetApi = FaucetApi;
|
|
|
140
136
|
FaucetApi.constants = {
|
|
141
137
|
moduleNames: {
|
|
142
138
|
faucet: "faucet",
|
|
143
|
-
faucetRegistry: "faucet_registry",
|
|
144
139
|
suiFrensGenesisWrapper: "genesis_wrapper",
|
|
145
140
|
},
|
|
146
141
|
eventNames: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faucetApiCasting.d.ts","sourceRoot":"","sources":["../../../../src/packages/faucet/api/faucetApiCasting.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"faucetApiCasting.d.ts","sourceRoot":"","sources":["../../../../src/packages/faucet/api/faucetApiCasting.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIzE,qBAAa,gBAAgB;IAK5B,OAAc,8BAA8B,gDAEzC,mBAAmB,CAapB;IAEF,OAAc,6BAA6B,+CAExC,kBAAkB,CAWnB;CACF"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FaucetApiCasting = void 0;
|
|
4
|
+
const utils_1 = require("../../../general/utils");
|
|
5
|
+
const coin_1 = require("../../coin");
|
|
4
6
|
class FaucetApiCasting {
|
|
5
7
|
}
|
|
6
8
|
exports.FaucetApiCasting = FaucetApiCasting;
|
|
@@ -9,10 +11,11 @@ exports.FaucetApiCasting = FaucetApiCasting;
|
|
|
9
11
|
// =========================================================================
|
|
10
12
|
FaucetApiCasting.faucetMintCoinEventFromOnChain = (eventOnChain) => {
|
|
11
13
|
const fields = eventOnChain.parsedJson;
|
|
14
|
+
const coinType = utils_1.Helpers.addLeadingZeroesToType(new coin_1.Coin(eventOnChain.type).innerCoinType);
|
|
12
15
|
return {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
coinType,
|
|
17
|
+
minter: utils_1.Helpers.addLeadingZeroesToType(fields.user),
|
|
18
|
+
amount: BigInt(fields.amount),
|
|
16
19
|
timestamp: eventOnChain.timestampMs,
|
|
17
20
|
txnDigest: eventOnChain.id.txDigest,
|
|
18
21
|
type: eventOnChain.type,
|
|
@@ -20,9 +23,9 @@ FaucetApiCasting.faucetMintCoinEventFromOnChain = (eventOnChain) => {
|
|
|
20
23
|
};
|
|
21
24
|
FaucetApiCasting.faucetAddCoinEventFromOnChain = (eventOnChain) => {
|
|
22
25
|
const fields = eventOnChain.parsedJson;
|
|
26
|
+
const coinType = utils_1.Helpers.addLeadingZeroesToType(new coin_1.Coin(eventOnChain.type).innerCoinType);
|
|
23
27
|
return {
|
|
24
|
-
|
|
25
|
-
coinType: fields.type,
|
|
28
|
+
coinType,
|
|
26
29
|
timestamp: eventOnChain.timestampMs,
|
|
27
30
|
txnDigest: eventOnChain.id.txDigest,
|
|
28
31
|
type: eventOnChain.type,
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { BigIntAsString, SuiAddress } from "../../../general/types/generalTypes";
|
|
2
2
|
import { EventOnChain } from "../../../general/types/castingTypes";
|
|
3
|
-
import { CoinType } from "../../coin/coinTypes";
|
|
4
3
|
export type FaucetMintCoinEventOnChain = EventOnChain<{
|
|
5
4
|
amount: BigIntAsString;
|
|
6
|
-
type: CoinType;
|
|
7
5
|
user: SuiAddress;
|
|
8
6
|
}>;
|
|
9
7
|
export type FaucetAddCoinEventOnChain = EventOnChain<{
|
|
10
|
-
|
|
11
|
-
type: CoinType;
|
|
8
|
+
default_mint_amount: BigIntAsString;
|
|
12
9
|
}>;
|
|
13
10
|
//# sourceMappingURL=faucetApiCastingTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faucetApiCastingTypes.d.ts","sourceRoot":"","sources":["../../../../src/packages/faucet/api/faucetApiCastingTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,UAAU,EACV,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"faucetApiCastingTypes.d.ts","sourceRoot":"","sources":["../../../../src/packages/faucet/api/faucetApiCastingTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,UAAU,EACV,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAOnE,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;IACrD,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC;IACpD,mBAAmB,EAAE,cAAc,CAAC;CACpC,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Caller } from "../../general/utils/caller";
|
|
|
3
3
|
import { AftermathApi } from "../../general/providers";
|
|
4
4
|
import { Transaction } from "@mysten/sui/transactions";
|
|
5
5
|
export declare class Faucet extends Caller {
|
|
6
|
-
|
|
6
|
+
readonly Provider?: AftermathApi | undefined;
|
|
7
7
|
static readonly constants: {
|
|
8
8
|
defaultRequestAmountUsd: number;
|
|
9
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faucet.d.ts","sourceRoot":"","sources":["../../../src/packages/faucet/faucet.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EAGR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,qBAAa,MAAO,SAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"faucet.d.ts","sourceRoot":"","sources":["../../../src/packages/faucet/faucet.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EAGR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,qBAAa,MAAO,SAAQ,MAAM;aAehB,QAAQ,CAAC;IAV1B,gBAAuB,SAAS;;MAE9B;gBAOD,MAAM,CAAC,EAAE,YAAY,EACL,QAAQ,CAAC,0BAAc;IAS3B,iBAAiB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAcxC,yBAAyB,CAAC,MAAM,EAAE,oBAAoB;IAItD,yBAAyB,CAAC,MAAM,EAAE,wBAAwB;IAQvE,OAAO,CAAC,WAAW,CAIjB;CACF"}
|
|
@@ -46,7 +46,7 @@ class Faucet extends caller_1.Caller {
|
|
|
46
46
|
// =========================================================================
|
|
47
47
|
getRequestCoinTransaction(inputs) {
|
|
48
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
return this.
|
|
49
|
+
return this.useProvider().buildRequestCoinTx(inputs);
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
getMintSuiFrenTransaction(inputs) {
|
|
@@ -2,11 +2,10 @@ import { AnyObjectType, Balance, Event, SuiAddress } from "../../general/types/g
|
|
|
2
2
|
import { CoinType } from "../coin/coinTypes";
|
|
3
3
|
export interface FaucetMintCoinEvent extends Event {
|
|
4
4
|
minter: SuiAddress;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
coinType: CoinType;
|
|
6
|
+
amount: Balance;
|
|
7
7
|
}
|
|
8
8
|
export interface FaucetAddCoinEvent extends Event {
|
|
9
|
-
coinSymbol: string;
|
|
10
9
|
coinType: CoinType;
|
|
11
10
|
}
|
|
12
11
|
export interface ApiFaucetRequestBody {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faucetTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/faucet/faucetTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,OAAO,EACP,KAAK,EACL,UAAU,EACV,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM7C,MAAM,WAAW,mBAAoB,SAAQ,KAAK;IACjD,MAAM,EAAE,UAAU,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"faucetTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/faucet/faucetTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,OAAO,EACP,KAAK,EACL,UAAU,EACV,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM7C,MAAM,WAAW,mBAAoB,SAAQ,KAAK;IACjD,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAChD,QAAQ,EAAE,QAAQ,CAAC;CACnB;AAMD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,aAAa,CAAC;IAC3B,aAAa,EAAE,UAAU,CAAC;CAC1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AftermathApi } from "../../../general/providers";
|
|
2
|
+
import { AnyObjectType, LimitAddresses } from "../../../types";
|
|
3
|
+
export declare class LimitOrdersApi {
|
|
4
|
+
private readonly Provider;
|
|
5
|
+
readonly addresses: LimitAddresses;
|
|
6
|
+
readonly eventTypes: {
|
|
7
|
+
createdOrder: AnyObjectType;
|
|
8
|
+
};
|
|
9
|
+
constructor(Provider: AftermathApi);
|
|
10
|
+
private createdOrderEventType;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=limitOrdersApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limitOrdersApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/limitOrders/api/limitOrdersApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG/D,qBAAa,cAAc;IAcd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IATrC,SAAgB,SAAS,EAAE,cAAc,CAAC;IAC1C,SAAgB,UAAU,EAAE;QAC3B,YAAY,EAAE,aAAa,CAAC;KAC5B,CAAC;gBAM2B,QAAQ,EAAE,YAAY;IAkBnD,OAAO,CAAC,qBAAqB,CAK1B;CACH"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LimitOrdersApi = void 0;
|
|
4
|
+
const eventsApiHelpers_1 = require("../../../general/apiHelpers/eventsApiHelpers");
|
|
5
|
+
class LimitOrdersApi {
|
|
6
|
+
// =========================================================================
|
|
7
|
+
// Constructor
|
|
8
|
+
// =========================================================================
|
|
9
|
+
constructor(Provider) {
|
|
10
|
+
this.Provider = Provider;
|
|
11
|
+
// =========================================================================
|
|
12
|
+
// Events
|
|
13
|
+
// =========================================================================
|
|
14
|
+
this.createdOrderEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.events, "events", "CreatedOrderEventV1");
|
|
15
|
+
const addresses = this.Provider.addresses.limitOrders;
|
|
16
|
+
if (!addresses) {
|
|
17
|
+
throw new Error("not all required addresses have been set in provider");
|
|
18
|
+
}
|
|
19
|
+
this.addresses = addresses;
|
|
20
|
+
this.eventTypes = {
|
|
21
|
+
createdOrder: this.createdOrderEventType(),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.LimitOrdersApi = LimitOrdersApi;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/limitOrders/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./limitOrders"), exports);
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { CallerConfig, ObjectId, SuiAddress } from "../../types";
|
|
2
|
+
import { Caller } from "../../general/utils/caller";
|
|
3
|
+
import { ApiLimitOrdersCreateOrderTransactionBody, ApiLimitOrdersCancelOrderTransactionBody, LimitOrderObject, ApiLimitOrdersActiveOrdersOwnedBody } from "./limitOrdersTypes";
|
|
4
|
+
import { Transaction } from "@mysten/sui/transactions";
|
|
5
|
+
/**
|
|
6
|
+
* The `LimitOrders` class manages creation, cancellation, and querying of
|
|
7
|
+
* limit orders on the Aftermath platform. Limit orders allow you to buy or
|
|
8
|
+
* sell at a specified price, giving more control over your trades compared
|
|
9
|
+
* to market execution.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const afSdk = new Aftermath("MAINNET");
|
|
14
|
+
* await afSdk.init(); // initialize provider
|
|
15
|
+
*
|
|
16
|
+
* const limitOrders = afSdk.LimitOrders();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class LimitOrders extends Caller {
|
|
20
|
+
/**
|
|
21
|
+
* Static configuration constants, including a default gas amount for
|
|
22
|
+
* limit order transactions (50 SUI).
|
|
23
|
+
*/
|
|
24
|
+
static readonly constants: {
|
|
25
|
+
/**
|
|
26
|
+
* The default gas budget for limit orders. This may be subject to change.
|
|
27
|
+
*/
|
|
28
|
+
gasAmount: bigint;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new `LimitOrders` instance for interacting with limit order functionality
|
|
32
|
+
* on Aftermath.
|
|
33
|
+
*
|
|
34
|
+
* @param config - Optional configuration, including network and access token.
|
|
35
|
+
*/
|
|
36
|
+
constructor(config?: CallerConfig);
|
|
37
|
+
/**
|
|
38
|
+
* Fetches the list of **active** limit orders for a given user. The user must
|
|
39
|
+
* provide a signature for identification.
|
|
40
|
+
*
|
|
41
|
+
* @param inputs - Contains the `walletAddress`, as well as `bytes` and `signature` if needed for auth.
|
|
42
|
+
* @returns A promise resolving to an array of `LimitOrderObject`, representing the active orders.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const activeOrders = await limitOrders.getActiveLimitOrders({
|
|
47
|
+
* walletAddress: "0x<address>",
|
|
48
|
+
* bytes: "0x<signed_bytes>",
|
|
49
|
+
* signature: "0x<signature>"
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
getActiveLimitOrders(inputs: ApiLimitOrdersActiveOrdersOwnedBody): Promise<LimitOrderObject[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Fetches the list of **past** limit orders for a given user (e.g., completed, canceled, or expired).
|
|
56
|
+
*
|
|
57
|
+
* @param inputs - An object containing the `walletAddress`.
|
|
58
|
+
* @returns A promise resolving to an array of `LimitOrderObject` representing past orders.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const pastOrders = await limitOrders.getPastLimitOrders({
|
|
63
|
+
* walletAddress: "0x<address>",
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
getPastLimitOrders(inputs: {
|
|
68
|
+
walletAddress: SuiAddress;
|
|
69
|
+
}): Promise<LimitOrderObject[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Constructs a limit order creation transaction on the Aftermath API, returning a `Transaction`
|
|
72
|
+
* object that can be signed and submitted to the network.
|
|
73
|
+
*
|
|
74
|
+
* @param inputs - The limit order details, including coin types, amounts, expiry, etc.
|
|
75
|
+
* @returns A promise resolving to a `Transaction` that can be locally signed and executed.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const tx = await limitOrders.getCreateLimitOrderTx({
|
|
80
|
+
* walletAddress: "0x<address>",
|
|
81
|
+
* allocateCoinType: "0x<coin>",
|
|
82
|
+
* allocateCoinAmount: BigInt(1000),
|
|
83
|
+
* buyCoinType: "0x<other_coin>",
|
|
84
|
+
* expiryDurationMs: 3600000, // 1 hour
|
|
85
|
+
* outputToInputExchangeRate: 0.5,
|
|
86
|
+
* });
|
|
87
|
+
* // sign and execute the transaction
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
getCreateLimitOrderTx(inputs: ApiLimitOrdersCreateOrderTransactionBody): Promise<Transaction>;
|
|
91
|
+
/**
|
|
92
|
+
* Cancels an existing limit order by sending a request to the Aftermath API
|
|
93
|
+
* with the user's signed cancellation message.
|
|
94
|
+
*
|
|
95
|
+
* @param inputs - Contains the user's `walletAddress`, plus `bytes` and `signature`.
|
|
96
|
+
* @returns A boolean indicating whether the cancellation was successful.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const success = await limitOrders.cancelLimitOrder({
|
|
101
|
+
* walletAddress: "0x<address>",
|
|
102
|
+
* bytes: "0x<signed_bytes>",
|
|
103
|
+
* signature: "0x<signature>",
|
|
104
|
+
* });
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
cancelLimitOrder(inputs: ApiLimitOrdersCancelOrderTransactionBody): Promise<boolean>;
|
|
108
|
+
/**
|
|
109
|
+
* Generates the JSON message needed to cancel one or more limit orders. The user
|
|
110
|
+
* signs this message (converted to bytes), and the resulting signature is passed
|
|
111
|
+
* to `cancelLimitOrder`.
|
|
112
|
+
*
|
|
113
|
+
* @param inputs - Object with `orderIds`, an array of order object IDs to cancel.
|
|
114
|
+
* @returns A JSON structure with the action and order IDs to be canceled.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* const msg = limitOrders.cancelLimitOrdersMessageToSign({
|
|
119
|
+
* orderIds: ["0x<order1>", "0x<order2>"]
|
|
120
|
+
* });
|
|
121
|
+
* // user signs this JSON
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
cancelLimitOrdersMessageToSign(inputs: {
|
|
125
|
+
orderIds: ObjectId[];
|
|
126
|
+
}): {
|
|
127
|
+
action: string;
|
|
128
|
+
order_object_ids: string[];
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Retrieves the minimum allowable order size (in USD) for limit orders on Aftermath.
|
|
132
|
+
*
|
|
133
|
+
* @returns A promise resolving to a `number` (USD value) or `undefined` if not configured.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const minSize = await limitOrders.getMinOrderSizeUsd();
|
|
138
|
+
* console.log("Minimum order size in USD:", minSize);
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
getMinOrderSizeUsd(): Promise<number | undefined>;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=limitOrders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limitOrders.d.ts","sourceRoot":"","sources":["../../../src/packages/limitOrders/limitOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAEN,wCAAwC,EACxC,wCAAwC,EACxC,gBAAgB,EAChB,mCAAmC,EACnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAKtC;;;OAGG;IACH,gBAAuB,SAAS;QAC/B;;WAEG;;MAEF;IAMF;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,YAAY;IAQjC;;;;;;;;;;;;;;;OAeG;IACU,oBAAoB,CAChC,MAAM,EAAE,mCAAmC;IAQ5C;;;;;;;;;;;;OAYG;IACU,kBAAkB,CAAC,MAAM,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE;IAWrE;;;;;;;;;;;;;;;;;;;OAmBG;IACU,qBAAqB,CACjC,MAAM,EAAE,wCAAwC,GAC9C,OAAO,CAAC,WAAW,CAAC;IAOvB;;;;;;;;;;;;;;;OAeG;IACU,gBAAgB,CAC5B,MAAM,EAAE,wCAAwC,GAC9C,OAAO,CAAC,OAAO,CAAC;IAWnB;;;;;;;;;;;;;;;OAeG;IACI,8BAA8B,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG;QACxE,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC3B;IAWD;;;;;;;;;;OAUG;IACU,kBAAkB;CAG/B"}
|
|
@@ -0,0 +1,190 @@
|
|
|
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.LimitOrders = void 0;
|
|
13
|
+
const caller_1 = require("../../general/utils/caller");
|
|
14
|
+
/**
|
|
15
|
+
* The `LimitOrders` class manages creation, cancellation, and querying of
|
|
16
|
+
* limit orders on the Aftermath platform. Limit orders allow you to buy or
|
|
17
|
+
* sell at a specified price, giving more control over your trades compared
|
|
18
|
+
* to market execution.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const afSdk = new Aftermath("MAINNET");
|
|
23
|
+
* await afSdk.init(); // initialize provider
|
|
24
|
+
*
|
|
25
|
+
* const limitOrders = afSdk.LimitOrders();
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
class LimitOrders extends caller_1.Caller {
|
|
29
|
+
// =========================================================================
|
|
30
|
+
// Constructor
|
|
31
|
+
// =========================================================================
|
|
32
|
+
/**
|
|
33
|
+
* Creates a new `LimitOrders` instance for interacting with limit order functionality
|
|
34
|
+
* on Aftermath.
|
|
35
|
+
*
|
|
36
|
+
* @param config - Optional configuration, including network and access token.
|
|
37
|
+
*/
|
|
38
|
+
constructor(config) {
|
|
39
|
+
super(config, "limit-orders");
|
|
40
|
+
}
|
|
41
|
+
// =========================================================================
|
|
42
|
+
// Class Objects
|
|
43
|
+
// =========================================================================
|
|
44
|
+
/**
|
|
45
|
+
* Fetches the list of **active** limit orders for a given user. The user must
|
|
46
|
+
* provide a signature for identification.
|
|
47
|
+
*
|
|
48
|
+
* @param inputs - Contains the `walletAddress`, as well as `bytes` and `signature` if needed for auth.
|
|
49
|
+
* @returns A promise resolving to an array of `LimitOrderObject`, representing the active orders.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const activeOrders = await limitOrders.getActiveLimitOrders({
|
|
54
|
+
* walletAddress: "0x<address>",
|
|
55
|
+
* bytes: "0x<signed_bytes>",
|
|
56
|
+
* signature: "0x<signature>"
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
getActiveLimitOrders(inputs) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
return this.fetchApi("active", inputs);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Fetches the list of **past** limit orders for a given user (e.g., completed, canceled, or expired).
|
|
67
|
+
*
|
|
68
|
+
* @param inputs - An object containing the `walletAddress`.
|
|
69
|
+
* @returns A promise resolving to an array of `LimitOrderObject` representing past orders.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const pastOrders = await limitOrders.getPastLimitOrders({
|
|
74
|
+
* walletAddress: "0x<address>",
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
getPastLimitOrders(inputs) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
return this.fetchApi("past", inputs);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// =========================================================================
|
|
84
|
+
// Transactions
|
|
85
|
+
// =========================================================================
|
|
86
|
+
/**
|
|
87
|
+
* Constructs a limit order creation transaction on the Aftermath API, returning a `Transaction`
|
|
88
|
+
* object that can be signed and submitted to the network.
|
|
89
|
+
*
|
|
90
|
+
* @param inputs - The limit order details, including coin types, amounts, expiry, etc.
|
|
91
|
+
* @returns A promise resolving to a `Transaction` that can be locally signed and executed.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* const tx = await limitOrders.getCreateLimitOrderTx({
|
|
96
|
+
* walletAddress: "0x<address>",
|
|
97
|
+
* allocateCoinType: "0x<coin>",
|
|
98
|
+
* allocateCoinAmount: BigInt(1000),
|
|
99
|
+
* buyCoinType: "0x<other_coin>",
|
|
100
|
+
* expiryDurationMs: 3600000, // 1 hour
|
|
101
|
+
* outputToInputExchangeRate: 0.5,
|
|
102
|
+
* });
|
|
103
|
+
* // sign and execute the transaction
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
getCreateLimitOrderTx(inputs) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
return this.fetchApiTransaction("transactions/create-order", inputs);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Cancels an existing limit order by sending a request to the Aftermath API
|
|
113
|
+
* with the user's signed cancellation message.
|
|
114
|
+
*
|
|
115
|
+
* @param inputs - Contains the user's `walletAddress`, plus `bytes` and `signature`.
|
|
116
|
+
* @returns A boolean indicating whether the cancellation was successful.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const success = await limitOrders.cancelLimitOrder({
|
|
121
|
+
* walletAddress: "0x<address>",
|
|
122
|
+
* bytes: "0x<signed_bytes>",
|
|
123
|
+
* signature: "0x<signature>",
|
|
124
|
+
* });
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
cancelLimitOrder(inputs) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
return this.fetchApi(`cancel`, inputs);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
// =========================================================================
|
|
133
|
+
// Interactions
|
|
134
|
+
// =========================================================================
|
|
135
|
+
/**
|
|
136
|
+
* Generates the JSON message needed to cancel one or more limit orders. The user
|
|
137
|
+
* signs this message (converted to bytes), and the resulting signature is passed
|
|
138
|
+
* to `cancelLimitOrder`.
|
|
139
|
+
*
|
|
140
|
+
* @param inputs - Object with `orderIds`, an array of order object IDs to cancel.
|
|
141
|
+
* @returns A JSON structure with the action and order IDs to be canceled.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* const msg = limitOrders.cancelLimitOrdersMessageToSign({
|
|
146
|
+
* orderIds: ["0x<order1>", "0x<order2>"]
|
|
147
|
+
* });
|
|
148
|
+
* // user signs this JSON
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
cancelLimitOrdersMessageToSign(inputs) {
|
|
152
|
+
return {
|
|
153
|
+
action: "CANCEL_LIMIT_ORDERS",
|
|
154
|
+
order_object_ids: inputs.orderIds,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
// =========================================================================
|
|
158
|
+
// Configuration
|
|
159
|
+
// =========================================================================
|
|
160
|
+
/**
|
|
161
|
+
* Retrieves the minimum allowable order size (in USD) for limit orders on Aftermath.
|
|
162
|
+
*
|
|
163
|
+
* @returns A promise resolving to a `number` (USD value) or `undefined` if not configured.
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```typescript
|
|
167
|
+
* const minSize = await limitOrders.getMinOrderSizeUsd();
|
|
168
|
+
* console.log("Minimum order size in USD:", minSize);
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
getMinOrderSizeUsd() {
|
|
172
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
173
|
+
return this.fetchApi("min-order-size-usd", {});
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.LimitOrders = LimitOrders;
|
|
178
|
+
// =========================================================================
|
|
179
|
+
// Constants
|
|
180
|
+
// =========================================================================
|
|
181
|
+
/**
|
|
182
|
+
* Static configuration constants, including a default gas amount for
|
|
183
|
+
* limit order transactions (50 SUI).
|
|
184
|
+
*/
|
|
185
|
+
LimitOrders.constants = {
|
|
186
|
+
/**
|
|
187
|
+
* The default gas budget for limit orders. This may be subject to change.
|
|
188
|
+
*/
|
|
189
|
+
gasAmount: BigInt(50000000),
|
|
190
|
+
};
|