@bolt-liquidity-hq/sui-client 0.1.0-beta.22 → 0.1.0-beta.24

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/index.cjs CHANGED
@@ -36,7 +36,6 @@ __export(index_exports, {
36
36
  AssetPairStruct: () => AssetPairStruct,
37
37
  AssetPairsResponseStruct: () => AssetPairsResponseStruct,
38
38
  BaseLiquidityInfoStruct: () => BaseLiquidityInfoStruct,
39
- BaseLiquidityResponseStruct: () => BaseLiquidityResponseStruct,
40
39
  BcsAddressType: () => BcsAddressType,
41
40
  BoltSuiClient: () => BoltSuiClient,
42
41
  MarketResponseStruct: () => MarketResponseStruct,
@@ -79,7 +78,7 @@ var MainnetContracts = {
79
78
  oracle: "0xfa3975b98f3d0e3df18ed88ae6e69db31836b3f4212df02fae144b1e5a89ca8e",
80
79
  router: " "
81
80
  };
82
- var MainnetPackageId = "0xbffcccd9d24e319c729e724a0a0e6d0a403b24a03f643da4bbdb0fe6c925f82b";
81
+ var MainnetPackageId = "0x71a61b841cc90a74607e99084e47818a7d1424649f4047ad375d9c2a4111e658";
83
82
  var MainnetPoolGlobalConfigId = "0x7bcd5035a991f42fa84c5a42216b5638cb3f1a8c4f065063093b0a3d5f165d63";
84
83
  var MainnetNativeTokenDenom = SUI_TOKEN_DENOM;
85
84
  var MainnetAssets = {
@@ -944,14 +943,6 @@ var MarketsResponsePaginatedStruct = import_bcs6.bcs.struct("MarketsResponsePagi
944
943
  markets: import_bcs6.bcs.vector(MarketStruct),
945
944
  ...PaginationStruct
946
945
  });
947
- var BaseLiquidityInfoStruct = import_bcs6.bcs.struct("BaseLiquidityInfo", {
948
- denom: import_bcs6.bcs.string(),
949
- amount: import_bcs6.bcs.u64()
950
- });
951
- var BaseLiquidityResponseStruct = import_bcs6.bcs.struct("BaseLiquidityResponse", {
952
- base_assets: import_bcs6.bcs.vector(BaseLiquidityInfoStruct),
953
- ...PaginationStruct
954
- });
955
946
  var SwapSimulationResultStruct = import_bcs6.bcs.struct("SwapSimulationResult", {
956
947
  base_out: import_bcs6.bcs.u64(),
957
948
  quote_out: import_bcs6.bcs.u64(),
@@ -967,8 +958,11 @@ var SwapSimulationResultStruct = import_bcs6.bcs.struct("SwapSimulationResult",
967
958
  // src/types/pool.ts
968
959
  var import_bcs8 = require("@mysten/bcs");
969
960
  var PoolInfoStruct = import_bcs8.bcs.struct("PoolInfo", {
961
+ id: import_bcs8.bcs.string(),
970
962
  base_liquidity: import_bcs8.bcs.u64(),
963
+ net_base_added: import_bcs8.bcs.u64(),
971
964
  total_lp_shares: import_bcs8.bcs.u64(),
965
+ protocol_base_fees: import_bcs8.bcs.u64(),
972
966
  admin: BcsAddressType,
973
967
  is_paused: import_bcs8.bcs.bool()
974
968
  });
@@ -984,6 +978,10 @@ var ProtocolFeesInfoStruct = import_bcs8.bcs.struct("ProtocolFeesInfo", {
984
978
  swap_fee_pct: import_bcs8.bcs.u64(),
985
979
  lp_withdrawal_fee_pct: import_bcs8.bcs.u64()
986
980
  });
981
+ var BaseLiquidityInfoStruct = import_bcs8.bcs.struct("BaseLiquidityInfo", {
982
+ base_reserve: import_bcs8.bcs.u64(),
983
+ total_lp_shares: import_bcs8.bcs.u64()
984
+ });
987
985
 
988
986
  // src/lib/oracle/get-asset-pairs.ts
989
987
  var getAssetPairs = async (client) => {
@@ -1118,24 +1116,97 @@ var estimateSwapExactInGasFees = async (client, swapParams, signer, gasAdjustmen
1118
1116
  );
1119
1117
  };
1120
1118
 
1121
- // src/lib/router/get-all-base-liquidity.ts
1119
+ // src/lib/settlement/get-pool-base-liquidity.ts
1122
1120
  var import_core8 = require("@bolt-liquidity-hq/core");
1123
- var getAllBaseLiquidity = async (_client) => {
1124
- throw new import_core8.NotImplementedError("getRouterConfig on Sui Client");
1121
+
1122
+ // src/lib/settlement/parsers.ts
1123
+ var import_bignumber4 = require("bignumber.js");
1124
+ var parsePoolConfigStructOutput = (routerClient, poolConfig, priceOracleContract) => {
1125
+ return {
1126
+ priceOracleContract,
1127
+ protocolFeeRecipient: "0x",
1128
+ // TODO: get real fee recipient
1129
+ protocolFee: (0, import_bignumber4.BigNumber)(poolConfig.swap_fee_pct).div(BASIS_POINTS).toFixed(),
1130
+ lpFee: (0, import_bignumber4.BigNumber)(poolConfig.lp_fee_pct).div(BASIS_POINTS).toFixed(),
1131
+ allowanceMode: "allow",
1132
+ // Should come from pool config
1133
+ lps: routerClient.getPools().map((item) => item.poolAddress),
1134
+ minBaseOut: (0, import_bignumber4.BigNumber)(poolConfig.min_base_out).toFixed()
1135
+ };
1136
+ };
1137
+ var parseBaseLiquidityInfoStructOutput = (baseLiquidityInfo, baseDenom) => {
1138
+ return {
1139
+ baseLiquidity: {
1140
+ denom: baseDenom,
1141
+ amount: (0, import_bignumber4.BigNumber)(baseLiquidityInfo.base_reserve).toFixed()
1142
+ },
1143
+ totalShares: (0, import_bignumber4.BigNumber)(baseLiquidityInfo.total_lp_shares).toFixed()
1144
+ };
1125
1145
  };
1126
1146
 
1127
- // src/lib/router/get-all-quotes-for-user.ts
1147
+ // src/lib/settlement/get-pool-base-liquidity.ts
1148
+ var getPoolBaseLiquidity = async (client, contractAddress) => {
1149
+ const GET_BASE_LIQUIDITY_INFO_FUNCTION = "get_base_liquidity_info";
1150
+ const pool = client.routerClient.pools.find((item) => item.poolAddress === contractAddress);
1151
+ if (!pool) {
1152
+ throw new import_core8.NotFoundError(`Pool with the address ${contractAddress}`);
1153
+ }
1154
+ const baseLiquidityInfo = await queryDevInspect(
1155
+ client.suiClient,
1156
+ [client.packageId, POOL_MODULE, GET_BASE_LIQUIDITY_INFO_FUNCTION],
1157
+ [contractAddress],
1158
+ [pool.baseDenom]
1159
+ );
1160
+ const output = parseDevInspectResult(baseLiquidityInfo, BaseLiquidityInfoStruct);
1161
+ return parseBaseLiquidityInfoStructOutput(output, pool.baseDenom);
1162
+ };
1163
+
1164
+ // src/lib/settlement/get-pool-config.ts
1128
1165
  var import_core9 = require("@bolt-liquidity-hq/core");
1166
+ var getPoolConfig = async (client, contractAddress) => {
1167
+ const GET_POOL_CONFIG_FUNCTION = "get_pool_config";
1168
+ const pool = client.routerClient.pools.find((item) => item.poolAddress === contractAddress);
1169
+ if (!pool) {
1170
+ throw new import_core9.NotFoundError(`Pool with the address ${contractAddress}`);
1171
+ }
1172
+ const poolConfig = await queryDevInspect(
1173
+ client.suiClient,
1174
+ [client.packageId, POOL_MODULE, GET_POOL_CONFIG_FUNCTION],
1175
+ [contractAddress],
1176
+ [pool.baseDenom]
1177
+ );
1178
+ const output = parseDevInspectResult(poolConfig, PoolConfigStruct);
1179
+ return parsePoolConfigStructOutput(client.routerClient, output, client.contracts.oracle);
1180
+ };
1181
+
1182
+ // src/lib/settlement/get-pool-config-by-denom.ts
1183
+ var getPoolConfigByDenom = async (client, baseDenom, quoteDenom) => {
1184
+ const pool = await getPoolByDenom(client, baseDenom, quoteDenom);
1185
+ return await getPoolConfig(client, pool.poolAddress);
1186
+ };
1187
+
1188
+ // src/lib/router/get-all-base-liquidity.ts
1189
+ var getAllBaseLiquidity = async (client) => {
1190
+ const result = {};
1191
+ for (const pool of client.routerClient.pools) {
1192
+ const baseLiquidity = await getPoolBaseLiquidity(client, pool.poolAddress);
1193
+ result[pool.poolAddress] = baseLiquidity;
1194
+ }
1195
+ return result;
1196
+ };
1197
+
1198
+ // src/lib/router/get-all-quotes-for-user.ts
1199
+ var import_core10 = require("@bolt-liquidity-hq/core");
1129
1200
  var getAllQuotesForUser = async (_client, _lpAddress) => {
1130
- throw new import_core9.NotImplementedError("getRouterConfig on Sui Client");
1201
+ throw new import_core10.NotImplementedError("getRouterConfig on Sui Client");
1131
1202
  };
1132
1203
 
1133
1204
  // src/lib/router/get-pool-by-denom.ts
1134
- var import_core10 = require("@bolt-liquidity-hq/core");
1205
+ var import_core11 = require("@bolt-liquidity-hq/core");
1135
1206
  var getPoolByDenom = async (client, baseDenom, quoteDenom) => {
1136
1207
  const result = await client.routerClient.getPool(quoteDenom, baseDenom);
1137
1208
  if (!result) {
1138
- throw new import_core10.NotFoundError("Pool", `Didn't find a pool to swap ${quoteDenom} for ${baseDenom}`);
1209
+ throw new import_core11.NotFoundError("Pool", `Didn't find a pool to swap ${quoteDenom} for ${baseDenom}`);
1139
1210
  }
1140
1211
  return result;
1141
1212
  };
@@ -1146,14 +1217,14 @@ var getPools = async (client) => {
1146
1217
  };
1147
1218
 
1148
1219
  // src/lib/router/get-router-config.ts
1149
- var import_core11 = require("@bolt-liquidity-hq/core");
1220
+ var import_core12 = require("@bolt-liquidity-hq/core");
1150
1221
  var getRouterConfig = async (_client) => {
1151
- throw new import_core11.NotImplementedError("getRouterConfig on Sui Client");
1222
+ throw new import_core12.NotImplementedError("getRouterConfig on Sui Client");
1152
1223
  };
1153
1224
 
1154
1225
  // src/lib/router/parsers.ts
1155
- var import_core12 = require("@bolt-liquidity-hq/core");
1156
- var import_bignumber4 = require("bignumber.js");
1226
+ var import_core13 = require("@bolt-liquidity-hq/core");
1227
+ var import_bignumber5 = require("bignumber.js");
1157
1228
  var parseSwapSimulationResultStructOutput = (output, poolAddress, assetOut) => {
1158
1229
  return {
1159
1230
  poolAddress,
@@ -1161,7 +1232,7 @@ var parseSwapSimulationResultStructOutput = (output, poolAddress, assetOut) => {
1161
1232
  assetOut,
1162
1233
  protocolFee: output.protocol_fee,
1163
1234
  lpFee: output.lp_fee,
1164
- dynamicFeePercentage: (0, import_bignumber4.BigNumber)(output.dynamic_fee_pct).div(BASIS_POINTS).toFixed(),
1235
+ dynamicFeePercentage: (0, import_bignumber5.BigNumber)(output.dynamic_fee_pct).div(BASIS_POINTS).toFixed(),
1165
1236
  totalFees: output.swap_fee
1166
1237
  };
1167
1238
  };
@@ -1201,13 +1272,13 @@ var RouterClient = class {
1201
1272
  };
1202
1273
 
1203
1274
  // src/lib/router/simulate-swap.ts
1204
- var import_core13 = require("@bolt-liquidity-hq/core");
1275
+ var import_core14 = require("@bolt-liquidity-hq/core");
1205
1276
  var import_bcs10 = require("@mysten/bcs");
1206
1277
  var import_utils10 = require("@mysten/sui/utils");
1207
1278
  var simulateSwap = async (client, { assetIn, amountIn, assetOut }) => {
1208
- const pool = await client.routerClient.getPool(assetIn, assetOut);
1279
+ const pool = client.routerClient.getPool(assetIn, assetOut);
1209
1280
  if (!pool) {
1210
- throw new import_core13.NotFoundError("Pool", `Didn't find a pool to swap ${assetIn} for ${assetOut}`);
1281
+ throw new import_core14.NotFoundError("Pool", `Didn't find a pool to swap ${assetIn} for ${assetOut}`);
1211
1282
  }
1212
1283
  const FUNCTION_NAME = pool.isInverse ? "simulate_sell_swap" : "simulate_buy_swap";
1213
1284
  const response = await queryDevInspect(
@@ -1240,48 +1311,6 @@ var swapExactIn = async (client, swapParams, signer) => {
1240
1311
  };
1241
1312
  };
1242
1313
 
1243
- // src/lib/settlement/get-pool-info.ts
1244
- var import_core14 = require("@bolt-liquidity-hq/core");
1245
-
1246
- // src/lib/settlement/parsers.ts
1247
- var import_bignumber5 = require("bignumber.js");
1248
- var parsePoolConfigStructOutput = (routerClient, poolConfig, priceOracleContract) => {
1249
- return {
1250
- priceOracleContract,
1251
- protocolFeeRecipient: "0x",
1252
- // TODO: get real fee recipient
1253
- protocolFee: (0, import_bignumber5.BigNumber)(poolConfig.swap_fee_pct).div(BASIS_POINTS).toFixed(),
1254
- lpFee: (0, import_bignumber5.BigNumber)(poolConfig.lp_fee_pct).div(BASIS_POINTS).toFixed(),
1255
- allowanceMode: "allow",
1256
- // Should come from pool config
1257
- lps: routerClient.getPools().map((item) => item.poolAddress),
1258
- minBaseOut: (0, import_bignumber5.BigNumber)(poolConfig.min_base_out).toFixed()
1259
- };
1260
- };
1261
-
1262
- // src/lib/settlement/get-pool-info.ts
1263
- var getPoolInfo = async (client, contractAddress) => {
1264
- const GET_POOL_CONFIG_FUNCTION = "get_pool_config";
1265
- const pool = client.routerClient.pools.find((item) => item.poolAddress === contractAddress);
1266
- if (!pool) {
1267
- throw new import_core14.NotFoundError(`Pool with the address ${contractAddress}`);
1268
- }
1269
- const poolConfig = await queryDevInspect(
1270
- client.suiClient,
1271
- [client.packageId, POOL_MODULE, GET_POOL_CONFIG_FUNCTION],
1272
- [contractAddress],
1273
- [pool.baseDenom]
1274
- );
1275
- const output = parseDevInspectResult(poolConfig, PoolConfigStruct);
1276
- return parsePoolConfigStructOutput(client.routerClient, output, client.contracts.oracle);
1277
- };
1278
-
1279
- // src/lib/settlement/get-pool-info-by-denom.ts
1280
- var getPoolInfoByDenom = async (client, baseDenom, quoteDenom) => {
1281
- const pool = await getPoolByDenom(client, baseDenom, quoteDenom);
1282
- return await getPoolInfo(client, pool.poolAddress);
1283
- };
1284
-
1285
1314
  // src/lib/client.ts
1286
1315
  var BoltSuiClient = class extends import_core15.BaseClient {
1287
1316
  /**
@@ -1518,12 +1547,7 @@ var BoltSuiClient = class extends import_core15.BaseClient {
1518
1547
  /** @inheritdoc */
1519
1548
  async getPoolConfig(poolContractAddress) {
1520
1549
  await this.loadConfigFromUrl();
1521
- return await getPoolInfo(this, poolContractAddress);
1522
- }
1523
- /** @inheritdoc */
1524
- async getAssets() {
1525
- await this.loadConfigFromUrl();
1526
- return await getAssets(this);
1550
+ return await getPoolConfig(this, poolContractAddress);
1527
1551
  }
1528
1552
  /**
1529
1553
  * @inheritdoc
@@ -1537,7 +1561,17 @@ var BoltSuiClient = class extends import_core15.BaseClient {
1537
1561
  */
1538
1562
  async getPoolConfigByDenom(baseDenom, quoteDenom) {
1539
1563
  await this.loadConfigFromUrl();
1540
- return await getPoolInfoByDenom(this, baseDenom, quoteDenom);
1564
+ return await getPoolConfigByDenom(this, baseDenom, quoteDenom);
1565
+ }
1566
+ /** @inheritdoc */
1567
+ async getPoolBaseLiquidity(poolContractAddress) {
1568
+ await this.loadConfigFromUrl();
1569
+ return await getPoolBaseLiquidity(this, poolContractAddress);
1570
+ }
1571
+ /** @inheritdoc */
1572
+ async getAssets() {
1573
+ await this.loadConfigFromUrl();
1574
+ return await getAssets(this);
1541
1575
  }
1542
1576
  /**
1543
1577
  * @inheritdoc