@ickb/sdk 9000.0.1 → 9001.0.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 (138) hide show
  1. package/README.md +14 -11
  2. package/dist/constants.d.ts +0 -4
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +6 -24
  5. package/dist/constants.js.map +1 -1
  6. package/dist/conversion/estimate.d.ts +0 -6
  7. package/dist/conversion/estimate.d.ts.map +1 -1
  8. package/dist/conversion/estimate.js +1 -1
  9. package/dist/conversion/estimate.js.map +1 -1
  10. package/dist/conversion/maturity.d.ts +1 -1
  11. package/dist/conversion/maturity.js +13 -12
  12. package/dist/conversion/maturity.js.map +1 -1
  13. package/dist/conversion/plans.d.ts.map +1 -1
  14. package/dist/conversion/plans.js +6 -6
  15. package/dist/conversion/plans.js.map +1 -1
  16. package/dist/conversion/projection.d.ts +5 -6
  17. package/dist/conversion/projection.d.ts.map +1 -1
  18. package/dist/conversion/projection.js +11 -8
  19. package/dist/conversion/projection.js.map +1 -1
  20. package/dist/conversion/types.d.ts +29 -17
  21. package/dist/conversion/types.d.ts.map +1 -1
  22. package/dist/conversion/withdrawal_ring.d.ts +1 -3
  23. package/dist/conversion/withdrawal_ring.d.ts.map +1 -1
  24. package/dist/conversion/withdrawal_ring.js +4 -4
  25. package/dist/conversion/withdrawal_ring.js.map +1 -1
  26. package/dist/dao.d.ts +19 -5
  27. package/dist/dao.d.ts.map +1 -1
  28. package/dist/dao.js +24 -12
  29. package/dist/dao.js.map +1 -1
  30. package/dist/index.d.ts +9 -11
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/logic.d.ts +10 -14
  35. package/dist/logic.d.ts.map +1 -1
  36. package/dist/logic.js +28 -39
  37. package/dist/logic.js.map +1 -1
  38. package/dist/order/cells.d.ts +10 -49
  39. package/dist/order/cells.d.ts.map +1 -1
  40. package/dist/order/cells.js +28 -146
  41. package/dist/order/cells.js.map +1 -1
  42. package/dist/order/conversion.d.ts +3 -9
  43. package/dist/order/conversion.d.ts.map +1 -1
  44. package/dist/order/conversion.js +8 -11
  45. package/dist/order/conversion.js.map +1 -1
  46. package/dist/order/fill.d.ts +2 -2
  47. package/dist/order/fill.js +3 -3
  48. package/dist/order/fill.js.map +1 -1
  49. package/dist/order/info.d.ts.map +1 -1
  50. package/dist/order/info.js +3 -0
  51. package/dist/order/info.js.map +1 -1
  52. package/dist/order/matcher.d.ts +1 -1
  53. package/dist/order/matcher.d.ts.map +1 -1
  54. package/dist/order/matcher.js +3 -2
  55. package/dist/order/matcher.js.map +1 -1
  56. package/dist/order/order.d.ts +6 -2
  57. package/dist/order/order.d.ts.map +1 -1
  58. package/dist/order/order.js +32 -37
  59. package/dist/order/order.js.map +1 -1
  60. package/dist/order/order_data.d.ts.map +1 -1
  61. package/dist/order/order_data.js +3 -0
  62. package/dist/order/order_data.js.map +1 -1
  63. package/dist/order/ratio.d.ts +0 -2
  64. package/dist/order/ratio.d.ts.map +1 -1
  65. package/dist/order/ratio.js +3 -11
  66. package/dist/order/ratio.js.map +1 -1
  67. package/dist/order/relative.d.ts.map +1 -1
  68. package/dist/order/relative.js +3 -0
  69. package/dist/order/relative.js.map +1 -1
  70. package/dist/owned_owner.d.ts +10 -15
  71. package/dist/owned_owner.d.ts.map +1 -1
  72. package/dist/owned_owner.js +27 -47
  73. package/dist/owned_owner.js.map +1 -1
  74. package/dist/sdk.d.ts +74 -31
  75. package/dist/sdk.d.ts.map +1 -1
  76. package/dist/sdk.js +81 -59
  77. package/dist/sdk.js.map +1 -1
  78. package/dist/send/sign_and_send_transaction.d.ts +32 -17
  79. package/dist/send/sign_and_send_transaction.d.ts.map +1 -1
  80. package/dist/send/sign_and_send_transaction.js +128 -28
  81. package/dist/send/sign_and_send_transaction.js.map +1 -1
  82. package/dist/send/wait_transaction.d.ts +7 -6
  83. package/dist/send/wait_transaction.d.ts.map +1 -1
  84. package/dist/send/wait_transaction.js +29 -61
  85. package/dist/send/wait_transaction.js.map +1 -1
  86. package/dist/udt.d.ts +20 -35
  87. package/dist/udt.d.ts.map +1 -1
  88. package/dist/udt.js +39 -103
  89. package/dist/udt.js.map +1 -1
  90. package/dist/utils/chain.d.ts +0 -35
  91. package/dist/utils/chain.d.ts.map +1 -1
  92. package/dist/utils/chain.js +1 -19
  93. package/dist/utils/chain.js.map +1 -1
  94. package/dist/utils/codec.d.ts.map +1 -1
  95. package/dist/utils/codec.js +3 -0
  96. package/dist/utils/codec.js.map +1 -1
  97. package/dist/utils/utils.d.ts +19 -46
  98. package/dist/utils/utils.d.ts.map +1 -1
  99. package/dist/utils/utils.js +53 -74
  100. package/dist/utils/utils.js.map +1 -1
  101. package/dist/utils/verified_client.d.ts +19 -0
  102. package/dist/utils/verified_client.d.ts.map +1 -0
  103. package/dist/utils/verified_client.js +92 -0
  104. package/dist/utils/verified_client.js.map +1 -0
  105. package/package.json +2 -2
  106. package/src/constants.ts +6 -25
  107. package/src/conversion/estimate.ts +1 -3
  108. package/src/conversion/maturity.ts +13 -14
  109. package/src/conversion/plans.ts +6 -6
  110. package/src/conversion/projection.ts +15 -7
  111. package/src/conversion/types.ts +32 -17
  112. package/src/conversion/withdrawal_ring.ts +4 -8
  113. package/src/dao.ts +38 -14
  114. package/src/index.ts +8 -8
  115. package/src/logic.ts +40 -52
  116. package/src/order/cells.ts +37 -174
  117. package/src/order/conversion.ts +8 -19
  118. package/src/order/fill.ts +3 -3
  119. package/src/order/info.ts +3 -0
  120. package/src/order/matcher.ts +3 -3
  121. package/src/order/order.ts +38 -52
  122. package/src/order/order_data.ts +3 -0
  123. package/src/order/ratio.ts +3 -20
  124. package/src/order/relative.ts +3 -0
  125. package/src/owned_owner.ts +47 -77
  126. package/src/sdk.ts +95 -108
  127. package/src/send/sign_and_send_transaction.ts +164 -28
  128. package/src/send/wait_transaction.ts +44 -88
  129. package/src/udt.ts +56 -124
  130. package/src/utils/chain.ts +0 -41
  131. package/src/utils/codec.ts +4 -0
  132. package/src/utils/utils.ts +76 -105
  133. package/src/utils/verified_client.ts +136 -0
  134. package/dist/utils/transaction_header.d.ts +0 -17
  135. package/dist/utils/transaction_header.d.ts.map +0 -1
  136. package/dist/utils/transaction_header.js +0 -44
  137. package/dist/utils/transaction_header.js.map +0 -1
  138. package/src/utils/transaction_header.ts +0 -66
