@ickb/sdk 1000.0.71 → 1000.0.82

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 (49) hide show
  1. package/dist/codec.d.ts +3 -0
  2. package/dist/codec.d.ts.map +1 -0
  3. package/dist/codec.js +58 -0
  4. package/dist/codec.js.map +1 -0
  5. package/dist/constants.d.ts +23 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +95 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/sdk.d.ts +51 -0
  12. package/dist/sdk.d.ts.map +1 -0
  13. package/dist/sdk.js +242 -0
  14. package/dist/sdk.js.map +1 -0
  15. package/package.json +35 -20
  16. package/src/constants.ts +50 -45
  17. package/src/sdk.ts +2 -2
  18. package/dist/cjs/codec.d.ts +0 -14
  19. package/dist/cjs/codec.d.ts.map +0 -1
  20. package/dist/cjs/codec.js +0 -125
  21. package/dist/cjs/codec.js.map +0 -1
  22. package/dist/cjs/constants.d.ts +0 -49
  23. package/dist/cjs/constants.d.ts.map +0 -1
  24. package/dist/cjs/constants.js +0 -156
  25. package/dist/cjs/constants.js.map +0 -1
  26. package/dist/cjs/index.d.ts.map +0 -1
  27. package/dist/cjs/index.js +0 -20
  28. package/dist/cjs/index.js.map +0 -1
  29. package/dist/cjs/sdk.d.ts +0 -178
  30. package/dist/cjs/sdk.d.ts.map +0 -1
  31. package/dist/cjs/sdk.js +0 -362
  32. package/dist/cjs/sdk.js.map +0 -1
  33. package/dist/esm/codec.d.ts +0 -14
  34. package/dist/esm/codec.d.ts.map +0 -1
  35. package/dist/esm/codec.js +0 -122
  36. package/dist/esm/codec.js.map +0 -1
  37. package/dist/esm/constants.d.ts +0 -49
  38. package/dist/esm/constants.d.ts.map +0 -1
  39. package/dist/esm/constants.js +0 -152
  40. package/dist/esm/constants.js.map +0 -1
  41. package/dist/esm/index.d.ts +0 -4
  42. package/dist/esm/index.d.ts.map +0 -1
  43. package/dist/esm/index.js.map +0 -1
  44. package/dist/esm/sdk.d.ts +0 -178
  45. package/dist/esm/sdk.d.ts.map +0 -1
  46. package/dist/esm/sdk.js +0 -358
  47. package/dist/esm/sdk.js.map +0 -1
  48. /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  49. /package/dist/{esm/index.js → index.js} +0 -0
