@decibeltrade/sdk 0.3.0 → 0.4.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/abi/json/netna.json +795 -280
- package/dist/abi/json/testnet.json +734 -507
- package/dist/admin.d.ts +43 -5
- package/dist/admin.d.ts.map +1 -1
- package/dist/admin.js +114 -11
- package/dist/base.d.ts +1 -6
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +13 -23
- package/dist/constants.d.ts +12 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +40 -7
- package/dist/fee-pay.d.ts +3 -3
- package/dist/fee-pay.d.ts.map +1 -1
- package/dist/fee-pay.js +26 -49
- package/dist/gas/gas-price-manager.d.ts.map +1 -1
- package/dist/gas/gas-price-manager.js +3 -1
- package/dist/read/account-overview/account-overview.reader.d.ts +2 -0
- package/dist/read/account-overview/account-overview.reader.d.ts.map +1 -1
- package/dist/read/account-overview/account-overview.types.d.ts +4 -0
- package/dist/read/account-overview/account-overview.types.d.ts.map +1 -1
- package/dist/read/account-overview/account-overview.types.js +5 -0
- package/dist/read/action-utils.d.ts +12 -0
- package/dist/read/action-utils.d.ts.map +1 -0
- package/dist/read/action-utils.js +13 -0
- package/dist/read/base-reader.d.ts +1 -0
- package/dist/read/base-reader.d.ts.map +1 -1
- package/dist/read/base-reader.js +15 -0
- package/dist/read/base-reader.test.d.ts +2 -0
- package/dist/read/base-reader.test.d.ts.map +1 -0
- package/dist/read/base-reader.test.js +68 -0
- package/dist/read/global-points-stats/global-points-stats.reader.d.ts +9 -0
- package/dist/read/global-points-stats/global-points-stats.reader.d.ts.map +1 -0
- package/dist/read/global-points-stats/global-points-stats.reader.js +12 -0
- package/dist/read/global-points-stats/global-points-stats.types.d.ts +9 -0
- package/dist/read/global-points-stats/global-points-stats.types.d.ts.map +1 -0
- package/dist/read/global-points-stats/global-points-stats.types.js +5 -0
- package/dist/read/index.d.ts +15 -0
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +27 -3
- package/dist/read/market-depth/market-depth.reader.d.ts +1 -17
- package/dist/read/market-depth/market-depth.reader.d.ts.map +1 -1
- package/dist/read/market-depth/market-depth.reader.js +18 -20
- package/dist/read/market-depth/market-depth.types.d.ts +5 -2
- package/dist/read/market-depth/market-depth.types.d.ts.map +1 -1
- package/dist/read/market-depth/market-depth.types.js +4 -1
- package/dist/read/market-trades/market-trades.reader.d.ts +0 -1
- package/dist/read/market-trades/market-trades.reader.d.ts.map +1 -1
- package/dist/read/market-trades/market-trades.types.d.ts +0 -3
- package/dist/read/market-trades/market-trades.types.d.ts.map +1 -1
- package/dist/read/market-trades/market-trades.types.js +0 -1
- package/dist/read/points-leaderboard/points-leaderboard.reader.d.ts +21 -0
- package/dist/read/points-leaderboard/points-leaderboard.reader.d.ts.map +1 -0
- package/dist/read/points-leaderboard/points-leaderboard.reader.js +23 -0
- package/dist/read/points-leaderboard/points-leaderboard.types.d.ts +30 -0
- package/dist/read/points-leaderboard/points-leaderboard.types.d.ts.map +1 -0
- package/dist/read/points-leaderboard/points-leaderboard.types.js +11 -0
- package/dist/read/portfolio-chart/portfolio-chart.types.d.ts +1 -1
- package/dist/read/portfolio-chart/portfolio-chart.types.d.ts.map +1 -1
- package/dist/read/referrals/referrals.reader.d.ts +98 -0
- package/dist/read/referrals/referrals.reader.d.ts.map +1 -0
- package/dist/read/referrals/referrals.reader.js +92 -0
- package/dist/read/referrals/referrals.types.d.ts +136 -0
- package/dist/read/referrals/referrals.types.d.ts.map +1 -0
- package/dist/read/referrals/referrals.types.js +85 -0
- package/dist/read/streaks/streaks.reader.d.ts +19 -0
- package/dist/read/streaks/streaks.reader.d.ts.map +1 -0
- package/dist/read/streaks/streaks.reader.js +19 -0
- package/dist/read/streaks/streaks.types.d.ts +17 -0
- package/dist/read/streaks/streaks.types.d.ts.map +1 -0
- package/dist/read/streaks/streaks.types.js +10 -0
- package/dist/read/tier/tier.reader.d.ts +21 -0
- package/dist/read/tier/tier.reader.d.ts.map +1 -0
- package/dist/read/tier/tier.reader.js +19 -0
- package/dist/read/tier/tier.types.d.ts +25 -0
- package/dist/read/tier/tier.types.d.ts.map +1 -0
- package/dist/read/tier/tier.types.js +13 -0
- package/dist/read/trading-amps/trading-amps.reader.d.ts +18 -0
- package/dist/read/trading-amps/trading-amps.reader.d.ts.map +1 -0
- package/dist/read/trading-amps/trading-amps.reader.js +23 -0
- package/dist/read/trading-amps/trading-amps.types.d.ts +25 -0
- package/dist/read/trading-amps/trading-amps.types.d.ts.map +1 -0
- package/dist/read/trading-amps/trading-amps.types.js +10 -0
- package/dist/read/trading-points/trading-points.reader.d.ts +18 -0
- package/dist/read/trading-points/trading-points.reader.d.ts.map +1 -0
- package/dist/read/trading-points/trading-points.reader.js +19 -0
- package/dist/read/trading-points/trading-points.types.d.ts +21 -0
- package/dist/read/trading-points/trading-points.types.d.ts.map +1 -0
- package/dist/read/trading-points/trading-points.types.js +10 -0
- package/dist/read/types.d.ts +7 -0
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/types.js +7 -0
- package/dist/read/user-funding-history/user-funding-history.reader.d.ts +1 -2
- package/dist/read/user-funding-history/user-funding-history.reader.d.ts.map +1 -1
- package/dist/read/user-funding-history/user-funding-history.types.d.ts +8 -4
- package/dist/read/user-funding-history/user-funding-history.types.d.ts.map +1 -1
- package/dist/read/user-funding-history/user-funding-history.types.js +1 -2
- package/dist/read/user-notifications/user-notifications.types.d.ts +1 -2
- package/dist/read/user-notifications/user-notifications.types.d.ts.map +1 -1
- package/dist/read/user-open-orders/user-open-orders.reader.d.ts +1 -2
- package/dist/read/user-open-orders/user-open-orders.reader.d.ts.map +1 -1
- package/dist/read/user-open-orders/user-open-orders.reader.js +1 -1
- package/dist/read/user-open-orders/user-open-orders.types.d.ts +3 -6
- package/dist/read/user-open-orders/user-open-orders.types.d.ts.map +1 -1
- package/dist/read/user-open-orders/user-open-orders.types.js +1 -2
- package/dist/read/user-order-history/user-order-history.reader.d.ts +1 -2
- package/dist/read/user-order-history/user-order-history.reader.d.ts.map +1 -1
- package/dist/read/user-order-history/user-order-history.reader.js +1 -1
- package/dist/read/user-order-history/user-order-history.types.d.ts +3 -6
- package/dist/read/user-order-history/user-order-history.types.d.ts.map +1 -1
- package/dist/read/user-order-history/user-order-history.types.js +1 -2
- package/dist/read/user-positions/user-positions.reader.d.ts +1 -0
- package/dist/read/user-positions/user-positions.reader.d.ts.map +1 -1
- package/dist/read/user-positions/user-positions.types.d.ts +220 -10
- package/dist/read/user-positions/user-positions.types.d.ts.map +1 -1
- package/dist/read/user-positions/user-positions.types.js +1 -0
- package/dist/read/user-trade-history/user-trade-history.reader.d.ts +5 -2
- package/dist/read/user-trade-history/user-trade-history.reader.d.ts.map +1 -1
- package/dist/read/user-trade-history/user-trade-history.types.d.ts +36 -9
- package/dist/read/user-trade-history/user-trade-history.types.d.ts.map +1 -1
- package/dist/read/user-trade-history/user-trade-history.types.js +4 -1
- package/dist/read/vaults/vaults.reader.d.ts +6 -4
- package/dist/read/vaults/vaults.reader.d.ts.map +1 -1
- package/dist/read/vaults/vaults.reader.js +4 -0
- package/dist/read/vaults/vaults.types.d.ts +30 -12
- package/dist/read/vaults/vaults.types.d.ts.map +1 -1
- package/dist/read/vaults/vaults.types.js +20 -3
- package/dist/read/ws-subscription.d.ts +1 -1
- package/dist/read/ws-subscription.d.ts.map +1 -1
- package/dist/read/ws-subscription.js +9 -1
- package/dist/release-config.d.ts +5 -2
- package/dist/release-config.d.ts.map +1 -1
- package/dist/release-config.js +15 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/write.d.ts +12 -0
- package/dist/write.d.ts.map +1 -1
- package/dist/write.js +24 -7
- package/package.json +1 -1
- package/readme.md +7 -48
package/dist/write.js
CHANGED
|
@@ -103,7 +103,7 @@ export class DecibelWriteDex extends BaseSDK {
|
|
|
103
103
|
*/
|
|
104
104
|
async withdraw(amount, subaccountAddr) {
|
|
105
105
|
return await this.sendSubaccountTx((subaccountAddr) => this.sendTx({
|
|
106
|
-
function: `${this.config.deployment.package}::dex_accounts_entry::
|
|
106
|
+
function: `${this.config.deployment.package}::dex_accounts_entry::withdraw_from_cross_collateral`,
|
|
107
107
|
typeArguments: [],
|
|
108
108
|
functionArguments: [subaccountAddr, this.config.deployment.usdc, amount],
|
|
109
109
|
}), subaccountAddr);
|
|
@@ -172,7 +172,7 @@ export class DecibelWriteDex extends BaseSDK {
|
|
|
172
172
|
}
|
|
173
173
|
async triggerMatching({ marketAddr, maxWorkUnit }) {
|
|
174
174
|
const txResponse = await this.sendTx({
|
|
175
|
-
function: `${this.config.deployment.package}::public_apis::
|
|
175
|
+
function: `${this.config.deployment.package}::public_apis::process_perp_market_pending_requests`,
|
|
176
176
|
typeArguments: [],
|
|
177
177
|
functionArguments: [marketAddr, maxWorkUnit],
|
|
178
178
|
});
|
|
@@ -233,6 +233,16 @@ export class DecibelWriteDex extends BaseSDK {
|
|
|
233
233
|
functionArguments: [subaccountAddr, clientOrderId, marketAddr.toString()],
|
|
234
234
|
}, accountOverride), subaccountAddr);
|
|
235
235
|
}
|
|
236
|
+
async cancelBulkOrder({ subaccountAddr, accountOverride, ...args }) {
|
|
237
|
+
const marketAddr = "marketName" in args
|
|
238
|
+
? getMarketAddr(args.marketName, this.config.deployment.perpEngineGlobal)
|
|
239
|
+
: args.marketAddr;
|
|
240
|
+
return await this.sendSubaccountTx((subaccountAddr) => this.sendTx({
|
|
241
|
+
function: `${this.config.deployment.package}::dex_accounts_entry::cancel_bulk_order_to_subaccount`,
|
|
242
|
+
typeArguments: [],
|
|
243
|
+
functionArguments: [subaccountAddr, marketAddr.toString()],
|
|
244
|
+
}, accountOverride), subaccountAddr);
|
|
245
|
+
}
|
|
236
246
|
async delegateTradingToForSubaccount({ subaccountAddr, accountToDelegateTo, expirationTimestampSecs, }) {
|
|
237
247
|
return await this.sendSubaccountTx((subaccountAddr) => this.sendTx({
|
|
238
248
|
function: `${this.config.deployment.package}::dex_accounts_entry::delegate_trading_to_for_subaccount`,
|
|
@@ -345,11 +355,12 @@ export class DecibelWriteDex extends BaseSDK {
|
|
|
345
355
|
* Create a new vault with optional initial funding
|
|
346
356
|
*/
|
|
347
357
|
async buildCreateVaultTx({ contributionAssetType, vaultName, vaultShareSymbol, vaultShareIconUri = "", vaultShareProjectUri = "", feeBps, feeIntervalS, contributionLockupDurationS, initialFunding = 0, acceptsContributions = false, delegateToCreator = false, signerAddress, vaultDescription, vaultSocialLinks, }) {
|
|
358
|
+
const signerPrimarySubaccount = this.getPrimarySubaccountAddress(signerAddress);
|
|
348
359
|
const transaction = await this.buildTx({
|
|
349
360
|
function: `${this.config.deployment.package}::vault_api::create_and_fund_vault`,
|
|
350
361
|
typeArguments: [],
|
|
351
362
|
functionArguments: [
|
|
352
|
-
|
|
363
|
+
signerPrimarySubaccount,
|
|
353
364
|
contributionAssetType,
|
|
354
365
|
vaultName,
|
|
355
366
|
vaultDescription,
|
|
@@ -372,7 +383,8 @@ export class DecibelWriteDex extends BaseSDK {
|
|
|
372
383
|
function: `${this.config.deployment.package}::vault_api::create_and_fund_vault`,
|
|
373
384
|
typeArguments: [],
|
|
374
385
|
functionArguments: [
|
|
375
|
-
args.subaccountAddr ??
|
|
386
|
+
args.subaccountAddr ??
|
|
387
|
+
this.getPrimarySubaccountAddress((args.accountOverride ?? this.account).accountAddress),
|
|
376
388
|
args.contributionAssetType,
|
|
377
389
|
args.vaultName,
|
|
378
390
|
args.vaultDescription,
|
|
@@ -405,9 +417,14 @@ export class DecibelWriteDex extends BaseSDK {
|
|
|
405
417
|
*/
|
|
406
418
|
async buildDepositToVaultTx({ vaultAddress, amount, signerAddress, }) {
|
|
407
419
|
return await this.buildTx({
|
|
408
|
-
function: `${this.config.deployment.package}::
|
|
420
|
+
function: `${this.config.deployment.package}::dex_accounts_entry::contribute_to_vault`,
|
|
409
421
|
typeArguments: [],
|
|
410
|
-
functionArguments: [
|
|
422
|
+
functionArguments: [
|
|
423
|
+
this.getPrimarySubaccountAddress(signerAddress), // todo - select correct subaccount
|
|
424
|
+
vaultAddress,
|
|
425
|
+
this.config.deployment.usdc,
|
|
426
|
+
amount,
|
|
427
|
+
],
|
|
411
428
|
}, signerAddress);
|
|
412
429
|
}
|
|
413
430
|
async depositToVault(args) {
|
|
@@ -446,7 +463,7 @@ export class DecibelWriteDex extends BaseSDK {
|
|
|
446
463
|
*/
|
|
447
464
|
async buildDelegateDexActionsToTx({ vaultAddress, accountToDelegateTo, signerAddress, expirationTimestampSecs, }) {
|
|
448
465
|
return await this.buildTx({
|
|
449
|
-
function: `${this.config.deployment.package}::
|
|
466
|
+
function: `${this.config.deployment.package}::vault_admin_api::delegate_dex_actions_to`,
|
|
450
467
|
typeArguments: [],
|
|
451
468
|
functionArguments: [vaultAddress, accountToDelegateTo, expirationTimestampSecs],
|
|
452
469
|
}, signerAddress);
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -143,7 +143,8 @@ const customConfig: DecibelConfig = {
|
|
|
143
143
|
fullnodeUrl: "https://api.testnet.aptoslabs.com/v1",
|
|
144
144
|
tradingHttpUrl: "https://api.testnet.aptoslabs.com/decibel",
|
|
145
145
|
tradingWsUrl: "wss://api.testnet.aptoslabs.com/decibel/ws",
|
|
146
|
-
gasStationUrl: "https://
|
|
146
|
+
gasStationUrl: "https://api.testnet.aptoslabs.com/gs/v1", // optional: enables gas sponsorship
|
|
147
|
+
gasStationApiKey: "your-gas-station-api-key", // optional: enables gas sponsorship
|
|
147
148
|
deployment: {
|
|
148
149
|
package: "0x...",
|
|
149
150
|
usdc: "0x...",
|
|
@@ -904,20 +905,17 @@ class DecibelTransactionManager {
|
|
|
904
905
|
private aptos: Aptos;
|
|
905
906
|
private config: DecibelConfig;
|
|
906
907
|
private skipSimulate: boolean;
|
|
907
|
-
private noFeePayer: boolean;
|
|
908
908
|
|
|
909
909
|
constructor(
|
|
910
910
|
config: DecibelConfig,
|
|
911
911
|
private account: Account,
|
|
912
912
|
options?: {
|
|
913
913
|
skipSimulate?: boolean;
|
|
914
|
-
noFeePayer?: boolean;
|
|
915
914
|
nodeApiKey?: string;
|
|
916
915
|
},
|
|
917
916
|
) {
|
|
918
917
|
this.config = config;
|
|
919
918
|
this.skipSimulate = options?.skipSimulate ?? false;
|
|
920
|
-
this.noFeePayer = options?.noFeePayer ?? false;
|
|
921
919
|
|
|
922
920
|
const aptosConfig = new AptosConfig({
|
|
923
921
|
network: config.network,
|
|
@@ -958,45 +956,6 @@ class DecibelTransactionManager {
|
|
|
958
956
|
});
|
|
959
957
|
}
|
|
960
958
|
|
|
961
|
-
private async submitTransaction(
|
|
962
|
-
transaction: SimpleTransaction,
|
|
963
|
-
senderAuthenticator: AccountAuthenticator,
|
|
964
|
-
): Promise<PendingTransactionResponse> {
|
|
965
|
-
if (this.noFeePayer) {
|
|
966
|
-
return await this.aptos.transaction.submit.simple({
|
|
967
|
-
transaction,
|
|
968
|
-
senderAuthenticator,
|
|
969
|
-
});
|
|
970
|
-
} else {
|
|
971
|
-
return await this.submitFeePaidTransaction(transaction, senderAuthenticator);
|
|
972
|
-
}
|
|
973
|
-
}
|
|
974
|
-
|
|
975
|
-
private async submitFeePaidTransaction(
|
|
976
|
-
transaction: SimpleTransaction,
|
|
977
|
-
senderAuthenticator: AccountAuthenticator,
|
|
978
|
-
): Promise<PendingTransactionResponse> {
|
|
979
|
-
const signatureBcs = Array.from(senderAuthenticator.bcsToBytes());
|
|
980
|
-
const transactionBcs = Array.from(transaction.rawTransaction.bcsToBytes());
|
|
981
|
-
|
|
982
|
-
const response = await fetch(this.config.gasStationUrl + "/transactions", {
|
|
983
|
-
method: "POST",
|
|
984
|
-
headers: {
|
|
985
|
-
"Content-Type": "application/json",
|
|
986
|
-
},
|
|
987
|
-
body: JSON.stringify({
|
|
988
|
-
signature: signatureBcs,
|
|
989
|
-
transaction: transactionBcs,
|
|
990
|
-
}),
|
|
991
|
-
});
|
|
992
|
-
|
|
993
|
-
if (!response.ok) {
|
|
994
|
-
throw new Error(`Fee payer service error: ${response.status}`);
|
|
995
|
-
}
|
|
996
|
-
|
|
997
|
-
return (await response.json()) as PendingTransactionResponse;
|
|
998
|
-
}
|
|
999
|
-
|
|
1000
959
|
async sendTransaction(
|
|
1001
960
|
payload: InputGenerateTransactionPayloadData,
|
|
1002
961
|
accountOverride?: Account,
|
|
@@ -1009,11 +968,9 @@ class DecibelTransactionManager {
|
|
|
1009
968
|
if (!this.skipSimulate) {
|
|
1010
969
|
transaction = await this.getSimulatedTransaction(payload, sender);
|
|
1011
970
|
} else {
|
|
1012
|
-
const withFeePayer = !this.noFeePayer;
|
|
1013
971
|
transaction = await this.aptos.transaction.build.simple({
|
|
1014
972
|
sender,
|
|
1015
973
|
data: payload,
|
|
1016
|
-
withFeePayer,
|
|
1017
974
|
});
|
|
1018
975
|
}
|
|
1019
976
|
|
|
@@ -1022,7 +979,10 @@ class DecibelTransactionManager {
|
|
|
1022
979
|
transaction,
|
|
1023
980
|
});
|
|
1024
981
|
|
|
1025
|
-
const pendingTransaction = await this.
|
|
982
|
+
const pendingTransaction = await this.aptos.transaction.submit.simple({
|
|
983
|
+
transaction,
|
|
984
|
+
senderAuthenticator,
|
|
985
|
+
});
|
|
1026
986
|
return await this.aptos.waitForTransaction({
|
|
1027
987
|
transactionHash: pendingTransaction.hash,
|
|
1028
988
|
});
|
|
@@ -1123,7 +1083,7 @@ async function withdrawCollateral(
|
|
|
1123
1083
|
subaccountAddr ?? getPrimarySubaccountAddress(transactionManager.account.accountAddress);
|
|
1124
1084
|
|
|
1125
1085
|
return await transactionManager.sendTransaction({
|
|
1126
|
-
function: `${config.deployment.package}::dex_accounts::
|
|
1086
|
+
function: `${config.deployment.package}::dex_accounts::withdraw_from_cross_collateral`,
|
|
1127
1087
|
typeArguments: [],
|
|
1128
1088
|
functionArguments: [subaccount, config.deployment.usdc, amount],
|
|
1129
1089
|
});
|
|
@@ -1408,7 +1368,6 @@ async function basicTradingExample() {
|
|
|
1408
1368
|
const account = Account.fromPrivateKey({ privateKey });
|
|
1409
1369
|
const transactionManager = new DecibelTransactionManager(NETNA_CONFIG, account, {
|
|
1410
1370
|
skipSimulate: false,
|
|
1411
|
-
noFeePayer: false,
|
|
1412
1371
|
});
|
|
1413
1372
|
|
|
1414
1373
|
try {
|