@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.
- package/README.md +14 -11
- package/dist/constants.d.ts +0 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -24
- package/dist/constants.js.map +1 -1
- package/dist/conversion/estimate.d.ts +0 -6
- package/dist/conversion/estimate.d.ts.map +1 -1
- package/dist/conversion/estimate.js +1 -1
- package/dist/conversion/estimate.js.map +1 -1
- package/dist/conversion/maturity.d.ts +1 -1
- package/dist/conversion/maturity.js +13 -12
- package/dist/conversion/maturity.js.map +1 -1
- package/dist/conversion/plans.d.ts.map +1 -1
- package/dist/conversion/plans.js +6 -6
- package/dist/conversion/plans.js.map +1 -1
- package/dist/conversion/projection.d.ts +5 -6
- package/dist/conversion/projection.d.ts.map +1 -1
- package/dist/conversion/projection.js +11 -8
- package/dist/conversion/projection.js.map +1 -1
- package/dist/conversion/types.d.ts +29 -17
- package/dist/conversion/types.d.ts.map +1 -1
- package/dist/conversion/withdrawal_ring.d.ts +1 -3
- package/dist/conversion/withdrawal_ring.d.ts.map +1 -1
- package/dist/conversion/withdrawal_ring.js +4 -4
- package/dist/conversion/withdrawal_ring.js.map +1 -1
- package/dist/dao.d.ts +19 -5
- package/dist/dao.d.ts.map +1 -1
- package/dist/dao.js +24 -12
- package/dist/dao.js.map +1 -1
- package/dist/index.d.ts +9 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/logic.d.ts +10 -14
- package/dist/logic.d.ts.map +1 -1
- package/dist/logic.js +28 -39
- package/dist/logic.js.map +1 -1
- package/dist/order/cells.d.ts +10 -49
- package/dist/order/cells.d.ts.map +1 -1
- package/dist/order/cells.js +28 -146
- package/dist/order/cells.js.map +1 -1
- package/dist/order/conversion.d.ts +3 -9
- package/dist/order/conversion.d.ts.map +1 -1
- package/dist/order/conversion.js +8 -11
- package/dist/order/conversion.js.map +1 -1
- package/dist/order/fill.d.ts +2 -2
- package/dist/order/fill.js +3 -3
- package/dist/order/fill.js.map +1 -1
- package/dist/order/info.d.ts.map +1 -1
- package/dist/order/info.js +3 -0
- package/dist/order/info.js.map +1 -1
- package/dist/order/matcher.d.ts +1 -1
- package/dist/order/matcher.d.ts.map +1 -1
- package/dist/order/matcher.js +3 -2
- package/dist/order/matcher.js.map +1 -1
- package/dist/order/order.d.ts +6 -2
- package/dist/order/order.d.ts.map +1 -1
- package/dist/order/order.js +32 -37
- package/dist/order/order.js.map +1 -1
- package/dist/order/order_data.d.ts.map +1 -1
- package/dist/order/order_data.js +3 -0
- package/dist/order/order_data.js.map +1 -1
- package/dist/order/ratio.d.ts +0 -2
- package/dist/order/ratio.d.ts.map +1 -1
- package/dist/order/ratio.js +3 -11
- package/dist/order/ratio.js.map +1 -1
- package/dist/order/relative.d.ts.map +1 -1
- package/dist/order/relative.js +3 -0
- package/dist/order/relative.js.map +1 -1
- package/dist/owned_owner.d.ts +10 -15
- package/dist/owned_owner.d.ts.map +1 -1
- package/dist/owned_owner.js +27 -47
- package/dist/owned_owner.js.map +1 -1
- package/dist/sdk.d.ts +74 -31
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +81 -59
- package/dist/sdk.js.map +1 -1
- package/dist/send/sign_and_send_transaction.d.ts +32 -17
- package/dist/send/sign_and_send_transaction.d.ts.map +1 -1
- package/dist/send/sign_and_send_transaction.js +128 -28
- package/dist/send/sign_and_send_transaction.js.map +1 -1
- package/dist/send/wait_transaction.d.ts +7 -6
- package/dist/send/wait_transaction.d.ts.map +1 -1
- package/dist/send/wait_transaction.js +29 -61
- package/dist/send/wait_transaction.js.map +1 -1
- package/dist/udt.d.ts +20 -35
- package/dist/udt.d.ts.map +1 -1
- package/dist/udt.js +39 -103
- package/dist/udt.js.map +1 -1
- package/dist/utils/chain.d.ts +0 -35
- package/dist/utils/chain.d.ts.map +1 -1
- package/dist/utils/chain.js +1 -19
- package/dist/utils/chain.js.map +1 -1
- package/dist/utils/codec.d.ts.map +1 -1
- package/dist/utils/codec.js +3 -0
- package/dist/utils/codec.js.map +1 -1
- package/dist/utils/utils.d.ts +19 -46
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +53 -74
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/verified_client.d.ts +19 -0
- package/dist/utils/verified_client.d.ts.map +1 -0
- package/dist/utils/verified_client.js +92 -0
- package/dist/utils/verified_client.js.map +1 -0
- package/package.json +2 -2
- package/src/constants.ts +6 -25
- package/src/conversion/estimate.ts +1 -3
- package/src/conversion/maturity.ts +13 -14
- package/src/conversion/plans.ts +6 -6
- package/src/conversion/projection.ts +15 -7
- package/src/conversion/types.ts +32 -17
- package/src/conversion/withdrawal_ring.ts +4 -8
- package/src/dao.ts +38 -14
- package/src/index.ts +8 -8
- package/src/logic.ts +40 -52
- package/src/order/cells.ts +37 -174
- package/src/order/conversion.ts +8 -19
- package/src/order/fill.ts +3 -3
- package/src/order/info.ts +3 -0
- package/src/order/matcher.ts +3 -3
- package/src/order/order.ts +38 -52
- package/src/order/order_data.ts +3 -0
- package/src/order/ratio.ts +3 -20
- package/src/order/relative.ts +3 -0
- package/src/owned_owner.ts +47 -77
- package/src/sdk.ts +95 -108
- package/src/send/sign_and_send_transaction.ts +164 -28
- package/src/send/wait_transaction.ts +44 -88
- package/src/udt.ts +56 -124
- package/src/utils/chain.ts +0 -41
- package/src/utils/codec.ts +4 -0
- package/src/utils/utils.ts +76 -105
- package/src/utils/verified_client.ts +136 -0
- package/dist/utils/transaction_header.d.ts +0 -17
- package/dist/utils/transaction_header.d.ts.map +0 -1
- package/dist/utils/transaction_header.js +0 -44
- package/dist/utils/transaction_header.js.map +0 -1
- package/src/utils/transaction_header.ts +0 -66
package/dist/order/cells.d.ts
CHANGED
|
@@ -82,19 +82,13 @@ export declare class OrderCell implements ValueComponents {
|
|
|
82
82
|
*/
|
|
83
83
|
getMaster(): ccc.OutPoint;
|
|
84
84
|
/**
|
|
85
|
-
*
|
|
85
|
+
* Whether `descendant` can be this origin order's live continuation.
|
|
86
86
|
*
|
|
87
87
|
* @remarks
|
|
88
88
|
* This confusion-attack guard requires the same order script, UDT type,
|
|
89
89
|
* master, and info, while forbidding lower total value or lower progress.
|
|
90
90
|
* See {@link https://github.com/ickb/whitepaper/issues/19}.
|
|
91
91
|
*/
|
|
92
|
-
validate(descendant: OrderCell): void;
|
|
93
|
-
/**
|
|
94
|
-
* Checks if the descendant order is valid against this order.
|
|
95
|
-
* @param descendant - The descendant order to validate.
|
|
96
|
-
* @returns True if the descendant is valid, otherwise false.
|
|
97
|
-
*/
|
|
98
92
|
isValid(descendant: OrderCell): boolean;
|
|
99
93
|
/**
|
|
100
94
|
* Resolves the best valid descendant order.
|
|
@@ -110,34 +104,16 @@ export declare class OrderCell implements ValueComponents {
|
|
|
110
104
|
/**
|
|
111
105
|
* Represents a master cell
|
|
112
106
|
*/
|
|
113
|
-
export declare class MasterCell
|
|
107
|
+
export declare class MasterCell {
|
|
114
108
|
/** Raw live master cell that anchors an order group. */
|
|
115
109
|
readonly cell: ccc.Cell;
|
|
116
|
-
/**
|
|
117
|
-
* Gets the UDT value of the cell.
|
|
118
|
-
*
|
|
119
|
-
* For a Master Cell, the UDT amount is always zero.
|
|
120
|
-
*
|
|
121
|
-
* @returns The UDT amount as a `ccc.FixedPoint` (0n).
|
|
122
|
-
*/
|
|
123
|
-
readonly udtValue = 0n;
|
|
124
110
|
/**
|
|
125
111
|
* Creates an instance of MasterCell.
|
|
126
112
|
* @param cell - The ccc.Cell instance to be wrapped by the MasterCell.
|
|
127
113
|
*/
|
|
128
114
|
constructor(cell: ccc.Cell);
|
|
129
|
-
/**
|
|
130
|
-
|
|
131
|
-
*
|
|
132
|
-
* @returns The total CKB amount as a `ccc.FixedPoint`.
|
|
133
|
-
*/
|
|
134
|
-
get ckbValue(): ccc.FixedPoint;
|
|
135
|
-
/**
|
|
136
|
-
* Validates the MasterCell against an OrderCell.
|
|
137
|
-
* @param order - The OrderCell to validate against.
|
|
138
|
-
* @throws Error if the order script is different or if the master is different.
|
|
139
|
-
*/
|
|
140
|
-
validate(order: OrderCell): void;
|
|
115
|
+
/** Whether this master anchors `order`: its type is the order script and the order names it. */
|
|
116
|
+
anchors(order: OrderCell): boolean;
|
|
141
117
|
}
|
|
142
118
|
/**
|
|
143
119
|
* Represents a group of orders associated with a master cell.
|
|
@@ -149,16 +125,16 @@ export declare class OrderGroup implements ValueComponents {
|
|
|
149
125
|
readonly order: OrderCell;
|
|
150
126
|
/** Origin order used to validate descendant progress and identity. */
|
|
151
127
|
readonly origin: OrderCell;
|
|
152
|
-
/** The block that committed the origin
|
|
153
|
-
readonly blockNumber: ccc.Num
|
|
128
|
+
/** The block that committed the origin and its master: how long the order has been on the book. */
|
|
129
|
+
readonly blockNumber: ccc.Num;
|
|
154
130
|
/**
|
|
155
131
|
* Creates an instance of OrderGroup.
|
|
156
132
|
* @param master - The master cell associated with the order group.
|
|
157
133
|
* @param order - The order within the group.
|
|
158
134
|
* @param origin - The original order associated with the group.
|
|
159
|
-
* @param blockNumber - The block that committed the origin
|
|
135
|
+
* @param blockNumber - The block that committed the origin and its master.
|
|
160
136
|
*/
|
|
161
|
-
constructor(master: MasterCell, order: OrderCell, origin: OrderCell, blockNumber
|
|
137
|
+
constructor(master: MasterCell, order: OrderCell, origin: OrderCell, blockNumber: ccc.Num);
|
|
162
138
|
/**
|
|
163
139
|
* Gets the CKB value of the group.
|
|
164
140
|
*
|
|
@@ -178,16 +154,8 @@ export declare class OrderGroup implements ValueComponents {
|
|
|
178
154
|
* @param origin - The original order.
|
|
179
155
|
* @returns An OrderGroup instance or undefined if creation fails.
|
|
180
156
|
*/
|
|
181
|
-
static tryFrom(master: MasterCell, order: OrderCell, origin: OrderCell, blockNumber
|
|
182
|
-
/**
|
|
183
|
-
* Validates the order group against its master and origin orders.
|
|
184
|
-
* @throws Will throw an error if validation fails.
|
|
185
|
-
*/
|
|
186
|
-
validate(): void;
|
|
187
|
-
/**
|
|
188
|
-
* Checks if the order group is valid.
|
|
189
|
-
* @returns True if the order group is valid, otherwise false.
|
|
190
|
-
*/
|
|
157
|
+
static tryFrom(master: MasterCell, order: OrderCell, origin: OrderCell, blockNumber: ccc.Num): OrderGroup | undefined;
|
|
158
|
+
/** Whether the master anchors both orders and the order continues its origin. */
|
|
191
159
|
isValid(): boolean;
|
|
192
160
|
/**
|
|
193
161
|
* Checks if the specified lock is the owner of the master cell.
|
|
@@ -197,11 +165,4 @@ export declare class OrderGroup implements ValueComponents {
|
|
|
197
165
|
*/
|
|
198
166
|
isOwner(...locks: ccc.Script[]): boolean;
|
|
199
167
|
}
|
|
200
|
-
/**
|
|
201
|
-
* Records canonical resolver output without exposing forgeable provenance data. The
|
|
202
|
-
* group and its parsed parts are frozen, since matching and transactions build on them.
|
|
203
|
-
*/
|
|
204
|
-
export declare function attestResolvedOrderGroup(group: OrderGroup): OrderGroup;
|
|
205
|
-
/** Returns the resolver's group at a matching or transaction boundary. */
|
|
206
|
-
export declare function validatedOrderGroup(group: OrderGroup): OrderGroup;
|
|
207
168
|
//# sourceMappingURL=cells.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cells.d.ts","sourceRoot":"","sources":["../../src/order/cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"cells.d.ts","sourceRoot":"","sources":["../../src/order/cells.ts"],"names":[],"mappings":"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"}
|
package/dist/order/cells.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { OrderData } from "./order_data.js";
|
|
2
|
-
// The resolver's own group, keyed by its order cell: matching and transactions use this
|
|
3
|
-
// parse, so a caller's own wrapper is only ever a key into it.
|
|
4
|
-
const resolvedOrderGroups = new WeakMap();
|
|
5
2
|
/**
|
|
6
3
|
* Represents a parsed order cell on the blockchain.
|
|
7
4
|
*
|
|
@@ -92,15 +89,14 @@ export class OrderCell {
|
|
|
92
89
|
? ckbUnoccupied * udtToCkb.ckbScale + udtValue * udtToCkb.udtScale
|
|
93
90
|
: 0n;
|
|
94
91
|
const absTotal = absoluteOrderTotal(ckb2UdtValue, udt2CkbValue, data.info);
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
udtValue
|
|
102
|
-
|
|
103
|
-
});
|
|
92
|
+
// What the order already holds of its output side; a dual-ratio order is complete.
|
|
93
|
+
let absProgress = ckbUnoccupied * udtToCkb.ckbScale;
|
|
94
|
+
if (isDualRatio) {
|
|
95
|
+
absProgress = absTotal;
|
|
96
|
+
}
|
|
97
|
+
else if (isCkb2Udt) {
|
|
98
|
+
absProgress = udtValue * ckbToUdt.udtScale;
|
|
99
|
+
}
|
|
104
100
|
return new OrderCell({ cell, data, ckbUnoccupied, absTotal, absProgress });
|
|
105
101
|
}
|
|
106
102
|
/**
|
|
@@ -139,50 +135,23 @@ export class OrderCell {
|
|
|
139
135
|
return this.data.getMaster(this.cell.outPoint);
|
|
140
136
|
}
|
|
141
137
|
/**
|
|
142
|
-
*
|
|
138
|
+
* Whether `descendant` can be this origin order's live continuation.
|
|
143
139
|
*
|
|
144
140
|
* @remarks
|
|
145
141
|
* This confusion-attack guard requires the same order script, UDT type,
|
|
146
142
|
* master, and info, while forbidding lower total value or lower progress.
|
|
147
143
|
* See {@link https://github.com/ickb/whitepaper/issues/19}.
|
|
148
144
|
*/
|
|
149
|
-
validate(descendant) {
|
|
150
|
-
if (!this.data.isMint()) {
|
|
151
|
-
throw new Error("Origin is not a mint order");
|
|
152
|
-
}
|
|
153
|
-
if (!this.cell.cellOutput.lock.eq(descendant.cell.cellOutput.lock)) {
|
|
154
|
-
throw new Error("Order script different");
|
|
155
|
-
}
|
|
156
|
-
const udt = this.cell.cellOutput.type;
|
|
157
|
-
if (udt === undefined || descendant.cell.cellOutput.type?.eq(udt) !== true) {
|
|
158
|
-
throw new Error("UDT type is different");
|
|
159
|
-
}
|
|
160
|
-
if (!descendant.getMaster().eq(this.getMaster())) {
|
|
161
|
-
throw new Error("Master is different");
|
|
162
|
-
}
|
|
163
|
-
if (!this.data.info.eq(descendant.data.info)) {
|
|
164
|
-
throw new Error("Info is different");
|
|
165
|
-
}
|
|
166
|
-
if (this.absTotal > descendant.absTotal) {
|
|
167
|
-
throw new Error("Total value is lower than the original one");
|
|
168
|
-
}
|
|
169
|
-
if (this.absProgress > descendant.absProgress) {
|
|
170
|
-
throw new Error("Progress is lower than the original one");
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Checks if the descendant order is valid against this order.
|
|
175
|
-
* @param descendant - The descendant order to validate.
|
|
176
|
-
* @returns True if the descendant is valid, otherwise false.
|
|
177
|
-
*/
|
|
178
145
|
isValid(descendant) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
146
|
+
const udt = this.cell.cellOutput.type;
|
|
147
|
+
return (this.data.isMint() &&
|
|
148
|
+
this.cell.cellOutput.lock.eq(descendant.cell.cellOutput.lock) &&
|
|
149
|
+
udt !== undefined &&
|
|
150
|
+
descendant.cell.cellOutput.type?.eq(udt) === true &&
|
|
151
|
+
descendant.getMaster().eq(this.getMaster()) &&
|
|
152
|
+
this.data.info.eq(descendant.data.info) &&
|
|
153
|
+
this.absTotal <= descendant.absTotal &&
|
|
154
|
+
this.absProgress <= descendant.absProgress);
|
|
186
155
|
}
|
|
187
156
|
/**
|
|
188
157
|
* Resolves the best valid descendant order.
|
|
@@ -219,15 +188,6 @@ function absoluteOrderTotal(ckb2UdtValue, udt2CkbValue, info) {
|
|
|
219
188
|
udt2CkbValue * ckbToUdt.ckbScale * ckbToUdt.udtScale) >>
|
|
220
189
|
1n);
|
|
221
190
|
}
|
|
222
|
-
function absoluteOrderProgress(options) {
|
|
223
|
-
if (options.isDualRatio) {
|
|
224
|
-
return options.absTotal;
|
|
225
|
-
}
|
|
226
|
-
if (options.isCkb2Udt) {
|
|
227
|
-
return options.udtValue * options.udtScale;
|
|
228
|
-
}
|
|
229
|
-
return options.ckbUnoccupied * options.udtToCkbCkbScale;
|
|
230
|
-
}
|
|
231
191
|
function betterOrderResolution(current, candidate) {
|
|
232
192
|
if (current === undefined || compareOrderScore(current.order, candidate) < 0) {
|
|
233
193
|
return { isAmbiguous: false, order: candidate };
|
|
@@ -261,14 +221,6 @@ function compareOrderScore(left, right) {
|
|
|
261
221
|
export class MasterCell {
|
|
262
222
|
/** Raw live master cell that anchors an order group. */
|
|
263
223
|
cell;
|
|
264
|
-
/**
|
|
265
|
-
* Gets the UDT value of the cell.
|
|
266
|
-
*
|
|
267
|
-
* For a Master Cell, the UDT amount is always zero.
|
|
268
|
-
*
|
|
269
|
-
* @returns The UDT amount as a `ccc.FixedPoint` (0n).
|
|
270
|
-
*/
|
|
271
|
-
udtValue = 0n;
|
|
272
224
|
/**
|
|
273
225
|
* Creates an instance of MasterCell.
|
|
274
226
|
* @param cell - The ccc.Cell instance to be wrapped by the MasterCell.
|
|
@@ -276,26 +228,10 @@ export class MasterCell {
|
|
|
276
228
|
constructor(cell) {
|
|
277
229
|
this.cell = cell;
|
|
278
230
|
}
|
|
279
|
-
/**
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
*/
|
|
284
|
-
get ckbValue() {
|
|
285
|
-
return this.cell.cellOutput.capacity;
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Validates the MasterCell against an OrderCell.
|
|
289
|
-
* @param order - The OrderCell to validate against.
|
|
290
|
-
* @throws Error if the order script is different or if the master is different.
|
|
291
|
-
*/
|
|
292
|
-
validate(order) {
|
|
293
|
-
if (this.cell.cellOutput.type?.eq(order.cell.cellOutput.lock) !== true) {
|
|
294
|
-
throw new Error("Order script different");
|
|
295
|
-
}
|
|
296
|
-
if (!order.getMaster().eq(this.cell.outPoint)) {
|
|
297
|
-
throw new Error("Master is different");
|
|
298
|
-
}
|
|
231
|
+
/** Whether this master anchors `order`: its type is the order script and the order names it. */
|
|
232
|
+
anchors(order) {
|
|
233
|
+
return (this.cell.cellOutput.type?.eq(order.cell.cellOutput.lock) === true &&
|
|
234
|
+
order.getMaster().eq(this.cell.outPoint));
|
|
299
235
|
}
|
|
300
236
|
}
|
|
301
237
|
/**
|
|
@@ -308,14 +244,14 @@ export class OrderGroup {
|
|
|
308
244
|
order;
|
|
309
245
|
/** Origin order used to validate descendant progress and identity. */
|
|
310
246
|
origin;
|
|
311
|
-
/** The block that committed the origin
|
|
247
|
+
/** The block that committed the origin and its master: how long the order has been on the book. */
|
|
312
248
|
blockNumber;
|
|
313
249
|
/**
|
|
314
250
|
* Creates an instance of OrderGroup.
|
|
315
251
|
* @param master - The master cell associated with the order group.
|
|
316
252
|
* @param order - The order within the group.
|
|
317
253
|
* @param origin - The original order associated with the group.
|
|
318
|
-
* @param blockNumber - The block that committed the origin
|
|
254
|
+
* @param blockNumber - The block that committed the origin and its master.
|
|
319
255
|
*/
|
|
320
256
|
constructor(master, order, origin, blockNumber) {
|
|
321
257
|
this.master = master;
|
|
@@ -353,27 +289,11 @@ export class OrderGroup {
|
|
|
353
289
|
}
|
|
354
290
|
return undefined;
|
|
355
291
|
}
|
|
356
|
-
/**
|
|
357
|
-
* Validates the order group against its master and origin orders.
|
|
358
|
-
* @throws Will throw an error if validation fails.
|
|
359
|
-
*/
|
|
360
|
-
validate() {
|
|
361
|
-
this.master.validate(this.origin);
|
|
362
|
-
this.master.validate(this.order);
|
|
363
|
-
this.origin.validate(this.order);
|
|
364
|
-
}
|
|
365
|
-
/**
|
|
366
|
-
* Checks if the order group is valid.
|
|
367
|
-
* @returns True if the order group is valid, otherwise false.
|
|
368
|
-
*/
|
|
292
|
+
/** Whether the master anchors both orders and the order continues its origin. */
|
|
369
293
|
isValid() {
|
|
370
|
-
|
|
371
|
-
this.
|
|
372
|
-
|
|
373
|
-
}
|
|
374
|
-
catch {
|
|
375
|
-
return false;
|
|
376
|
-
}
|
|
294
|
+
return (this.master.anchors(this.origin) &&
|
|
295
|
+
this.master.anchors(this.order) &&
|
|
296
|
+
this.origin.isValid(this.order));
|
|
377
297
|
}
|
|
378
298
|
/**
|
|
379
299
|
* Checks if the specified lock is the owner of the master cell.
|
|
@@ -386,42 +306,4 @@ export class OrderGroup {
|
|
|
386
306
|
return locks.some((l) => lock.eq(l));
|
|
387
307
|
}
|
|
388
308
|
}
|
|
389
|
-
/**
|
|
390
|
-
* Records canonical resolver output without exposing forgeable provenance data. The
|
|
391
|
-
* group and its parsed parts are frozen, since matching and transactions build on them.
|
|
392
|
-
*/
|
|
393
|
-
export function attestResolvedOrderGroup(group) {
|
|
394
|
-
group.validate();
|
|
395
|
-
for (const order of [group.order, group.origin]) {
|
|
396
|
-
const { info } = order.data;
|
|
397
|
-
for (const part of [
|
|
398
|
-
order,
|
|
399
|
-
order.data,
|
|
400
|
-
order.data.master,
|
|
401
|
-
info,
|
|
402
|
-
info.ckbToUdt,
|
|
403
|
-
info.udtToCkb,
|
|
404
|
-
]) {
|
|
405
|
-
Object.freeze(part);
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
Object.freeze(group.master);
|
|
409
|
-
resolvedOrderGroups.set(group.order.cell, Object.freeze(group));
|
|
410
|
-
return group;
|
|
411
|
-
}
|
|
412
|
-
/** Returns the resolver's group at a matching or transaction boundary. */
|
|
413
|
-
export function validatedOrderGroup(group) {
|
|
414
|
-
if (!(group instanceof OrderGroup)) {
|
|
415
|
-
throw new TypeError("Matching requires resolved OrderGroups from findOrders()");
|
|
416
|
-
}
|
|
417
|
-
const attested = resolvedOrderGroups.get(group.order.cell);
|
|
418
|
-
if (attested === undefined) {
|
|
419
|
-
throw new TypeError("OrderGroup was not produced by the order resolver");
|
|
420
|
-
}
|
|
421
|
-
if (group.master.cell !== attested.master.cell ||
|
|
422
|
-
group.origin.cell !== attested.origin.cell) {
|
|
423
|
-
throw new TypeError("OrderGroup does not match its resolver attestation");
|
|
424
|
-
}
|
|
425
|
-
return attested;
|
|
426
|
-
}
|
|
427
309
|
//# sourceMappingURL=cells.js.map
|
package/dist/order/cells.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cells.js","sourceRoot":"","sources":["../../src/order/cells.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"cells.js","sourceRoot":"","sources":["../../src/order/cells.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ccc } from "@ckb-ccc/core";
|
|
2
2
|
import { type ExchangeRatio, type ValueComponents } from "../utils/utils.js";
|
|
3
3
|
import { Info } from "./info.js";
|
|
4
|
-
import { Ratio } from "./ratio.js";
|
|
5
4
|
/**
|
|
6
5
|
* Error thrown when an exact quote cannot be represented by the order ratio format.
|
|
7
6
|
*/
|
|
@@ -16,19 +15,14 @@ export declare class OrderConversionRepresentabilityError extends Error {
|
|
|
16
15
|
* The returned `Info` preserves the quoted amount after fee adjustment so the
|
|
17
16
|
* minted order records the executable limit price.
|
|
18
17
|
*/
|
|
19
|
-
export declare function quoteConversion(isCkb2Udt: boolean, midpoint: ExchangeRatio, amounts: ValueComponents,
|
|
20
|
-
fee
|
|
21
|
-
feeBase
|
|
18
|
+
export declare function quoteConversion(isCkb2Udt: boolean, midpoint: ExchangeRatio, amounts: ValueComponents, { fee, feeBase }: {
|
|
19
|
+
fee: ccc.Num;
|
|
20
|
+
feeBase: ccc.Num;
|
|
22
21
|
}): {
|
|
23
22
|
convertedAmount: ccc.FixedPoint;
|
|
24
23
|
ckbFee: ccc.FixedPoint;
|
|
25
24
|
info: Info;
|
|
26
25
|
};
|
|
27
|
-
/**
|
|
28
|
-
* The ratio that reproduces the quote exactly: the greatest Uint64 fraction at most
|
|
29
|
-
* `quotedOutput / inputAmount`, which must still round the input up to the quoted output.
|
|
30
|
-
*/
|
|
31
|
-
export declare function quotePreservingRatio(inputAmount: ccc.FixedPoint, quotedOutput: ccc.FixedPoint, isCkb2Udt: boolean): Ratio;
|
|
32
26
|
/**
|
|
33
27
|
* The greatest fraction at most `numerator / denominator` whose terms are at most
|
|
34
28
|
* `maxTerm`, reduced. It walks the continued fraction's convergents while they fit; the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/order/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/order/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAW,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC;;GAEG;AACH,qBAAa,oCAAqC,SAAQ,KAAK;IAC7D,mFAAmF;IACnF,YACE,OAAO,SAAiE,EACxE,OAAO,CAAC,EAAE,YAAY,EAIvB;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,eAAe,EACxB,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAA;CAAE,GACnD;IAAE,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAoBzE;AAiED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CA+B5C"}
|
package/dist/order/conversion.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ccc } from "@ckb-ccc/core";
|
|
2
|
-
import {
|
|
2
|
+
import { ckbFromUdt } from "../udt.js";
|
|
3
|
+
import { ceilDiv } from "../utils/utils.js";
|
|
3
4
|
import { Info } from "./info.js";
|
|
4
5
|
import { Ratio } from "./ratio.js";
|
|
5
6
|
const maxUint64 = (1n << 64n) - 1n;
|
|
@@ -20,11 +21,7 @@ export class OrderConversionRepresentabilityError extends Error {
|
|
|
20
21
|
* The returned `Info` preserves the quoted amount after fee adjustment so the
|
|
21
22
|
* minted order records the executable limit price.
|
|
22
23
|
*/
|
|
23
|
-
export function quoteConversion(isCkb2Udt, midpoint, amounts,
|
|
24
|
-
const fee = options?.fee ?? 0n;
|
|
25
|
-
// Generic denominator for callers that pass a fee without a scale; Stack's
|
|
26
|
-
// own default pair is owned publicly by the SDK, not by this entity.
|
|
27
|
-
const feeBase = options?.feeBase ?? 100000n;
|
|
24
|
+
export function quoteConversion(isCkb2Udt, midpoint, amounts, { fee, feeBase }) {
|
|
28
25
|
const base = Ratio.from(midpoint);
|
|
29
26
|
const amount = isCkb2Udt ? amounts.ckbValue : amounts.udtValue;
|
|
30
27
|
const { aScale, bScale } = feeAdjustedScales(base, isCkb2Udt, fee, feeBase);
|
|
@@ -32,8 +29,8 @@ export function quoteConversion(isCkb2Udt, midpoint, amounts, options) {
|
|
|
32
29
|
let ckbFee = 0n;
|
|
33
30
|
if (amount > 0n && fee !== 0n) {
|
|
34
31
|
ckbFee = isCkb2Udt
|
|
35
|
-
? amount -
|
|
36
|
-
:
|
|
32
|
+
? amount - ckbFromUdt(convertedAmount, base)
|
|
33
|
+
: ckbFromUdt(amount, base) - convertedAmount;
|
|
37
34
|
}
|
|
38
35
|
// Every order this SDK creates carries the default minimum match, the one the bot's
|
|
39
36
|
// remainder rule is sized to.
|
|
@@ -67,7 +64,7 @@ function feeAdjustedScales(ratio, isCkb2Udt, fee, feeBase) {
|
|
|
67
64
|
* The ratio that reproduces the quote exactly: the greatest Uint64 fraction at most
|
|
68
65
|
* `quotedOutput / inputAmount`, which must still round the input up to the quoted output.
|
|
69
66
|
*/
|
|
70
|
-
|
|
67
|
+
function quotePreservingRatio(inputAmount, quotedOutput, isCkb2Udt) {
|
|
71
68
|
if (inputAmount < 0n || quotedOutput < 0n) {
|
|
72
69
|
throw new Error("Order conversion amounts cannot be negative");
|
|
73
70
|
}
|
|
@@ -98,10 +95,10 @@ export function greatestBoundedFractionAtMost(numerator, denominator, maxTerm) {
|
|
|
98
95
|
const quotient = n / d;
|
|
99
96
|
let term = quotient;
|
|
100
97
|
if (p !== 0n) {
|
|
101
|
-
term =
|
|
98
|
+
term = ccc.numMin(term, (maxTerm - previousP) / p);
|
|
102
99
|
}
|
|
103
100
|
if (q !== 0n) {
|
|
104
|
-
term =
|
|
101
|
+
term = ccc.numMin(term, (maxTerm - previousQ) / q);
|
|
105
102
|
}
|
|
106
103
|
const candidate = {
|
|
107
104
|
numerator: term * p + previousP,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/order/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/order/conversion.ts"],"names":[],"mappings":"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"}
|
package/dist/order/fill.d.ts
CHANGED
|
@@ -29,8 +29,8 @@ export declare const STALE_ORDER_BLOCKS: bigint;
|
|
|
29
29
|
/**
|
|
30
30
|
* Whether the order has sat on the book for thirty days: whatever the reason (dust under
|
|
31
31
|
* the fill's cost, a remainder another matcher left, an ask above the market), it is
|
|
32
|
-
* collected and its funds returned. Age from the origin's block
|
|
33
|
-
*
|
|
32
|
+
* collected and its funds returned. Age from the origin's block. The block count assumes
|
|
33
|
+
* eight-second blocks, not wall time.
|
|
34
34
|
*/
|
|
35
35
|
export declare function isStale(group: OrderGroup, tip: ccc.ClientBlockHeader): boolean;
|
|
36
36
|
//# sourceMappingURL=fill.d.ts.map
|
package/dist/order/fill.js
CHANGED
|
@@ -44,10 +44,10 @@ export const STALE_ORDER_BLOCKS = (30n * 24n * 60n * 60n) / 8n;
|
|
|
44
44
|
/**
|
|
45
45
|
* Whether the order has sat on the book for thirty days: whatever the reason (dust under
|
|
46
46
|
* the fill's cost, a remainder another matcher left, an ask above the market), it is
|
|
47
|
-
* collected and its funds returned. Age from the origin's block
|
|
48
|
-
*
|
|
47
|
+
* collected and its funds returned. Age from the origin's block. The block count assumes
|
|
48
|
+
* eight-second blocks, not wall time.
|
|
49
49
|
*/
|
|
50
50
|
export function isStale(group, tip) {
|
|
51
|
-
return
|
|
51
|
+
return group.blockNumber + STALE_ORDER_BLOCKS <= tip.number;
|
|
52
52
|
}
|
|
53
53
|
//# sourceMappingURL=fill.js.map
|
package/dist/order/fill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fill.js","sourceRoot":"","sources":["../../src/order/fill.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAc,YAAY,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;GAKG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,iEAAiE;AACjE,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,EAAE,QAAQ,EAAiB;IAC/D,OAAO,cAAc,GAAG,GAAG,GAAG,QAAQ,CAAC;AACzC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,KAAK,CACnB,IAAW,EACX,IAAY,EACZ,EAAE,QAAQ,EAAE,QAAQ,EAAiB;IAErC,OAAO,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;AACpE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,WAAW,CACzB,OAAqB,EACrB,IAAY,EACZ,aAA4B;IAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,KAAiB,EACjB,SAAkB,EAClB,aAA4B,EAC5B,OAAgB;IAEhB,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,CACL,OAAO,KAAK,SAAS;QACrB,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,CAClE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,KAAiB,EACjB,EAAE,aAAa,EAAE,OAAO,EAAsD;IAE9E,OAAO,CACL,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,KAAiB,EAAE,GAA0B;IACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"fill.js","sourceRoot":"","sources":["../../src/order/fill.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAc,YAAY,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;GAKG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,iEAAiE;AACjE,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,EAAE,QAAQ,EAAiB;IAC/D,OAAO,cAAc,GAAG,GAAG,GAAG,QAAQ,CAAC;AACzC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,KAAK,CACnB,IAAW,EACX,IAAY,EACZ,EAAE,QAAQ,EAAE,QAAQ,EAAiB;IAErC,OAAO,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;AACpE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,WAAW,CACzB,OAAqB,EACrB,IAAY,EACZ,aAA4B;IAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,KAAiB,EACjB,SAAkB,EAClB,aAA4B,EAC5B,OAAgB;IAEhB,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,CACL,OAAO,KAAK,SAAS;QACrB,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,CAClE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,KAAiB,EACjB,EAAE,aAAa,EAAE,OAAO,EAAsD;IAE9E,OAAO,CACL,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,KAAiB,EAAE,GAA0B;IACnE,OAAO,KAAK,CAAC,WAAW,GAAG,kBAAkB,IAAI,GAAG,CAAC,MAAM,CAAC;AAC9D,CAAC"}
|
package/dist/order/info.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/order/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAO,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uEAAuE;IACvE,QAAQ,EAAE,aAAa,CAAC;IACxB,uEAAuE;IACvE,QAAQ,EAAE,aAAa,CAAC;IACxB,wDAAwD;IACxD,cAAc,EAAE,GAAG,CAAC,cAAc,CAAC;CACpC;AAUD;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,gEAAgE;IAChE,QAAQ,EAAE,KAAK,CAAC;IAChB,gEAAgE;IAChE,QAAQ,EAAE,KAAK,CAAC;IAChB,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,6DAA6D;IAC7D,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,qEAAqE;IACrE,cAAc,IAAI,GAAG,CAAC,UAAU,CAAC;IACjC,yDAAyD;IACzD,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC;IAChB,yDAAyD;IACzD,SAAS,IAAI,OAAO,CAAC;IACrB,6DAA6D;IAC7D,WAAW,IAAI,OAAO,CAAC;IACvB,yDAAyD;IACzD,SAAS,IAAI,OAAO,CAAC;IACrB,0CAA0C;IAC1C,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC;IACrB,2DAA2D;IAC3D,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;IACjB,kEAAkE;IAClE,QAAQ,IAAI,IAAI,CAAC;CAClB;AAMD,eAAO,MAAM,yBAAyB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/order/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAO,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uEAAuE;IACvE,QAAQ,EAAE,aAAa,CAAC;IACxB,uEAAuE;IACvE,QAAQ,EAAE,aAAa,CAAC;IACxB,wDAAwD;IACxD,cAAc,EAAE,GAAG,CAAC,cAAc,CAAC;CACpC;AAUD;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,gEAAgE;IAChE,QAAQ,EAAE,KAAK,CAAC;IAChB,gEAAgE;IAChE,QAAQ,EAAE,KAAK,CAAC;IAChB,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,6DAA6D;IAC7D,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,qEAAqE;IACrE,cAAc,IAAI,GAAG,CAAC,UAAU,CAAC;IACjC,yDAAyD;IACzD,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC;IAChB,yDAAyD;IACzD,SAAS,IAAI,OAAO,CAAC;IACrB,6DAA6D;IAC7D,WAAW,IAAI,OAAO,CAAC;IACvB,yDAAyD;IACzD,SAAS,IAAI,OAAO,CAAC;IACrB,0CAA0C;IAC1C,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC;IACrB,2DAA2D;IAC3D,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;IACjB,kEAAkE;IAClE,QAAQ,IAAI,IAAI,CAAC;CAClB;AAMD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAoG5C,mDAAmD;AAEnD,eAAO,MAAM,IAAI,EAAE;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACrE,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/D,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;CACxB,CAAC"}
|
package/dist/order/info.js
CHANGED
|
@@ -12,6 +12,9 @@ const InfoBase = ccc.Entity.Base();
|
|
|
12
12
|
// below `ICKB_REFILL_BELOW` so a buyer too small to split triggers a refill when inventory
|
|
13
13
|
// cannot fill it whole. Fee changes and an aging buy can still make a remainder unprofitable.
|
|
14
14
|
export const CKB_MIN_MATCH_LOG_DEFAULT = 36;
|
|
15
|
+
// An interface, this class expression and a typed const rather than one plain class: a
|
|
16
|
+
// class extending `ccc.Entity.Base<...>()` emits an unexported `*_base` declaration, which
|
|
17
|
+
// API Extractor's ae-forgotten-export rejects (tried 2026-10-30).
|
|
15
18
|
// eslint-disable-next-line @typescript-eslint/no-shadow -- Preserve the runtime constructor name.
|
|
16
19
|
const InfoImplementation = class Info extends InfoBase {
|
|
17
20
|
static {
|
package/dist/order/info.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/order/info.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/order/info.ts"],"names":[],"mappings":"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"}
|
package/dist/order/matcher.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/order/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/order/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IAEjB,oEAAoE;IACpE,QAAQ,EAAE,KAAK,CAAC;QACd,kEAAkE;QAClE,KAAK,EAAE,UAAU,CAAC;QAElB,6DAA6D;QAC7D,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC;QAEvB,2DAA2D;QAC3D,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC;KACxB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,qBAAa,YAAY;IACvB,SAAgB,KAAK,EAAE,UAAU,CAAC;IAClC,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;IAChC,SAAgB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;IAChC,SAAgB,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC;IACpC,SAAgB,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC;IACpC,SAAgB,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC;IACrC,SAAgB,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC;IAC1C,SAAgB,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC;IAC1C,SAAgB,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IAExC,OAAO,eAeN;IAED,qFAAqF;IACrF,OAAc,IAAI,CAChB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,GAAG,CAAC,UAAU,GAC3B,YAAY,GAAG,SAAS,CAG1B;IAEM,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,KAAK,CAkB9C;IAEM,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,GAAG,KAAK,CAY/D;CACF"}
|