@t2000/sdk 10.7.0 → 10.9.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/index.cjs CHANGED
@@ -4097,6 +4097,7 @@ async function buildAgentCoinModule(params) {
4097
4097
 
4098
4098
  // src/capital/launch.ts
4099
4099
  var AGENT_CAPITAL_PACKAGE_ID = process.env.AGENT_CAPITAL_PACKAGE_ID ?? "0xa83ecc4e530594f8e184faf6a4c3da6791267f6791a653644d59e2e603c055b8";
4100
+ var AGENT_CAPITAL_PUBLISHED_AT = process.env.AGENT_CAPITAL_PUBLISHED_AT ?? "0x2974c16bda8f148ef5f8c3177d3d63eec060b1048648ae3b6c1fb495c2a602dd";
4100
4101
  var CAPITAL_REGISTRY_ID = process.env.CAPITAL_REGISTRY_ID ?? "0xef4057baac856d65b47f14a1ba14211299637955ea5bc15d7708f6eef27ee0df";
4101
4102
  var CAPITAL_REGISTRY_VERSION = Number(
4102
4103
  process.env.CAPITAL_REGISTRY_VERSION ?? 931861908
@@ -4112,6 +4113,7 @@ function assertDeployed() {
4112
4113
  var MIN_LP_USDC = 5000000n;
4113
4114
  var REGISTRY_MODULE = "registry";
4114
4115
  var LP_LOCK_MODULE = "lp_lock";
4116
+ var VESTING_MODULE = "vesting";
4115
4117
  async function buildPublishAgentCoinTx(args) {
4116
4118
  if (!utils.isValidSuiAddress(args.launcher)) {
4117
4119
  throw new exports.T2000Error("INVALID_ADDRESS", `bad launcher: ${args.launcher}`);
@@ -4157,7 +4159,7 @@ async function buildTokenizeTx(args) {
4157
4159
  mutable: true
4158
4160
  });
4159
4161
  tx.moveCall({
4160
- target: `${AGENT_CAPITAL_PACKAGE_ID}::${REGISTRY_MODULE}::bind`,
4162
+ target: `${AGENT_CAPITAL_PUBLISHED_AT}::${REGISTRY_MODULE}::bind`,
4161
4163
  typeArguments: [args.coinType],
4162
4164
  arguments: [
4163
4165
  registryArg(),
@@ -4194,12 +4196,12 @@ async function buildTokenizeTx(args) {
4194
4196
  const refundB = poolResult[2];
4195
4197
  const poolId = positionPoolId(tx, position);
4196
4198
  const [lockId] = tx.moveCall({
4197
- target: `${AGENT_CAPITAL_PACKAGE_ID}::${LP_LOCK_MODULE}::lock`,
4199
+ target: `${AGENT_CAPITAL_PUBLISHED_AT}::${LP_LOCK_MODULE}::lock`,
4198
4200
  typeArguments: [CETUS_POSITION_TYPE],
4199
4201
  arguments: [position, tx.pure.address(args.agent), tx.object.clock()]
4200
4202
  });
4201
4203
  tx.moveCall({
4202
- target: `${AGENT_CAPITAL_PACKAGE_ID}::${REGISTRY_MODULE}::finalize`,
4204
+ target: `${AGENT_CAPITAL_PUBLISHED_AT}::${REGISTRY_MODULE}::finalize`,
4203
4205
  typeArguments: [args.coinType],
4204
4206
  arguments: [
4205
4207
  registryArg(),
@@ -4212,14 +4214,65 @@ async function buildTokenizeTx(args) {
4212
4214
  });
4213
4215
  const agentRefund = usdcFirst ? refundB : refundA;
4214
4216
  const usdcRefund = usdcFirst ? refundA : refundB;
4215
- tx.transferObjects([supplyCoin, agentRefund], tx.pure.address(args.agent));
4217
+ tx.mergeCoins(supplyCoin, [agentRefund]);
4218
+ tx.moveCall({
4219
+ target: `${AGENT_CAPITAL_PUBLISHED_AT}::${VESTING_MODULE}::lock`,
4220
+ typeArguments: [args.coinType],
4221
+ arguments: [supplyCoin, tx.pure.address(args.agent), tx.object.clock()]
4222
+ });
4216
4223
  tx.transferObjects([usdcRefund], tx.pure.address(args.launcher));
4217
4224
  return tx;
4218
4225
  }
4219
4226
 
4227
+ // src/capital/swap.ts
4228
+ init_errors();
4229
+ init_token_registry();
4230
+ var CETUS_INTEGRATE_PUBLISHED_AT = process.env.CETUS_INTEGRATE_PUBLISHED_AT ?? "0xfbb32ac0fa89a3cb0c56c745b688c6d2a53ac8e43447119ad822763997ffb9c3";
4231
+ var MIN_SQRT_PRICE = 4295048016n;
4232
+ var MAX_SQRT_PRICE = 79226673515401279992447579055n;
4233
+ async function buildDirectPoolSwapTx(args) {
4234
+ if (args.amountIn <= 0n) {
4235
+ throw new exports.T2000Error("INVALID_AMOUNT", "amountIn must be positive");
4236
+ }
4237
+ const pool = await args.client.core.getObject({ objectId: args.poolId }).catch(() => null);
4238
+ const m = pool?.object?.type?.match(/Pool<(.+),\s*(.+)>$/);
4239
+ if (!m) {
4240
+ throw new exports.T2000Error("PROTOCOL_UNAVAILABLE", `not a Cetus pool: ${args.poolId}`);
4241
+ }
4242
+ const [typeA, typeB] = [m[1].trim(), m[2].trim()];
4243
+ const aIsUsdc = typeA === exports.USDC_TYPE;
4244
+ if (!aIsUsdc && typeB !== exports.USDC_TYPE) {
4245
+ throw new exports.T2000Error("INVALID_ASSET", "pool is not USDC-quoted");
4246
+ }
4247
+ const a2b = args.direction === "buy" ? aIsUsdc : !aIsUsdc;
4248
+ const inputType = args.direction === "buy" ? exports.USDC_TYPE : a2b ? typeA : typeB;
4249
+ const tx = new transactions.Transaction();
4250
+ tx.setSender(args.sender);
4251
+ const input = transactions.coinWithBalance({ type: inputType, balance: args.amountIn });
4252
+ const vec = tx.makeMoveVec({ elements: [input] });
4253
+ tx.moveCall({
4254
+ target: `${CETUS_INTEGRATE_PUBLISHED_AT}::pool_script::${a2b ? "swap_a2b" : "swap_b2a"}`,
4255
+ typeArguments: [typeA, typeB],
4256
+ arguments: [
4257
+ tx.object(CETUS_GLOBAL_CONFIG_ID),
4258
+ tx.object(args.poolId),
4259
+ vec,
4260
+ tx.pure.bool(true),
4261
+ // by_amount_in
4262
+ tx.pure.u64(args.amountIn),
4263
+ tx.pure.u64(args.minOut),
4264
+ // amount_limit = the slippage floor
4265
+ tx.pure.u128(a2b ? MIN_SQRT_PRICE : MAX_SQRT_PRICE),
4266
+ tx.object.clock()
4267
+ ]
4268
+ });
4269
+ return tx;
4270
+ }
4271
+
4220
4272
  exports.A2A_ESCROW_FEE_CONFIG_ID = A2A_ESCROW_FEE_CONFIG_ID;
4221
4273
  exports.A2A_ESCROW_PACKAGE_ID = A2A_ESCROW_PACKAGE_ID;
4222
4274
  exports.AGENT_CAPITAL_PACKAGE_ID = AGENT_CAPITAL_PACKAGE_ID;
4275
+ exports.AGENT_CAPITAL_PUBLISHED_AT = AGENT_CAPITAL_PUBLISHED_AT;
4223
4276
  exports.AGENT_ID_PARENT = AGENT_ID_PARENT;
4224
4277
  exports.AGENT_ID_PARENT_NAME = AGENT_ID_PARENT_NAME;
4225
4278
  exports.AGENT_ID_PARENT_NFT_ID = AGENT_ID_PARENT_NFT_ID;
@@ -4235,6 +4288,7 @@ exports.CAPITAL_REGISTRY_ID = CAPITAL_REGISTRY_ID;
4235
4288
  exports.CAPITAL_REGISTRY_VERSION = CAPITAL_REGISTRY_VERSION;
4236
4289
  exports.CETUS_CLMM_PACKAGE_ID = CETUS_CLMM_PACKAGE_ID;
4237
4290
  exports.CETUS_GLOBAL_CONFIG_ID = CETUS_GLOBAL_CONFIG_ID;
4291
+ exports.CETUS_INTEGRATE_PUBLISHED_AT = CETUS_INTEGRATE_PUBLISHED_AT;
4238
4292
  exports.CETUS_POOLS_ID = CETUS_POOLS_ID;
4239
4293
  exports.CETUS_POSITION_TYPE = CETUS_POSITION_TYPE;
4240
4294
  exports.CETUS_USDC_SUI_POOL = CETUS_USDC_SUI_POOL;
@@ -4284,6 +4338,7 @@ exports.buildAddLeafTx = buildAddLeafTx;
4284
4338
  exports.buildAgentCoinModule = buildAgentCoinModule;
4285
4339
  exports.buildCreateJobTx = buildCreateJobTx;
4286
4340
  exports.buildDeliverJobTx = buildDeliverJobTx;
4341
+ exports.buildDirectPoolSwapTx = buildDirectPoolSwapTx;
4287
4342
  exports.buildPublishAgentCoinTx = buildPublishAgentCoinTx;
4288
4343
  exports.buildRefundJobTx = buildRefundJobTx;
4289
4344
  exports.buildRejectJobTx = buildRejectJobTx;