@@ -0,0 +1,3 @@
1
+ import { mol } from "@ckb-ccc/core";
2
+ export declare const PoolSnapshot: mol.Codec<number[], number[]>;
3
+ //# sourceMappingURL=codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"../src/","sources":["codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,GAAG,EAAE,MAAM,eAAe,CAAC;AAgBzC,eAAO,MAAM,YAAY,+BAkDvB,CAAC"}
package/dist/codec.js ADDED
@@ -0,0 +1,58 @@
1
+ import { ccc, mol } from "@ckb-ccc/core";
2
+ import { max } from "@ickb/utils";
3
+ const N = 1024;
4
+ export const PoolSnapshot = mol.Codec.from({
5
+ encode: (bins) => {
6
+ if (bins.length !== N) {
7
+ throw new Error("Expected 1024 bins");
8
+ }
9
+ const bitsPerBin = computeBits(bins);
10
+ const buffer = new Uint8Array((bitsPerBin * N) >> 3);
11
+ let bitOffset = 0;
12
+ for (const count of bins) {
13
+ packBits(buffer, bitOffset, bitsPerBin, count);
14
+ bitOffset += bitsPerBin;
15
+ }
16
+ return buffer;
17
+ },
18
+ decode: (bufferLike) => {
19
+ const buffer = ccc.bytesFrom(bufferLike);
20
+ const bitsPerBin = (buffer.byteLength * 8) / N;
21
+ if (!Number.isInteger(bitsPerBin)) {
22
+ throw new Error("Invalid buffer length for 1024 bins");
23
+ }
24
+ const bins = new Array(N);
25
+ let bitOffset = 0;
26
+ for (let i = 0; i < N; i++) {
27
+ bins[i] = unpackBits(buffer, bitOffset, bitsPerBin);
28
+ bitOffset += bitsPerBin;
29
+ }
30
+ return bins;
31
+ },
32
+ });
33
+ function computeBits(bins) {
34
+ return Math.ceil(Math.log2(1 + max(1, ...bins)));
35
+ }
36
+ function packBits(buffer, bitOffset, width, value) {
37
+ let offset = bitOffset;
38
+ for (let i = 0; i < width; i++) {
39
+ const byteIndex = offset >> 3;
40
+ const bitInByte = offset % 8;
41
+ const bit = (value >> i) & 1;
42
+ buffer[byteIndex] |= bit << bitInByte;
43
+ offset++;
44
+ }
45
+ }
46
+ function unpackBits(buffer, bitOffset, width) {
47
+ let value = 0;
48
+ let offset = bitOffset;
49
+ for (let i = 0; i < width; i++) {
50
+ const byteIndex = offset >> 3;
51
+ const bitInByte = offset % 8;
52
+ const bit = (buffer[byteIndex] >> bitInByte) & 1;
53
+ value |= bit << i;
54
+ offset++;
55
+ }
56
+ return value;
57
+ }
58
+ //# sourceMappingURL=codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.js","sourceRoot":"../src/","sources":["codec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { ccc } from "@ckb-ccc/core";
2
+ import { IckbUdtManager, LogicManager, OwnedOwnerManager } from "@ickb/core";
3
+ import { DaoManager } from "@ickb/dao";
4
+ import { OrderManager } from "@ickb/order";
5
+ import { CapacityManager, type ScriptDeps } from "@ickb/utils";
6
+ export declare function getConfig(d: "mainnet" | "testnet" | {
7
+ udt: ScriptDeps;
8
+ logic: ScriptDeps;
9
+ ownedOwner: ScriptDeps;
10
+ order: ScriptDeps;
11
+ dao: ScriptDeps;
12
+ }, bots?: ccc.ScriptLike[]): {
13
+ managers: {
14
+ capacity: CapacityManager;
15
+ dao: DaoManager;
16
+ ickbUdt: IckbUdtManager;
17
+ logic: LogicManager;
18
+ ownedOwner: OwnedOwnerManager;
19
+ order: OrderManager;
20
+ };
21
+ bots: ccc.Script[];
22
+ };
23
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"../src/","sources":["constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAU,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAgBvE,wBAAgB,SAAS,CACvB,CAAC,EACG,SAAS,GACT,SAAS,GACT;IAEE,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;CACjB,EACL,IAAI,GAAE,GAAG,CAAC,UAAU,EAAO,GAC1B;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,eAAe,CAAC;QAC1B,GAAG,EAAE,UAAU,CAAC;QAChB,OAAO,EAAE,cAAc,CAAC;QACxB,KAAK,EAAE,YAAY,CAAC;QACpB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;IACF,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;CACpB,CAiDA"}
@@ -0,0 +1,95 @@
1
+ import { ccc } from "@ckb-ccc/core";
2
+ import { IckbUdtManager, LogicManager, OwnedOwnerManager } from "@ickb/core";
3
+ import { DaoManager } from "@ickb/dao";
4
+ import { OrderManager } from "@ickb/order";
5
+ import { CapacityManager, unique } from "@ickb/utils";
6
+ export function getConfig(d, bots = []) {
7
+ if (d === "mainnet" || d === "testnet") {
8
+ bots = bots.concat(d === "mainnet" ? MAINNET_KNOWN_BOTS : TESTNET_KNOWN_BOTS);
9
+ const depGroup = d === "mainnet" ? MAINNET_DEP_GROUP : TESTNET_DEP_GROUP;
10
+ d = {
11
+ udt: from(UDT, depGroup),
12
+ logic: from(ICKB_LOGIC, depGroup),
13
+ ownedOwner: from(OWNED_OWNER, depGroup),
14
+ order: from(ORDER, depGroup),
15
+ dao: from(DAO, depGroup),
16
+ };
17
+ }
18
+ const capacity = CapacityManager.withAnyData();
19
+ const dao = new DaoManager(d.dao.script, d.dao.cellDeps);
20
+ const ickbUdt = new IckbUdtManager(d.udt.script, d.udt.cellDeps, d.logic.script, dao);
21
+ const logic = new LogicManager(d.logic.script, d.logic.cellDeps, dao, ickbUdt);
22
+ const ownedOwner = new OwnedOwnerManager(d.ownedOwner.script, d.ownedOwner.cellDeps, dao, ickbUdt);
23
+ const order = new OrderManager(d.order.script, d.order.cellDeps, ickbUdt);
24
+ return {
25
+ managers: {
26
+ capacity,
27
+ dao,
28
+ ickbUdt,
29
+ logic,
30
+ ownedOwner,
31
+ order,
32
+ },
33
+ bots: [...unique(bots.map((b) => ccc.Script.from(b)))],
34
+ };
35
+ }
36
+ function from(script, ...cellDeps) {
37
+ return {
38
+ script: ccc.Script.from(script),
39
+ cellDeps,
40
+ };
41
+ }
42
+ const DAO = {
43
+ codeHash: "0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e",
44
+ hashType: "type",
45
+ args: "0x",
46
+ };
47
+ const UDT = {
48
+ codeHash: "0x50bd8d6680b8b9cf98b73f3c08faf8b2a21914311954118ad6609be6e78a1b95",
49
+ hashType: "data1",
50
+ args: "0xb73b6ab39d79390c6de90a09c96b290c331baf1798ed6f97aed02590929734e800000080",
51
+ };
52
+ const ICKB_LOGIC = {
53
+ codeHash: "0x2a8100ab5990fa055ab1b50891702e1e895c7bd1df6322cd725c1a6115873bd3",
54
+ hashType: "data1",
55
+ args: "0x",
56
+ };
57
+ const OWNED_OWNER = {
58
+ codeHash: "0xacc79e07d107831feef4c70c9e683dac5644d5993b9cb106dca6e74baa381bd0",
59
+ hashType: "data1",
60
+ args: "0x",
61
+ };
62
+ const ORDER = {
63
+ codeHash: "0x49dfb6afee5cc8ac4225aeea8cb8928b150caf3cd92fea33750683c74b13254a",
64
+ hashType: "data1",
65
+ args: "0x",
66
+ };
67
+ const MAINNET_DEP_GROUP = ccc.CellDep.from({
68
+ outPoint: {
69
+ txHash: "0x621a6f38de3b9f453016780edac3b26bfcbfa3e2ecb47c2da275471a5d3ed165",
70
+ index: "0x0",
71
+ },
72
+ depType: "depGroup",
73
+ });
74
+ const TESTNET_DEP_GROUP = ccc.CellDep.from({
75
+ outPoint: {
76
+ txHash: "0xf7ece4fb33d8378344cab11fcd6a4c6f382fd4207ac921cf5821f30712dcd311",
77
+ index: "0x0",
78
+ },
79
+ depType: "depGroup",
80
+ });
81
+ const MAINNET_KNOWN_BOTS = [
82
+ {
83
+ codeHash: "0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8",
84
+ hashType: "type",
85
+ args: "0xd096cb29e2f68a85a46bd6bf6cbee6327959ba64",
86
+ },
87
+ ];
88
+ const TESTNET_KNOWN_BOTS = [
89
+ {
90
+ codeHash: "0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8",
91
+ hashType: "type",
92
+ args: "0xb4380110f7679ac31cefe4925485645d82bf619f",
93
+ },
94
+ ];
95
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"../src/","sources":["constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
package/dist/sdk.d.ts ADDED
@@ -0,0 +1,51 @@
1
+ import { ccc } from "@ckb-ccc/core";
2
+ import { CapacityManager, SmartTransaction, type ValueComponents } from "@ickb/utils";
3
+ import { type LogicManager, type OwnedOwnerManager } from "@ickb/core";
4
+ import { Info, OrderManager, Ratio, type OrderCell, type OrderGroup } from "@ickb/order";
5
+ import { getConfig } from "./constants.js";
6
+ export declare class IckbSdk {
7
+ private readonly ownedOwner;
8
+ private readonly ickbLogic;
9
+ private readonly order;
10
+ private readonly capacity;
11
+ private readonly bots;
12
+ constructor(ownedOwner: OwnedOwnerManager, ickbLogic: LogicManager, order: OrderManager, capacity: CapacityManager, bots: ccc.Script[]);
13
+ static from(...args: Parameters<typeof getConfig>): IckbSdk;
14
+ static estimate(isCkb2Udt: boolean, amounts: ValueComponents, system: SystemState, options?: {
15
+ fee?: ccc.Num;
16
+ feeBase?: ccc.Num;
17
+ }): {
18
+ convertedAmount: ccc.FixedPoint;
19
+ ckbFee: ccc.FixedPoint;
20
+ info: Info;
21
+ maturity: ccc.Num | undefined;
22
+ };
23
+ static maturity(o: OrderCell | {
24
+ info: Info;
25
+ amounts: ValueComponents;
26
+ }, system: SystemState): bigint | undefined;
27
+ request(tx: SmartTransaction, user: ccc.Signer | ccc.Script, info: Info, amounts: ValueComponents): Promise<void>;
28
+ collect(tx: SmartTransaction, groups: OrderGroup[], options?: {
29
+ isFulfilledOnly?: boolean;
30
+ }): void;
31
+ getL1State(client: ccc.Client, locks: ccc.Script[]): Promise<{
32
+ system: SystemState;
33
+ user: {
34
+ orders: OrderGroup[];
35
+ };
36
+ }>;
37
+ private getCkb;
38
+ }
39
+ export interface SystemState {
40
+ feeRate: ccc.Num;
41
+ tip: ccc.ClientBlockHeader;
42
+ exchangeRatio: Ratio;
43
+ orderPool: OrderCell[];
44
+ ckbAvailable: ccc.FixedPoint;
45
+ ckbMaturing: CkbCumulative[];
46
+ }
47
+ export interface CkbCumulative {
48
+ ckbCumulative: ccc.FixedPoint;
49
+ maturity: ccc.Num;
50
+ }
51
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"../src/","sources":["sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAEL,eAAe,EACf,gBAAgB,EAEhB,KAAK,eAAe,EAIrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAM3C,qBAAa,OAAO;IAWhB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAJJ,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE;IASrC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO;IA+B3D,MAAM,CAAC,QAAQ,CACb,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;QACd,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;KACnB,GACA;QACD,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC;QAChC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC;QACvB,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC;KAC/B;IAiCD,MAAM,CAAC,QAAQ,CACb,CAAC,EACG,SAAS,GACT;QACE,IAAI,EAAE,IAAI,CAAC;QACX,OAAO,EAAE,eAAe,CAAC;KAC1B,EACL,MAAM,EAAE,WAAW,GAClB,MAAM,GAAG,SAAS;IAwFf,OAAO,CACX,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAC7B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC;IAwBhB,OAAO,CACL,EAAE,EAAE,gBAAgB,EACpB,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GACA,IAAI;IAmBD,UAAU,CACd,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAClB,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE;YAAE,MAAM,EAAE,UAAU,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;YAoErD,MAAM;CA8HrB;AAKD,MAAM,WAAW,WAAW;IAE1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;IAGjB,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAG3B,aAAa,EAAE,KAAK,CAAC;IAGrB,SAAS,EAAE,SAAS,EAAE,CAAC;IAGvB,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC;IAG7B,WAAW,EAAE,aAAa,EAAE,CAAC;CAC9B;AAKD,MAAM,WAAW,aAAa;IAE5B,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC;IAE9B,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC;CACnB"}
package/dist/sdk.js ADDED
@@ -0,0 +1,242 @@
1
+ import { ccc } from "@ckb-ccc/core";
2
+ import { collect, CapacityManager, SmartTransaction, binarySearch, hexFrom, getHeader, Epoch, } from "@ickb/utils";
3
+ import { convert, ICKB_DEPOSIT_CAP, ickbExchangeRatio, } from "@ickb/core";
4
+ import { Info, OrderManager, Ratio, } from "@ickb/order";
5
+ import { getConfig } from "./constants.js";
6
+ import { PoolSnapshot } from "./codec.js";
7
+ export class IckbSdk {
8
+ constructor(ownedOwner, ickbLogic, order, capacity, bots) {
9
+ Object.defineProperty(this, "ownedOwner", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: ownedOwner
14
+ });
15
+ Object.defineProperty(this, "ickbLogic", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: ickbLogic
20
+ });
21
+ Object.defineProperty(this, "order", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: order
26
+ });
27
+ Object.defineProperty(this, "capacity", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: capacity
32
+ });
33
+ Object.defineProperty(this, "bots", {
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true,
37
+ value: bots
38
+ });
39
+ }
40
+ static from(...args) {
41
+ const { managers: { ownedOwner, logic, order, capacity }, bots, } = getConfig(...args);
42
+ return new IckbSdk(ownedOwner, logic, order, capacity, bots);
43
+ }
44
+ static estimate(isCkb2Udt, amounts, system, options) {
45
+ options = {
46
+ fee: 1n,
47
+ feeBase: 100000n,
48
+ ...options,
49
+ };
50
+ const { convertedAmount, ckbFee, info } = OrderManager.convert(isCkb2Udt, system.exchangeRatio, amounts, options);
51
+ const maturity = ckbFee >= 10n * system.feeRate
52
+ ? IckbSdk.maturity({ info, amounts }, system)
53
+ : undefined;
54
+ return { convertedAmount, ckbFee, info, maturity };
55
+ }
56
+ static maturity(o, system) {
57
+ const info = "info" in o ? o.info : o.data.info;
58
+ const amounts = "amounts" in o
59
+ ? o.amounts
60
+ : { ckbValue: o.ckbUnoccupied, udtValue: o.udtValue };
61
+ if (info.isDualRatio()) {
62
+ return;
63
+ }
64
+ const isCkb2Udt = info.isCkb2Udt();
65
+ const amount = isCkb2Udt ? amounts.ckbValue : amounts.udtValue;
66
+ const ratio = isCkb2Udt ? info.ckbToUdt : info.udtToCkb;
67
+ if (amount === 0n) {
68
+ return 0n;
69
+ }
70
+ const { tip, exchangeRatio, orderPool, ckbAvailable, ckbMaturing } = system;
71
+ const b = new Info(ratio, ratio, 1);
72
+ let ckb = isCkb2Udt ? amount : 0n;
73
+ let udt = isCkb2Udt ? 0n : amount;
74
+ for (const o of orderPool) {
75
+ const a = o.data.info;
76
+ if (a.isCkb2Udt()) {
77
+ if (!isCkb2Udt || a.ckb2UdtCompare(b) < 0) {
78
+ ckb += o.ckbUnoccupied;
79
+ }
80
+ }
81
+ else {
82
+ if (isCkb2Udt || a.udt2CkbCompare(b) < 0) {
83
+ udt += o.udtValue;
84
+ }
85
+ }
86
+ }
87
+ ckb -= convert(false, udt, exchangeRatio);
88
+ let maturity = 10n * 60n * 1000n;
89
+ if (isCkb2Udt) {
90
+ if (ckb > 0n) {
91
+ maturity *= 1n + ckb / ccc.fixedPointFrom("200000");
92
+ }
93
+ return maturity + ("info" in o ? BigInt(Date.now()) : tip.timestamp);
94
+ }
95
+ ckb += ckbAvailable;
96
+ if (ckb >= 0) {
97
+ return maturity + ("info" in o ? BigInt(Date.now()) : tip.timestamp);
98
+ }
99
+ const ckbNeeded = -ckb;
100
+ const i = binarySearch(ckbMaturing.length, (n) => ckbMaturing[n].ckbCumulative >= ckbNeeded);
101
+ return ckbMaturing[i]?.maturity;
102
+ }
103
+ async request(tx, user, info, amounts) {
104
+ user =
105
+ "codeHash" in user
106
+ ? user
107
+ : (await user.getRecommendedAddressObj()).script;
108
+ this.order.mint(tx, user, info, amounts);
109
+ }
110
+ collect(tx, groups, options) {
111
+ this.order.melt(tx, groups, options);
112
+ }
113
+ async getL1State(client, locks) {
114
+ const tip = await client.getTipHeader();
115
+ const exchangeRatio = Ratio.from(ickbExchangeRatio(tip));
116
+ const [{ ckbAvailable, ckbMaturing }, orders, feeRate] = await Promise.all([
117
+ this.getCkb(client, tip),
118
+ collect(this.order.findOrders(client)),
119
+ client.getFeeRate(),
120
+ ]);
121
+ const midInfo = new Info(exchangeRatio, exchangeRatio, 1);
122
+ const userOrders = [];
123
+ const systemOrders = [];
124
+ for (const group of orders) {
125
+ if (group.isOwner(...locks)) {
126
+ userOrders.push(group);
127
+ }
128
+ const { order } = group;
129
+ const info = order.data.info;
130
+ if ((order.isCkb2UdtMatchable() && info.ckb2UdtCompare(midInfo) < 0) ||
131
+ (order.isUdt2CkbMatchable() && info.udt2CkbCompare(midInfo) < 0)) {
132
+ systemOrders.push(order);
133
+ }
134
+ }
135
+ const system = {
136
+ feeRate,
137
+ tip,
138
+ exchangeRatio,
139
+ orderPool: systemOrders,
140
+ ckbAvailable,
141
+ ckbMaturing,
142
+ };
143
+ for (const { order } of userOrders) {
144
+ order.maturity = IckbSdk.maturity(order, system);
145
+ }
146
+ return {
147
+ system,
148
+ user: {
149
+ orders: userOrders,
150
+ },
151
+ };
152
+ }
153
+ async getCkb(client, tip) {
154
+ const opts = {
155
+ onChain: true,
156
+ tip,
157
+ };
158
+ const promiseBotWithdrawals = collect(this.ownedOwner.findWithdrawalGroups(client, this.bots, opts));
159
+ let poolSnapshotHex = "0x";
160
+ let poolSnapshotEpoch = Epoch.from([0n, 0n, 1n]);
161
+ const bot2Ckb = new Map();
162
+ const reserved = -ccc.fixedPointFrom("2000");
163
+ for await (const c of this.capacity.findCapacities(client, this.bots, opts)) {
164
+ const key = hexFrom(c.cell.cellOutput.lock);
165
+ const ckb = (bot2Ckb.get(key) ?? reserved) + c.ckbValue;
166
+ bot2Ckb.set(key, ckb);
167
+ const outputData = c.cell.outputData;
168
+ if (outputData.length % 256 === 2) {
169
+ const h = await getHeader(client, {
170
+ type: "txHash",
171
+ value: c.cell.outPoint.txHash,
172
+ });
173
+ const e = Epoch.from(h.epoch);
174
+ if (poolSnapshotEpoch.compare(e) < 0) {
175
+ poolSnapshotHex = outputData;
176
+ poolSnapshotEpoch = e;
177
+ }
178
+ }
179
+ }
180
+ const ckbMaturing = new Array();
181
+ for (const wr of await promiseBotWithdrawals) {
182
+ if (wr.owned.isReady) {
183
+ const key = hexFrom(wr.owner.cell.cellOutput.lock);
184
+ const ckb = (bot2Ckb.get(key) ?? reserved) + wr.ckbValue;
185
+ bot2Ckb.set(key, ckb);
186
+ continue;
187
+ }
188
+ ckbMaturing.push({
189
+ ckbValue: wr.ckbValue,
190
+ maturity: wr.owned.maturity.toUnix(tip),
191
+ });
192
+ }
193
+ let ckbAvailable = 0n;
194
+ for (const ckb of bot2Ckb.values()) {
195
+ if (ckb > 0n) {
196
+ ckbAvailable += ckb;
197
+ }
198
+ }
199
+ const tipEpoch = Epoch.from(tip.epoch);
200
+ const oneCycle = Epoch.from([180n, 0n, 1n]);
201
+ if (poolSnapshotHex !== "0x") {
202
+ const eNumber = tip.epoch[0];
203
+ let start = Epoch.from([eNumber - (eNumber % 180n), 0n, 1n]);
204
+ const step = Epoch.from([0n, 180n, 1024n]);
205
+ const depositSize = convert(false, ICKB_DEPOSIT_CAP, tip);
206
+ for (const binAmount of PoolSnapshot.decode(poolSnapshotHex)) {
207
+ const end = start.add(step);
208
+ if (binAmount > 0) {
209
+ ckbMaturing.push({
210
+ ckbValue: BigInt(binAmount) * depositSize,
211
+ maturity: tipEpoch.compare(tipEpoch) < 0
212
+ ?
213
+ end.add(oneCycle).toUnix(tip)
214
+ :
215
+ end.toUnix(tip),
216
+ });
217
+ }
218
+ start = end;
219
+ }
220
+ }
221
+ else {
222
+ for await (const d of this.ickbLogic.findDeposits(client, opts)) {
223
+ ckbMaturing.push({
224
+ ckbValue: d.ckbValue,
225
+ maturity: d.maturity.toUnix(tip),
226
+ });
227
+ }
228
+ }
229
+ ckbMaturing.sort((a, b) => Number(a.maturity - b.maturity));
230
+ let cumulative = 0n;
231
+ const ckbCumulativeMaturing = [];
232
+ for (const { ckbValue, maturity } of ckbMaturing) {
233
+ cumulative += ckbValue;
234
+ ckbCumulativeMaturing.push({ ckbCumulative: cumulative, maturity });
235
+ }
236
+ return {
237
+ ckbAvailable,
238
+ ckbMaturing: ckbCumulativeMaturing,
239
+ };
240
+ }
241
+ }
242
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"../src/","sources":["sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EACL,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,YAAY,EAEZ,OAAO,EACP,SAAS,EACT,KAAK,GACN,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,iBAAiB,GAGlB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,KAAK,GAGN,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK1C,MAAM,OAAO,OAAO;IAUlB,YACmB,UAA6B,EAC7B,SAAuB,EACvB,KAAmB,EACnB,QAAyB,EACzB,IAAkB;QAJnC;;;;mBAAiB,UAAU;WAAmB;QAC9C;;;;mBAAiB,SAAS;WAAc;QACxC;;;;mBAAiB,KAAK;WAAc;QACpC;;;;mBAAiB,QAAQ;WAAiB;QAC1C;;;;mBAAiB,IAAI;WAAc;IAClC,CAAC;IAQJ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAkC;QAC/C,MAAM,EACJ,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAChD,IAAI,GACL,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAEvB,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAwBD,MAAM,CAAC,QAAQ,CACb,SAAkB,EAClB,OAAwB,EACxB,MAAmB,EACnB,OAGC;QAQD,OAAO,GAAG;YACR,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,OAAO;YAChB,GAAG,OAAO;SACX,CAAC;QACF,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAC5D,SAAS,EACT,MAAM,CAAC,aAAa,EACpB,OAAO,EACP,OAAO,CACR,CAAC;QAGF,MAAM,QAAQ,GACZ,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO;YAC5B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrD,CAAC;IAYD,MAAM,CAAC,QAAQ,CACb,CAKK,EACL,MAAmB;QAEnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChD,MAAM,OAAO,GACX,SAAS,IAAI,CAAC;YACZ,CAAC,CAAC,CAAC,CAAC,OAAO;YACX,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAG1D,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAGxD,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAG5E,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;gBAElB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,GAAG,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,CAAC;gBAEN,IAAI,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QAG1C,IAAI,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YAEd,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;gBACb,QAAQ,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAGD,GAAG,IAAI,YAAY,CAAC;QACpB,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,OAAO,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAGD,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC;QACvB,MAAM,CAAC,GAAG,YAAY,CACpB,WAAW,CAAC,MAAM,EAElB,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,aAAa,IAAI,SAAS,CAClD,CAAC;QAEF,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAClC,CAAC;IAmBD,KAAK,CAAC,OAAO,CACX,EAAoB,EACpB,IAA6B,EAC7B,IAAU,EACV,OAAwB;QAGxB,IAAI;YACF,UAAU,IAAI,IAAI;gBAChB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC;QAErD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAgBD,OAAO,CACL,EAAoB,EACpB,MAAoB,EACpB,OAEC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAiBD,KAAK,CAAC,UAAU,CACd,MAAkB,EAClB,KAAmB;QAEnB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QAGzD,MAAM,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,UAAU,EAAE;SACpB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,MAAM,YAAY,GAAgB,EAAE,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B,IACE,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAChE,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAChE,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG;YACb,OAAO;YACP,GAAG;YACH,aAAa;YACb,SAAS,EAAE,YAAY;YACvB,YAAY;YACZ,WAAW;SACZ,CAAC;QAGF,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC;YACnC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,OAAO;YACL,MAAM;YACN,IAAI,EAAE;gBACJ,MAAM,EAAE,UAAU;aACnB;SACF,CAAC;IACJ,CAAC;IAmBO,KAAK,CAAC,MAAM,CAClB,MAAkB,EAClB,GAA0B;QAK1B,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,IAAI;YACb,GAAG;SACJ,CAAC;QAGF,MAAM,qBAAqB,GAAG,OAAO,CACnC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAC9D,CAAC;QAGF,IAAI,eAAe,GAAY,IAAI,CAAC;QACpC,IAAI,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;QAClD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAChD,MAAM,EACN,IAAI,CAAC,IAAI,EACT,IAAI,CACL,EAAE,CAAC;YACF,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAGtB,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE;oBAChC,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;iBAC9B,CAAC,CAAC;gBACH,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,eAAe,GAAG,UAAU,CAAC;oBAC7B,iBAAiB,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,KAAK,EAGzB,CAAC;QACL,KAAK,MAAM,EAAE,IAAI,MAAM,qBAAqB,EAAE,CAAC;YAC7C,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAErB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YAGD,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QAGD,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACnC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;gBACb,YAAY,IAAI,GAAG,CAAC;YACtB,CAAC;QACH,CAAC;QAGD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;YAC1D,KAAK,MAAM,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE5B,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW;wBACzC,QAAQ,EACN,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;4BAC5B,CAAC;gCACC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;4BAC/B,CAAC;gCACC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtB,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBAChE,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAGD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAG5D,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,qBAAqB,GAAoB,EAAE,CAAC;QAClD,KAAK,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;YACjD,UAAU,IAAI,QAAQ,CAAC;YACvB,qBAAqB,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO;YACL,YAAY;YACZ,WAAW,EAAE,qBAAqB;SACnC,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -1,46 +1,61 @@
1
1
  {
2
2
  "name": "@ickb/sdk",
3
- "version": "1000.0.71",
3
+ "version": "1000.0.82",
4
4
  "description": "iCKB SDK built on top of CCC",
5
+ "keywords": [
6
+ "ickb",
7
+ "ccc",
8
+ "ckb",
9
+ "blockchain"
10
+ ],
5
11
  "author": "phroi",
6
12
  "license": "MIT",
7
- "private": false,
8
13
  "homepage": "https://github.com/ickb/sdk",
9
14
  "repository": {
10
15
  "type": "git",
11
- "url": "git://github.com/ickb/sdk.git"
16
+ "url": "https://github.com/ickb/sdk"
17
+ },
18
+ "bugs": {
19
+ "url": "https://github.com/ickb/sdk/issues"
12
20
  },
13
21
  "sideEffects": false,
14
- "main": "dist/cjs/index.js",
15
- "module": "dist/esm/index.js",
16
- "types": "dist/esm/index.d.ts",
22
+ "type": "module",
23
+ "main": "dist/index.js",
24
+ "types": "dist/index.d.ts",
25
+ "exports": {
26
+ ".": {
27
+ "import": "./dist/index.js",
28
+ "types": "./dist/index.d.ts"
29
+ }
30
+ },
31
+ "engines": {
32
+ "node": ">=18"
33
+ },
17
34
  "files": [
18
- "/dist",
19
- "/src"
35
+ "dist",
36
+ "src"
20
37
  ],
21
38
  "publishConfig": {
22
39
  "access": "public",
23
40
  "provenance": true
24
41
  },
25
42
  "devDependencies": {
26
- "@eslint/js": "^9.28.0",
27
- "eslint": "^9.28.0",
43
+ "@eslint/js": "^9.29.0",
44
+ "eslint": "^9.29.0",
28
45
  "prettier": "^3.5.3",
29
46
  "typescript": "^5.8.3",
30
- "typescript-eslint": "^8.33.0"
47
+ "typescript-eslint": "^8.34.0"
31
48
  },
32
49
  "dependencies": {
33
- "@ckb-ccc/core": "^1.8.1",
34
- "@ickb/core": "^1000.0.71",
35
- "@ickb/dao": "^1000.0.71",
36
- "@ickb/order": "^1000.0.71",
37
- "@ickb/utils": "^1000.0.71"
50
+ "@ckb-ccc/core": "canary",
51
+ "@ickb/core": "^1000.0.82",
52
+ "@ickb/dao": "^1000.0.82",
53
+ "@ickb/order": "^1000.0.82",
54
+ "@ickb/utils": "^1000.0.82"
38
55
  },
39
56
  "scripts": {
40
- "build": "pnpm run build:esm && pnpm run build:cjs && node dist/cjs/index.js",
41
- "build:esm": "tsc",
42
- "build:cjs": "tsc --module commonjs --outDir dist/cjs",
43
57
  "lint": "eslint ./src",
44
- "up2lint": "rm pnpm-lock.yaml && pnpm up && pnpm build && pnpm lint"
58
+ "clean": "rm -fr pnpm-lock.yaml dist/*",
59
+ "revamp": "pnpm clean; pnpm up && node dist/index.js && pnpm lint"
45
60
  }
46
61
  }