@zofai/zo-sdk 0.2.9 → 0.2.10

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 (108) hide show
  1. package/dist/abstract/BaseAPI.cjs +7 -1
  2. package/dist/abstract/BaseAPI.cjs.map +1 -1
  3. package/dist/abstract/BaseAPI.d.cts +8 -7
  4. package/dist/abstract/BaseAPI.d.cts.map +1 -1
  5. package/dist/abstract/BaseAPI.d.mts +8 -7
  6. package/dist/abstract/BaseAPI.d.mts.map +1 -1
  7. package/dist/abstract/BaseAPI.mjs +7 -1
  8. package/dist/abstract/BaseAPI.mjs.map +1 -1
  9. package/dist/api.cjs +12 -12
  10. package/dist/api.cjs.map +1 -1
  11. package/dist/api.mjs +12 -12
  12. package/dist/api.mjs.map +1 -1
  13. package/dist/coins.cjs +74 -0
  14. package/dist/coins.cjs.map +1 -0
  15. package/dist/coins.d.cts +37 -0
  16. package/dist/coins.d.cts.map +1 -0
  17. package/dist/coins.d.mts +37 -0
  18. package/dist/coins.d.mts.map +1 -0
  19. package/dist/coins.mjs +67 -0
  20. package/dist/coins.mjs.map +1 -0
  21. package/dist/implementations/SLPAPI.cjs +192 -100
  22. package/dist/implementations/SLPAPI.cjs.map +1 -1
  23. package/dist/implementations/SLPAPI.d.cts +23 -23
  24. package/dist/implementations/SLPAPI.d.cts.map +1 -1
  25. package/dist/implementations/SLPAPI.d.mts +23 -23
  26. package/dist/implementations/SLPAPI.d.mts.map +1 -1
  27. package/dist/implementations/SLPAPI.mjs +192 -100
  28. package/dist/implementations/SLPAPI.mjs.map +1 -1
  29. package/dist/implementations/SLPDataAPI.cjs +2 -2
  30. package/dist/implementations/SLPDataAPI.cjs.map +1 -1
  31. package/dist/implementations/SLPDataAPI.mjs +2 -2
  32. package/dist/implementations/SLPDataAPI.mjs.map +1 -1
  33. package/dist/implementations/USDZAPI.cjs +176 -92
  34. package/dist/implementations/USDZAPI.cjs.map +1 -1
  35. package/dist/implementations/USDZAPI.d.cts +21 -21
  36. package/dist/implementations/USDZAPI.d.cts.map +1 -1
  37. package/dist/implementations/USDZAPI.d.mts +21 -21
  38. package/dist/implementations/USDZAPI.d.mts.map +1 -1
  39. package/dist/implementations/USDZAPI.mjs +176 -92
  40. package/dist/implementations/USDZAPI.mjs.map +1 -1
  41. package/dist/implementations/ZBTCVCAPI.cjs +84 -46
  42. package/dist/implementations/ZBTCVCAPI.cjs.map +1 -1
  43. package/dist/implementations/ZBTCVCAPI.d.cts +11 -11
  44. package/dist/implementations/ZBTCVCAPI.d.cts.map +1 -1
  45. package/dist/implementations/ZBTCVCAPI.d.mts +11 -11
  46. package/dist/implementations/ZBTCVCAPI.d.mts.map +1 -1
  47. package/dist/implementations/ZBTCVCAPI.mjs +84 -46
  48. package/dist/implementations/ZBTCVCAPI.mjs.map +1 -1
  49. package/dist/implementations/ZLPAPI.cjs +192 -100
  50. package/dist/implementations/ZLPAPI.cjs.map +1 -1
  51. package/dist/implementations/ZLPAPI.d.cts +23 -23
  52. package/dist/implementations/ZLPAPI.d.cts.map +1 -1
  53. package/dist/implementations/ZLPAPI.d.mts +23 -23
  54. package/dist/implementations/ZLPAPI.d.mts.map +1 -1
  55. package/dist/implementations/ZLPAPI.mjs +192 -100
  56. package/dist/implementations/ZLPAPI.mjs.map +1 -1
  57. package/dist/index.cjs +1 -0
  58. package/dist/index.cjs.map +1 -1
  59. package/dist/index.d.cts +1 -0
  60. package/dist/index.d.cts.map +1 -1
  61. package/dist/index.d.mts +1 -0
  62. package/dist/index.d.mts.map +1 -1
  63. package/dist/index.mjs +1 -0
  64. package/dist/index.mjs.map +1 -1
  65. package/dist/interfaces/base.d.cts +25 -21
  66. package/dist/interfaces/base.d.cts.map +1 -1
  67. package/dist/interfaces/base.d.mts +25 -21
  68. package/dist/interfaces/base.d.mts.map +1 -1
  69. package/dist/interfaces/slp.d.cts +1 -1
  70. package/dist/interfaces/slp.d.cts.map +1 -1
  71. package/dist/interfaces/slp.d.mts +1 -1
  72. package/dist/interfaces/slp.d.mts.map +1 -1
  73. package/dist/interfaces/usdz.d.cts +1 -1
  74. package/dist/interfaces/usdz.d.cts.map +1 -1
  75. package/dist/interfaces/usdz.d.mts +1 -1
  76. package/dist/interfaces/usdz.d.mts.map +1 -1
  77. package/dist/interfaces/zbtcvc.d.cts +1 -1
  78. package/dist/interfaces/zbtcvc.d.cts.map +1 -1
  79. package/dist/interfaces/zbtcvc.d.mts +1 -1
  80. package/dist/interfaces/zbtcvc.d.mts.map +1 -1
  81. package/dist/interfaces/zlp.d.cts +1 -1
  82. package/dist/interfaces/zlp.d.cts.map +1 -1
  83. package/dist/interfaces/zlp.d.mts +1 -1
  84. package/dist/interfaces/zlp.d.mts.map +1 -1
  85. package/dist/oracle.cjs +27 -22
  86. package/dist/oracle.cjs.map +1 -1
  87. package/dist/oracle.d.cts +13 -1
  88. package/dist/oracle.d.cts.map +1 -1
  89. package/dist/oracle.d.mts +13 -1
  90. package/dist/oracle.d.mts.map +1 -1
  91. package/dist/oracle.mjs +27 -22
  92. package/dist/oracle.mjs.map +1 -1
  93. package/package.json +1 -1
  94. package/src/abstract/BaseAPI.ts +10 -8
  95. package/src/api.ts +12 -12
  96. package/src/coins.ts +115 -0
  97. package/src/implementations/SLPAPI.ts +199 -115
  98. package/src/implementations/SLPDataAPI.ts +2 -2
  99. package/src/implementations/USDZAPI.ts +184 -94
  100. package/src/implementations/ZBTCVCAPI.ts +98 -52
  101. package/src/implementations/ZLPAPI.ts +199 -110
  102. package/src/index.ts +1 -0
  103. package/src/interfaces/base.ts +13 -21
  104. package/src/interfaces/slp.ts +0 -1
  105. package/src/interfaces/usdz.ts +0 -1
  106. package/src/interfaces/zbtcvc.ts +0 -1
  107. package/src/interfaces/zlp.ts +0 -1
  108. package/src/oracle.ts +64 -28