@@ -1 +1 @@
1
- {"version":3,"file":"sign_and_send_transaction.js","sourceRoot":"","sources":["../../src/send/sign_and_send_transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign_and_send_transaction.js","sourceRoot":"","sources":["../../src/send/sign_and_send_transaction.ts"],"names":[],"mappings":"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"}
@@ -23,19 +23,20 @@ export interface WaitTransactionOptions {
23
23
  signal?: AbortSignal;
24
24
  }
25
25
  /**
26
- * Observes one already-broadcast transaction for a single bounded window and returns
27
- * it once the node reports it committed.
26
+ * Observes one already-broadcast transaction for a single bounded window and resolves
27
+ * once the node reports it committed.
28
28
  *
29
29
  * @remarks Stack waits at depth zero. Actors rebuild next turn; the app can reopen a
30
30
  * window on the same hash without signing again. Callers needing deeper confirmation
31
31
  * must observe it separately.
32
- * Clients with a JSON-RPC requestor, the connector's composed client included, poll
33
- * `get_transaction` verbosity 1 directly because CCC's typed response discards a null
34
- * transaction body, including its rejection status. Body reads separately bypass the cache.
32
+ * The status is polled with raw `get_transaction` verbosity 1, since CCC's typed response
33
+ * discards a null transaction body and its rejection status; the client must be JSON-RPC,
34
+ * the connector's composed client included. The body is never read: no caller uses it,
35
+ * and the same node's word on it would verify nothing.
35
36
  * Timeout and abort also apply while awaiting client
36
37
  * operations, but the in-flight client operation receives no abort signal and may
37
38
  * finish after this function rejects. Nothing here mutates the client cache: later attempts rebuild
38
39
  * from exact committed reads.
39
40
  */
40
- export declare function waitTransaction(client: ccc.Client, txHashLike: ccc.HexLike, options?: WaitTransactionOptions): Promise<ccc.ClientTransactionResponse>;
41
+ export declare function waitTransaction(client: ccc.Client, txHashLike: ccc.HexLike, options?: WaitTransactionOptions): Promise<void>;
41
42
  //# sourceMappingURL=wait_transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wait_transaction.d.ts","sourceRoot":"","sources":["../../src/send/wait_transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAOpC,iFAAiF;AACjF,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,8DAA8D;IAC9D,SAAgB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;IAChC,4CAA4C;IAC5C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,sDAAsD;IACtD,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C,yEAAyE;IACzE,YACE,MAAM,EAAE,GAAG,CAAC,GAAG,EACf,OAAO,EAAE,YAAY,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAS5D;CACF;AAED,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,UAAU,EAAE,GAAG,CAAC,OAAO,EACvB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CA+BxC"}
1
+ {"version":3,"file":"wait_transaction.d.ts","sourceRoot":"","sources":["../../src/send/wait_transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAOpC,iFAAiF;AACjF,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,8DAA8D;IAC9D,SAAgB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;IAChC,4CAA4C;IAC5C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,sDAAsD;IACtD,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C,yEAAyE;IACzE,YACE,MAAM,EAAE,GAAG,CAAC,GAAG,EACf,OAAO,EAAE,YAAY,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAS5D;CACF;AAED,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,UAAU,EAAE,GAAG,CAAC,OAAO,EACvB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
@@ -1,5 +1,5 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
- import { jsonRpcRequestor, rawTransactionStatus } from "../utils/utils.js";
2
+ import { jsonRpcRequestor } from "../utils/utils.js";
3
3
  const MAX_TIMEOUT_MS = 2_147_483_647;
4
4
  const DEFAULT_TIMEOUT_MS = 60_000;
5
5
  const DEFAULT_INTERVAL_MS = 2_000;
@@ -23,15 +23,16 @@ export class TransactionWaitError extends Error {
23
23
  }
24
24
  }
25
25
  /**
26
- * Observes one already-broadcast transaction for a single bounded window and returns
27
- * it once the node reports it committed.
26
+ * Observes one already-broadcast transaction for a single bounded window and resolves
27
+ * once the node reports it committed.
28
28
  *
29
29
  * @remarks Stack waits at depth zero. Actors rebuild next turn; the app can reopen a
30
30
  * window on the same hash without signing again. Callers needing deeper confirmation
31
31
  * must observe it separately.
32
- * Clients with a JSON-RPC requestor, the connector's composed client included, poll
33
- * `get_transaction` verbosity 1 directly because CCC's typed response discards a null
34
- * transaction body, including its rejection status. Body reads separately bypass the cache.
32
+ * The status is polled with raw `get_transaction` verbosity 1, since CCC's typed response
33
+ * discards a null transaction body and its rejection status; the client must be JSON-RPC,
34
+ * the connector's composed client included. The body is never read: no caller uses it,
35
+ * and the same node's word on it would verify nothing.
35
36
  * Timeout and abort also apply while awaiting client
36
37
  * operations, but the in-flight client operation receives no abort signal and may
37
38
  * finish after this function rejects. Nothing here mutates the client cache: later attempts rebuild
@@ -45,15 +46,13 @@ export async function waitTransaction(client, txHashLike, options = {}) {
45
46
  const txHash = ccc.hexFrom(txHashLike);
46
47
  signal?.throwIfAborted();
47
48
  const budget = openWaitWindow(timeout, signal);
48
- const poll = { client, txHash, budget };
49
49
  try {
50
50
  for (;;) {
51
- const committed = await readCommittedTransaction(poll);
52
- if (committed !== undefined) {
51
+ if (await isCommitted(client, txHash, budget)) {
53
52
  // An abort synchronized into the gap between the last read and this
54
53
  // return must not resolve the wait successfully.
55
54
  budget.throwIfStopped();
56
- return committed;
55
+ return;
57
56
  }
58
57
  if (Date.now() + interval >= budget.deadline) {
59
58
  throw budget.timeoutError;
@@ -146,59 +145,28 @@ async function pollingSleep(interval, budget) {
146
145
  clearTimeout(timer);
147
146
  }
148
147
  }
149
- async function readCommittedTransaction(poll) {
150
- const status = await readTransactionStatus(poll);
151
- assertNotRejected(poll.txHash, status);
152
- if (status.status !== "committed") {
153
- return undefined;
154
- }
155
- const response = status.response ?? (await readTransactionBody(poll));
156
- if (response === undefined) {
157
- return undefined;
158
- }
159
- assertNotRejected(poll.txHash, {
160
- status: response.status,
161
- reason: response.reason,
162
- });
163
- // Only a body that itself reports commitment counts: an uncached read may lag
164
- // or disagree with the status poll, and any other status is not commitment.
165
- return response.status === "committed" && response.blockNumber !== undefined
166
- ? response
167
- : undefined;
168
- }
169
- async function readTransactionStatus(poll) {
170
- const { client, txHash, budget } = poll;
148
+ async function isCommitted(client, txHash, budget) {
171
149
  const requestor = jsonRpcRequestor(client);
172
- if (requestor !== undefined) {
173
- // Raw verbosity-1 polling keeps a status-only rejection that CCC's typed
174
- // transaction response discards (its body is null, so CCC returns nothing).
175
- return rawTransactionStatus(await within(async () => requestor.request("get_transaction", [txHash, "0x1"]), budget));
176
- }
177
- const response = await readTransactionBody(poll);
178
- return response === undefined
179
- ? { status: undefined, reason: undefined }
180
- : { status: response.status, reason: response.reason, response };
181
- }
182
- async function readTransactionBody(poll) {
183
- const response = await within(async () => poll.client.getTransactionNoCache(poll.txHash), poll.budget);
184
- if (response === undefined) {
185
- return undefined;
186
- }
187
- try {
188
- // A generic client may return an unvalidated shape, and a body that cannot
189
- // be normalized is not evidence of commitment: keep the window polling.
190
- return ccc.ClientTransactionResponse.from(response);
191
- }
192
- catch {
193
- return undefined;
150
+ // Raw verbosity-1 polling keeps a status-only rejection that CCC's typed transaction
151
+ // response discards (its body is null, so CCC returns nothing).
152
+ const { status, reason } = rawTransactionStatus(await within(async () => requestor.request("get_transaction", [txHash, "0x1"]), budget));
153
+ if (status === "rejected") {
154
+ throw new TransactionWaitError(txHash, { status, reason });
194
155
  }
156
+ return status === "committed";
195
157
  }
196
- function assertNotRejected(txHash, status) {
197
- if (status.status === "rejected") {
198
- throw new TransactionWaitError(txHash, {
199
- status: status.status,
200
- reason: status.reason,
201
- });
202
- }
158
+ /** A node's raw `get_transaction` status record (verbosity 1), the fields read here. */
159
+ function rawTransactionStatus(response) {
160
+ const record = typeof response === "object" &&
161
+ response !== null &&
162
+ "tx_status" in response &&
163
+ typeof response.tx_status === "object" &&
164
+ response.tx_status !== null
165
+ ? response.tx_status
166
+ : {};
167
+ return {
168
+ status: "status" in record && typeof record.status === "string" ? record.status : undefined,
169
+ reason: "reason" in record && typeof record.reason === "string" ? record.reason : undefined,
170
+ };
203
171
  }
204
172
  //# sourceMappingURL=wait_transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wait_transaction.js","sourceRoot":"","sources":["../../src/send/wait_transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,MAAM,cAAc,GAAG,aAAa,CAAC;AACrC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC,iFAAiF;AACjF,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,8DAA8D;IAC9C,MAAM,CAAU;IAChC,4CAA4C;IAC5B,MAAM,CAAS;IAC/B,sDAAsD;IACtC,MAAM,CAAqB;IAE3C,yEAAyE;IACzE,YACE,MAAe,EACf,OAA2D;QAE3D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;QACtE,KAAK,CAAC,eAAe,MAAM,sBAAsB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAYD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAkB,EAClB,UAAuB,EACvB,OAAO,GAA2B,EAAE;IAEpC,MAAM,EACJ,OAAO,GAAG,kBAAkB,EAC5B,QAAQ,GAAG,mBAAmB,EAC9B,MAAM,GACP,GAAG,OAAO,CAAC;IACZ,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,EAAE,cAAc,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACxC,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,oEAAoE;gBACpE,iDAAiD;gBACjD,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC7C,MAAM,MAAM,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAsBD,SAAS,mBAAmB,CAAC,OAAe,EAAE,QAAgB;IAC5D,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChC,4EAA4E;IAC5E,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAAC,2BAA2B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY;IAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAA+B;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAS,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC,EAAE,OAAO,CAAC,CAAC;IACZ,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,0EAA0E;IAC1E,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC1C,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;QAC9B,YAAY;QACZ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,cAAc,EAAE,GAAS,EAAE;YACzB,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,KAAK,EAAE,GAAS,EAAE;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,0DAA0D;AAC5D,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B;IAClD,OAAO,MAAM,EAAE,MAAM,YAAY,KAAK;QACpC,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC,IAAI,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,MAAM,CAAI,SAA2B,EAAE,MAAkB;IACtE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,YAAY,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,4EAA4E;IAC5E,oEAAoE;IACpE,KAAK,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,8EAA8E;IAC9E,yDAAyD;IACzD,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,wEAAwE;IACxE,6DAA6D;IAC7D,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,YAAY,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAkB;IAC9D,IAAI,KAAgD,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC7C,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,IAAc;IAEd,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACjD,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IACH,8EAA8E;IAC9E,4EAA4E;IAC5E,OAAO,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;QAC1E,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAAc;IACjD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,yEAAyE;QACzE,4EAA4E;QAC5E,OAAO,oBAAoB,CACzB,MAAM,MAAM,CACV,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EACjE,MAAM,CACP,CACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;QAC1C,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,MAAM,CAC3B,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1D,IAAI,CAAC,MAAM,CACZ,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,2EAA2E;QAC3E,wEAAwE;QACxE,OAAO,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAe,EAAE,MAAyB;IACnE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,oBAAoB,CAAC,MAAM,EAAE;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"wait_transaction.js","sourceRoot":"","sources":["../../src/send/wait_transaction.ts"],"names":[],"mappings":"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"}
package/dist/udt.d.ts CHANGED
@@ -30,19 +30,16 @@ export declare const ICKB_DEPOSIT_CAP: bigint;
30
30
  export declare class IckbUdt {
31
31
  /** The iCKB xUDT type script. */
32
32
  readonly script: ccc.Script;
33
- /** Out point of the xUDT code cell used by this iCKB token. */
34
- readonly udtCode: ccc.OutPoint;
35
- /** Out point of the iCKB Logic code cell required by this token. */
36
- readonly logicCode: ccc.OutPoint;
33
+ /** The iCKB dep group, which also carries the xUDT and iCKB Logic code cells. */
34
+ readonly cellDeps: ccc.CellDep[];
37
35
  /** Logic script whose hash is embedded in this iCKB xUDT type script. */
38
36
  readonly logicScript: ccc.Script;
39
37
  /** The Nervos DAO script, to recognize the first-phase deposits a transaction re-mints. */
40
38
  readonly daoScript: ccc.Script;
41
39
  /** Creates an instance of IckbUdt from its code and script references. */
42
- constructor({ code, script, logicCode, logicScript, daoScript, }: {
43
- code: ccc.OutPointLike;
40
+ constructor({ script, cellDeps, logicScript, daoScript, }: {
44
41
  script: ccc.ScriptLike;
45
- logicCode: ccc.OutPointLike;
42
+ cellDeps: ccc.CellDepLike[];
46
43
  logicScript: ccc.ScriptLike;
47
44
  daoScript: ccc.ScriptLike;
48
45
  });
@@ -66,26 +63,14 @@ export declare class IckbUdt {
66
63
  */
67
64
  isUdt(cellLike: ccc.CellAnyLike): boolean;
68
65
  /**
69
- * Adds iCKB-specific cell dependencies to a transaction.
70
- *
71
- * Adds individual code deps (not dep group) for:
72
- * - xUDT code cell (this.udtCode)
73
- * - iCKB Logic code cell (this.logicCode)
74
- *
75
- * @param txLike - The transaction to add cell deps to.
76
- * @returns The transaction with cell deps added.
77
- */
78
- addCellDeps(txLike: ccc.TransactionLike): ccc.Transaction;
79
- /**
80
- * iCKB carried by the transaction's inputs: xUDT balances plus receipt value,
81
- * minus the first-phase deposits it re-mints. Final withdrawal inputs carry none.
82
- * The protocol cells are valued at their deposit headers, each read once.
66
+ * iCKB carried by the transaction's inputs: xUDT balances plus receipt value, minus the
67
+ * first-phase deposits it re-mints. Receipts and deposits take the value the state read
68
+ * gave them at their deposit headers; a protocol input missing from `protocolCells` is
69
+ * a builder bug and throws, since iCKB Logic would refuse whatever it was valued at.
83
70
  */
84
- inputBalance(tx: ccc.Transaction, client: ccc.Client): Promise<ccc.Num>;
85
- /** What a protocol input (receipt or first-phase deposit) is worth once its header is known. */
86
- private protocolValue;
87
- /** iCKB the transaction's outputs require. */
88
- outputBalance(tx: ccc.Transaction): ccc.Num;
71
+ inputBalance(tx: ccc.Transaction, client: ccc.Client, protocolCells: readonly ProtocolCell[]): Promise<ccc.Num>;
72
+ /** 1 for a receipt, -1 for a first-phase iCKB deposit, 0 for any other cell. */
73
+ private protocolSign;
89
74
  /** Adds the iCKB change output when the surplus is positive; zero needs no output. */
90
75
  addChange(tx: ccc.Transaction, lock: ccc.ScriptLike, balance: ccc.Num): void;
91
76
  }
@@ -97,15 +82,10 @@ export declare class IckbUdt {
97
82
  * excess amount.
98
83
  */
99
84
  export declare function ickbValue(ckbUnoccupiedCapacity: ccc.FixedPoint, header: ccc.ClientBlockHeader): ccc.FixedPoint;
100
- /**
101
- * Converts between CKB and iCKB based on an explicit ratio.
102
- *
103
- * @param isCkb2Udt - A boolean indicating the direction of conversion (CKB to iCKB or vice versa).
104
- * @param amount - The amount to convert.
105
- * @param ratio - The CKB and iCKB scales to use.
106
- * @returns The converted amount in the target unit as a `ccc.FixedPoint`.
107
- */
108
- export declare function convert(isCkb2Udt: boolean, amount: ccc.FixedPoint, ratio: ExchangeRatio): ccc.FixedPoint;
85
+ /** The iCKB worth `amount` CKB at `ratio`, rounded down. */
86
+ export declare function udtFromCkb(amount: ccc.FixedPoint, ratio: ExchangeRatio): ccc.FixedPoint;
87
+ /** The CKB worth `amount` iCKB at `ratio`, rounded down. */
88
+ export declare function ckbFromUdt(amount: ccc.FixedPoint, ratio: ExchangeRatio): ccc.FixedPoint;
109
89
  /**
110
90
  * Calculates the free-capacity accounting ratio at a block header.
111
91
  *
@@ -120,4 +100,9 @@ export declare function ickbAccountingRatio(header: ccc.ClientBlockHeader): Exch
120
100
  * over the 100,000 iCKB reference amount.
121
101
  */
122
102
  export declare function ickbExchangeRatio(header: ccc.ClientBlockHeader): ExchangeRatio;
103
+ /** A receipt or iCKB deposit with the iCKB value the state read gave it. */
104
+ export interface ProtocolCell {
105
+ cell: ccc.Cell;
106
+ udtValue: ccc.Num;
107
+ }
123
108
  //# sourceMappingURL=udt.d.ts.map
package/dist/udt.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"udt.d.ts","sourceRoot":"","sources":["../src/udt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"udt.d.ts","sourceRoot":"","sources":["../src/udt.ts"],"names":[],"mappings":"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"}
package/dist/udt.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { ccc, mol } from "@ckb-ccc/core";
2
2
  import { isDaoDeposit } from "./dao.js";
3
3
  import { CheckedUint128LE, CheckedUint32LE, CheckedUint64LE } from "./utils/codec.js";
4
- import { transactionHeaders } from "./utils/transaction_header.js";
5
4
  const ickbXudtTypeOccupiedSize = 69;
6
5
  const udtDataSize = 16;
7
6
  const AR_0 = 10000000000000000n; // Base scale for CKB
@@ -40,19 +39,16 @@ export const ICKB_DEPOSIT_CAP = ccc.fixedPointFrom(100000); // 100,000 iCKB
40
39
  export class IckbUdt {
41
40
  /** The iCKB xUDT type script. */
42
41
  script;
43
- /** Out point of the xUDT code cell used by this iCKB token. */
44
- udtCode;
45
- /** Out point of the iCKB Logic code cell required by this token. */
46
- logicCode;
42
+ /** The iCKB dep group, which also carries the xUDT and iCKB Logic code cells. */
43
+ cellDeps;
47
44
  /** Logic script whose hash is embedded in this iCKB xUDT type script. */
48
45
  logicScript;
49
46
  /** The Nervos DAO script, to recognize the first-phase deposits a transaction re-mints. */
50
47
  daoScript;
51
48
  /** Creates an instance of IckbUdt from its code and script references. */
52
- constructor({ code, script, logicCode, logicScript, daoScript, }) {
49
+ constructor({ script, cellDeps, logicScript, daoScript, }) {
53
50
  this.script = ccc.Script.from(script);
54
- this.udtCode = ccc.OutPoint.from(code);
55
- this.logicCode = ccc.OutPoint.from(logicCode);
51
+ this.cellDeps = cellDeps.map((cellDep) => ccc.CellDep.from(cellDep));
56
52
  this.logicScript = ccc.Script.from(logicScript);
57
53
  this.daoScript = ccc.Script.from(daoScript);
58
54
  }
@@ -85,89 +81,39 @@ export class IckbUdt {
85
81
  ccc.bytesFrom(cell.outputData).length >= udtDataSize);
86
82
  }
87
83
  /**
88
- * Adds iCKB-specific cell dependencies to a transaction.
89
- *
90
- * Adds individual code deps (not dep group) for:
91
- * - xUDT code cell (this.udtCode)
92
- * - iCKB Logic code cell (this.logicCode)
93
- *
94
- * @param txLike - The transaction to add cell deps to.
95
- * @returns The transaction with cell deps added.
96
- */
97
- addCellDeps(txLike) {
98
- const tx = ccc.Transaction.from(txLike);
99
- addCodeDep(tx, this.udtCode);
100
- addCodeDep(tx, this.logicCode);
101
- return tx;
102
- }
103
- /**
104
- * iCKB carried by the transaction's inputs: xUDT balances plus receipt value,
105
- * minus the first-phase deposits it re-mints. Final withdrawal inputs carry none.
106
- * The protocol cells are valued at their deposit headers, each read once.
84
+ * iCKB carried by the transaction's inputs: xUDT balances plus receipt value, minus the
85
+ * first-phase deposits it re-mints. Receipts and deposits take the value the state read
86
+ * gave them at their deposit headers; a protocol input missing from `protocolCells` is
87
+ * a builder bug and throws, since iCKB Logic would refuse whatever it was valued at.
107
88
  */
108
- async inputBalance(tx, client) {
109
- const cells = await Promise.all(tx.inputs.map(async (input) => {
110
- try {
111
- return await input.getCell(client);
112
- }
113
- catch (error) {
114
- throw new Error(`Failed to load input cell ${input.previousOutput.toHex()}`, {
115
- cause: error,
116
- });
117
- }
118
- }));
119
- const valued = cells.map((cell) => this.protocolValue(cell));
120
- const headers = await transactionHeaders(client, valued.flatMap((value) => (value === undefined ? [] : [value.txHash])));
89
+ async inputBalance(tx, client, protocolCells) {
90
+ const values = new Map(protocolCells.map(({ cell, udtValue }) => [cell.outPoint.toHex(), udtValue]));
121
91
  let balance = ccc.Zero;
122
- for (const [index, cell] of cells.entries()) {
123
- const value = valued[index];
92
+ for (const input of tx.inputs) {
93
+ const cell = await input.getCell(client);
124
94
  if (this.isUdt(cell)) {
125
- balance += decodeUdtBalance(cell.outputData);
95
+ balance += ccc.udtBalanceFrom(cell.outputData);
96
+ continue;
97
+ }
98
+ const sign = this.protocolSign(cell);
99
+ if (sign === 0n) {
100
+ continue;
126
101
  }
127
- else if (value !== undefined) {
128
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- every protocol cell's hash was read above.
129
- const header = headers.get(value.txHash);
130
- balance += value.sign * ickbValue(value.amount, header) * value.quantity;
102
+ const value = values.get(cell.outPoint.toHex());
103
+ if (value === undefined) {
104
+ throw new Error(`iCKB input ${cell.outPoint.toHex()} has no value from the state read`);
131
105
  }
106
+ balance += sign * value;
132
107
  }
133
108
  return balance;
134
109
  }
135
- /** What a protocol input (receipt or first-phase deposit) is worth once its header is known. */
136
- protocolValue(cell) {
137
- if (this.isUdt(cell) || cell.outPoint === undefined) {
138
- return undefined;
139
- }
110
+ /** 1 for a receipt, -1 for a first-phase iCKB deposit, 0 for any other cell. */
111
+ protocolSign(cell) {
140
112
  const { type, lock } = cell.cellOutput;
141
113
  if (type !== undefined && this.logicScript.eq(type)) {
142
- let receipt;
143
- try {
144
- receipt = decodeReceiptData(cell.outputData);
145
- }
146
- catch (error) {
147
- throw new Error(`Invalid iCKB receipt payload at ${cell.outPoint.toHex()}: ${cell.outputData}`, { cause: error });
148
- }
149
- return {
150
- txHash: cell.outPoint.txHash,
151
- amount: receipt.depositAmount,
152
- quantity: receipt.depositQuantity,
153
- sign: 1n,
154
- };
114
+ return 1n;
155
115
  }
156
- if (this.logicScript.eq(lock) && isDaoDeposit(cell, this.daoScript)) {
157
- return {
158
- txHash: cell.outPoint.txHash,
159
- amount: cell.capacityFree,
160
- quantity: 1n,
161
- sign: -1n,
162
- };
163
- }
164
- return undefined;
165
- }
166
- /** iCKB the transaction's outputs require. */
167
- outputBalance(tx) {
168
- return Array.from(tx.outputCells).reduce((required, cell) => {
169
- return this.isUdt(cell) ? required + decodeUdtBalance(cell.outputData) : required;
170
- }, ccc.Zero);
116
+ return this.logicScript.eq(lock) && isDaoDeposit(cell, this.daoScript) ? -1n : 0n;
171
117
  }
172
118
  /** Adds the iCKB change output when the surplus is positive; zero needs no output. */
173
119
  addChange(tx, lock, balance) {
@@ -177,15 +123,6 @@ export class IckbUdt {
177
123
  tx.addOutput({ lock, type: this.script }, CheckedUint128LE.encode(balance));
178
124
  }
179
125
  }
180
- function decodeUdtBalance(data) {
181
- return CheckedUint128LE.decode(ccc.bytesFrom(data).slice(0, udtDataSize));
182
- }
183
- function addCodeDep(tx, outPoint) {
184
- if (tx.cellDeps.some((dep) => dep.depType === "code" && dep.outPoint.eq(outPoint))) {
185
- return;
186
- }
187
- tx.addCellDeps({ outPoint, depType: "code" });
188
- }
189
126
  /**
190
127
  * Calculates iCKB value for unoccupied CKB capacity at a deposit header.
191
128
  *
@@ -194,28 +131,27 @@ function addCodeDep(tx, outPoint) {
194
131
  * excess amount.
195
132
  */
196
133
  export function ickbValue(ckbUnoccupiedCapacity, header) {
197
- let ickbAmount = convert(true, ckbUnoccupiedCapacity, ickbAccountingRatio(header));
134
+ let ickbAmount = udtFromCkb(ckbUnoccupiedCapacity, ickbAccountingRatio(header));
198
135
  if (ICKB_DEPOSIT_CAP < ickbAmount) {
199
136
  // Apply a 10% discount for the amount exceeding the soft iCKB cap per deposit.
200
137
  ickbAmount -= (ickbAmount - ICKB_DEPOSIT_CAP) / 10n;
201
138
  }
202
139
  return ickbAmount;
203
140
  }
204
- /**
205
- * Converts between CKB and iCKB based on an explicit ratio.
206
- *
207
- * @param isCkb2Udt - A boolean indicating the direction of conversion (CKB to iCKB or vice versa).
208
- * @param amount - The amount to convert.
209
- * @param ratio - The CKB and iCKB scales to use.
210
- * @returns The converted amount in the target unit as a `ccc.FixedPoint`.
211
- */
212
- export function convert(isCkb2Udt, amount, ratio) {
213
- if (ratio.ckbScale <= 0n || ratio.udtScale <= 0n) {
141
+ /** The iCKB worth `amount` CKB at `ratio`, rounded down. */
142
+ export function udtFromCkb(amount, ratio) {
143
+ assertPositive(ratio);
144
+ return (amount * ratio.ckbScale) / ratio.udtScale;
145
+ }
146
+ /** The CKB worth `amount` iCKB at `ratio`, rounded down. */
147
+ export function ckbFromUdt(amount, ratio) {
148
+ assertPositive(ratio);
149
+ return (amount * ratio.udtScale) / ratio.ckbScale;
150
+ }
151
+ function assertPositive({ ckbScale, udtScale }) {
152
+ if (ckbScale <= 0n || udtScale <= 0n) {
214
153
  throw new Error("Exchange ratio scales must be positive");
215
154
  }
216
- return isCkb2Udt
217
- ? (amount * ratio.ckbScale) / ratio.udtScale
218
- : (amount * ratio.udtScale) / ratio.ckbScale;
219
155
  }
220
156
  /**
221
157
  * Calculates the free-capacity accounting ratio at a block header.
package/dist/udt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"udt.js","sourceRoot":"","sources":["../src/udt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"udt.js","sourceRoot":"","sources":["../src/udt.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,3 @@
1
- import type { ccc } from "@ckb-ccc/core";
2
1
  /** Public CKB networks supported by Stack consumers. */
3
2
  export type SupportedChain = "mainnet" | "testnet";
4
- /** Canonical public identity of one supported CKB network. */
5
- export interface ChainIdentity {
6
- /** Stack network selector represented by this identity. */
7
- readonly chain: SupportedChain;
8
- /** CKB specification network name. */
9
- readonly networkName: string;
10
- /** Canonical genesis block hash. */
11
- readonly genesisHash: ccc.Hex;
12
- /** Canonical genesis message used by the CKB specification. */
13
- readonly genesisMessage: string;
14
- /** Public specification location from which the genesis identity was derived. */
15
- readonly genesisSource: string;
16
- /** Canonical address prefix for this network. */
17
- readonly addressPrefix: "ckb" | "ckt";
18
- }
19
- /** The immutable canonical identity of each supported chain. */
20
- export declare const chainIdentities: Readonly<{
21
- readonly mainnet: Readonly<{
22
- chain: "mainnet";
23
- networkName: "ckb";
24
- genesisHash: "0x92b197aa1fba0f63633922c61c92375c9c074a93e85963554f5499fe1450d0e5";
25
- genesisMessage: "lina 0x18e020f6b1237a3d06b75121f25a7efa0550e4b3f44f974822f471902424c104";
26
- genesisSource: "https://raw.githubusercontent.com/nervosnetwork/ckb/develop/resource/specs/mainnet.toml";
27
- addressPrefix: "ckb";
28
- }>;
29
- readonly testnet: Readonly<{
30
- chain: "testnet";
31
- networkName: "ckb_testnet";
32
- genesisHash: "0x10639e0895502b5688a6be8cf69460d76541bfa4821629d86d62ba0aae3f9606";
33
- genesisMessage: "aggron-v4";
34
- genesisSource: "https://raw.githubusercontent.com/nervosnetwork/ckb/develop/resource/specs/testnet.toml";
35
- addressPrefix: "ckt";
36
- }>;
37
- }>;
38
3
  //# sourceMappingURL=chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/utils/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,KAAK,CAAC;CACvC;AAED,gEAAgE;AAChE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;EAoB+B,CAAC"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/utils/chain.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC"}