@decibeltrade/sdk 0.3.1 → 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.
Files changed (130) hide show
  1. package/dist/abi/json/netna.json +792 -289
  2. package/dist/abi/json/testnet.json +7 -6
  3. package/dist/admin.d.ts +36 -0
  4. package/dist/admin.d.ts.map +1 -1
  5. package/dist/admin.js +84 -0
  6. package/dist/base.d.ts +1 -6
  7. package/dist/base.d.ts.map +1 -1
  8. package/dist/base.js +13 -23
  9. package/dist/constants.d.ts +10 -4
  10. package/dist/constants.d.ts.map +1 -1
  11. package/dist/constants.js +21 -6
  12. package/dist/fee-pay.d.ts +3 -3
  13. package/dist/fee-pay.d.ts.map +1 -1
  14. package/dist/fee-pay.js +26 -49
  15. package/dist/gas/gas-price-manager.d.ts.map +1 -1
  16. package/dist/gas/gas-price-manager.js +3 -1
  17. package/dist/read/account-overview/account-overview.reader.d.ts +2 -0
  18. package/dist/read/account-overview/account-overview.reader.d.ts.map +1 -1
  19. package/dist/read/account-overview/account-overview.types.d.ts +4 -0
  20. package/dist/read/account-overview/account-overview.types.d.ts.map +1 -1
  21. package/dist/read/account-overview/account-overview.types.js +5 -0
  22. package/dist/read/action-utils.d.ts +12 -0
  23. package/dist/read/action-utils.d.ts.map +1 -0
  24. package/dist/read/action-utils.js +13 -0
  25. package/dist/read/base-reader.d.ts +1 -0
  26. package/dist/read/base-reader.d.ts.map +1 -1
  27. package/dist/read/base-reader.js +15 -0
  28. package/dist/read/base-reader.test.d.ts +2 -0
  29. package/dist/read/base-reader.test.d.ts.map +1 -0
  30. package/dist/read/base-reader.test.js +68 -0
  31. package/dist/read/global-points-stats/global-points-stats.reader.d.ts +9 -0
  32. package/dist/read/global-points-stats/global-points-stats.reader.d.ts.map +1 -0
  33. package/dist/read/global-points-stats/global-points-stats.reader.js +12 -0
  34. package/dist/read/global-points-stats/global-points-stats.types.d.ts +9 -0
  35. package/dist/read/global-points-stats/global-points-stats.types.d.ts.map +1 -0
  36. package/dist/read/global-points-stats/global-points-stats.types.js +5 -0
  37. package/dist/read/index.d.ts +13 -0
  38. package/dist/read/index.d.ts.map +1 -1
  39. package/dist/read/index.js +23 -2
  40. package/dist/read/market-depth/market-depth.reader.d.ts +1 -18
  41. package/dist/read/market-depth/market-depth.reader.d.ts.map +1 -1
  42. package/dist/read/market-depth/market-depth.reader.js +18 -20
  43. package/dist/read/market-depth/market-depth.types.d.ts +4 -2
  44. package/dist/read/market-depth/market-depth.types.d.ts.map +1 -1
  45. package/dist/read/market-depth/market-depth.types.js +3 -1
  46. package/dist/read/market-trades/market-trades.reader.d.ts +0 -1
  47. package/dist/read/market-trades/market-trades.reader.d.ts.map +1 -1
  48. package/dist/read/market-trades/market-trades.types.d.ts +0 -3
  49. package/dist/read/market-trades/market-trades.types.d.ts.map +1 -1
  50. package/dist/read/market-trades/market-trades.types.js +0 -1
  51. package/dist/read/points-leaderboard/points-leaderboard.reader.d.ts +21 -0
  52. package/dist/read/points-leaderboard/points-leaderboard.reader.d.ts.map +1 -0
  53. package/dist/read/points-leaderboard/points-leaderboard.reader.js +23 -0
  54. package/dist/read/points-leaderboard/points-leaderboard.types.d.ts +30 -0
  55. package/dist/read/points-leaderboard/points-leaderboard.types.d.ts.map +1 -0
  56. package/dist/read/points-leaderboard/points-leaderboard.types.js +11 -0
  57. package/dist/read/portfolio-chart/portfolio-chart.types.d.ts +1 -1
  58. package/dist/read/portfolio-chart/portfolio-chart.types.d.ts.map +1 -1
  59. package/dist/read/referrals/referrals.reader.d.ts +98 -0
  60. package/dist/read/referrals/referrals.reader.d.ts.map +1 -0
  61. package/dist/read/referrals/referrals.reader.js +92 -0
  62. package/dist/read/referrals/referrals.types.d.ts +136 -0
  63. package/dist/read/referrals/referrals.types.d.ts.map +1 -0
  64. package/dist/read/referrals/referrals.types.js +85 -0
  65. package/dist/read/streaks/streaks.reader.d.ts +19 -0
  66. package/dist/read/streaks/streaks.reader.d.ts.map +1 -0
  67. package/dist/read/streaks/streaks.reader.js +19 -0
  68. package/dist/read/streaks/streaks.types.d.ts +17 -0
  69. package/dist/read/streaks/streaks.types.d.ts.map +1 -0
  70. package/dist/read/streaks/streaks.types.js +10 -0
  71. package/dist/read/tier/tier.reader.d.ts +21 -0
  72. package/dist/read/tier/tier.reader.d.ts.map +1 -0
  73. package/dist/read/tier/tier.reader.js +19 -0
  74. package/dist/read/tier/tier.types.d.ts +25 -0
  75. package/dist/read/tier/tier.types.d.ts.map +1 -0
  76. package/dist/read/tier/tier.types.js +13 -0
  77. package/dist/read/trading-amps/trading-amps.reader.d.ts +18 -0
  78. package/dist/read/trading-amps/trading-amps.reader.d.ts.map +1 -0
  79. package/dist/read/trading-amps/trading-amps.reader.js +23 -0
  80. package/dist/read/trading-amps/trading-amps.types.d.ts +25 -0
  81. package/dist/read/trading-amps/trading-amps.types.d.ts.map +1 -0
  82. package/dist/read/trading-amps/trading-amps.types.js +10 -0
  83. package/dist/read/types.d.ts +6 -0
  84. package/dist/read/types.d.ts.map +1 -1
  85. package/dist/read/types.js +6 -0
  86. package/dist/read/user-funding-history/user-funding-history.reader.d.ts +1 -2
  87. package/dist/read/user-funding-history/user-funding-history.reader.d.ts.map +1 -1
  88. package/dist/read/user-funding-history/user-funding-history.types.d.ts +8 -4
  89. package/dist/read/user-funding-history/user-funding-history.types.d.ts.map +1 -1
  90. package/dist/read/user-funding-history/user-funding-history.types.js +1 -2
  91. package/dist/read/user-notifications/user-notifications.types.d.ts +0 -2
  92. package/dist/read/user-notifications/user-notifications.types.d.ts.map +1 -1
  93. package/dist/read/user-open-orders/user-open-orders.reader.d.ts +0 -2
  94. package/dist/read/user-open-orders/user-open-orders.reader.d.ts.map +1 -1
  95. package/dist/read/user-open-orders/user-open-orders.types.d.ts +0 -6
  96. package/dist/read/user-open-orders/user-open-orders.types.d.ts.map +1 -1
  97. package/dist/read/user-open-orders/user-open-orders.types.js +0 -2
  98. package/dist/read/user-order-history/user-order-history.reader.d.ts +0 -2
  99. package/dist/read/user-order-history/user-order-history.reader.d.ts.map +1 -1
  100. package/dist/read/user-order-history/user-order-history.types.d.ts +0 -6
  101. package/dist/read/user-order-history/user-order-history.types.d.ts.map +1 -1
  102. package/dist/read/user-order-history/user-order-history.types.js +0 -2
  103. package/dist/read/user-positions/user-positions.reader.d.ts +1 -0
  104. package/dist/read/user-positions/user-positions.reader.d.ts.map +1 -1
  105. package/dist/read/user-positions/user-positions.types.d.ts +220 -10
  106. package/dist/read/user-positions/user-positions.types.d.ts.map +1 -1
  107. package/dist/read/user-positions/user-positions.types.js +1 -0
  108. package/dist/read/user-trade-history/user-trade-history.reader.d.ts +5 -2
  109. package/dist/read/user-trade-history/user-trade-history.reader.d.ts.map +1 -1
  110. package/dist/read/user-trade-history/user-trade-history.types.d.ts +36 -9
  111. package/dist/read/user-trade-history/user-trade-history.types.d.ts.map +1 -1
  112. package/dist/read/user-trade-history/user-trade-history.types.js +4 -1
  113. package/dist/read/vaults/vaults.reader.d.ts +2 -0
  114. package/dist/read/vaults/vaults.reader.d.ts.map +1 -1
  115. package/dist/read/vaults/vaults.reader.js +4 -0
  116. package/dist/read/vaults/vaults.types.d.ts +18 -0
  117. package/dist/read/vaults/vaults.types.d.ts.map +1 -1
  118. package/dist/read/vaults/vaults.types.js +17 -0
  119. package/dist/read/ws-subscription.d.ts +1 -1
  120. package/dist/read/ws-subscription.d.ts.map +1 -1
  121. package/dist/read/ws-subscription.js +9 -1
  122. package/dist/release-config.d.ts +2 -0
  123. package/dist/release-config.d.ts.map +1 -1
  124. package/dist/release-config.js +6 -1
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/dist/write.d.ts +12 -0
  127. package/dist/write.d.ts.map +1 -1
  128. package/dist/write.js +11 -1
  129. package/package.json +1 -1
  130. 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::withdraw_from_subaccount`,
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);
@@ -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`,
package/package.json CHANGED
@@ -50,5 +50,5 @@
50
50
  },
51
51
  "type": "module",
52
52
  "types": "dist/index.d.ts",
53
- "version": "0.3.1"
53
+ "version": "0.4.0"
54
54
  }
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://your-fee-payer.com",
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.submitTransaction(transaction, senderAuthenticator);
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::withdraw_from_subaccount`,
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 {