@ickb/sdk 1000.0.43 → 1000.0.52

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.
@@ -3,20 +3,60 @@ import { SmartTransaction, type ScriptDeps, type UdtCell, type CapacityCell, typ
3
3
  import { IckbUdtManager, LogicManager, OwnedOwnerManager, type IckbDepositCell, type ReceiptCell, type WithdrawalGroup } from "@ickb/core";
4
4
  import { DaoManager, type DaoCell } from "@ickb/dao";
5
5
  import { OrderManager, type OrderCell, type OrderGroup } from "@ickb/order";
6
+ /**
7
+ * Controller for managing iCKB operations.
8
+ */
6
9
  export declare class IckbController {
7
10
  readonly ickbUdtManager: IckbUdtManager;
8
11
  readonly logicManager: LogicManager;
9
12
  readonly ownedOwnerManager: OwnedOwnerManager;
10
13
  readonly orderManager: OrderManager;
11
14
  readonly daoManager: DaoManager;
12
- constructor(ickbUdtManager: IckbUdtManager, logicManager: LogicManager, ownedOwnerManager: OwnedOwnerManager, orderManager: OrderManager, daoManager: DaoManager);
13
- static fromDeps({ xudt, dao, ickbLogic, ownedOwner, order, }: {
14
- xudt: ScriptDeps;
15
+ readonly bots: ccc.Script[];
16
+ /**
17
+ * Creates an instance of IckbController.
18
+ * @param ickbUdtManager - The manager for iCKB UDT operations.
19
+ * @param logicManager - The logic manager for handling business logic.
20
+ * @param ownedOwnerManager - The manager for owned owner operations.
21
+ * @param orderManager - The manager for order operations.
22
+ * @param daoManager - The manager for DAO operations.
23
+ */
24
+ constructor(ickbUdtManager: IckbUdtManager, logicManager: LogicManager, ownedOwnerManager: OwnedOwnerManager, orderManager: OrderManager, daoManager: DaoManager, bots: ccc.Script[]);
25
+ /**
26
+ * Creates an instance of IckbController from script dependencies.
27
+ * @param deps - The script dependencies.
28
+ * @param deps.udt - The script dependencies for UDT.
29
+ * @param deps.dao - The script dependencies for DAO.
30
+ * @param deps.ickbLogic - The script dependencies for iCKB logic.
31
+ * @param deps.ownedOwner - The script dependencies for owned owner.
32
+ * @param deps.order - The script dependencies for order.
33
+ * @returns An instance of IckbController.
34
+ */
35
+ static fromDeps(deps: {
36
+ udt: ScriptDeps;
15
37
  dao: ScriptDeps;
16
38
  ickbLogic: ScriptDeps;
17
39
  ownedOwner: ScriptDeps;
18
40
  order: ScriptDeps;
19
- }): IckbController;
41
+ }, bots: ccc.Script[]): IckbController;
42
+ /**
43
+ * Previews the conversion between CKB and UDT.
44
+ * @param conversion - The conversion parameters.
45
+ * @param conversion.isCkb2Udt - Indicates if the conversion is from CKB to UDT.
46
+ * @param conversion.amount - The amount to convert.
47
+ * @param conversion.rate - The exchange rate for conversion.
48
+ * @param conversion.fee - The fee for the conversion.
49
+ * @returns The rate and converted amount.
50
+ *
51
+ * Fee meaning examples:
52
+ * - 100000n => 0.001%
53
+ * - 10000n => 0.01%
54
+ * - 1000n => 0.1%
55
+ * - 100n => 1%
56
+ * - 10n => 10%
57
+ * - 1n => 100%
58
+ * - less than 1n => 0%
59
+ */
20
60
  static previewConversion(conversion: {
21
61
  isCkb2Udt: boolean;
22
62
  amount: ccc.FixedPoint;
@@ -26,6 +66,23 @@ export declare class IckbController {
26
66
  rate: ExchangeRatio;
27
67
  convertedAmount: ccc.FixedPoint;
28
68
  };
69
+ /**
70
+ * Converts between CKB and UDT based on the provided options.
71
+ * @param options - The conversion options.
72
+ * @param options.conversion - The conversion parameters.
73
+ * @param options.conversion.isCkb2Udt - Indicates if the conversion is from CKB to UDT.
74
+ * @param options.conversion.amount - The amount to convert.
75
+ * @param options.conversion.rate - The exchange rate for conversion.
76
+ * @param options.conversion.ckbMinMatchLog - Minimum CKB match log (optional).
77
+ * @param options.conversion.ckbMinFee - Minimum CKB fee (optional).
78
+ * @param options.signer - The signer for the transaction.
79
+ * @param options.userCells - The user's cells.
80
+ * @param options.system - The current system state.
81
+ * @param options.filters - The filters for the conversion.
82
+ * @param options.filters.isReadyOnly - Indicates if only ready conversions should be considered.
83
+ * @param options.filters.isFulfilledOnly - Indicates if only fulfilled conversions should be considered.
84
+ * @returns A promise that resolves to the conversion result or undefined.
85
+ */
29
86
  convert(options: {
30
87
  conversion: Parameters<typeof IckbController.previewConversion>[0] & {
31
88
  ckbMinMatchLog?: number;
@@ -39,8 +96,31 @@ export declare class IckbController {
39
96
  isFulfilledOnly: boolean;
40
97
  };
41
98
  }): Promise<Conversion | undefined>;
99
+ /**
100
+ * Attempts to perform a conversion based on the provided parameters.
101
+ * @param n - The size of deposit to make or withdraw from.
102
+ * @param conversion - The conversion parameters.
103
+ * @param conversion.isCkb2Udt - Indicates if the conversion is from CKB to UDT.
104
+ * @param conversion.amount - The amount to convert.
105
+ * @param conversion.rate - The exchange rate for conversion.
106
+ * @param conversion.info - Additional information for the conversion.
107
+ * @param conversion.ckbMinFee - Minimum CKB fee.
108
+ * @param conversion.lock - The script lock for the transaction.
109
+ * @param options - Additional options for the conversion.
110
+ * @returns A promise that resolves to the conversion result or undefined.
111
+ */
42
112
  private attempt;
43
- getL1State(client: ccc.Client, filter: Set<keyof UserCells | "depositPool">, locks: ccc.Script[], options?: {
113
+ /**
114
+ * Retrieves the L1 state based on the provided parameters.
115
+ * @param client - The client to interact with the blockchain.
116
+ * @param filter - The set of filters to apply.
117
+ * @param locks - The script locks to filter the user cells.
118
+ * @param options - Optional parameters for the state retrieval.
119
+ * @param options.minLockUp - The minimum lock-up period (optional).
120
+ * @param options.maxLockUp - The maximum lock-up period (optional).
121
+ * @returns A promise that resolves to an object containing the system state and user cells.
122
+ */
123
+ getL1State(client: ccc.Client, filter: Set<keyof UserCells | "depositPool" | "ckbBots">, locks: ccc.Script[], options?: {
44
124
  minLockUp?: ccc.Epoch;
45
125
  maxLockUp?: ccc.Epoch;
46
126
  }): Promise<{
@@ -48,32 +128,63 @@ export declare class IckbController {
48
128
  user: UserCells;
49
129
  }>;
50
130
  }
131
+ /**
132
+ * Represents the state of the system.
133
+ */
51
134
  export interface SystemState {
135
+ /** The fee rate for transactions. */
52
136
  feeRate: ccc.Num;
137
+ /** The tip for the current block header. */
53
138
  tip: ccc.ClientBlockHeader;
54
- exchangeRatio: {
55
- ckbScale: ccc.Num;
56
- udtScale: ccc.Num;
57
- };
139
+ /** The exchange ratio between CKB and UDT. */
140
+ exchangeRatio: ExchangeRatio;
141
+ /** The deposit cap expressed in CKB. */
58
142
  ckbDepositCap: ccc.FixedPoint;
143
+ /** The deposit cap expressed in iCKB. */
59
144
  udtDepositCap: ccc.FixedPoint;
145
+ /**
146
+ * The deposit pool containing iCKB deposit cells with cumulative iCKB amounts.
147
+ */
60
148
  depositPool: (IckbDepositCell & {
61
149
  udtCumulative: bigint;
62
150
  })[];
151
+ /**
152
+ * The order pool containing non-user order cells.
153
+ */
63
154
  orderPool: OrderCell[];
155
+ /**
156
+ * The ckb held by bots ready to match incoming iCKB to CKB conversions.
157
+ */
158
+ ckbBots: ccc.FixedPoint;
64
159
  }
160
+ /**
161
+ * Represents the user cells in the system.
162
+ */
65
163
  export interface UserCells {
164
+ /** The capacities owned by the user. */
66
165
  capacities: CapacityCell[];
166
+ /** The UDTs owned by the user. */
67
167
  udts: UdtCell[];
168
+ /** The receipts associated with the user's transactions. */
68
169
  receipts: ReceiptCell[];
170
+ /** The withdrawal groups for the user. */
69
171
  withdrawalGroups: WithdrawalGroup[];
172
+ /** The orders placed by the user. */
70
173
  orders: OrderGroup[];
174
+ /** The classical/non-iCKB deposits made by the user. */
71
175
  deposits: DaoCell[];
176
+ /** The classical/non-iCKB withdrawal requests made by the user. */
72
177
  withdrawalRequests: DaoCell[];
73
178
  }
179
+ /**
180
+ * Represents a conversion transaction.
181
+ */
74
182
  export interface Conversion {
183
+ /** The smart transaction associated with the conversion. */
75
184
  tx: SmartTransaction;
185
+ /** The fee in CKB for the order created by the conversion. */
76
186
  ckbFee: ccc.FixedPoint;
187
+ /** The estimated maturity epoch for conversion. */
77
188
  maturity: ccc.Epoch;
78
189
  }
79
190
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAIL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAEL,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,qBAAa,cAAc;aAEP,cAAc,EAAE,cAAc;aAC9B,YAAY,EAAE,YAAY;aAC1B,iBAAiB,EAAE,iBAAiB;aACpC,YAAY,EAAE,YAAY;aAC1B,UAAU,EAAE,UAAU;gBAJtB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU;IAGxC,MAAM,CAAC,QAAQ,CAAC,EACd,IAAI,EACJ,GAAG,EACH,SAAS,EACT,UAAU,EACV,KAAK,GACN,EAAE;QACD,IAAI,EAAE,UAAU,CAAC;QACjB,GAAG,EAAE,UAAU,CAAC;QAChB,SAAS,EAAE,UAAU,CAAC;QACtB,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,UAAU,CAAC;KACnB,GAAG,cAAc;IAkClB,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE;QACnC,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC;QACvB,IAAI,EAAE,aAAa,GAAG,GAAG,CAAC,iBAAiB,CAAC;QAC5C,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;KACd,GAAG;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,eAAe,EAAE,GAAG,CAAC,UAAU,CAAA;KAAE;IAoBtD,OAAO,CAAC,OAAO,EAAE;QACrB,UAAU,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;YACnE,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;SACrB,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,WAAW,CAAC;QACpB,OAAO,EAAE;YACP,WAAW,EAAE,OAAO,CAAC;YACrB,eAAe,EAAE,OAAO,CAAC;SAC1B,CAAC;KACH,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;YA2CrB,OAAO;IAgGf,UAAU,CACd,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,MAAM,EAAE,GAAG,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,EAC5C,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EACnB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;QACtB,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;KACvB,GACA,OAAO,CAAC;QACT,MAAM,EAAE,WAAW,CAAC;QACpB,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC;CAuFH;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;IACjB,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAC3B,aAAa,EAAE;QACb,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC;QAClB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC;KACnB,CAAC;IACF,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC;IAC9B,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC;IAC9B,WAAW,EAAE,CAAC,eAAe,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC7D,SAAS,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,kBAAkB,EAAE,OAAO,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,gBAAgB,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC;CACrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,34 +1,66 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
- import { collect, epochCompare, CapacityManager, SmartTransaction, epochAdd, asyncBinarySearch, RestrictedTransaction, } from "@ickb/utils";
2
+ import { collect, epochCompare, CapacityManager, SmartTransaction, epochAdd, asyncBinarySearch, RestrictedTransaction, binarySearch, } from "@ickb/utils";
3
3
  import { convert, ICKB_DEPOSIT_CAP, ickbExchangeRatio, IckbUdtManager, LogicManager, OwnedOwnerManager, } from "@ickb/core";
4
4
  import { DaoManager } from "@ickb/dao";
5
5
  import { Info, OrderManager, } from "@ickb/order";
6
+ /**
7
+ * Controller for managing iCKB operations.
8
+ */
6
9
  export class IckbController {
7
- constructor(ickbUdtManager, logicManager, ownedOwnerManager, orderManager, daoManager) {
10
+ /**
11
+ * Creates an instance of IckbController.
12
+ * @param ickbUdtManager - The manager for iCKB UDT operations.
13
+ * @param logicManager - The logic manager for handling business logic.
14
+ * @param ownedOwnerManager - The manager for owned owner operations.
15
+ * @param orderManager - The manager for order operations.
16
+ * @param daoManager - The manager for DAO operations.
17
+ */
18
+ constructor(ickbUdtManager, logicManager, ownedOwnerManager, orderManager, daoManager, bots) {
8
19
  this.ickbUdtManager = ickbUdtManager;
9
20
  this.logicManager = logicManager;
10
21
  this.ownedOwnerManager = ownedOwnerManager;
11
22
  this.orderManager = orderManager;
12
23
  this.daoManager = daoManager;
24
+ this.bots = bots;
13
25
  }
14
- static fromDeps({ xudt, dao, ickbLogic, ownedOwner, order, }) {
15
- const daoManager = DaoManager.fromDeps(dao);
16
- const { script: { codeHash, hashType }, cellDeps, } = xudt;
17
- const ickbXudt = {
18
- script: new ccc.Script(codeHash, hashType, [ickbLogic.script.hash(), "00000080"].join("")),
26
+ /**
27
+ * Creates an instance of IckbController from script dependencies.
28
+ * @param deps - The script dependencies.
29
+ * @param deps.udt - The script dependencies for UDT.
30
+ * @param deps.dao - The script dependencies for DAO.
31
+ * @param deps.ickbLogic - The script dependencies for iCKB logic.
32
+ * @param deps.ownedOwner - The script dependencies for owned owner.
33
+ * @param deps.order - The script dependencies for order.
34
+ * @returns An instance of IckbController.
35
+ */
36
+ static fromDeps(deps, bots) {
37
+ const { udt: { script: { codeHash, hashType }, cellDeps, }, ickbLogic: { script: ickbLogicScript }, } = deps;
38
+ const daoManager = DaoManager.fromDeps(deps);
39
+ const udt = {
40
+ script: new ccc.Script(codeHash, hashType, [ickbLogicScript.hash(), "00000080"].join("")),
19
41
  cellDeps,
20
42
  };
21
- const ickbUdtManager = IckbUdtManager.fromDeps(ickbXudt, daoManager);
22
- return new IckbController(ickbUdtManager, LogicManager.fromDeps(ickbLogic, daoManager, ickbUdtManager), OwnedOwnerManager.fromDeps(ownedOwner, daoManager, ickbUdtManager), OrderManager.fromDeps(order, ickbUdtManager), daoManager);
43
+ const ickbUdtManager = IckbUdtManager.fromDeps({ udt }, daoManager);
44
+ return new IckbController(ickbUdtManager, LogicManager.fromDeps(deps, daoManager, ickbUdtManager), OwnedOwnerManager.fromDeps(deps, daoManager, ickbUdtManager), OrderManager.fromDeps(deps, ickbUdtManager), daoManager, bots);
23
45
  }
24
- // fee examples:
25
- // 100000n => 0.001%
26
- // 10000n => 0.01%
27
- // 1000n => 0.1%
28
- // 100n => 1%
29
- // 10n => 10%
30
- // 1n => 100%
31
- // less than 1n => 0%
46
+ /**
47
+ * Previews the conversion between CKB and UDT.
48
+ * @param conversion - The conversion parameters.
49
+ * @param conversion.isCkb2Udt - Indicates if the conversion is from CKB to UDT.
50
+ * @param conversion.amount - The amount to convert.
51
+ * @param conversion.rate - The exchange rate for conversion.
52
+ * @param conversion.fee - The fee for the conversion.
53
+ * @returns The rate and converted amount.
54
+ *
55
+ * Fee meaning examples:
56
+ * - 100000n => 0.001%
57
+ * - 10000n => 0.01%
58
+ * - 1000n => 0.1%
59
+ * - 100n => 1%
60
+ * - 10n => 10%
61
+ * - 1n => 100%
62
+ * - less than 1n => 0%
63
+ */
32
64
  static previewConversion(conversion) {
33
65
  const { isCkb2Udt, amount, fee } = conversion;
34
66
  let rate = conversion.rate;
@@ -44,6 +76,23 @@ export class IckbController {
44
76
  const convertedAmount = amount > ccc.Zero ? convert(isCkb2Udt, amount, rate) : ccc.Zero;
45
77
  return { rate, convertedAmount };
46
78
  }
79
+ /**
80
+ * Converts between CKB and UDT based on the provided options.
81
+ * @param options - The conversion options.
82
+ * @param options.conversion - The conversion parameters.
83
+ * @param options.conversion.isCkb2Udt - Indicates if the conversion is from CKB to UDT.
84
+ * @param options.conversion.amount - The amount to convert.
85
+ * @param options.conversion.rate - The exchange rate for conversion.
86
+ * @param options.conversion.ckbMinMatchLog - Minimum CKB match log (optional).
87
+ * @param options.conversion.ckbMinFee - Minimum CKB fee (optional).
88
+ * @param options.signer - The signer for the transaction.
89
+ * @param options.userCells - The user's cells.
90
+ * @param options.system - The current system state.
91
+ * @param options.filters - The filters for the conversion.
92
+ * @param options.filters.isReadyOnly - Indicates if only ready conversions should be considered.
93
+ * @param options.filters.isFulfilledOnly - Indicates if only fulfilled conversions should be considered.
94
+ * @returns A promise that resolves to the conversion result or undefined.
95
+ */
47
96
  async convert(options) {
48
97
  // Get user lock
49
98
  const { system, signer } = options;
@@ -75,15 +124,29 @@ export class IckbController {
75
124
  };
76
125
  return cachedAttempt(await asyncBinarySearch(N, async (n) => (await cachedAttempt(n)) !== undefined));
77
126
  }
127
+ /**
128
+ * Attempts to perform a conversion based on the provided parameters.
129
+ * @param n - The size of deposit to make or withdraw from.
130
+ * @param conversion - The conversion parameters.
131
+ * @param conversion.isCkb2Udt - Indicates if the conversion is from CKB to UDT.
132
+ * @param conversion.amount - The amount to convert.
133
+ * @param conversion.rate - The exchange rate for conversion.
134
+ * @param conversion.info - Additional information for the conversion.
135
+ * @param conversion.ckbMinFee - Minimum CKB fee.
136
+ * @param conversion.lock - The script lock for the transaction.
137
+ * @param options - Additional options for the conversion.
138
+ * @returns A promise that resolves to the conversion result or undefined.
139
+ */
78
140
  async attempt(n, conversion, options) {
79
141
  try {
80
142
  const { isCkb2Udt, rate, info, ckbMinFee, lock } = conversion;
81
- const { signer, userCells, system, filters } = options;
82
- const { feeRate, depositPool, ckbDepositCap, exchangeRatio } = system;
143
+ const { signer, userCells, filters, system } = options;
144
+ const { feeRate, ckbDepositCap, exchangeRatio, depositPool } = system;
83
145
  const tx = SmartTransaction.default();
84
- const maturities = [];
146
+ const maturities = [[0n, 1n, 80n]]; // 3 minutes minimum
85
147
  let ckbFee = ccc.Zero;
86
148
  let amount = conversion.amount;
149
+ let udtWithdrawed = ccc.Zero;
87
150
  // Core protocol
88
151
  if (n > 0) {
89
152
  if (isCkb2Udt) {
@@ -97,7 +160,8 @@ export class IckbController {
97
160
  else {
98
161
  const myDeposits = depositPool.slice(0, n);
99
162
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
100
- amount -= myDeposits.slice(-1)[0].udtCumulative;
163
+ udtWithdrawed = myDeposits.slice(-1)[0].udtCumulative;
164
+ amount -= udtWithdrawed;
101
165
  if (amount < ccc.Zero) {
102
166
  // Too many Withdrawal Requests respectfully to the amount
103
167
  return undefined;
@@ -116,13 +180,11 @@ export class IckbController {
116
180
  ckbFee = isCkb2Udt
117
181
  ? amount - convert(false, convertedAmount, exchangeRatio)
118
182
  : convert(true, amount, exchangeRatio) - convertedAmount;
119
- maturities.push(
120
- // TODO: use real world data from deposits, open orders and bot balances
121
- orderMaturityEstimate(isCkb2Udt, amount, system.tip));
122
- }
123
- // Check that order provides enough fee to the bot for being matched
124
- if (ckbFee < ckbMinFee) {
125
- return undefined;
183
+ maturities.push(orderMaturityEstimate(isCkb2Udt, amount, udtWithdrawed, system));
184
+ // Check that order provides enough fee to the bot for being matched
185
+ if (ckbFee < ckbMinFee) {
186
+ return undefined;
187
+ }
126
188
  }
127
189
  const { receipts, withdrawalGroups, orders, udts, capacities } = userCells;
128
190
  this.logicManager.completeDeposit(tx, receipts);
@@ -145,11 +207,21 @@ export class IckbController {
145
207
  return undefined;
146
208
  }
147
209
  }
210
+ /**
211
+ * Retrieves the L1 state based on the provided parameters.
212
+ * @param client - The client to interact with the blockchain.
213
+ * @param filter - The set of filters to apply.
214
+ * @param locks - The script locks to filter the user cells.
215
+ * @param options - Optional parameters for the state retrieval.
216
+ * @param options.minLockUp - The minimum lock-up period (optional).
217
+ * @param options.maxLockUp - The maximum lock-up period (optional).
218
+ * @returns A promise that resolves to an object containing the system state and user cells.
219
+ */
148
220
  async getL1State(client, filter, locks, options) {
149
221
  const tip = await client.getTipHeader();
150
222
  const onChain = true;
151
223
  const opts = { ...options, tip, onChain };
152
- const [feeRate, depositPool, capacities, udts, receipts, withdrawalGroups, orders, deposits, withdrawalRequests,] = await Promise.all([
224
+ const [feeRate, depositPool, capacities, udts, receipts, withdrawalGroups, orders, deposits, withdrawalRequests, botCapacities,] = await Promise.all([
153
225
  client.getFeeRate(),
154
226
  filter.has("depositPool")
155
227
  ? collect(this.logicManager.findDeposits(client, opts))
@@ -173,7 +245,9 @@ export class IckbController {
173
245
  filter.has("withdrawalRequests")
174
246
  ? collect(this.daoManager.findWithdrawalRequests(client, locks, opts))
175
247
  : [],
176
- // TODO: fetch bot cells for estimating timings
248
+ filter.has("ckbBots")
249
+ ? collect(CapacityManager.findCapacities(client, locks, opts))
250
+ : [],
177
251
  ]);
178
252
  // Sort depositPool by maturity
179
253
  depositPool.sort((a, b) => epochCompare(a.maturity, b.maturity));
@@ -196,6 +270,11 @@ export class IckbController {
196
270
  }
197
271
  const exchangeRatio = ickbExchangeRatio(tip);
198
272
  const ckbDepositCap = convert(false, ICKB_DEPOSIT_CAP, exchangeRatio);
273
+ // Calculate the ckb ready to match incoming transactions
274
+ let ckbBots = botCapacities.reduce((acc, c) => acc + c.ckbValue, ccc.Zero);
275
+ // Each bot keeps a reserve of CKB for operations
276
+ ckbBots -= ccc.numFrom(this.bots.length) * ccc.fixedPointFrom("2000");
277
+ ckbBots = ckbBots > ccc.Zero ? ckbBots : ccc.Zero;
199
278
  return {
200
279
  system: {
201
280
  feeRate,
@@ -205,6 +284,7 @@ export class IckbController {
205
284
  udtDepositCap: ICKB_DEPOSIT_CAP,
206
285
  depositPool: cumulativeDepositPool,
207
286
  orderPool: nonUserOrders,
287
+ ckbBots,
208
288
  },
209
289
  user: {
210
290
  capacities,
@@ -218,14 +298,40 @@ export class IckbController {
218
298
  };
219
299
  }
220
300
  }
221
- // Estimate bot ability to fulfill orders:
222
- // - CKB to iCKB orders at 100k CKB every minute
223
- // - iCKB to CKB orders at 200 CKB every minute
224
- function orderMaturityEstimate(isCkb2Udt, amount, tip) {
225
- return epochAdd(tip.epoch, [
301
+ /**
302
+ * Estimates the maturity of an order based on the type of conversion and amount.
303
+ *
304
+ * @param isCkb2Udt - A boolean indicating if the order is from CKB to UDT.
305
+ * @param amount - The amount of CKB or UDT involved in the order.
306
+ * @param udtWithdrawed - The amount of UDT that has been withdrawn by the current conversion via core.
307
+ * @param system - The current system state, which includes the block header tip, order pool, deposit pool, CKB bots, and exchange ratio.
308
+ *
309
+ * @returns The estimated maturity epoch for the order.
310
+ */
311
+ function orderMaturityEstimate(isCkb2Udt, amount, udtWithdrawed, system) {
312
+ const { tip, orderPool, depositPool, ckbBots, exchangeRatio } = system;
313
+ // Maturity estimate a priori, the estimation is based on:
314
+ // - CKB to iCKB orders at 100k CKB every minute
315
+ // - iCKB to CKB orders at 200 CKB every minute
316
+ let maturity = epochAdd(tip.epoch, [
226
317
  0n,
227
318
  1n + amount / ccc.fixedPointFrom(isCkb2Udt ? 100000 : 200),
228
319
  4n * 60n,
229
320
  ]);
321
+ if (isCkb2Udt) {
322
+ return maturity;
323
+ }
324
+ if (depositPool.length > 0) {
325
+ const udtWaiting = orderPool
326
+ .filter((o) => o.isUdt2CkbMatchable())
327
+ .reduce((acc, o) => acc + o.udtValue, ccc.Zero);
328
+ const udtAvailable = convert(isCkb2Udt, ckbBots, exchangeRatio);
329
+ const udtToConvert = amount + udtWithdrawed + udtWaiting - udtAvailable;
330
+ const i = binarySearch(depositPool.length,
331
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
332
+ (n) => depositPool[n].udtCumulative >= udtToConvert);
333
+ maturity = depositPool[i]?.maturity ?? maturity;
334
+ }
335
+ return maturity;
230
336
  }
231
337
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ickb/sdk",
3
- "version": "1000.0.43",
3
+ "version": "1000.0.52",
4
4
  "description": "iCKB SDK built on top of CCC",
5
5
  "author": "phroi",
6
6
  "license": "MIT",
@@ -23,18 +23,18 @@
23
23
  "provenance": true
24
24
  },
25
25
  "devDependencies": {
26
- "@eslint/js": "^9.25.1",
27
- "eslint": "^9.25.1",
26
+ "@eslint/js": "^9.27.0",
27
+ "eslint": "^9.27.0",
28
28
  "prettier": "^3.5.3",
29
29
  "typescript": "^5.8.3",
30
- "typescript-eslint": "^8.31.1"
30
+ "typescript-eslint": "^8.32.1"
31
31
  },
32
32
  "dependencies": {
33
- "@ckb-ccc/core": "^1.8.0",
34
- "@ickb/core": "^1000.0.43",
35
- "@ickb/dao": "^1000.0.41",
36
- "@ickb/order": "^1000.0.43",
37
- "@ickb/utils": "^1000.0.43"
33
+ "@ckb-ccc/core": "^1.8.1",
34
+ "@ickb/core": "^1000.0.52",
35
+ "@ickb/dao": "^1000.0.52",
36
+ "@ickb/order": "^1000.0.52",
37
+ "@ickb/utils": "^1000.0.52"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "pnpm run build:esm && pnpm run build:cjs && node dist/cjs/index.js",