package/dist/api.mjs CHANGED
@@ -26,7 +26,7 @@ export class API extends DataAPI {
26
26
  });
27
27
  this.deposit = async (coin, coinObjects, amount, minAmountOut = 0, referralAddress = '', sender = '') => {
28
28
  let tx = new Transaction();
29
- tx = await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder), tx);
29
+ tx = (await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder), tx)).tx;
30
30
  if (referralAddress && !(await this.hasReferral(sender || ''))) {
31
31
  tx = await this.addReferral(referralAddress, tx);
32
32
  }
@@ -48,7 +48,7 @@ export class API extends DataAPI {
48
48
  return tx;
49
49
  };
50
50
  this.withdraw = async (coin, zlpCoinObjects, amount, minAmountOut = 0) => {
51
- const tx = await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder));
51
+ const tx = (await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder))).tx;
52
52
  const zlpCoinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, 'zlp', zlpCoinObjects);
53
53
  const [withdrawObject] = tx.splitCoins(zlpCoinObject, [tx.pure.u64(amount)]);
54
54
  const { vaultsValuation, symbolsValuation } = this.valuate(tx);
@@ -71,7 +71,7 @@ export class API extends DataAPI {
71
71
  if (referralAddress && !(await this.hasReferral(sender || ''))) {
72
72
  tx = await this.addReferral(referralAddress, tx);
73
73
  }
74
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
74
+ tx = (await this.initOracleTxb([collateralToken, indexToken], tx)).tx;
75
75
  const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, collateralToken, coinObjects);
