@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":"types.d.ts","sourceRoot":"","sources":["../../src/conversion/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/conversion/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
- import type { ccc } from "@ckb-ccc/core";
1
+ import { ccc } from "@ckb-ccc/core";
2
2
  import type { IckbDepositCell } from "../logic.js";
3
3
  /**
4
4
  * Ring segment of pool deposits grouped by maturity around the DAO cycle.
5
5
  */
6
6
  export interface RingSegment {
7
- /** Segment index in the ring. */
8
- index: number;
9
7
  /** Deposits assigned to this segment. */
10
8
  deposits: IckbDepositCell[];
11
9
  /** Total iCKB value of deposits in this segment. */
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawal_ring.d.ts","sourceRoot":"","sources":["../../src/conversion/withdrawal_ring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,yCAAyC;IACzC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAE5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,GAAG,WAAW,EAAE,CAuBpF;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAS/E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,SAAS,eAAe,EAAE,EACxC,KAAK,EAAE,SAAS,eAAe,EAAE,GAChC,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAevC;AAcD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,eAAe,EAAE,EACtC,SAAS,EAAE,MAAM,GAChB,eAAe,EAAE,CAcnB;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,eAAe,EAAE,CAEnF"}
1
+ {"version":3,"file":"withdrawal_ring.d.ts","sourceRoot":"","sources":["../../src/conversion/withdrawal_ring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAE5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,GAAG,WAAW,EAAE,CAsBpF;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAS/E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,SAAS,eAAe,EAAE,EACxC,KAAK,EAAE,SAAS,eAAe,EAAE,GAChC,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAevC;AAcD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,eAAe,EAAE,EACtC,SAAS,EAAE,MAAM,GAChB,eAAe,EAAE,CAcnB;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,eAAe,EAAE,CAEnF"}
@@ -1,4 +1,5 @@
1
- import { DAO_CYCLE_EPOCHS, DAO_OUTPUT_LIMIT } from "../dao.js";
1
+ import { ccc } from "@ckb-ccc/core";
2
+ import { DAO_OUTPUT_LIMIT } from "../dao.js";
2
3
  import { ICKB_DEPOSIT_CAP } from "../udt.js";
3
4
  /**
4
5
  * Splits pool deposits into power-of-two maturity ring segments, one segment per two
@@ -12,8 +13,7 @@ export function ringSegments(poolDeposits) {
12
13
  while (BigInt(segmentCount) * 2n * ICKB_DEPOSIT_CAP < totalUdt) {
13
14
  segmentCount *= 2;
14
15
  }
15
- const segments = Array.from({ length: segmentCount }, (_, index) => ({
16
- index,
16
+ const segments = Array.from({ length: segmentCount }, () => ({
17
17
  deposits: [],
18
18
  udtValue: 0n,
19
19
  }));
@@ -33,7 +33,7 @@ export function ringSegmentIndex(epoch, segmentCount) {
33
33
  throw new Error("Epoch denominator must be positive");
34
34
  }
35
35
  const scaled = epoch.integer * denominator + epoch.numerator;
36
- const ring = DAO_CYCLE_EPOCHS * denominator;
36
+ const ring = ccc.Epoch.OneNervosDaoCycle.integer * denominator;
37
37
  const wrapped = ((scaled % ring) + ring) % ring;
38
38
  return Number((wrapped * BigInt(segmentCount)) / ring);
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawal_ring.js","sourceRoot":"","sources":["../../src/conversion/withdrawal_ring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"withdrawal_ring.js","sourceRoot":"","sources":["../../src/conversion/withdrawal_ring.ts"],"names":[],"mappings":"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"}
package/dist/dao.d.ts CHANGED
@@ -11,8 +11,6 @@ export declare const DAO_OUTPUT_LIMIT = 64;
11
11
  * nervosnetwork/rfcs pull 456).
12
12
  */
13
13
  export declare const DAO_HEADER_INDEX_LIMIT = 256;
14
- /** One DAO cycle, the lock-up a deposit renews by when it is not withdrawn. */
15
- export declare const DAO_CYCLE_EPOCHS = 180n;
16
14
  /**
17
15
  * Error thrown when a transaction exceeds the deployed DAO script's output limit.
18
16
  */
@@ -38,8 +36,8 @@ export declare class DaoHeaderIndexError extends Error {
38
36
  * cannot be known, and the completion walk steps a plan down on this error either way.
39
37
  */
40
38
  export declare function assertDaoOutputLimit(txLike: ccc.TransactionLike, daoScriptLike: ccc.ScriptLike): void;
41
- /** The canonical DAO deposit data payload. */
42
- export declare function depositData(): ccc.Hex;
39
+ /** The canonical DAO deposit data payload: a zero Uint64, eight zero bytes. */
40
+ export declare const DAO_DEPOSIT_DATA: ccc.Hex;
43
41
  /** Whether the cell is a DAO deposit of the given DAO script. */
44
42
  export declare function isDaoDeposit(cell: ccc.CellAny, daoScript: ccc.Script): boolean;
45
43
  /**
@@ -71,6 +69,14 @@ export declare const BOT_LOCK_UP: LockUpPolicy;
71
69
  * sent while ninety minutes remain. A user may leave the request in a wallet popup.
72
70
  */
73
71
  export declare const WALLET_LOCK_UP: LockUpPolicy;
72
+ /**
73
+ * How far a tip may trail the local clock under a policy: the selection margin less the
74
+ * broadcast reserve, the slack a stale tip would eat before a request commits after its
75
+ * claim. Five minutes for the bot, thirty for a wallet.
76
+ */
77
+ export declare function tipMaxAgeMs(policy: LockUpPolicy): number;
78
+ /** Throws when `header` trails the local clock by more than `maxAgeMs`. */
79
+ export declare function assertFresh(header: ccc.ClientBlockHeader, maxAgeMs: number): void;
74
80
  /** A deposit's maturity, rolled a cycle when its claim is too close, and whether it is ready. */
75
81
  export declare function depositMaturity(claim: ccc.Epoch, tip: ccc.ClientBlockHeader, { minLockUp, maxLockUp }: LockUpPolicy): {
76
82
  maturity: ccc.Epoch;
@@ -80,7 +86,15 @@ export declare function depositMaturity(claim: ccc.Epoch, tip: ccc.ClientBlockHe
80
86
  * The epoch a transaction requesting these deposits must be broadcast before: the earliest
81
87
  * claim less the reserve; undefined when it requests none.
82
88
  */
83
- export declare function broadcastDeadline(claims: readonly ccc.Epoch[], { broadcastReserve }: LockUpPolicy): ccc.Epoch | undefined;
89
+ export declare function broadcastDeadline(claims: readonly ccc.Epoch[], policy: LockUpPolicy): BroadcastDeadline | undefined;
90
+ /**
91
+ * The epoch a withdrawal request must be broadcast before, and how far the tip read to
92
+ * check it may trail the clock, the policy's slack: a stale tip would pass the check late.
93
+ */
94
+ export interface BroadcastDeadline {
95
+ epoch: ccc.Epoch;
96
+ tipMaxAgeMs: number;
97
+ }
84
98
  /** Adds the header dep once. */
85
99
  export declare function pushHeaderDep(tx: ccc.Transaction, hash: ccc.Hex): void;
86
100
  //# sourceMappingURL=dao.d.ts.map
package/dist/dao.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dao.d.ts","sourceRoot":"","sources":["../src/dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGpC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C;;OAEG;IACH,YAAY,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAMtD;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C;;OAEG;IACH,YAAY,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAMtD;CACF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,CAAC,eAAe,EAC3B,aAAa,EAAE,GAAG,CAAC,UAAU,GAC5B,IAAI,CAeN;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,IAAI,GAAG,CAAC,GAAG,CAErC;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAI9E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,GAAG,CAAC,OAAO,EACjB,SAAS,EAAE,GAAG,CAAC,MAAM,GACpB,OAAO,CAIT;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC,KAAK,CAAC;CAC7B;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,YAIzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,YAI5B,CAAC;AAEF,iGAAiG;AACjG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,GAAG,EAAE,GAAG,CAAC,iBAAiB,EAC1B,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,YAAY,GACrC;IAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAM3C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,EAC5B,EAAE,gBAAgB,EAAE,EAAE,YAAY,GACjC,GAAG,CAAC,KAAK,GAAG,SAAS,CAMvB;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAItE"}
1
+ {"version":3,"file":"dao.d.ts","sourceRoot":"","sources":["../src/dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C;;OAEG;IACH,YAAY,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAMtD;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C;;OAEG;IACH,YAAY,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAMtD;CACF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,CAAC,eAAe,EAC3B,aAAa,EAAE,GAAG,CAAC,UAAU,GAC5B,IAAI,CAeN;AAED,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,GAA0B,CAAC;AAE9D,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAI9E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,GAAG,CAAC,OAAO,EACjB,SAAS,EAAE,GAAG,CAAC,MAAM,GACpB,OAAO,CAIT;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC,KAAK,CAAC;CAC7B;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,YAIzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,YAI5B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAKxD;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIjF;AAED,iGAAiG;AACjG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,GAAG,EAAE,GAAG,CAAC,iBAAiB,EAC1B,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,YAAY,GACrC;IAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAM3C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,EAC5B,MAAM,EAAE,YAAY,GACnB,iBAAiB,GAAG,SAAS,CAQ/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAItE"}
package/dist/dao.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
- import { CheckedUint64LE } from "./utils/codec.js";
3
2
  /**
4
3
  * Maximum outputs accepted by deployed dao.c, not a general CKB consensus cap.
5
4
  * A node upgrade cannot lift a limit in that deployed script.
@@ -12,8 +11,6 @@ export const DAO_OUTPUT_LIMIT = 64;
12
11
  * nervosnetwork/rfcs pull 456).
13
12
  */
14
13
  export const DAO_HEADER_INDEX_LIMIT = 256;
15
- /** One DAO cycle, the lock-up a deposit renews by when it is not withdrawn. */
16
- export const DAO_CYCLE_EPOCHS = 180n;
17
14
  /**
18
15
  * Error thrown when a transaction exceeds the deployed DAO script's output limit.
19
16
  */
@@ -55,20 +52,18 @@ export function assertDaoOutputLimit(txLike, daoScriptLike) {
55
52
  throw new DaoOutputLimitError(tx.outputs.length);
56
53
  }
57
54
  }
58
- /** The canonical DAO deposit data payload. */
59
- export function depositData() {
60
- return ccc.hexFrom(CheckedUint64LE.encode(0n));
61
- }
55
+ /** The canonical DAO deposit data payload: a zero Uint64, eight zero bytes. */
56
+ export const DAO_DEPOSIT_DATA = "0x0000000000000000";
62
57
  /** Whether the cell is a DAO deposit of the given DAO script. */
63
58
  export function isDaoDeposit(cell, daoScript) {
64
- return (cell.outputData === depositData() && cell.cellOutput.type?.eq(daoScript) === true);
59
+ return (cell.outputData === DAO_DEPOSIT_DATA && cell.cellOutput.type?.eq(daoScript) === true);
65
60
  }
66
61
  /**
67
62
  * Whether the cell uses the DAO script and is not deposit-shaped. This structural check
68
63
  * does not decode the withdrawal request's deposit block number payload.
69
64
  */
70
65
  export function isDaoWithdrawalRequest(cell, daoScript) {
71
- return (cell.outputData !== depositData() && cell.cellOutput.type?.eq(daoScript) === true);
66
+ return (cell.outputData !== DAO_DEPOSIT_DATA && cell.cellOutput.type?.eq(daoScript) === true);
72
67
  }
73
68
  /**
74
69
  * The bot's rules on the nominal four-hour epoch: claims twenty minutes to an hour out,
@@ -89,10 +84,25 @@ export const WALLET_LOCK_UP = {
89
84
  maxLockUp: ccc.Epoch.from([18n, 0n, 1n]),
90
85
  broadcastReserve: ccc.Epoch.from([0n, 3n, 8n]),
91
86
  };
87
+ /**
88
+ * How far a tip may trail the local clock under a policy: the selection margin less the
89
+ * broadcast reserve, the slack a stale tip would eat before a request commits after its
90
+ * claim. Five minutes for the bot, thirty for a wallet.
91
+ */
92
+ export function tipMaxAgeMs(policy) {
93
+ // The span from the reserve to the margin, on CCC's nominal four-hour epoch.
94
+ return Number(policy.minLockUp.toUnix({ epoch: policy.broadcastReserve, timestamp: 0n }));
95
+ }
96
+ /** Throws when `header` trails the local clock by more than `maxAgeMs`. */
97
+ export function assertFresh(header, maxAgeMs) {
98
+ if (BigInt(Date.now()) - header.timestamp > BigInt(maxAgeMs)) {
99
+ throw new Error(`Block ${header.hash} is more than ${String(maxAgeMs)} ms old`);
100
+ }
101
+ }
92
102
  /** A deposit's maturity, rolled a cycle when its claim is too close, and whether it is ready. */
93
103
  export function depositMaturity(claim, tip, { minLockUp, maxLockUp }) {
94
104
  const maturity = claim.compare(minLockUp.add(tip.epoch)) <= 0
95
- ? claim.add([DAO_CYCLE_EPOCHS, 0n, 1n])
105
+ ? claim.add(ccc.Epoch.OneNervosDaoCycle)
96
106
  : claim;
97
107
  return { maturity, isReady: maxLockUp.add(tip.epoch).compare(maturity) > 0 };
98
108
  }
@@ -100,9 +110,11 @@ export function depositMaturity(claim, tip, { minLockUp, maxLockUp }) {
100
110
  * The epoch a transaction requesting these deposits must be broadcast before: the earliest
101
111
  * claim less the reserve; undefined when it requests none.
102
112
  */
103
- export function broadcastDeadline(claims, { broadcastReserve }) {
113
+ export function broadcastDeadline(claims, policy) {
104
114
  const earliest = claims.reduce((best, claim) => (best === undefined || claim.compare(best) < 0 ? claim : best), undefined);
105
- return earliest?.sub(broadcastReserve);
115
+ return earliest === undefined
116
+ ? undefined
117
+ : { epoch: earliest.sub(policy.broadcastReserve), tipMaxAgeMs: tipMaxAgeMs(policy) };
106
118
  }
107
119
  /** Adds the header dep once. */
108
120
  export function pushHeaderDep(tx, hash) {
package/dist/dao.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dao.js","sourceRoot":"","sources":["../src/dao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dao.js","sourceRoot":"","sources":["../src/dao.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,13 +12,11 @@ import type { SupportedChain } from "./utils/chain.js";
12
12
  /** The SDK an integrator drives: the state read and the conversion builder. */
13
13
  export interface IckbSdk {
14
14
  /** Builds and completes a conversion, or returns a typed planning failure. */
15
- buildConversionTransaction: (txLike: ccc.TransactionLike, options: ConversionTransactionOptions) => Promise<ConversionTransactionResult>;
16
- /** Reads system, user-order, and account state against one sampled tip, under one timing policy. */
17
- getL1AccountState: (client: ccc.Client, locks: ccc.Script[], lockUp: LockUpPolicy) => Promise<{
15
+ buildConversionTransaction: (options: ConversionTransactionOptions) => Promise<ConversionTransactionResult>;
16
+ /** Reads system, user-order, and account state at the sampled tip's parent, under one timing policy. */
17
+ getL1AccountState: (client: ccc.Client, locks: ccc.Script[], lockUp: LockUpPolicy, maxFeeRate?: ccc.NumLike) => Promise<{
18
18
  system: SystemState;
19
- user: {
20
- orders: OrderGroup[];
21
- };
19
+ userOrders: OrderGroup[];
22
20
  account: AccountState;
23
21
  }>;
24
22
  }
@@ -28,25 +26,25 @@ export declare const IckbSdk: {
28
26
  };
29
27
  export { DEFAULT_ORDER_FEE, DEFAULT_ORDER_FEE_BASE } from "./conversion/estimate.js";
30
28
  export { projectConversionTransactionContext } from "./conversion/projection.js";
31
- export type { AccountAvailabilityProjection, AccountState, ConversionDirection, ConversionMetadata, ConversionNotice, ConversionTransactionContext, ConversionTransactionContextProjection, ConversionTransactionFailureReason, ConversionTransactionOptions, ConversionTransactionResult, SystemState, } from "./conversion/types.js";
29
+ export type { AccountAvailabilityProjection, AccountState, ConversionDirection, ConversionKind, ConversionNotice, ConversionTransactionContext, ConversionTransactionContextProjection, ConversionTransactionFailureReason, ConversionTransactionOptions, ConversionTransactionResult, SystemState, } from "./conversion/types.js";
32
30
  export { WALLET_LOCK_UP } from "./dao.js";
33
- export type { LockUpPolicy } from "./dao.js";
31
+ export type { BroadcastDeadline, LockUpPolicy } from "./dao.js";
34
32
  export type { IckbDepositCell, ReceiptCell } from "./logic.js";
35
33
  export type { MasterCell, OrderCell, OrderGroup } from "./order/cells.js";
36
34
  export { OrderConversionRepresentabilityError, quoteConversion, } from "./order/conversion.js";
37
- export { isRefused, isStale } from "./order/fill.js";
38
35
  export type { Info, InfoLike } from "./order/info.js";
39
36
  export type { Master, MasterLike } from "./order/master.js";
40
37
  export type { OrderData, OrderDataLike } from "./order/order_data.js";
41
38
  export { Ratio } from "./order/ratio.js";
42
39
  export type { Relative, RelativeLike } from "./order/relative.js";
43
40
  export type { DaoWithdrawalRequestCell, OwnerCell, WithdrawalGroup, } from "./owned_owner.js";
44
- export { hasTransactionActivity, IckbError } from "./sdk.js";
41
+ export { IckbError } from "./sdk.js";
45
42
  export type { IckbErrorCode } from "./sdk.js";
46
43
  export { signAndSendTransaction, signerAccountLocks, TransactionBroadcastError, TransactionExpiredError, } from "./send/sign_and_send_transaction.js";
47
44
  export { TransactionWaitError, waitTransaction } from "./send/wait_transaction.js";
48
45
  export type { WaitTransactionOptions } from "./send/wait_transaction.js";
49
46
  export { ickbExchangeRatio } from "./udt.js";
50
47
  export type { SupportedChain } from "./utils/chain.js";
51
- export type { ExchangeRatio, TransactionHeader, ValueComponents } from "./utils/utils.js";
48
+ export { clientCache } from "./utils/utils.js";
49
+ export type { ExchangeRatio, ValueComponents } from "./utils/utils.js";
52
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EACV,YAAY,EACZ,4BAA4B,EAC5B,2BAA2B,EAC3B,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,+EAA+E;AAC/E,MAAM,WAAW,OAAO;IACtB,8EAA8E;IAC9E,0BAA0B,EAAE,CAC1B,MAAM,EAAE,GAAG,CAAC,eAAe,EAC3B,OAAO,EAAE,4BAA4B,KAClC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC1C,oGAAoG;IACpG,iBAAiB,EAAE,CACjB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EACnB,MAAM,EAAE,YAAY,KACjB,OAAO,CAAC;QACX,MAAM,EAAE,WAAW,CAAC;QACpB,IAAI,EAAE;YAAE,MAAM,EAAE,UAAU,EAAE,CAAA;SAAE,CAAC;QAC/B,OAAO,EAAE,YAAY,CAAC;KACvB,CAAC,CAAC;CACJ;AAED,kDAAkD;AAElD,eAAO,MAAM,OAAO,EAAE;IAAE,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAA;CAAiB,CAAC;AAEvF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AACjF,YAAY,EACV,6BAA6B,EAC7B,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,sCAAsC,EACtC,kCAAkC,EAClC,4BAA4B,EAC5B,2BAA2B,EAC3B,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,oCAAoC,EACpC,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EACV,wBAAwB,EACxB,SAAS,EACT,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACnF,YAAY,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,10 +12,10 @@ export { DEFAULT_ORDER_FEE, DEFAULT_ORDER_FEE_BASE } from "./conversion/estimate
12
12
  export { projectConversionTransactionContext } from "./conversion/projection.js";
13
13
  export { WALLET_LOCK_UP } from "./dao.js";
14
14
  export { OrderConversionRepresentabilityError, quoteConversion, } from "./order/conversion.js";
15
- export { isRefused, isStale } from "./order/fill.js";
16
15
  export { Ratio } from "./order/ratio.js";
17
- export { hasTransactionActivity, IckbError } from "./sdk.js";
16
+ export { IckbError } from "./sdk.js";
18
17
  export { signAndSendTransaction, signerAccountLocks, TransactionBroadcastError, TransactionExpiredError, } from "./send/sign_and_send_transaction.js";
19
18
  export { TransactionWaitError, waitTransaction } from "./send/wait_transaction.js";
20
19
  export { ickbExchangeRatio } from "./udt.js";
20
+ export { clientCache } from "./utils/utils.js";
21
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAsBnD,kDAAkD;AAClD,wIAAwI;AACxI,MAAM,CAAC,MAAM,OAAO,GAAsD,YAAY,CAAC;AAEvF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAcjF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,OAAO,EACL,oCAAoC,EACpC,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOzC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAsBnD,kDAAkD;AAClD,wIAAwI;AACxI,MAAM,CAAC,MAAM,OAAO,GAAsD,YAAY,CAAC;AAEvF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAcjF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,OAAO,EACL,oCAAoC,EACpC,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/logic.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
2
  import { type LockUpPolicy } from "./dao.js";
3
- import { type ScriptDeps, type TransactionHeader, type ValueComponents } from "./utils/utils.js";
3
+ import { type ScannedCell, type ScriptDeps, type ValueComponents } from "./utils/utils.js";
4
4
  /**
5
5
  * A live iCKB deposit: a DAO deposit cell locked by the iCKB Logic script, valued at its
6
6
  * deposit header.
@@ -8,10 +8,8 @@ import { type ScriptDeps, type TransactionHeader, type ValueComponents } from ".
8
8
  export interface IckbDepositCell extends ValueComponents {
9
9
  /** The DAO deposit cell. */
10
10
  cell: ccc.Cell;
11
- /** The deposit header and the tip the readiness was judged against. */
12
- headers: [TransactionHeader, TransactionHeader];
13
- /** The DAO interest accrued between the two headers. */
14
- interests: ccc.Num;
11
+ /** The header of the block that committed the deposit, which values it. */
12
+ header: ccc.ClientBlockHeader;
15
13
  /**
16
14
  * The DAO claim epoch as sampled at the tip, not rolled: each reader judges it against
17
15
  * its own {@link LockUpPolicy} with `depositMaturity`.
@@ -24,8 +22,8 @@ export interface IckbDepositCell extends ValueComponents {
24
22
  export interface ReceiptCell extends ValueComponents {
25
23
  /** The cell associated with the receipt. */
26
24
  cell: ccc.Cell;
27
- /** The header of the transaction that made the deposits. */
28
- header: TransactionHeader;
25
+ /** The header of the block that committed the deposits, which values them. */
26
+ header: ccc.ClientBlockHeader;
29
27
  }
30
28
  /**
31
29
  * Manages logic related to deposits and receipts in the blockchain.
@@ -47,8 +45,8 @@ export declare class LogicManager implements ScriptDeps {
47
45
  * Adds `depositQuantity` DAO deposits of `depositCapacity` locked by the logic script,
48
46
  * then the receipt that mints their iCKB in phase 2, locked by `lock`.
49
47
  *
50
- * @remarks Caller must ensure UDT cellDeps are added to the transaction
51
- * (e.g., via ickbUdt.addCellDeps(tx)).
48
+ * @remarks Completion (`IckbSdk.completeTransaction`) adds the dep group that also
49
+ * resolves the xUDT script.
52
50
  */
53
51
  deposit(txLike: ccc.TransactionLike, depositQuantity: number, depositCapacity: ccc.FixedPoint, lock: ccc.Script): ccc.Transaction;
54
52
  /**
@@ -61,19 +59,17 @@ export declare class LogicManager implements ScriptDeps {
61
59
  /**
62
60
  * The receipts among `cells`, valued at their deposit headers, each header read once.
63
61
  */
64
- receiptsFrom(client: ccc.Client, cells: readonly ccc.Cell[]): Promise<ReceiptCell[]>;
62
+ receiptsFrom(client: ccc.Client, cells: readonly ScannedCell[]): Promise<ReceiptCell[]>;
65
63
  /**
66
64
  * Every live iCKB deposit, valued at its deposit header, with its claim epoch at the tip;
67
- * each deposit transaction's header is read once.
65
+ * each deposit block's header is read once.
68
66
  */
69
67
  findDeposits(client: ccc.Client, tip: ccc.ClientBlockHeader): Promise<IckbDepositCell[]>;
70
68
  }
71
- /** Values a DAO deposit cell at its deposit header and samples its claim epoch at the tip. */
72
- export declare function ickbDepositCell(cell: ccc.Cell, depositHeader: TransactionHeader, tip: ccc.ClientBlockHeader): IckbDepositCell;
73
69
  /** The deposits a withdrawal request made now may claim at their sampled dates under the policy. */
74
70
  export declare function readyDeposits(deposits: readonly IckbDepositCell[], tip: ccc.ClientBlockHeader, policy: LockUpPolicy): IckbDepositCell[];
75
71
  /** Decodes a receipt cell and values it at its deposit header. */
76
- export declare function receiptCell(cell: ccc.Cell, header: TransactionHeader): ReceiptCell;
72
+ export declare function receiptCell(cell: ccc.Cell, header: ccc.ClientBlockHeader): ReceiptCell;
77
73
  /**
78
74
  * Returns the CKB needed for the two phase-2 outputs created by one receipt.
79
75
  *
@@ -1 +1 @@
1
- {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAUlB,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAO1B;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,4BAA4B;IAC5B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;IACf,uEAAuE;IACvE,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAChD,wDAAwD;IACxD,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC;IACnB;;;OAGG;IACH,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,4CAA4C;IAC5C,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;IACf,4DAA4D;IAC5D,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,UAAU;IAC7C,uEAAuE;IACvE,SAAgB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IAEnC,mEAAmE;IACnE,SAAgB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAExC,oEAAoE;IACpE,SAAgB,GAAG,EAAE,UAAU,CAAC;IAEhC,iFAAiF;IACjF,YAAY,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAIvE;IAED,8FAA8F;IACvF,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAKxC;IAED,oEAAoE;IAC7D,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAExC;IAED;;;;;;OAMG;IACI,OAAO,CACZ,MAAM,EAAE,GAAG,CAAC,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,GAAG,CAAC,UAAU,EAC/B,IAAI,EAAE,GAAG,CAAC,MAAM,GACf,GAAG,CAAC,WAAW,CA0CjB;IAED;;;;;OAKG;IACI,eAAe,CACpB,MAAM,EAAE,GAAG,CAAC,eAAe,EAC3B,QAAQ,EAAE,WAAW,EAAE,GACtB,GAAG,CAAC,WAAW,CAwBjB;IAED;;OAEG;IACU,YAAY,CACvB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,KAAK,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE,GACzB,OAAO,CAAC,WAAW,EAAE,CAAC,CAWxB;IAED;;;OAGG;IACU,YAAY,CACvB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,GAAG,EAAE,GAAG,CAAC,iBAAiB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAuB5B;CACF;AAED,8FAA8F;AAC9F,wBAAgB,eAAe,CAC7B,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,aAAa,EAAE,iBAAiB,EAChC,GAAG,EAAE,GAAG,CAAC,iBAAiB,GACzB,eAAe,CAUjB;AAED,oGAAoG;AACpG,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,GAAG,EAAE,GAAG,CAAC,iBAAiB,EAC1B,MAAM,EAAE,YAAY,GACnB,eAAe,EAAE,CAInB;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAgBlF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,UAAU,CAKtE"}
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AASlB,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAO1B;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,4BAA4B;IAC5B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;IACf,2EAA2E;IAC3E,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAC9B;;;OAGG;IACH,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,4CAA4C;IAC5C,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;IACf,8EAA8E;IAC9E,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,UAAU;IAC7C,uEAAuE;IACvE,SAAgB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IAEnC,mEAAmE;IACnE,SAAgB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAExC,oEAAoE;IACpE,SAAgB,GAAG,EAAE,UAAU,CAAC;IAEhC,iFAAiF;IACjF,YAAY,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAIvE;IAED,8FAA8F;IACvF,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAKxC;IAED,oEAAoE;IAC7D,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAExC;IAED;;;;;;OAMG;IACI,OAAO,CACZ,MAAM,EAAE,GAAG,CAAC,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,GAAG,CAAC,UAAU,EAC/B,IAAI,EAAE,GAAG,CAAC,MAAM,GACf,GAAG,CAAC,WAAW,CAwCjB;IAED;;;;;OAKG;IACI,eAAe,CACpB,MAAM,EAAE,GAAG,CAAC,eAAe,EAC3B,QAAQ,EAAE,WAAW,EAAE,GACtB,GAAG,CAAC,WAAW,CAmBjB;IAED;;OAEG;IACU,YAAY,CACvB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,KAAK,EAAE,SAAS,WAAW,EAAE,GAC5B,OAAO,CAAC,WAAW,EAAE,CAAC,CAUxB;IAED;;;OAGG;IACU,YAAY,CACvB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,GAAG,EAAE,GAAG,CAAC,iBAAiB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAsB5B;CACF;AAkBD,oGAAoG;AACpG,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,GAAG,EAAE,GAAG,CAAC,iBAAiB,EAC1B,MAAM,EAAE,YAAY,GACnB,eAAe,EAAE,CAInB;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,GAAG,WAAW,CAgBtF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,UAAU,CAKtE"}
package/dist/logic.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
- import { assertDaoOutputLimit, DaoOutputLimitError, depositData, depositMaturity, isDaoDeposit, pushHeaderDep, } from "./dao.js";
2
+ import { assertDaoOutputLimit, DAO_DEPOSIT_DATA, DaoOutputLimitError, depositMaturity, isDaoDeposit, pushHeaderDep, } from "./dao.js";
3
3
  import { decodeReceiptData, encodeReceiptData, IckbUdt, ickbValue, receiptDataBytes, } from "./udt.js";
4
- import { transactionHeaders } from "./utils/transaction_header.js";
5
- import { findCells, } from "./utils/utils.js";
4
+ import { findCells, headersByNumber, } from "./utils/utils.js";
6
5
  const maxDepositQuantity = 63;
7
6
  // Receipts must carry enough capacity for phase 2 when the wallet has no other
8
7
  // CKB: one iCKB xUDT cell, one plain capacity cell, and the fee reserve.
@@ -36,17 +35,15 @@ export class LogicManager {
36
35
  * Adds `depositQuantity` DAO deposits of `depositCapacity` locked by the logic script,
37
36
  * then the receipt that mints their iCKB in phase 2, locked by `lock`.
38
37
  *
39
- * @remarks Caller must ensure UDT cellDeps are added to the transaction
40
- * (e.g., via ickbUdt.addCellDeps(tx)).
38
+ * @remarks Completion (`IckbSdk.completeTransaction`) adds the dep group that also
39
+ * resolves the xUDT script.
41
40
  */
42
41
  deposit(txLike, depositQuantity, depositCapacity, lock) {
43
- const tx = ccc.Transaction.from(txLike);
44
- if (depositQuantity <= 0) {
45
- return tx;
46
- }
47
- if (!Number.isSafeInteger(depositQuantity)) {
48
- throw new TypeError("iCKB deposit quantity must be a safe integer");
42
+ // A zero quantity would mint a receipt for no deposits, which iCKB Logic refuses on chain.
43
+ if (!Number.isSafeInteger(depositQuantity) || depositQuantity <= 0) {
44
+ throw new TypeError("iCKB deposit quantity must be a positive safe integer");
49
45
  }
46
+ const tx = ccc.Transaction.from(txLike);
50
47
  if (depositQuantity > maxDepositQuantity) {
51
48
  // The completion walk steps a plan down on this error.
52
49
  throw new DaoOutputLimitError(tx.outputs.length + depositQuantity + 1);
@@ -54,7 +51,7 @@ export class LogicManager {
54
51
  const depositCell = ccc.Cell.from({
55
52
  previousOutput: { txHash: `0x${"00".repeat(32)}`, index: 0 },
56
53
  cellOutput: { capacity: depositCapacity, lock: this.script, type: this.dao.script },
57
- outputData: depositData(),
54
+ outputData: DAO_DEPOSIT_DATA,
58
55
  });
59
56
  const depositAmount = depositCell.capacityFree;
60
57
  if (depositAmount < ccc.fixedPointFrom(1000)) {
@@ -89,13 +86,10 @@ export class LogicManager {
89
86
  if (!this.isReceipt(receipt.cell)) {
90
87
  throw new Error(`Receipt ${outPoint} is not an iCKB receipt for this logic script`);
91
88
  }
92
- if (receipt.header.txHash !== receipt.cell.outPoint.txHash) {
93
- throw new Error(`Receipt ${outPoint} header txHash ${String(receipt.header.txHash)} does not match cell txHash ${receipt.cell.outPoint.txHash}`);
94
- }
95
89
  }
96
90
  tx.addCellDeps(this.cellDeps);
97
91
  for (const receipt of receipts) {
98
- pushHeaderDep(tx, receipt.header.header.hash);
92
+ pushHeaderDep(tx, receipt.header.hash);
99
93
  tx.addInput(receipt.cell);
100
94
  }
101
95
  return tx;
@@ -104,17 +98,15 @@ export class LogicManager {
104
98
  * The receipts among `cells`, valued at their deposit headers, each header read once.
105
99
  */
106
100
  async receiptsFrom(client, cells) {
107
- const receipts = cells.filter((cell) => this.isReceipt(cell));
108
- const headers = await transactionHeaders(client, receipts.map((cell) => cell.outPoint.txHash));
109
- return receipts.map((cell) => {
110
- const { txHash } = cell.outPoint;
111
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- every receipt's hash was read above.
112
- return receiptCell(cell, { header: headers.get(txHash), txHash });
113
- });
101
+ const receipts = cells.filter(({ cell }) => this.isReceipt(cell));
102
+ const headers = await headersByNumber(client, receipts.map(({ blockNumber }) => blockNumber));
103
+ return receipts.map(({ cell, blockNumber }) =>
104
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- every receipt's block was read above.
105
+ receiptCell(cell, headers.get(blockNumber)));
114
106
  }
115
107
  /**
116
108
  * Every live iCKB deposit, valued at its deposit header, with its claim epoch at the tip;
117
- * each deposit transaction's header is read once.
109
+ * each deposit block's header is read once.
118
110
  */
119
111
  async findDeposits(client, tip) {
120
112
  const cells = (await findCells(client, {
@@ -122,30 +114,27 @@ export class LogicManager {
122
114
  scriptType: "lock",
123
115
  filter: {
124
116
  script: this.dao.script,
125
- outputData: depositData(),
117
+ outputData: DAO_DEPOSIT_DATA,
126
118
  outputDataSearchMode: "exact",
127
119
  },
128
120
  scriptSearchMode: "exact",
129
121
  withData: true,
130
- })).filter((cell) => this.isDeposit(cell));
131
- const headers = await transactionHeaders(client, cells.map((cell) => cell.outPoint.txHash));
132
- return cells.map((cell) => {
133
- const { txHash } = cell.outPoint;
134
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- every deposit's hash was read above.
135
- return ickbDepositCell(cell, { header: headers.get(txHash), txHash }, tip);
136
- });
122
+ })).filter(({ cell }) => this.isDeposit(cell));
123
+ const headers = await headersByNumber(client, cells.map(({ blockNumber }) => blockNumber));
124
+ return cells.map(({ cell, blockNumber }) =>
125
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- every deposit's block was read above.
126
+ ickbDepositCell(cell, headers.get(blockNumber), tip));
137
127
  }
138
128
  }
139
129
  /** Values a DAO deposit cell at its deposit header and samples its claim epoch at the tip. */
140
- export function ickbDepositCell(cell, depositHeader, tip) {
141
- const interests = ccc.calcDaoProfit(cell.capacityFree, depositHeader.header, tip);
130
+ function ickbDepositCell(cell, header, tip) {
131
+ const interests = ccc.calcDaoProfit(cell.capacityFree, header, tip);
142
132
  return {
143
133
  cell,
144
- headers: [depositHeader, { header: tip }],
145
- interests,
146
- claimEpoch: ccc.calcDaoClaimEpoch(depositHeader.header, tip),
134
+ header,
135
+ claimEpoch: ccc.calcDaoClaimEpoch(header, tip),
147
136
  ckbValue: cell.cellOutput.capacity + interests,
148
- udtValue: ickbValue(cell.capacityFree, depositHeader.header),
137
+ udtValue: ickbValue(cell.capacityFree, header),
149
138
  };
150
139
  }
151
140
  /** The deposits a withdrawal request made now may claim at their sampled dates under the policy. */
@@ -165,7 +154,7 @@ export function receiptCell(cell, header) {
165
154
  cell,
166
155
  header,
167
156
  ckbValue: cell.cellOutput.capacity,
168
- udtValue: ickbValue(receipt.depositAmount, header.header) * receipt.depositQuantity,
157
+ udtValue: ickbValue(receipt.depositAmount, header) * receipt.depositQuantity,
169
158
  };
170
159
  }
171
160
  /**
package/dist/logic.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"logic.js","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":"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"}