76
76
  const [depositObject, feeObject] = tx.splitCoins(coinObject, [
77
77
  tx.pure.u64(collateralAmount),
@@ -117,7 +117,7 @@ export class API extends DataAPI {
117
117
  if (referralAddress && !(await this.hasReferral(sender || ''))) {
118
118
  tx = await this.addReferral(referralAddress, tx);
119
119
  }
120
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
120
+ tx = (await this.initOracleTxb([collateralToken, indexToken], tx)).tx;
121
121
  const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, collateralToken, coinObjects);
122
122
  const [depositObject, feeObject] = tx.splitCoins(coinObject, [
123
123
  tx.pure.u64(collateralAmount),
@@ -176,7 +176,7 @@ export class API extends DataAPI {
176
176
  return tx;
177
177
  };
178
178
  this.pledgeInPosition = async (pcpId, collateralToken, indexToken, amount, coinObjects, long) => {
179
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
179
+ const tx = (await this.initOracleTxb([collateralToken, indexToken])).tx;
180
180
  const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, collateralToken, coinObjects);
181
181
  const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)]);
182
182
  tx.moveCall({
@@ -192,7 +192,7 @@ export class API extends DataAPI {
192
192
  return tx;
193
193
  };
194
194
  this.redeemFromPosition = async (pcpId, collateralToken, indexToken, amount, long) => {
195
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
195
+ const tx = (await this.initOracleTxb([collateralToken, indexToken])).tx;
196
196
  const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
197
197
  tx.moveCall({
198
198
  target: `${this.consts.zoCore.upgradedPackage}::market::redeem_from_position`,
@@ -216,7 +216,7 @@ export class API extends DataAPI {
216
216
  return tx;
217
217
  };
218
218
  this.decreasePosition = async (pcpId, collateralToken, coinObjects, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5)) => {
219
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
219
+ const tx = (await this.initOracleTxb([collateralToken, indexToken])).tx;
220
220
  const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
221
221
  const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, collateralToken, coinObjects);
222
222
  const feeObject = tx.splitCoins(coinObject, [tx.pure.u64(relayerFee)]);
@@ -257,7 +257,7 @@ export class API extends DataAPI {
257
257
  return tx;
258
258
  };
259
259
  this.decreasePositionWithSCard = async (pcpId, collateralToken, coinObjects, indexToken, amount, long, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5)) => {
260
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
260
+ const tx = (await this.initOracleTxb([collateralToken, indexToken])).tx;
261
261
  const kioskTx = new KioskTransaction({
262
262
  transaction: tx,
263
263
  kioskClient,
@@ -318,7 +318,7 @@ export class API extends DataAPI {
318
318
  if (!tx) {
319
319
  tx = new Transaction();
320
320
  }
321
- tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx);
321
+ tx = (await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx)).tx;
322
322
  for (const position of positions) {
323
323
  const { pcpId, collateralToken, coinObjects, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder, isTakeProfitOrder, isIocOrder, slippage, relayerFee, } = position;
324
324
  let innerIsTakeProfitOrder = isTakeProfitOrder;
@@ -366,7 +366,7 @@ export class API extends DataAPI {
366
366
  if (!tx) {
367
367
  tx = new Transaction();
368
368
  }
369
- tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx);
369
+ tx = (await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx)).tx;
370
370
  const kioskTx = new KioskTransaction({
371
371
  transaction: tx,
372
372
  kioskClient,
@@ -495,7 +495,7 @@ export class API extends DataAPI {
495
495
  return tx;
496
496
  };
497
497
  this.swap = async (fromToken, toToken, fromAmount, fromCoinObjects) => {
498
- const tx = await this.initOracleTxb(Object.keys(this.consts.zoCore.vaults));
498
+ const tx = (await this.initOracleTxb(Object.keys(this.consts.zoCore.vaults))).tx;
499
499
  const fromCoinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, fromToken, fromCoinObjects);
500
500
  const [fromDepositObject] = tx.splitCoins(fromCoinObject, [tx.pure.u64(fromAmount)]);
501
501
  const vaultsValuation = this.valuateVaults(tx);
@@ -611,7 +611,7 @@ export class API extends DataAPI {
611
611
  };
612
612
  // admin methods
613
613
  this.adminUpdatePriceFeed = async (collateralToken, indexToken) => {
614
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
614
+ const tx = (await this.initOracleTxb([collateralToken, indexToken])).tx;
615
615
  return tx;
616
616
  };
617
617
  this.adminSettlePosition = (positionId, owner, collateralToken, indexToken, long) => {
package/dist/api.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.mjs","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/coins.cjs ADDED
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sumSplitAmounts = sumSplitAmounts;
4
+ exports.getCoinBalanceBreakdown = getCoinBalanceBreakdown;
5
+ exports.needsCoinWithBalanceFunding = needsCoinWithBalanceFunding;
6
+ exports.createSpendableCoin = createSpendableCoin;
7
+ exports.resolveSpendableSuiCoin = resolveSpendableSuiCoin;
8
+ const transactions_1 = require("@mysten/sui/transactions");
9
+ const utils_1 = require("@mysten/sui/utils");
10
+ function sumSplitAmounts(amounts) {
11
+ return amounts.reduce((total, amount) => total + amount, 0n);
12
+ }
13
+ async function getCoinBalanceBreakdown(provider, owner, coinType) {
14
+ const balance = await provider.getBalance({ owner, coinType });
15
+ const totalBalance = BigInt(balance.totalBalance);
16
+ const extended = balance;
17
+ if (extended.coinBalance !== undefined && extended.addressBalance !== undefined) {
18
+ return {
19
+ coinType: balance.coinType,
20
+ totalBalance,
21
+ coinObjectBalance: BigInt(extended.coinBalance),
22
+ addressBalance: BigInt(extended.addressBalance),
23
+ };
24
+ }
25
+ let coinObjectBalance = 0n;
26
+ let cursor = null;
27
+ do {
28
+ const page = await provider.getCoins({ owner, coinType, cursor });
29
+ for (const coin of page.data) {
30
+ coinObjectBalance += BigInt(coin.balance);
31
+ }
32
+ cursor = page.hasNextPage ? page.nextCursor : null;
33
+ } while (cursor);
34
+ const addressBalance = totalBalance > coinObjectBalance ? totalBalance - coinObjectBalance : 0n;
35
+ return {
36
+ coinType: balance.coinType,
37
+ totalBalance,
38
+ coinObjectBalance,
39
+ addressBalance,
40
+ };
41
+ }
42
+ /**
43
+ * Prefer coinWithBalance when the wallet has address balance and/or coin objects alone
44
+ * cannot cover `amount`. processCoins / processCoinSplitting only spend explicit object IDs otherwise.
45
+ */
46
+ function needsCoinWithBalanceFunding(breakdown, amount) {
47
+ if (breakdown.totalBalance < amount) {
48
+ return false;
49
+ }
50
+ if (breakdown.addressBalance > 0n) {
51
+ return true;
52
+ }
53
+ return breakdown.coinObjectBalance < amount;
54
+ }
55
+ /**
56
+ * Creates a spendable Coin<T> inside an open transaction.
57
+ * At build time Mysten resolves this via coin::redeem_funds (address balance) and/or merging coin objects.
58
+ */
59
+ function createSpendableCoin(tx, coinType, amount, useGasCoin = false) {
60
+ return (0, transactions_1.coinWithBalance)({ balance: amount, type: coinType, useGasCoin })(tx);
61
+ }
62
+ /**
63
+ * Resolves a spendable SUI coin for sponsored transactions.
64
+ * Uses coinWithBalance so address balance and coin objects are both supported.
65
+ */
66
+ async function resolveSpendableSuiCoin(tx, provider, sender, amount) {
67
+ const breakdown = await getCoinBalanceBreakdown(provider, sender, utils_1.SUI_TYPE_ARG);
68
+ if (breakdown.totalBalance < amount) {
69
+ throw new Error(`Insufficient SUI balance: need ${amount} MIST, have ${breakdown.totalBalance} MIST `
70
+ + `(coin objects: ${breakdown.coinObjectBalance}, address balance: ${breakdown.addressBalance})`);
71
+ }
72
+ return createSpendableCoin(tx, utils_1.SUI_TYPE_ARG, amount, false);
73
+ }
74
+ //# sourceMappingURL=coins.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coins.cjs","sourceRoot":"","sources":["../src/coins.ts"],"names":[],"mappings":";;AAwBA,0CAEC;AAED,0DAoCC;AAMD,kEAWC;AAMD,kDAOC;AAMD,0DAcC;AAhHD,2DAA0D;AAC1D,6CAAgD;AAqBhD,SAAgB,eAAe,CAAC,OAAiB;IAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC,CAAA;AAC9D,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,QAAmB,EACnB,KAAa,EACb,QAAgB;IAEhB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAEjD,MAAM,QAAQ,GAAG,OAA4D,CAAA;IAC7E,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAChF,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY;YACZ,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC/C,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;SAChD,CAAA;IACH,CAAC;IAED,IAAI,iBAAiB,GAAG,EAAE,CAAA;IAC1B,IAAI,MAAM,GAA8B,IAAI,CAAA;IAC5C,GAAG,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QACjE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;IACpD,CAAC,QAAQ,MAAM,EAAC;IAEhB,MAAM,cAAc,GAAG,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/F,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY;QACZ,iBAAiB;QACjB,cAAc;KACf,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CACzC,SAAgC,EAChC,MAAc;IAEd,IAAI,SAAS,CAAC,YAAY,GAAG,MAAM,EAAE,CAAC;QACpC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,SAAS,CAAC,cAAc,GAAG,EAAE,EAAE,CAAC;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,SAAS,CAAC,iBAAiB,GAAG,MAAM,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,EAAe,EACf,QAAgB,EAChB,MAAc,EACd,UAAU,GAAG,KAAK;IAElB,OAAO,IAAA,8BAAe,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,uBAAuB,CAC3C,EAAe,EACf,QAAmB,EACnB,MAAc,EACd,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,oBAAY,CAAC,CAAA;IAC/E,IAAI,SAAS,CAAC,YAAY,GAAG,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,kCAAkC,MAAM,eAAe,SAAS,CAAC,YAAY,QAAQ;cACnF,kBAAkB,SAAS,CAAC,iBAAiB,sBAAsB,SAAS,CAAC,cAAc,GAAG,CACjG,CAAA;IACH,CAAC;IACD,OAAO,mBAAmB,CAAC,EAAE,EAAE,oBAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAC7D,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { SuiClient } from "@mysten/sui/client";
2
+ import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
3
+ /**
4
+ * Sui wallets can hold funds in two places for the same coin type:
5
+ * - coin objects (what getCoins returns)
6
+ * - address balance (funds held at the address until redeemed in a tx)
7
+ */
8
+ export interface ICoinBalanceBreakdown {
9
+ coinType: string;
10
+ totalBalance: bigint;
11
+ coinObjectBalance: bigint;
12
+ addressBalance: bigint;
13
+ }
14
+ export interface ICoinFundingOptions {
15
+ /** bigint values matching each split in processCoinSplitting (sum = total spend). */
16
+ splitAmounts?: bigint[];
17
+ /** Use coinWithBalance (redeems address balance and/or merges coin objects). */
18
+ useAddressBalance?: boolean;
19
+ }
20
+ export declare function sumSplitAmounts(amounts: bigint[]): bigint;
21
+ export declare function getCoinBalanceBreakdown(provider: SuiClient, owner: string, coinType: string): Promise<ICoinBalanceBreakdown>;
22
+ /**
23
+ * Prefer coinWithBalance when the wallet has address balance and/or coin objects alone
24
+ * cannot cover `amount`. processCoins / processCoinSplitting only spend explicit object IDs otherwise.
25
+ */
26
+ export declare function needsCoinWithBalanceFunding(breakdown: ICoinBalanceBreakdown, amount: bigint): boolean;
27
+ /**
28
+ * Creates a spendable Coin<T> inside an open transaction.
29
+ * At build time Mysten resolves this via coin::redeem_funds (address balance) and/or merging coin objects.
30
+ */
31
+ export declare function createSpendableCoin(tx: Transaction, coinType: string, amount: bigint, useGasCoin?: boolean): TransactionObjectArgument;
32
+ /**
33
+ * Resolves a spendable SUI coin for sponsored transactions.
34
+ * Uses coinWithBalance so address balance and coin objects are both supported.
35
+ */
36
+ export declare function resolveSpendableSuiCoin(tx: Transaction, provider: SuiClient, sender: string, amount: bigint): Promise<TransactionObjectArgument>;
37
+ //# sourceMappingURL=coins.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coins.d.cts","sourceRoot":"","sources":["../src/coins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,2BAA0B;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,iCAAgC;AAItF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAEzD;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAgChC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,qBAAqB,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAQT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,UAAQ,GACjB,yBAAyB,CAE3B;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC,CASpC"}
@@ -0,0 +1,37 @@
1
+ import type { SuiClient } from "@mysten/sui/client";
2
+ import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
3
+ /**
4
+ * Sui wallets can hold funds in two places for the same coin type:
5
+ * - coin objects (what getCoins returns)
6
+ * - address balance (funds held at the address until redeemed in a tx)
7
+ */
8
+ export interface ICoinBalanceBreakdown {
9
+ coinType: string;
10
+ totalBalance: bigint;
11
+ coinObjectBalance: bigint;
12
+ addressBalance: bigint;
13
+ }
14
+ export interface ICoinFundingOptions {
15
+ /** bigint values matching each split in processCoinSplitting (sum = total spend). */
16
+ splitAmounts?: bigint[];
17
+ /** Use coinWithBalance (redeems address balance and/or merges coin objects). */
18
+ useAddressBalance?: boolean;
19
+ }
20
+ export declare function sumSplitAmounts(amounts: bigint[]): bigint;
21
+ export declare function getCoinBalanceBreakdown(provider: SuiClient, owner: string, coinType: string): Promise<ICoinBalanceBreakdown>;
22
+ /**
23
+ * Prefer coinWithBalance when the wallet has address balance and/or coin objects alone
24
+ * cannot cover `amount`. processCoins / processCoinSplitting only spend explicit object IDs otherwise.
25
+ */
26
+ export declare function needsCoinWithBalanceFunding(breakdown: ICoinBalanceBreakdown, amount: bigint): boolean;
27
+ /**
28
+ * Creates a spendable Coin<T> inside an open transaction.
29
+ * At build time Mysten resolves this via coin::redeem_funds (address balance) and/or merging coin objects.
30
+ */
31
+ export declare function createSpendableCoin(tx: Transaction, coinType: string, amount: bigint, useGasCoin?: boolean): TransactionObjectArgument;
32
+ /**
33
+ * Resolves a spendable SUI coin for sponsored transactions.
34
+ * Uses coinWithBalance so address balance and coin objects are both supported.
35
+ */
36
+ export declare function resolveSpendableSuiCoin(tx: Transaction, provider: SuiClient, sender: string, amount: bigint): Promise<TransactionObjectArgument>;
37
+ //# sourceMappingURL=coins.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coins.d.mts","sourceRoot":"","sources":["../src/coins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,2BAA0B;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,iCAAgC;AAItF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAEzD;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAgChC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,qBAAqB,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAQT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,UAAQ,GACjB,yBAAyB,CAE3B;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC,CASpC"}
package/dist/coins.mjs ADDED
@@ -0,0 +1,67 @@
1
+ import { coinWithBalance } from "@mysten/sui/transactions";
2
+ import { SUI_TYPE_ARG } from "@mysten/sui/utils";
3
+ export function sumSplitAmounts(amounts) {
4
+ return amounts.reduce((total, amount) => total + amount, 0n);
5
+ }
6
+ export async function getCoinBalanceBreakdown(provider, owner, coinType) {
7
+ const balance = await provider.getBalance({ owner, coinType });
8
+ const totalBalance = BigInt(balance.totalBalance);
9
+ const extended = balance;
10
+ if (extended.coinBalance !== undefined && extended.addressBalance !== undefined) {
11
+ return {
12
+ coinType: balance.coinType,
13
+ totalBalance,
14
+ coinObjectBalance: BigInt(extended.coinBalance),
15
+ addressBalance: BigInt(extended.addressBalance),
16
+ };
17
+ }
18
+ let coinObjectBalance = 0n;
19
+ let cursor = null;
20
+ do {
21
+ const page = await provider.getCoins({ owner, coinType, cursor });
22
+ for (const coin of page.data) {
23
+ coinObjectBalance += BigInt(coin.balance);
24
+ }
25
+ cursor = page.hasNextPage ? page.nextCursor : null;
26
+ } while (cursor);
27
+ const addressBalance = totalBalance > coinObjectBalance ? totalBalance - coinObjectBalance : 0n;
28
+ return {
29
+ coinType: balance.coinType,
30
+ totalBalance,
31
+ coinObjectBalance,
32
+ addressBalance,
33
+ };
34
+ }
35
+ /**
36
+ * Prefer coinWithBalance when the wallet has address balance and/or coin objects alone
37
+ * cannot cover `amount`. processCoins / processCoinSplitting only spend explicit object IDs otherwise.
38
+ */
39
+ export function needsCoinWithBalanceFunding(breakdown, amount) {
40
+ if (breakdown.totalBalance < amount) {
41
+ return false;
42
+ }
43
+ if (breakdown.addressBalance > 0n) {
44
+ return true;
45
+ }
46
+ return breakdown.coinObjectBalance < amount;
47
+ }
48
+ /**
49
+ * Creates a spendable Coin<T> inside an open transaction.
50
+ * At build time Mysten resolves this via coin::redeem_funds (address balance) and/or merging coin objects.
51
+ */
52
+ export function createSpendableCoin(tx, coinType, amount, useGasCoin = false) {
53
+ return coinWithBalance({ balance: amount, type: coinType, useGasCoin })(tx);
54
+ }
55
+ /**
56
+ * Resolves a spendable SUI coin for sponsored transactions.
57
+ * Uses coinWithBalance so address balance and coin objects are both supported.
58
+ */
59
+ export async function resolveSpendableSuiCoin(tx, provider, sender, amount) {
60
+ const breakdown = await getCoinBalanceBreakdown(provider, sender, SUI_TYPE_ARG);
61
+ if (breakdown.totalBalance < amount) {
62
+ throw new Error(`Insufficient SUI balance: need ${amount} MIST, have ${breakdown.totalBalance} MIST `
63
+ + `(coin objects: ${breakdown.coinObjectBalance}, address balance: ${breakdown.addressBalance})`);
64
+ }
65
+ return createSpendableCoin(tx, SUI_TYPE_ARG, amount, false);
66
+ }
67
+ //# sourceMappingURL=coins.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coins.mjs","sourceRoot":"","sources":["../src/coins.ts"],"names":[],"mappings":"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"}