@ckb-ccc/core 1.16.0 → 1.17.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/CHANGELOG.md +37 -0
- package/dist/address.advanced-DpcI420e.mjs +2 -0
- package/dist/address.advanced-DpcI420e.mjs.map +1 -0
- package/dist/advanced.d.mts +1 -1
- package/dist/advanced.mjs +1 -1
- package/dist/{advancedBarrel-4xTrm-An.d.mts → advancedBarrel-Bk19lQjR.d.mts} +1151 -161
- package/dist/advancedBarrel-Bk19lQjR.d.mts.map +1 -0
- package/dist/advancedBarrel.d.mts +1 -1
- package/dist/advancedBarrel.mjs +1 -1
- package/dist/barrel-BwuHQ4NS.mjs +7 -0
- package/dist/barrel-BwuHQ4NS.mjs.map +1 -0
- package/dist/barrel.d.mts +1 -1
- package/dist/barrel.mjs +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist.commonjs/address.advanced--1eOp1GP.js +2 -0
- package/dist.commonjs/address.advanced--1eOp1GP.js.map +1 -0
- package/dist.commonjs/advanced.d.ts +1 -1
- package/dist.commonjs/advanced.js +1 -1
- package/dist.commonjs/{advancedBarrel-XD_hMVay.d.ts → advancedBarrel-DrAHz5UG.d.ts} +1151 -161
- package/dist.commonjs/advancedBarrel-DrAHz5UG.d.ts.map +1 -0
- package/dist.commonjs/advancedBarrel.d.ts +1 -1
- package/dist.commonjs/advancedBarrel.js +1 -1
- package/dist.commonjs/barrel-BIo8E9Ci.js +21 -0
- package/dist.commonjs/barrel-BIo8E9Ci.js.map +1 -0
- package/dist.commonjs/barrel.d.ts +1 -1
- package/dist.commonjs/barrel.js +1 -1
- package/dist.commonjs/index.d.ts +1 -1
- package/dist.commonjs/index.js +1 -1
- package/dist.commonjs/rolldown-runtime-DWNI8pZO.js +1 -0
- package/package.json +4 -3
- package/src/ckb/epoch.ts +9 -9
- package/src/ckb/script.ts +10 -2
- package/src/ckb/transaction.ts +301 -75
- package/src/client/jsonRpc/client.ts +7 -3
- package/src/codec/entity.ts +93 -0
- package/src/molecule/codec.ts +44 -20
- package/src/signer/btc/signerBtc.ts +1 -1
- package/src/signer/ckb/signerCkbPrivateKey.ts +2 -3
- package/src/signer/ckb/signerMultisigCkbReadonly.ts +5 -5
- package/src/signer/doge/signerDoge.ts +1 -1
- package/src/signer/evm/signerEvm.ts +2 -2
- package/src/signer/nostr/signerNostr.ts +1 -1
- package/dist/address.advanced-8N_Hcv6p.mjs +0 -2
- package/dist/address.advanced-8N_Hcv6p.mjs.map +0 -1
- package/dist/advancedBarrel-4xTrm-An.d.mts.map +0 -1
- package/dist/barrel-D3tMRxi5.mjs +0 -7
- package/dist/barrel-D3tMRxi5.mjs.map +0 -1
- package/dist.commonjs/address.advanced-CUIioHfv.js +0 -2
- package/dist.commonjs/address.advanced-CUIioHfv.js.map +0 -1
- package/dist.commonjs/advancedBarrel-XD_hMVay.d.ts.map +0 -1
- package/dist.commonjs/barrel-D6tLiPED.js +0 -21
- package/dist.commonjs/barrel-D6tLiPED.js.map +0 -1
package/src/molecule/codec.ts
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
CodecLike,
|
|
12
12
|
DecodedType,
|
|
13
13
|
EncodableType,
|
|
14
|
-
} from "../codec/
|
|
14
|
+
} from "../codec/codec.js";
|
|
15
15
|
import { numFromBytes, NumLike, numToBytes } from "../num/index.js";
|
|
16
16
|
|
|
17
17
|
export {
|
|
@@ -49,6 +49,10 @@ function uint32From(bytesLike: BytesLike) {
|
|
|
49
49
|
return Number(numFromBytes(bytesLike));
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
function getMessage(e: unknown): string {
|
|
53
|
+
return e instanceof Error ? e.message : String(e);
|
|
54
|
+
}
|
|
55
|
+
|
|
52
56
|
/**
|
|
53
57
|
* Vector with fixed size item codec
|
|
54
58
|
* @param itemCodec fixed-size vector item codec
|
|
@@ -71,7 +75,7 @@ export function fixedItemVec<Encodable, Decoded>(
|
|
|
71
75
|
}
|
|
72
76
|
return bytesFrom(concatted);
|
|
73
77
|
} catch (e: unknown) {
|
|
74
|
-
throw new Error(
|
|
78
|
+
throw new Error(`fixedItemVec - ${getMessage(e)}`, { cause: e });
|
|
75
79
|
}
|
|
76
80
|
},
|
|
77
81
|
decode(buffer, config) {
|
|
@@ -101,7 +105,7 @@ export function fixedItemVec<Encodable, Decoded>(
|
|
|
101
105
|
}
|
|
102
106
|
return decodedArray;
|
|
103
107
|
} catch (e) {
|
|
104
|
-
throw new Error(
|
|
108
|
+
throw new Error(`fixedItemVec - ${getMessage(e)}`, { cause: e });
|
|
105
109
|
}
|
|
106
110
|
},
|
|
107
111
|
});
|
|
@@ -131,7 +135,7 @@ export function dynItemVec<Encodable, Decoded>(
|
|
|
131
135
|
const packedTotalSize = uint32To(header.length + body.length + 4);
|
|
132
136
|
return bytesConcat(packedTotalSize, header, body);
|
|
133
137
|
} catch (e) {
|
|
134
|
-
throw new Error(
|
|
138
|
+
throw new Error(`dynItemVec - ${getMessage(e)}`, { cause: e });
|
|
135
139
|
}
|
|
136
140
|
},
|
|
137
141
|
decode(buffer, config) {
|
|
@@ -168,7 +172,7 @@ export function dynItemVec<Encodable, Decoded>(
|
|
|
168
172
|
}
|
|
169
173
|
return decodedArray;
|
|
170
174
|
} catch (e) {
|
|
171
|
-
throw new Error(
|
|
175
|
+
throw new Error(`dynItemVec - ${getMessage(e)}`, { cause: e });
|
|
172
176
|
}
|
|
173
177
|
},
|
|
174
178
|
});
|
|
@@ -205,7 +209,7 @@ export function option<Encodable, Decoded>(
|
|
|
205
209
|
try {
|
|
206
210
|
return innerCodec.encode(userDefinedOrNull);
|
|
207
211
|
} catch (e) {
|
|
208
|
-
throw new Error(
|
|
212
|
+
throw new Error(`option - ${getMessage(e)}`, { cause: e });
|
|
209
213
|
}
|
|
210
214
|
},
|
|
211
215
|
decode(buffer, config) {
|
|
@@ -216,7 +220,7 @@ export function option<Encodable, Decoded>(
|
|
|
216
220
|
try {
|
|
217
221
|
return innerCodec.decode(buffer, config);
|
|
218
222
|
} catch (e) {
|
|
219
|
-
throw new Error(
|
|
223
|
+
throw new Error(`option - ${getMessage(e)}`, { cause: e });
|
|
220
224
|
}
|
|
221
225
|
},
|
|
222
226
|
});
|
|
@@ -236,7 +240,7 @@ export function byteVec<Encodable, Decoded>(
|
|
|
236
240
|
const byteLength = uint32To(payload.byteLength);
|
|
237
241
|
return bytesConcat(byteLength, payload);
|
|
238
242
|
} catch (e) {
|
|
239
|
-
throw new Error(
|
|
243
|
+
throw new Error(`byteVec - ${getMessage(e)}`, { cause: e });
|
|
240
244
|
}
|
|
241
245
|
},
|
|
242
246
|
decode(buffer, config) {
|
|
@@ -255,7 +259,7 @@ export function byteVec<Encodable, Decoded>(
|
|
|
255
259
|
try {
|
|
256
260
|
return codec.decode(value.slice(4), config);
|
|
257
261
|
} catch (e: unknown) {
|
|
258
|
-
throw new Error(
|
|
262
|
+
throw new Error(`byteVec - ${getMessage(e)}`, { cause: e });
|
|
259
263
|
}
|
|
260
264
|
},
|
|
261
265
|
});
|
|
@@ -313,7 +317,7 @@ export function table<
|
|
|
313
317
|
bytesConcatTo(body, encoded);
|
|
314
318
|
offset += encoded.byteLength;
|
|
315
319
|
} catch (e: unknown) {
|
|
316
|
-
throw new Error(`table.${key}
|
|
320
|
+
throw new Error(`table.${key} - ${getMessage(e)}`, { cause: e });
|
|
317
321
|
}
|
|
318
322
|
}
|
|
319
323
|
|
|
@@ -371,7 +375,7 @@ export function table<
|
|
|
371
375
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
372
376
|
Object.assign(object, { [field]: codec.decode(payload, config) });
|
|
373
377
|
} catch (e: unknown) {
|
|
374
|
-
throw new Error(`table.${field}
|
|
378
|
+
throw new Error(`table.${field} - ${getMessage(e)}`, { cause: e });
|
|
375
379
|
}
|
|
376
380
|
}
|
|
377
381
|
return object as Decoded;
|
|
@@ -379,7 +383,7 @@ export function table<
|
|
|
379
383
|
});
|
|
380
384
|
}
|
|
381
385
|
|
|
382
|
-
type UnionEncodable<
|
|
386
|
+
export type UnionEncodable<
|
|
383
387
|
T extends Record<string, CodecLike<any, any>>,
|
|
384
388
|
K extends keyof T = keyof T,
|
|
385
389
|
> = K extends unknown
|
|
@@ -388,7 +392,7 @@ type UnionEncodable<
|
|
|
388
392
|
value: EncodableType<T[K]>;
|
|
389
393
|
}
|
|
390
394
|
: never;
|
|
391
|
-
type UnionDecoded<
|
|
395
|
+
export type UnionDecoded<
|
|
392
396
|
T extends Record<string, CodecLike<any, any>>,
|
|
393
397
|
K extends keyof T = keyof T,
|
|
394
398
|
> = K extends unknown
|
|
@@ -398,6 +402,15 @@ type UnionDecoded<
|
|
|
398
402
|
}
|
|
399
403
|
: never;
|
|
400
404
|
|
|
405
|
+
export type UnionMatchHandlers<
|
|
406
|
+
CodecType extends CodecLike<any, UnionDecoded<any, any>>,
|
|
407
|
+
Result,
|
|
408
|
+
> = {
|
|
409
|
+
[T in DecodedType<CodecType>["type"]]: (
|
|
410
|
+
value: Extract<DecodedType<CodecType>, { type: T }>["value"],
|
|
411
|
+
) => Result;
|
|
412
|
+
};
|
|
413
|
+
|
|
401
414
|
/**
|
|
402
415
|
* Constructs a union codec that can serialize and deserialize values tagged with a type identifier.
|
|
403
416
|
*
|
|
@@ -435,7 +448,7 @@ type UnionDecoded<
|
|
|
435
448
|
export function union<T extends Record<string, CodecLike<any, any>>>(
|
|
436
449
|
codecLayout: T,
|
|
437
450
|
fields?: Record<keyof T, number | undefined | null>,
|
|
438
|
-
): Codec<UnionEncodable<T
|
|
451
|
+
): Codec<UnionEncodable<T> | { inner: UnionEncodable<T> }, UnionDecoded<T>> {
|
|
439
452
|
const entries = Object.entries(codecLayout);
|
|
440
453
|
|
|
441
454
|
// Determine if all variants have a fixed and equal byteLength.
|
|
@@ -451,9 +464,20 @@ export function union<T extends Record<string, CodecLike<any, any>>>(
|
|
|
451
464
|
}
|
|
452
465
|
}
|
|
453
466
|
|
|
467
|
+
function extract(
|
|
468
|
+
encodable: UnionEncodable<T> | { inner: UnionEncodable<T> },
|
|
469
|
+
): UnionEncodable<T> {
|
|
470
|
+
if ("type" in encodable && "value" in encodable) {
|
|
471
|
+
return encodable;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
return encodable.inner;
|
|
475
|
+
}
|
|
476
|
+
|
|
454
477
|
return Codec.from({
|
|
455
478
|
byteLength,
|
|
456
|
-
encode(
|
|
479
|
+
encode(encodable) {
|
|
480
|
+
const { type, value } = extract(encodable);
|
|
457
481
|
const typeStr = type.toString();
|
|
458
482
|
const codec = codecLayout[typeStr];
|
|
459
483
|
if (!codec) {
|
|
@@ -472,7 +496,7 @@ export function union<T extends Record<string, CodecLike<any, any>>>(
|
|
|
472
496
|
const body = codec.encode(value);
|
|
473
497
|
return bytesConcat(header, body);
|
|
474
498
|
} catch (e: unknown) {
|
|
475
|
-
throw new Error(`union
|
|
499
|
+
throw new Error(`union.(${typeStr}) - ${getMessage(e)}`, { cause: e });
|
|
476
500
|
}
|
|
477
501
|
},
|
|
478
502
|
decode(buffer, config) {
|
|
@@ -538,7 +562,7 @@ export function struct<
|
|
|
538
562
|
const encoded = codecLayout[key].encode((object as any)[key]);
|
|
539
563
|
bytesConcatTo(bytes, encoded);
|
|
540
564
|
} catch (e: unknown) {
|
|
541
|
-
throw new Error(`struct.${key}
|
|
565
|
+
throw new Error(`struct.${key} - ${getMessage(e)}`, { cause: e });
|
|
542
566
|
}
|
|
543
567
|
}
|
|
544
568
|
|
|
@@ -554,7 +578,7 @@ export function struct<
|
|
|
554
578
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
555
579
|
Object.assign(object, { [key]: codec.decode(payload, config) });
|
|
556
580
|
} catch (e: unknown) {
|
|
557
|
-
throw new Error(`struct.${key}
|
|
581
|
+
throw new Error(`struct.${key} - ${getMessage(e)}`, { cause: e });
|
|
558
582
|
}
|
|
559
583
|
offset = offset + codec.byteLength!;
|
|
560
584
|
});
|
|
@@ -589,7 +613,7 @@ export function array<Encodable, Decoded>(
|
|
|
589
613
|
|
|
590
614
|
return bytesFrom(bytes);
|
|
591
615
|
} catch (e: unknown) {
|
|
592
|
-
throw new Error(
|
|
616
|
+
throw new Error(`array - ${getMessage(e)}`, { cause: e });
|
|
593
617
|
}
|
|
594
618
|
},
|
|
595
619
|
decode(buffer, config) {
|
|
@@ -608,7 +632,7 @@ export function array<Encodable, Decoded>(
|
|
|
608
632
|
}
|
|
609
633
|
return result;
|
|
610
634
|
} catch (e: unknown) {
|
|
611
|
-
throw new Error(
|
|
635
|
+
throw new Error(`array - ${getMessage(e)}`, { cause: e });
|
|
612
636
|
}
|
|
613
637
|
},
|
|
614
638
|
});
|
|
@@ -44,10 +44,9 @@ export class SignerCkbPrivateKey extends SignerCkbPublicKey {
|
|
|
44
44
|
|
|
45
45
|
const signature = await this._signMessage(info.message);
|
|
46
46
|
|
|
47
|
-
const witness =
|
|
48
|
-
tx.getWitnessArgsAt(info.position) ?? WitnessArgs.from({});
|
|
47
|
+
const witness = tx.getWitnessArgs(info.position) ?? WitnessArgs.from({});
|
|
49
48
|
witness.lock = signature;
|
|
50
|
-
tx.
|
|
49
|
+
tx.setWitnessArgs(info.position, witness);
|
|
51
50
|
}
|
|
52
51
|
|
|
53
52
|
return tx;
|
|
@@ -426,7 +426,7 @@ export class SignerMultisigCkbReadonly extends SignerMultisig {
|
|
|
426
426
|
): MultisigCkbWitness | undefined {
|
|
427
427
|
const tx = Transaction.from(txLike);
|
|
428
428
|
|
|
429
|
-
return this.decodeWitnessArgs(tx.
|
|
429
|
+
return this.decodeWitnessArgs(tx.getWitnessArgs(index));
|
|
430
430
|
}
|
|
431
431
|
|
|
432
432
|
/**
|
|
@@ -482,7 +482,7 @@ export class SignerMultisigCkbReadonly extends SignerMultisig {
|
|
|
482
482
|
): Promise<Transaction> {
|
|
483
483
|
const tx = Transaction.from(txLike);
|
|
484
484
|
|
|
485
|
-
const witnessArgs = tx.
|
|
485
|
+
const witnessArgs = tx.getWitnessArgs(index) ?? WitnessArgs.from({});
|
|
486
486
|
const multisigWitness =
|
|
487
487
|
this.decodeWitnessArgs(witnessArgs) ?? this.multisigInfo.clone();
|
|
488
488
|
|
|
@@ -502,7 +502,7 @@ export class SignerMultisigCkbReadonly extends SignerMultisig {
|
|
|
502
502
|
);
|
|
503
503
|
|
|
504
504
|
witnessArgs.lock = transformed.toHex();
|
|
505
|
-
tx.
|
|
505
|
+
tx.setWitnessArgs(index, witnessArgs);
|
|
506
506
|
|
|
507
507
|
return tx;
|
|
508
508
|
}
|
|
@@ -625,7 +625,7 @@ export class SignerMultisigCkbReadonly extends SignerMultisig {
|
|
|
625
625
|
}
|
|
626
626
|
|
|
627
627
|
// === Replace the witness with a dummy one ===
|
|
628
|
-
const witness = tx.
|
|
628
|
+
const witness = tx.getWitnessArgs(position) ?? WitnessArgs.from({});
|
|
629
629
|
witness.lock = MultisigCkbWitness.from({
|
|
630
630
|
...this.multisigInfo,
|
|
631
631
|
signatures: Array.from(
|
|
@@ -635,7 +635,7 @@ export class SignerMultisigCkbReadonly extends SignerMultisig {
|
|
|
635
635
|
}).toHex();
|
|
636
636
|
|
|
637
637
|
const clonedTx = tx.clone();
|
|
638
|
-
clonedTx.
|
|
638
|
+
clonedTx.setWitnessArgs(position, witness);
|
|
639
639
|
// === Replace the witness with a dummy one ===
|
|
640
640
|
|
|
641
641
|
return clonedTx.getSignHashInfo(script, this.client);
|
|
@@ -209,7 +209,7 @@ export abstract class SignerEvm extends Signer {
|
|
|
209
209
|
),
|
|
210
210
|
);
|
|
211
211
|
|
|
212
|
-
tx.
|
|
212
|
+
tx.setWitnessArgs(info.position, witness);
|
|
213
213
|
|
|
214
214
|
return tx;
|
|
215
215
|
}
|
|
@@ -231,7 +231,7 @@ export abstract class SignerEvm extends Signer {
|
|
|
231
231
|
|
|
232
232
|
const witness = WitnessArgs.fromBytes(tx.witnesses[info.position]);
|
|
233
233
|
witness.lock = hexFrom(info.signature);
|
|
234
|
-
tx.
|
|
234
|
+
tx.setWitnessArgs(info.position, witness);
|
|
235
235
|
|
|
236
236
|
return tx;
|
|
237
237
|
}
|
|
@@ -136,7 +136,7 @@ export abstract class SignerNostr extends Signer {
|
|
|
136
136
|
|
|
137
137
|
const witness = WitnessArgs.fromBytes(tx.witnesses[info.position]);
|
|
138
138
|
witness.lock = hexFrom(signedEvent);
|
|
139
|
-
tx.
|
|
139
|
+
tx.setWitnessArgs(info.position, witness);
|
|
140
140
|
|
|
141
141
|
return tx;
|
|
142
142
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{bech32 as e,bech32m as t}from"bech32";import{Buffer as n}from"buffer/index.js";import{blake2b as r}from"@noble/hashes/blake2.js";import i from"isomorphic-ws";const a=Uint8Array;function o(e,...t){return t.reduce((t,n)=>{let r=l(n);for(let t of r)e.push(t);return t},e)}function s(...e){return new Uint8Array(o([],...e))}function c(e,t){return n.from(l(e)).toString(t)}function l(e,t){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(typeof e==`string`){if(t!==void 0)return n.from(e,t);let r=e.startsWith(`0x`)?e.slice(2):e,i=r.length%2==0?r:`0${r}`,a=n.from(i,`hex`);if(a.length*2!==i.length)throw Error(`Invalid bytes ${e}`);return a}if(Array.from(e).some(e=>e<0||255<e))throw Error(`Invalid bytes ${JSON.stringify(e)}`);return new Uint8Array(e)}function u(e,t){if(e===t)return!0;let n=l(e),r=l(t);if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==r[e])return!1;return!0}var d=class e{constructor(e,t,n){this.encode=e,this.decode=t,this.byteLength=n}encodeOr(e,t){try{return this.encode(e)}catch{return t}}decodeOr(e,t,n){try{return this.decode(e,n)}catch{return t}}static from({encode:t,decode:n,byteLength:r}){return new e(e=>{let n=t(e);if(r!==void 0&&n.byteLength!==r)throw Error(`Codec.encode: expected byte length ${r}, got ${n.byteLength}`);return n},(e,t)=>{let i=l(e);if(r!==void 0&&i.byteLength!==r)throw Error(`Codec.decode: expected byte length ${r}, got ${i.byteLength}`);return n(e,t)},r)}map({inMap:t,outMap:n}){return new e(e=>this.encode(t?t(e):e),(e,t)=>n?n(this.decode(e,t)):this.decode(e,t),this.byteLength)}mapIn(e){return this.map({inMap:e})}mapOut(e){return this.map({outMap:e})}};function ee(e){if(!(typeof e==`string`&&e.length%2==0&&e.startsWith(`0x`)))return!1;for(let t=2;t<e.length;t++){let n=e.charAt(t);if(!(`0`<=n&&n<=`9`||`a`<=n&&n<=`f`))return!1}return!0}function f(e){return ee(e)?e:`0x${c(l(e),`hex`)}`}function te(e){return ee(e)?ne(e):l(e).length}function ne(e){return Math.floor((e.length-1)/2)}const re=l(`ckb-default-hash`,`utf8`),ie=32,ae=20;var oe=class{constructor(e=32,t=re){this.hasher=r.create({personalization:t,dkLen:e})}update(e){return this.hasher.update(l(e)),this}digest(){return f(this.hasher.digest())}};function p(...e){let t=new oe;return e.forEach(e=>t.update(e)),t.digest()}function se(...e){return p(...e).slice(0,42)}var m=class{static Base(){class e extends m{static encode(e){throw Error(`encode not implemented, use @ccc.codec to decorate your type`)}static decode(e){throw Error(`decode not implemented, use @ccc.codec to decorate your type`)}static fromBytes(e){throw Error(`fromBytes not implemented, use @ccc.codec to decorate your type`)}static from(e){throw Error(`from not implemented`)}toBytes(){return this.constructor.encode(this)}clone(){return this.constructor.fromBytes(this.toBytes())}eq(e){return this===e?!0:u(this.toBytes(),(this.constructor?.from(e)??e).toBytes())}hash(){return p(this.toBytes())}toHex(){return f(this.toBytes())}}return e.encode=void 0,e.decode=void 0,e.fromBytes=void 0,e}};function h(e){return function(t,...n){return t.byteLength=e.byteLength,t.encode===void 0&&(t.encode=function(n){return e.encode(t.from(n))}),t.decode===void 0&&(t.decode=function(n){return t.from(e.decode(l(n)))}),t.fromBytes===void 0&&(t.fromBytes=function(n){return t.from(e.decode(l(n)))}),t}}function ce(e,t=8){let n=g(e).toString();if(t===0)return n;let r=n.length<=t?`0`:n.slice(0,-t),i=n.slice(-t).padStart(t,`0`).replace(/0*$/,``);return i===``?r:`${r}.${i}`}function g(e,t=8){if(typeof e==`bigint`)return e;let[n,r]=(typeof e==`number`?e.toFixed(t):e.toString()).split(`.`),i=BigInt(n.padEnd(n.length+t,`0`));return r===void 0?i:i+BigInt(r.slice(0,t).padEnd(t,`0`))}const _=0n,le=g(`1`);function ue(e,...t){let n=v(e);return t.forEach(e=>{let t=v(e);t<n&&(n=t)}),n}function de(e,...t){let n=v(e);return t.forEach(e=>{let t=v(e);t>n&&(n=t)}),n}function v(e){if(typeof e==`bigint`)return e;if(e===`0x`)return BigInt(0);if(typeof e==`string`||typeof e==`number`)return BigInt(e);let t=f(e);return BigInt(t)}function y(e){let t=v(e);if(t<0n)throw Error(`value must be non-negative`);return`0x${t.toString(16)}`}function fe(e,t){return pe(e,t)}function pe(e,t){return me(e,t).reverse()}function me(e,t){let n=v(e);if(n<v(0)){if(t==null)throw Error(`negative number can not be serialized without knowing bytes length`);if(n=(v(1)<<v(8)*v(t))+n,n<0)throw Error(`negative number underflow`)}let r=l(n.toString(16));if(t==null)return r;if(r.length>t)throw Error(`number overflow`);return s(`00`.repeat(t-r.length),r)}function b(e){return x(e)}function x(e){return he(l(e).map(e=>e).reverse())}function he(e){return v(l(e))}function S(e,t=!1){return d.from({byteLength:e,encode:n=>t?fe(n,e):me(n,e),decode:e=>t?b(e):he(e)})}function C(e,t=!1){if(e>4)throw Error(`uintNumber: byteLength must be less than or equal to 4`);return S(e,t).map({outMap:e=>Number(e)})}function ge(e){return d.from({byteLength:e,encode:()=>new Uint8Array(e),decode:()=>{}})}const _e=d.from({encode:e=>l(e),decode:e=>l(e)}),ve=d.from({encode:e=>l(e),decode:e=>f(e)}),ye=C(1,!0),be=C(2,!0),xe=C(2),Se=be,Ce=C(4,!0),we=C(4),w=Ce,Te=S(8,!0),Ee=S(8),De=Te,Oe=S(16,!0),ke=S(16),Ae=Oe,je=S(32,!0),Me=S(32),Ne=je,Pe=S(64,!0),Fe=S(64),Ie=Pe,Le=d.from({byteLength:1,encode:e=>l(e?[1]:[0]),decode:e=>l(e)[0]!==0}),Re=d.from({byteLength:1,encode:e=>l(e),decode:e=>f(e)}),ze=d.from({byteLength:4,encode:e=>l(e),decode:e=>f(e)}),Be=d.from({byteLength:8,encode:e=>l(e),decode:e=>f(e)}),Ve=d.from({byteLength:16,encode:e=>l(e),decode:e=>f(e)}),T=d.from({byteLength:32,encode:e=>l(e),decode:e=>f(e)});function E(e){return fe(e,4)}function D(e){return Number(b(e))}function He(e){let t=e.byteLength;if(t===void 0)throw Error(`fixedItemVec: itemCodec requires a byte length`);return d.from({encode(t){try{let n=[];o(n,E(t.length));for(let r of t)o(n,e.encode(r));return l(n)}catch(e){throw Error(`fixedItemVec failed`,{cause:e})}},decode(n,r){let i=l(n);if(i.byteLength<4)throw Error(`fixedItemVec: too short buffer, expected at least 4 bytes, but got ${i.byteLength}`);let a=4+D(i.slice(0,4))*t;if(i.byteLength!==a)throw Error(`fixedItemVec: invalid buffer size, expected ${a}, but got ${i.byteLength}`);try{let n=[];for(let o=4;o<a;o+=t)n.push(e.decode(i.slice(o,o+t),r));return n}catch(e){throw Error(`fixedItemVec failed`,{cause:e})}}})}function Ue(e){return d.from({encode(t){try{let n=4+t.length*4,r=[],i=[];for(let a of t){let t=e.encode(a);o(r,E(n)),o(i,t),n+=t.byteLength}return s(E(r.length+i.length+4),r,i)}catch(e){throw Error(`dynItemVec failed`,{cause:e})}},decode(t,n){let r=l(t);if(r.byteLength<4)throw Error(`dynItemVec: too short buffer, expected at least 4 bytes, but got ${r.byteLength}`);let i=D(r.slice(0,4));if(i!==r.byteLength)throw Error(`dynItemVec: invalid buffer size, expected ${i}, but got ${r.byteLength}`);if(i===4)return[];let a=(D(r.slice(4,8))-4)/4,o=Array.from(Array(a),(e,t)=>D(r.slice(4+t*4,8+t*4)));o.push(i);try{let t=[];for(let i=0;i<o.length-1;i++){let a=o[i],s=o[i+1],c=r.slice(a,s);t.push(e.decode(c,n))}return t}catch(e){throw Error(`dynItemVec failed`,{cause:e})}}})}function O(e){return e.byteLength===void 0?Ue(e):He(e)}function k(e){return d.from({encode(t){if(t==null)return l([]);try{return e.encode(t)}catch(e){throw Error(`option failed`,{cause:e})}},decode(t,n){if(l(t).byteLength!==0)try{return e.decode(t,n)}catch(e){throw Error(`option failed`,{cause:e})}}})}function We(e){return d.from({encode(t){try{let n=l(e.encode(t));return s(E(n.byteLength),n)}catch(e){throw Error(`byteVec failed`,{cause:e})}},decode(t,n){let r=l(t);if(r.byteLength<4)throw Error(`byteVec: too short buffer, expected at least 4 bytes, but got ${r.byteLength}`);let i=D(r.slice(0,4));if(i!==r.byteLength-4)throw Error(`byteVec: invalid buffer size, expected ${i}, but got ${r.byteLength}`);try{return e.decode(r.slice(4),n)}catch(e){throw Error(`byteVec failed`,{cause:e})}}})}function A(e){let t=Object.keys(e);return d.from({encode(n){let r=4+t.length*4,i=[],a=[];for(let s of t)try{let t=e[s].encode(n[s]);o(i,E(r)),o(a,t),r+=t.byteLength}catch(e){throw Error(`table.${s} failed`,{cause:e})}return s(E(i.length+a.length+4),i,a)},decode(n,r){let i=l(n);if(i.byteLength<4)throw Error(`table: too short buffer, expected at least 4 bytes, but got ${i.byteLength}`);let a=D(i.slice(0,4)),o=(D(i.slice(4,8))-4)/4;if(a!==i.byteLength)throw Error(`table: invalid buffer size, expected ${a}, but got ${i.byteLength}`);if(o<t.length)throw Error(`table: invalid field count, expected ${t.length}, but got ${o}`);if(o>t.length&&!r?.isExtraFieldIgnored)throw Error(`table: invalid field count, expected ${t.length}, but got ${o}, and extra fields are not allowed in the current configuration. If you want to ignore extra fields, set isExtraFieldIgnored to true.`);let s=t.map((e,t)=>D(i.slice(4+t*4,8+t*4)));o>t.length?s.push(D(i.slice(4+t.length*4,8+t.length*4))):s.push(a);let c={};for(let n=0;n<s.length-1;n++){let a=s[n],o=s[n+1],l=t[n],u=e[l],d=i.slice(a,o);try{Object.assign(c,{[l]:u.decode(d,r)})}catch(e){throw Error(`table.${l} failed`,{cause:e})}}return c}})}function Ge(e,t){let n=Object.entries(e),r;if(n.length>0){let e=n[0][1].byteLength;e!==void 0&&n.every(([,{byteLength:t}])=>t===e)&&(r=e+4)}return d.from({byteLength:r,encode({type:r,value:i}){let a=r.toString(),o=e[a];if(!o)throw Error(`union: invalid type, expected ${n.map(e=>e[0]).toString()}, but got ${a}`);let c=t?t[a]??-1:n.findIndex(e=>e[0]===a);if(c<0)throw Error(`union: invalid field id ${c} of ${a}`);let l=E(c);try{return s(l,o.encode(i))}catch(e){throw Error(`union.${a} failed`,{cause:e})}},decode(n,r){let i=l(n),a=D(i.slice(0,4)),o=Object.keys(e),s=t?Object.entries(t).find(([,e])=>e===a)?.[0]:o[a];if(!s){if(!t)throw Error(`union: unknown union field index ${a}, only ${o.toString()} are allowed`);let e=Object.keys(t);throw Error(`union: unknown union field index ${a}, only ${e.toString()} and ${o.toString()} are allowed`)}return{type:s,value:e[s].decode(i.slice(4),r)}}})}function Ke(e){let t=Object.values(e),n=Object.keys(e);return d.from({byteLength:t.reduce((e,t)=>{if(t.byteLength===void 0)throw Error(`struct: all fields must be fixed-size`);return e+t.byteLength},0),encode(t){let r=[];for(let i of n)try{o(r,e[i].encode(t[i]))}catch(e){throw Error(`struct.${i} failed`,{cause:e})}return l(r)},decode(t,n){let r=l(t),i={},a=0;return Object.entries(e).forEach(([e,t])=>{let o=r.slice(a,a+t.byteLength);try{Object.assign(i,{[e]:t.decode(o,n)})}catch(t){throw Error(`struct.${e} failed`,{cause:t})}a+=t.byteLength}),i}})}function qe(e,t){if(e.byteLength===void 0)throw Error(`array: itemCodec requires a byte length`);let n=e.byteLength*t;return d.from({byteLength:n,encode(t){try{let n=[];for(let r of t)o(n,e.encode(r));return l(n)}catch(e){throw Error(`array failed`,{cause:e})}},decode(t,r){let i=l(t);if(i.byteLength!=n)throw Error(`array: invalid buffer size, expected ${n}, but got ${i.byteLength}`);try{let t=[];for(let n=0;n<i.byteLength;n+=e.byteLength)t.push(e.decode(i.slice(n,n+e.byteLength),r));return t}catch(e){throw Error(`array failed`,{cause:e})}}})}const Je=k(ye),Ye=O(ye),Xe=k(Se),Ze=O(Se),Qe=k(w),$e=O(w),et=k(De),tt=O(De),nt=k(Ae),rt=O(Ae),it=k(Ne),at=O(Ne),ot=k(Ie),st=O(Ie),ct=We(ve),lt=k(ct),ut=O(ct),dt=k(Le),ft=O(Le),pt=k(Re),mt=O(Re),ht=k(ze),gt=O(ze),_t=k(Be),vt=O(Be),yt=k(Ve),bt=O(Ve),xt=k(T),St=O(T),Ct=We({encode:e=>l(e,`utf8`),decode:e=>c(e,`utf8`)}),wt=O(Ct),Tt=k(Ct);function j(e,t){if(t!=null)return e(t)}async function M(e,t,n){if(n===void 0){if(e.length===0)throw TypeError(`Reduce of empty array with no initial value`);n=e[0],e=e.slice(1)}return e.reduce((e,n,r,i)=>e.then(e=>Promise.resolve(t(e,n,r,i)).then(t=>t??e)),Promise.resolve(n))}function Et(e){return new Promise(t=>setTimeout(t,Number(v(e))))}function Dt(e){return/webview|wv|ip((?!.*Safari)|(?=.*like Safari))/i.test(e)}function Ot(e){return JSON.stringify(e,(e,t)=>typeof t==`bigint`?y(t):t)}function kt(e,t){for(e=v(e),t=v(t),e=e<0n?-e:e,t=t<0n?-t:t;t!==_;)[e,t]=[t,e%t];return e}function N(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var P;let F=P=class extends m.Base(){constructor(e,t,n){super(),this.integer=e,this.numerator=t,this.denominator=n}normalizeBase(){return this.denominator===0n?new P(this.integer,_,v(1)):this.denominator<0n?new P(this.integer,-this.numerator,-this.denominator):this}normalizeCanonical(){let{integer:e,numerator:t,denominator:n}=this.normalizeBase();if(t<0n){let r=(-t+n-1n)/n;e-=r,t+=n*r}let r=kt(t,n);return t/=r,n/=r,e+=t/n,t%=n,new P(e,t,n)}get 0(){return this.integer}get 1(){return this.numerator}get 2(){return this.denominator}toNum(){if(this.integer<0n||this.numerator<0n||this.denominator<0n)throw Error(`Negative values in Epoch to Num conversion`);if(this.integer>=v(`0x1000000`)||this.numerator>=v(`0x10000`)||this.denominator>=v(`0x10000`))throw Error(`Integer must be < 2^24, numerator and denominator must be < 2^16`);return this.integer+(this.numerator<<v(24))+(this.denominator<<v(40))}toPackedHex(){return y(this.toNum())}static fromNum(e){let t=v(e);return new P(t&v(`0xffffff`),t>>v(24)&v(`0xffff`),t>>v(40)&v(`0xffff`))}static from(e){return e instanceof P?e:Array.isArray(e)?new P(v(e[0]),v(e[1]),v(e[2])):typeof e==`object`?new P(v(e.integer),v(e.numerator),v(e.denominator)):P.fromNum(e)}clone(){return new P(this.integer,this.numerator,this.denominator)}static get Genesis(){return new P(_,_,_)}static get OneNervosDaoCycle(){return new P(v(180),_,v(1))}compare(e){if(this===e)return 0;let t=this.normalizeBase(),n=P.from(e).normalizeBase(),r=(t.integer*t.denominator+t.numerator)*n.denominator,i=(n.integer*n.denominator+n.numerator)*t.denominator;return r>i?1:r<i?-1:0}lt(e){return this.compare(e)<0}le(e){return this.compare(e)<=0}eq(e){return this.compare(e)===0}ge(e){return this.compare(e)>=0}gt(e){return this.compare(e)>0}add(e){let t=this.normalizeBase(),n=P.from(e).normalizeBase(),r=t.integer+n.integer,i,a;return t.denominator===n.denominator?(i=t.numerator+n.numerator,a=t.denominator):(i=t.numerator*n.denominator+n.numerator*t.denominator,a=t.denominator*n.denominator),new P(r,i,a).normalizeCanonical()}sub(e){let{integer:t,numerator:n,denominator:r}=P.from(e);return this.add(new P(-t,-n,r))}toUnix(e,t=v(14400*1e3)){let{integer:n,numerator:r,denominator:i}=this.sub(e.epoch);return e.timestamp+t*n+t*r/i}};F=P=N([h(Ke({padding:ge(1),denominator:S(2),numerator:S(2),integer:S(3)}))],F);function At(e){return F.from(e)}function jt(e){return F.fromNum(e)}function Mt(e){return F.from(e).toPackedHex()}const Nt=v(1e7),Pt=v(1e3);function I([e,t]){return[v(e),v(t)]}var Ft=class e{constructor(e,t){this.cellDep=e,this.type=t}static from(t){return t instanceof e?t:new e(Q.from(t.cellDep),j(H.from,t.type))}},It=class e{constructor(e,t,n){this.codeHash=e,this.hashType=t,this.cellDeps=n}static from(t){return t instanceof e?t:new e(f(t.codeHash),V(t.hashType),t.cellDeps.map(e=>Ft.from(e)))}},Lt=class e{constructor(e,t,n,r,i,a,o){this.transaction=e,this.status=t,this.cycles=n,this.blockHash=r,this.blockNumber=i,this.txIndex=a,this.reason=o}static from(t){return t instanceof e?t:new e($.from(t.transaction),t.status,j(v,t.cycles),j(f,t.blockHash),j(v,t.blockNumber),j(v,t.txIndex),t.reason)}clone(){return new e(this.transaction.clone(),this.status,this.cycles,this.blockHash,this.blockNumber,this.txIndex,this.reason)}},Rt=class e{constructor(e,t,n,r,i,a,o){this.script=e,this.scriptLenRange=t,this.outputData=n,this.outputDataSearchMode=r,this.outputDataLenRange=i,this.outputCapacityRange=a,this.blockRange=o}static from(t){return t instanceof e?t:new e(j(H.from,t.script),j(I,t.scriptLenRange),j(f,t.outputData),t.outputDataSearchMode??void 0,j(I,t.outputDataLenRange),j(I,t.outputCapacityRange),j(I,t.blockRange))}},zt=class e{constructor(e,t,n,r,i){this.script=e,this.scriptType=t,this.scriptSearchMode=n,this.filter=r,this.withData=i}static from(t){return t instanceof e?t:new e(H.from(t.script),t.scriptType,t.scriptSearchMode,j(Rt.from,t.filter),t.withData??void 0)}},Bt=class e{constructor(e,t,n,r,i){this.script=e,this.scriptType=t,this.scriptSearchMode=n,this.filter=r,this.groupByTransaction=i}static from(t){return t instanceof e?t:new e(H.from(t.script),t.scriptType,t.scriptSearchMode,j(Rt.from,t.filter),t.groupByTransaction??void 0)}},L=class e{constructor(e,t,n,r,i,a,o,s,c,l,u,d){this.compactTarget=e,this.dao=t,this.epoch=n,this.extraHash=r,this.hash=i,this.nonce=a,this.number=o,this.parentHash=s,this.proposalsHash=c,this.timestamp=l,this.transactionsRoot=u,this.version=d}static from(t){return t instanceof e?t:new e(v(t.compactTarget),{c:v(t.dao.c),ar:v(t.dao.ar),s:v(t.dao.s),u:v(t.dao.u)},F.from(t.epoch),f(t.extraHash),f(t.hash),v(t.nonce),v(t.number),f(t.parentHash),f(t.proposalsHash),v(t.timestamp),f(t.transactionsRoot),v(t.version))}},Vt=class e{constructor(e,t){this.header=e,this.proposals=t}static from(t){return t instanceof e?t:new e(L.from(t.header),t.proposals.map(f))}},Ht=class e{constructor(e,t,n,r){this.header=e,this.proposals=t,this.transactions=n,this.uncles=r}static from(t){return t instanceof e?t:new e(L.from(t.header),t.proposals.map(f),t.transactions.map($.from),t.uncles.map(Vt.from))}},R=class extends Error{constructor(e){super(`Client request error ${e.message}`),this.code=e.code,this.data=e.data}},Ut=class extends R{constructor(e,t){super(e),this.outPoint=q.from(t)}},Wt=class extends R{constructor(e,t,n,r,i,a){super(e),this.source=t,this.errorCode=r,this.scriptHashType=i,this.sourceIndex=v(n),this.scriptCodeHash=f(a)}},Gt=class extends R{constructor(e,t){super(e),this.txHash=f(t)}},Kt=class extends R{constructor(e,t,n){super(e),this.currentFee=v(t),this.leastFee=v(n)}},qt=class extends R{constructor(e){let t=v(e).toString();super({message:`Wait transaction timeout ${t}ms`,data:JSON.stringify({timeout:t})})}},Jt=class extends R{constructor(e,t){let n=v(e).toString(),r=v(t).toString();super({message:`Max fee rate exceeded limit ${n}, actual ${r}. Developer might forgot to complete transaction fee before sending. See https://api.ckbccc.com/classes/_ckb_ccc_core.index.ccc.Transaction.html#completeFeeBy.`,data:JSON.stringify({limit:n,actual:r})})}};const Yt=v(1e3*10*50);function Xt(e,t,n){if(!t)return!0;let r=f(e),i=f(t);return!(n===`exact`&&r!==i||n===`prefix`&&!r.startsWith(i)||n===`partial`&&r.search(i)===-1)}function z(e,t,n){if(!t)return!0;if(!e)return!1;let r=H.from(e),i=H.from(t);return r.codeHash!==i.codeHash||r.hashType!==i.hashType?!1:Xt(r.args,i?.args,n)}function Zt(e,t){if(!t)return!0;let n=v(e),[r,i]=I(t);return r<=n&&n<i}function Qt(e,t){return t?Zt(e?l(H.from(e).args).length+33:0,t):!0}function $t(e,t){let n=zt.from(e),r=jn.from(t);return!(n.scriptType===`lock`&&(!z(r.cellOutput.lock,n.script,n.scriptSearchMode)||!z(r.cellOutput.type,n.filter?.script,`prefix`)||!Qt(r.cellOutput.type,n.filter?.scriptLenRange))||n.scriptType===`type`&&(!z(r.cellOutput.type,n.script,n.scriptSearchMode)||!z(r.cellOutput.lock,n.filter?.script,`prefix`)||!Qt(r.cellOutput.lock,n.filter?.scriptLenRange))||!Xt(r.outputData,n.filter?.outputData,n.filter?.outputDataSearchMode??`prefix`)||!Zt(l(r.outputData).length,n.filter?.outputDataLenRange)||!Zt(r.cellOutput.capacity,n.filter?.outputCapacityRange))}var en=class extends Map{constructor(e){if(super(),this.capacity=e,this.lru=new Set,!Number.isInteger(e)||e<1)throw Error(`Capacity must be a positive integer`)}get(e){if(super.has(e))return this.lru.delete(e),this.lru.add(e),super.get(e)}set(e,t){if(super.set(e,t),this.lru.delete(e),this.lru.add(e),this.lru.size>this.capacity){let e=this.lru.keys().next().value;this.delete(e)}return this}delete(e){return super.delete(e)?(this.lru.delete(e),!0):!1}clear(){super.clear(),this.lru.clear()}};let tn=function(e){return e.NervosDao=`NervosDao`,e.Secp256k1Blake160=`Secp256k1Blake160`,e.Secp256k1Multisig=`Secp256k1Multisig`,e.Secp256k1MultisigV2Beta=`Secp256k1MultisigV2Beta`,e.Secp256k1MultisigV2=`Secp256k1MultisigV2`,e.AnyoneCanPay=`AnyoneCanPay`,e.TypeId=`TypeId`,e.SUdt=`SUdt`,e.XUdt=`XUdt`,e.JoyId=`JoyId`,e.COTA=`COTA`,e.PWLock=`PWLock`,e.OmniLock=`OmniLock`,e.NostrLock=`NostrLock`,e.UniqueType=`UniqueType`,e.DidCkb=`DidCkb`,e.AlwaysSuccess=`AlwaysSuccess`,e.InputTypeProxyLock=`InputTypeProxyLock`,e.OutputTypeProxyLock=`OutputTypeProxyLock`,e.LockProxyLock=`LockProxyLock`,e.SingleUseLock=`SingleUseLock`,e.TypeBurnLock=`TypeBurnLock`,e.EasyToDiscoverType=`EasyToDiscoverType`,e.TimeLock=`TimeLock`,e}({});const nn=Object.freeze({NervosDao:{codeHash:`0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xe2fb199810d49a4d8beec56718ba2593b665db9d52299a0f9e6e75416d73ff5c`,index:2},depType:`code`}}]},Secp256k1Blake160:{codeHash:`0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x71a7ba8fc96349fea0ed3a5c47992e3b4084b031a42264a018e0072e8172e46c`,index:0},depType:`depGroup`}}]},Secp256k1Multisig:{codeHash:`0x5c5069eb0857efc65e1bca0c07df34c31663b3622fd3876c876320fc9634e2a8`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x71a7ba8fc96349fea0ed3a5c47992e3b4084b031a42264a018e0072e8172e46c`,index:1},depType:`depGroup`}}]},Secp256k1MultisigV2Beta:{codeHash:`0xd1a9f877aed3f5e07cb9c52b61ab96d06f250ae6883cc7f0a2423db0976fc821`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x44be4f4feda80c0e41783ab10e191df3b2bb5c3731b0970c916dbec385dcdc60`,index:0},depType:`depGroup`}}]},Secp256k1MultisigV2:{codeHash:`0x36c971b8d41fbd94aabca77dc75e826729ac98447b46f91e00796155dddb0d29`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x6888aa39ab30c570c2c30d9d5684d3769bf77265a7973211a3c087fe8efbf738`,index:0},depType:`depGroup`}}]},AnyoneCanPay:{codeHash:`0xd369597ff47f29fbc0d47d2e3775370d1250b85140c670e4718af712983a2354`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x4153a2014952d7cac45f285ce9a7c5c0c0e1b21f2d378b82ac1433cb11c25c4d`,index:0},depType:`depGroup`}}]},TypeId:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,cellDeps:[]},SUdt:{codeHash:`0x5e7a36a77e68eecc013dfa2fe6a23f3b6c344b04005808694ae6dd45eea4cfd5`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xc7813f6a415144643970c2e88e0bb6ca6a8edc5dd7c1022746f628284a9936d5`,index:0},depType:`code`}}]},XUdt:{codeHash:`0x50bd8d6680b8b9cf98b73f3c08faf8b2a21914311954118ad6609be6e78a1b95`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xc07844ce21b38e4b071dd0e1ee3b0e27afd8d7532491327f39b786343f558ab7`,index:0},depType:`code`}}]},JoyId:{codeHash:`0xd00c84f0ec8fd441c38bc3f87a371f547190f2fcff88e642bc5bf54b9e318323`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x8a605a4402cadda69fa64fd25cbbd74058e3eb86a7a72aee3d25df278564d31b`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x2d1f2d4d1514ccc3bb4f04f5437a5ae30d00636ee57cedd2c70ab3ea75b62adc`}},{cellDep:{outPoint:{txHash:`0x8a605a4402cadda69fa64fd25cbbd74058e3eb86a7a72aee3d25df278564d31b`,index:1},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0xc086090432098835ec542a1b94bdd1b842c5aa1ccd1616873fe77f4a04044417`}},{cellDep:{outPoint:{txHash:`0x8a605a4402cadda69fa64fd25cbbd74058e3eb86a7a72aee3d25df278564d31b`,index:2},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x165b225c6fbed7e655b024384d9083de3243375f9893706f4452858ecd694e96`}},{cellDep:{outPoint:{txHash:`0x8a605a4402cadda69fa64fd25cbbd74058e3eb86a7a72aee3d25df278564d31b`,index:3},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0xafb8408d0094ab944e6286aac750b9bb854ac0bcb66dfe5c60559744a700e70c`}},{cellDep:{outPoint:{txHash:`0x8a605a4402cadda69fa64fd25cbbd74058e3eb86a7a72aee3d25df278564d31b`,index:4},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x773bf0647be24b4e18ef44068fd069b9de5549c4b86be227779ceb9179598ec4`}}]},COTA:{codeHash:`0x1122a4fb54697cf2e6e3a96c9d80fd398a936559b90954c6e88eb7ba0cf652df`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xabaa25237554f0d6c586dc010e7e85e6870bcfd9fb8773257ecacfbe1fd738a0`,index:0},depType:`depGroup`}}]},PWLock:{codeHash:`0xbf43c3602455798c1a61a596e0d95278864c552fafe231c063b3fabf97a8febc`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x71a7ba8fc96349fea0ed3a5c47992e3b4084b031a42264a018e0072e8172e46c`,index:0},depType:`depGroup`}},{cellDep:{outPoint:{txHash:`0x1d60cb8f4666e039f418ea94730b1a8c5aa0bf2f7781474406387462924d15d4`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x42ade2f25eb938b5dbfd3d8f07b8b07aa593d848e7ff14bdfbbea5aeb6175261`}}]},OmniLock:{codeHash:`0x9b819793a64463aed77c615d6cb226eea5487ccfc0783043a587254cda2b6f26`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x71a7ba8fc96349fea0ed3a5c47992e3b4084b031a42264a018e0072e8172e46c`,index:0},depType:`depGroup`}},{cellDep:{outPoint:{txHash:`0xc76edf469816aa22f416503c38d0b533d2a018e253e379f134c3985b3472c842`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x855508fe0f0ca25b935b070452ecaee48f6c9f1d66cd15f046616b99e948236a`}}]},NostrLock:{codeHash:`0x641a89ad2f77721b803cd50d01351c1f308444072d5fa20088567196c0574c68`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x99b116dd1e4f1fa903b70112ae672c18bb34241d3d03a9ad555cd2a611be7327`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0xfad8cb75eb0bb01718e2336002064568bc05887af107f74ed5dd501829e192f8`}}]},UniqueType:{codeHash:`0x2c8c11c985da60b0a330c61a85507416d6382c130ba67f0c47ab071e00aec628`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x67524c01c0cb5492e499c7c7e406f2f9d823e162d6b0cf432eacde0c9808c2ad`,index:0},depType:`code`}}]},DidCkb:{codeHash:`0x4a06164dc34dccade5afe3e847a97b6db743e79f5477fa3295acf02849c5984a`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xe2f74c56cdc610d2b9fe898a96a80118845f5278605d7f9ad535dad69ae015bf`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,args:`0x55573ef6d78e3ca75170ff476176732309a8b31efe94320a954ded3d75c2cb18`,hashType:`type`}}]},AlwaysSuccess:{codeHash:`0x3b521cc4b552f109d092d8cc468a8048acb53c5952dbe769d2b2f9cf6e47f7f1`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x10d63a996157d32c01078058000052674ca58d15f921bec7f1dcdac2160eb66b`,index:0},depType:`code`}}]},InputTypeProxyLock:{codeHash:`0x5123908965c711b0ffd8aec642f1ede329649bda1ebdca6bd24124d3796f768a`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x10d63a996157d32c01078058000052674ca58d15f921bec7f1dcdac2160eb66b`,index:1},depType:`code`}}]},OutputTypeProxyLock:{codeHash:`0x2df53b592db3ae3685b7787adcfef0332a611edb83ca3feca435809964c3aff2`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x10d63a996157d32c01078058000052674ca58d15f921bec7f1dcdac2160eb66b`,index:2},depType:`code`}}]},LockProxyLock:{codeHash:`0x5d41e32e224c15f152b7e6529100ebeac83b162f5f692a5365774dad2c1a1d02`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x10d63a996157d32c01078058000052674ca58d15f921bec7f1dcdac2160eb66b`,index:3},depType:`code`}}]},SingleUseLock:{codeHash:`0x8290467a512e5b9a6b816469b0edabba1f4ac474e28ffdd604c2a7c76446bbaf`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x10d63a996157d32c01078058000052674ca58d15f921bec7f1dcdac2160eb66b`,index:4},depType:`code`}}]},TypeBurnLock:{codeHash:`0xff78bae0abf17d7a404c0be0f9ad9c9185b3f88dcc60403453d5ba8e1f22f53a`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x10d63a996157d32c01078058000052674ca58d15f921bec7f1dcdac2160eb66b`,index:5},depType:`code`}}]},EasyToDiscoverType:{codeHash:`0xaba4430cc7110d699007095430a1faa72973edf2322ddbfd4d1d219cacf237af`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xb0ed754fb27d67fd8388c97fed914fb7998eceaa01f3e6f967e498de1ba0ac9b`,index:0},depType:`code`}}]},TimeLock:{codeHash:`0x6fac4b2e89360a1e692efcddcb3a28656d8446549fb83da6d896db8b714f4451`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xb0ed754fb27d67fd8388c97fed914fb7998eceaa01f3e6f967e498de1ba0ac9b`,index:1},depType:`code`}}]}});var rn=class{constructor(e,t=3e4){this.url=e,this.timeout=t}async request(e){let t=new AbortController,n=setTimeout(()=>t.abort(),this.timeout),r=await(await fetch(this.url,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e),signal:t.signal})).json();return clearTimeout(n),r}},an=class{constructor(e,t=3e4){this.url=e,this.timeout=t,this.ongoing=new Map}request(e){let t=(()=>{if(this.socket&&this.socket.readyState!==this.socket.CLOSING&&this.socket.readyState!==this.socket.CLOSED&&this.openSocket)return this.openSocket;let e=new i(this.url),t=({data:e})=>{let t=JSON.parse(e);if(typeof t!=`object`||!t||typeof t.id!=`number`)throw Error(`Unknown response ${e}`);let n=t.id,r=this.ongoing.get(n);if(!r)return;let[i,a,o]=r;clearTimeout(o),this.ongoing.delete(n),i(t)},n=()=>{this.ongoing.forEach(([e,t,n])=>{clearTimeout(n),t(Error(`Connection closed`))}),this.ongoing.clear()};return e.onclose=n,e.onerror=n,e.onmessage=t,this.socket=e,this.openSocket=new Promise(t=>{e.readyState===e.OPEN?t(e):e.onopen=()=>{t(e)}}),this.openSocket})();return new Promise((n,r)=>{let i=[n,r,setTimeout(()=>{this.ongoing.delete(e.id),t.then(e=>e.close()).catch(e=>r(e)),r(Error(`Request timeout`))},this.timeout)];this.ongoing.set(e.id,i),t.then(t=>{t.readyState===t.CLOSED||t.readyState===t.CLOSING?(clearTimeout(i[2]),this.ongoing.delete(e.id),r(Error(`Connection closed`))):t.send(JSON.stringify(e))}).catch(e=>r(e))})}};function on(e,t){return e.startsWith(`wss://`)||e.startsWith(`ws://`)?new an(e,t?.timeout):new rn(e,t?.timeout)}var sn=class{constructor(e){this.transports=e,this.i=0}async request(e){let t=0;for(;;)try{return await this.transports[this.i%this.transports.length].request(e)}catch(e){if(t+=1,this.i+=1,t>=this.transports.length)throw e}}},cn=class e{static hashTypeFrom(e){return V(e)}static hashTypeTo(e){return e}static depTypeFrom(e){switch(Dn(e)){case`code`:return`code`;case`depGroup`:return`dep_group`}}static depTypeTo(e){switch(e){case`code`:return`code`;case`dep_group`:return`depGroup`}}static scriptFrom(t){let n=H.from(t);return{code_hash:n.codeHash,hash_type:e.hashTypeFrom(n.hashType),args:n.args}}static scriptTo(t){return H.from({codeHash:t.code_hash,hashType:e.hashTypeTo(t.hash_type),args:t.args})}static outPointFrom(e){let t=q.from(e);return{index:y(t.index),tx_hash:t.txHash}}static outPointTo(e){return q.from({index:e.index,txHash:e.tx_hash})}static cellInputFrom(t){let n=Z.from(t);return{previous_output:e.outPointFrom(n.previousOutput),since:y(n.since)}}static cellInputTo(t){return Z.from({previousOutput:e.outPointTo(t.previous_output),since:t.since})}static cellOutputFrom(t,n){let r=J.from(t,n);return{capacity:y(r.capacity),lock:e.scriptFrom(r.lock),type:j(e.scriptFrom,r.type)}}static cellOutputTo(t){return J.from({capacity:t.capacity,lock:e.scriptTo(t.lock),type:j(e.scriptTo,t.type)})}static cellDepFrom(t){return{out_point:e.outPointFrom(t.outPoint),dep_type:e.depTypeFrom(t.depType)}}static cellDepTo(t){return Q.from({outPoint:e.outPointTo(t.out_point),depType:e.depTypeTo(t.dep_type)})}static transactionFrom(t){let n=$.from(t);return{version:y(n.version),cell_deps:n.cellDeps.map(t=>e.cellDepFrom(t)),header_deps:n.headerDeps,inputs:n.inputs.map(t=>e.cellInputFrom(t)),outputs:n.outputs.map(t=>e.cellOutputFrom(t)),outputs_data:n.outputsData,witnesses:n.witnesses}}static transactionTo(t){return $.from({version:t.version,cellDeps:t.cell_deps.map(t=>e.cellDepTo(t)),headerDeps:t.header_deps,inputs:t.inputs.map(t=>e.cellInputTo(t)),outputs:t.outputs.map(t=>e.cellOutputTo(t)),outputsData:t.outputs_data,witnesses:t.witnesses})}static transactionResponseTo({cycles:t,tx_status:{status:n,block_number:r,block_hash:i,tx_index:a,reason:o},transaction:s}){if(s!=null)return Lt.from({transaction:e.transactionTo(s),status:n,cycles:j(v,t),blockHash:j(f,i),blockNumber:j(v,r),txIndex:j(v,a),reason:o})}static blockHeaderTo(e){let t=l(e.dao);return{compactTarget:v(e.compact_target),dao:{c:x(t.slice(0,8)),ar:x(t.slice(8,16)),s:x(t.slice(16,24)),u:x(t.slice(24,32))},epoch:F.fromNum(e.epoch),extraHash:e.extra_hash,hash:e.hash,nonce:v(e.nonce),number:v(e.number),parentHash:e.parent_hash,proposalsHash:e.proposals_hash,timestamp:v(e.timestamp),transactionsRoot:e.transactions_root,version:v(e.version)}}static blockUncleTo(t){return{header:e.blockHeaderTo(t.header),proposals:t.proposals}}static blockTo(t){return{header:e.blockHeaderTo(t.header),proposals:t.proposals,transactions:t.transactions.map(t=>e.transactionTo(t)),uncles:t.uncles.map(t=>e.blockUncleTo(t))}}static rangeFrom([e,t]){return[y(e),y(t)]}static indexerSearchKeyFilterFrom(t){return{script:j(e.scriptFrom,t.script),script_len_range:j(e.rangeFrom,t.scriptLenRange),output_data:t.outputData,output_data_filter_mode:t.outputDataSearchMode,output_data_len_range:j(e.rangeFrom,t.outputDataLenRange),output_capacity_range:j(e.rangeFrom,t.outputCapacityRange),block_range:j(e.rangeFrom,t.blockRange)}}static indexerSearchKeyFrom(t){let n=zt.from(t);return{script:e.scriptFrom(n.script),script_type:n.scriptType,script_search_mode:n.scriptSearchMode,filter:j(e.indexerSearchKeyFilterFrom,n.filter),with_data:n.withData}}static findCellsResponseTo({last_cursor:t,objects:n}){return{lastCursor:t,cells:n.map(t=>jn.from({outPoint:e.outPointTo(t.out_point),cellOutput:e.cellOutputTo(t.output),outputData:t.output_data??`0x`}))}}static indexerSearchKeyTransactionFrom(t){let n=Bt.from(t);return{script:e.scriptFrom(n.script),script_type:n.scriptType,script_search_mode:n.scriptSearchMode,filter:j(e.indexerSearchKeyFilterFrom,n.filter),group_by_transaction:n.groupByTransaction}}static findTransactionsResponseTo({last_cursor:e,objects:t}){return t.length===0?{lastCursor:e,transactions:[]}:`io_index`in t[0]?{lastCursor:e,transactions:t.map(e=>({txHash:e.tx_hash,blockNumber:v(e.block_number),txIndex:v(e.tx_index),cellIndex:v(e.io_index),isInput:e.io_type===`input`}))}:{lastCursor:e,transactions:t.map(e=>({txHash:e.tx_hash,blockNumber:v(e.block_number),txIndex:v(e.tx_index),cells:e.cells.map(([e,t])=>({isInput:e===`input`,cellIndex:v(t)}))}))}}};const ln=Object.freeze({NervosDao:{codeHash:`0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x8f8c79eb6671709633fe6a46de93c0fedc9c1b8a6527a18d3983879542635c9f`,index:2},depType:`code`}}]},Secp256k1Blake160:{codeHash:`0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37`,index:0},depType:`depGroup`}}]},Secp256k1Multisig:{codeHash:`0x5c5069eb0857efc65e1bca0c07df34c31663b3622fd3876c876320fc9634e2a8`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37`,index:1},depType:`depGroup`}}]},Secp256k1MultisigV2Beta:{codeHash:`0x765b3ed6ae264b335d07e73ac332bf2c0f38f8d3340ed521cb447b4c42dd5f09`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xf2013f123b2cb745e3fdf5c935a3925647496f88090503eef58332a9245b4172`,index:0},depType:`depGroup`}}]},Secp256k1MultisigV2:{codeHash:`0x36c971b8d41fbd94aabca77dc75e826729ac98447b46f91e00796155dddb0d29`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x2eefdeb21f3a3edf697c28a52601b4419806ed60bb427420455cc29a090b26d5`,index:0},depType:`depGroup`}}]},AnyoneCanPay:{codeHash:`0x3419a1c09eb2567f6552ee7a8ecffd64155cffe0f1796e6e61ec088d740c1356`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xec26b0f85ed839ece5f11c4c4e837ec359f5adc4420410f6453b1f6b60fb96a6`,index:0},depType:`depGroup`}}]},TypeId:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,cellDeps:[]},SUdt:{codeHash:`0xc5e5dcf215925f7ef4dfaf5f4b4f105bc321c02776d6e7d52a1db3fcd9d011a4`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xe12877ebd2c3c364dc46c5c992bcfaf4fee33fa13eebdf82c591fc9825aab769`,index:0},depType:`code`}}]},XUdt:{codeHash:`0x25c29dc317811a6f6f3985a7a9ebc4838bd388d19d0feeecf0bcd60f6c0975bb`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xbf6fb538763efec2a70a6a3dcb7242787087e1030c4e7d86585bc63a9d337f5f`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x44ec8b96663e06cc94c8c468a4d46d7d9af69eaf418f6390c9f11bb763dda0ae`}}]},JoyId:{codeHash:`0xd23761b364210735c19c60561d213fb3beae2fd6172743719eff6920e020baac`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x4a596d31dc35e88fb1591debbf680b04a44b4a434e3a94453c21ea8950ffb4d9`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x1c9fc299ba0570d077b4d7fb9acff1ccc0de69d369942d82678bae937c44ec30`}},{cellDep:{outPoint:{txHash:`0x4a596d31dc35e88fb1591debbf680b04a44b4a434e3a94453c21ea8950ffb4d9`,index:1},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x27f0d3ccdc2fcd52ae31fbacad5f86b97bc147d7093e4807cd6e3d21c1fe6841`}},{cellDep:{outPoint:{txHash:`0xf2c9dbfe7438a8c622558da8fa912d36755271ea469d3a25cb8d3373d35c8638`,index:1},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x0ac15fe5b2d059ec39de03f2d3159d5463abb918a1a07a9fa00d2b9c61d89ef3`}},{cellDep:{outPoint:{txHash:`0x95ecf9b41701b45d431657a67bbfa3f07ef7ceb53bf87097f3674e1a4a19ce62`,index:1},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0xc7bafc5550ccad7cea32c27764f5df6aca4de547da65e3e67fa08477a1af7f5e`}},{cellDep:{outPoint:{txHash:`0x8b3255491f3c4dcc1cfca33d5c6bcaec5409efe4bbda243900f9580c47e0242e`,index:1},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x71decef9ca8725e64ec99a5521790d16b8d5daadb4989b45dd6ab51806a8c0e4`}}]},COTA:{codeHash:`0x89cd8003a0eaf8e65e0c31525b7d1d5c1becefd2ea75bb4cff87810ae37764d8`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x636a786001f87cb615acfcf408be0f9a1f077001f0bbc75ca54eadfe7e221713`,index:0},depType:`depGroup`}}]},PWLock:{codeHash:`0x58c5f491aba6d61678b7cf7edf4910b1f5e00ec0cde2f42e0abb4fd9aff25a63`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37`,index:0},depType:`depGroup`}},{cellDep:{outPoint:{txHash:`0x57a62003daeab9d54aa29b944fc3b451213a5ebdf2e232216a3cfed0dde61b38`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0xf6d90bfe3041d0fd7e01c45770241697f5f837974bd6ae1672a7ec0f9f523268`}}]},OmniLock:{codeHash:`0xf329effd1c475a2978453c8600e1eaf0bc2087ee093c3ee64cc96ec6847752cb`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37`,index:0},depType:`depGroup`}},{cellDep:{outPoint:{txHash:`0xec18bf0d857c981c3d1f4e17999b9b90c484b303378e94de1a57b0872f5d4602`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x761f51fc9cd6a504c32c6ae64b3746594d1af27629b427c5ccf6c9a725a89144`}}]},NostrLock:{codeHash:`0x6ae5ee0cb887b2df5a9a18137315b9bdc55be8d52637b2de0624092d5f0c91d5`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xa2a434dcdbe280b9ed75bb7d6c7d68186a842456aba0fc506657dc5ed7c01d68`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0x8dc56c6f35f0c535e23ded1629b1f20535477a1b43e59f14617d11e32c50e0aa`}}]},UniqueType:{codeHash:`0x8e341bcfec6393dcd41e635733ff2dca00a6af546949f70c57a706c0f344df8b`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0xff91b063c78ed06f10a1ed436122bd7d671f9a72ef5f5fa28d05252c17cf4cef`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,hashType:`type`,args:`0xe04976b67600fd25ac50305f77b33aee2c12e3c18e63ece9119e5b32117884b5`}}]},DidCkb:{codeHash:`0x510150477b10d6ab551a509b71265f3164e9fd4137fcb5a4322f49f03092c7c5`,hashType:`type`,cellDeps:[{cellDep:{outPoint:{txHash:`0x0e7a830e2d5ebd05cd45a55f93f94559edea0ef1237b7233f49f7facfb3d6a6c`,index:0},depType:`code`},type:{codeHash:`0x00000000000000000000000000000000000000000000000000545950455f4944`,args:`0x3c27695173b888ed44ddf36f901789014384ad6c05a9137f3db9a0779c141c35`,hashType:`type`}}]},AlwaysSuccess:{codeHash:`0x3b521cc4b552f109d092d8cc468a8048acb53c5952dbe769d2b2f9cf6e47f7f1`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xb4f171c9c9caf7401f54a8e56225ae21d95032150a87a4678eac3f66a3137b93`,index:0},depType:`code`}}]},InputTypeProxyLock:{codeHash:`0x5123908965c711b0ffd8aec642f1ede329649bda1ebdca6bd24124d3796f768a`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xb4f171c9c9caf7401f54a8e56225ae21d95032150a87a4678eac3f66a3137b93`,index:1},depType:`code`}}]},OutputTypeProxyLock:{codeHash:`0x2df53b592db3ae3685b7787adcfef0332a611edb83ca3feca435809964c3aff2`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xb4f171c9c9caf7401f54a8e56225ae21d95032150a87a4678eac3f66a3137b93`,index:2},depType:`code`}}]},LockProxyLock:{codeHash:`0x5d41e32e224c15f152b7e6529100ebeac83b162f5f692a5365774dad2c1a1d02`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xb4f171c9c9caf7401f54a8e56225ae21d95032150a87a4678eac3f66a3137b93`,index:3},depType:`code`}}]},SingleUseLock:{codeHash:`0x8290467a512e5b9a6b816469b0edabba1f4ac474e28ffdd604c2a7c76446bbaf`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xb4f171c9c9caf7401f54a8e56225ae21d95032150a87a4678eac3f66a3137b93`,index:4},depType:`code`}}]},TypeBurnLock:{codeHash:`0xff78bae0abf17d7a404c0be0f9ad9c9185b3f88dcc60403453d5ba8e1f22f53a`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0xb4f171c9c9caf7401f54a8e56225ae21d95032150a87a4678eac3f66a3137b93`,index:5},depType:`code`}}]},EasyToDiscoverType:{codeHash:`0xaba4430cc7110d699007095430a1faa72973edf2322ddbfd4d1d219cacf237af`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x1b4ffcad55ecd36ffb2715b6816b83da73851f1a24fe594f263c4f34dad90792`,index:0},depType:`code`}}]},TimeLock:{codeHash:`0x6fac4b2e89360a1e692efcddcb3a28656d8446549fb83da6d896db8b714f4451`,hashType:`data1`,cellDeps:[{cellDep:{outPoint:{txHash:`0x1b4ffcad55ecd36ffb2715b6816b83da73851f1a24fe594f263c4f34dad90792`,index:1},depType:`code`}}]}}),un={type:1,data:0,data1:2,data2:4},dn={1:`type`,0:`data`,2:`data1`,4:`data2`},fn=Object.keys(un);var B;const pn=d.from({byteLength:1,encode:mn,decode:hn});function V(e){let t=(()=>{if(typeof e==`number`)return dn[e];if(typeof e==`bigint`)return dn[Number(e)];if(fn.includes(e))return e})();if(t===void 0)throw Error(`Invalid hash type ${e}`);return t}function mn(e){return l([un[V(e)]])}function hn(e){return dn[l(e)[0]]}let H=B=class extends m.Base(){constructor(e,t,n){super(),this.codeHash=e,this.hashType=t,this.args=n}get occupiedSize(){return 33+l(this.args).length}clone(){return new B(this.codeHash,this.hashType,this.args)}eq(e){return e=B.from(e),this.args===e.args&&this.codeHash===e.codeHash&&this.hashType===e.hashType}static from(e){return e instanceof B?e:new B(f(e.codeHash),V(e.hashType),f(e.args))}static async fromKnownScript(e,t,n){let r=await e.getKnownScript(t);return new B(r.codeHash,r.hashType,f(n))}};H=B=N([h(A({codeHash:T,hashType:pn,args:ct}))],H);const gn=k(H),_n=O(H),vn={code:0,depGroup:1},yn={0:`code`,1:`depGroup`},bn=Object.keys(vn);var U=class extends Error{constructor(e,t){let n=v(e),r=t?.isForChange??!1;super(`Insufficient CKB, need ${ce(n)} extra CKB${r?` for the change cell`:``}`),this.amount=n,this.isForChange=r}},xn=class extends Error{constructor(e,t){let n=v(e),r=H.from(t);super(`Insufficient coin, need ${n} extra coin`),this.amount=n,this.type=r}},W,Sn,G,Cn,wn,Tn,K;const En=d.from({byteLength:1,encode:On,decode:kn});function Dn(e){let t=typeof e==`number`?yn[e]:typeof e==`bigint`?yn[Number(e)]:e;if(t===void 0)throw Error(`Invalid dep type ${e}`);return t}function On(e){return l([vn[Dn(e)]])}function kn(e){return yn[l(e)[0]]}let q=W=class extends m.Base(){constructor(e,t){super(),this.txHash=e,this.index=t}static from(e){return e instanceof W?e:new W(f(e.txHash),v(e.index))}clone(){return new W(this.txHash,this.index)}eq(e){return e=W.from(e),this.txHash===e.txHash&&this.index===e.index}};q=W=N([h(Ke({txHash:T,index:w}))],q);let J=Sn=class extends m.Base(){constructor(e,t,n){super(),this.capacity=e,this.lock=t,this.type=n}get occupiedSize(){return 8+this.lock.occupiedSize+(this.type?.occupiedSize??0)}static from(e,t){let n=e instanceof Sn?e:new Sn(v(e.capacity??0),H.from(e.lock),j(H.from,e.type));return t!=null&&(n.capacity=de(n.capacity,g(n.occupiedSize+l(t).length))),n}clone(){return new Sn(this.capacity,this.lock.clone(),this.type?.clone())}};J=Sn=N([h(A({capacity:De,lock:H,type:gn}))],J);const An=O(J);var Y=class e{constructor(e,t,n){this.cellOutput=e,this.outputData=t,this.outPoint=n}static from(t){if(t instanceof e)return t;let n=f(t.outputData??`0x`);return new e(J.from(t.cellOutput,n),n,j(q.from,t.outPoint??t.previousOutput))}get occupiedSize(){return this.cellOutput.occupiedSize+l(this.outputData).byteLength}get capacityFree(){return this.cellOutput.capacity-g(this.occupiedSize)}async isNervosDao(e,t){let{type:n}=this.cellOutput,r=await e.getKnownScript(`NervosDao`);if(!n||n.codeHash!==r.codeHash||n.hashType!==r.hashType)return!1;let i=v(this.outputData)!==_;return!t||t===`deposited`&&!i||t===`withdrew`&&i}clone(){return new e(this.cellOutput.clone(),this.outputData,this.outPoint?.clone())}},jn=class e extends Y{constructor(e,t,n){super(t,n,e),this.outPoint=e}static from(t){return t instanceof e?t:new e(q.from(t.outPoint??t.previousOutput),J.from(t.cellOutput,t.outputData),f(t.outputData??`0x`))}async getDaoProfit(e){if(!await this.isNervosDao(e,`withdrew`))return _;let{depositHeader:t,withdrawHeader:n}=await this.getNervosDaoInfo(e);if(!n||!t)throw Error(`Unable to get headers of a Nervos DAO cell ${this.outPoint.txHash}:${this.outPoint.index.toString()}`);return Rn(this.capacityFree,t,n)}async getNervosDaoInfo(e){if(!await this.isNervosDao(e))return{};if(v(this.outputData)===0n){let t=await e.getCellWithHeader(this.outPoint);if(!t?.header)throw Error(`Unable to get header of a Nervos DAO deposited cell ${this.outPoint.txHash}:${this.outPoint.index.toString()}`);return{depositHeader:t.header}}let[t,n]=await Promise.all([e.getHeaderByNumber(b(this.outputData)),e.getCellWithHeader(this.outPoint)]);if(!n?.header||!t)throw Error(`Unable to get headers of a Nervos DAO withdrew cell ${this.outPoint.txHash}:${this.outPoint.index.toString()}`);return{depositHeader:t,withdrawHeader:n.header}}clone(){return new e(this.outPoint.clone(),this.cellOutput.clone(),this.outputData)}};let X=G=class extends m.Base(){constructor(e,t,n){super(),this.relative=e,this.metric=t,this.value=n}clone(){return new G(this.relative,this.metric,this.value)}static from(e){return e instanceof G?e:typeof e==`object`&&`relative`in e?new G(e.relative,e.metric,v(e.value)):G.fromNum(e)}toNum(){return this.value|(this.relative===`absolute`?_:v(`0x8000000000000000`))|{blockNumber:v(`0x0000000000000000`),epoch:v(`0x2000000000000000`),timestamp:v(`0x4000000000000000`)}[this.metric]}static fromNum(e){let t=v(e),n=t>>v(63)===0n?`absolute`:`relative`,r=[`blockNumber`,`epoch`,`timestamp`][Number(t>>v(61)&v(3))],i=t&v(`0x00ffffffffffffff`);return new G(n,r,i)}};X=G=N([h(De.mapIn(e=>X.from(e).toNum()))],X);let Z=Cn=class extends m.Base(){constructor(e,t,n,r){super(),this.previousOutput=e,this.since=t,this.cellOutput=n,this.outputData=r}static from(e){return e instanceof Cn?e:new Cn(q.from(`previousOutput`in e?e.previousOutput:e.outPoint),X.from(e.since??0).toNum(),j(J.from,e.cellOutput),j(f,e.outputData))}async getCell(e){if(await this.completeExtraInfos(e),!this.cellOutput||!this.outputData)throw Error(`Unable to complete input`);return jn.from({outPoint:this.previousOutput,cellOutput:this.cellOutput,outputData:this.outputData})}async completeExtraInfos(e){if(this.cellOutput&&this.outputData)return;let t=await e.getCell(this.previousOutput);t&&(this.cellOutput=t.cellOutput,this.outputData=t.outputData)}async getExtraCapacity(e){return(await this.getCell(e)).getDaoProfit(e)}clone(){return new Cn(this.previousOutput.clone(),this.since,this.cellOutput?.clone(),this.outputData)}};Z=Cn=N([h(Ke({since:X,previousOutput:q}).mapIn(e=>Z.from(e)))],Z);const Mn=O(Z);let Q=wn=class extends m.Base(){constructor(e,t){super(),this.outPoint=e,this.depType=t}static from(e){return e instanceof wn?e:new wn(q.from(e.outPoint),Dn(e.depType))}clone(){return new wn(this.outPoint.clone(),this.depType)}};Q=wn=N([h(Ke({outPoint:q,depType:En}))],Q);const Nn=O(Q);let Pn=Tn=class extends m.Base(){constructor(e,t,n){super(),this.lock=e,this.inputType=t,this.outputType=n}static from(e){return e instanceof Tn?e:new Tn(j(f,e.lock),j(f,e.inputType),j(f,e.outputType))}};Pn=Tn=N([h(A({lock:lt,inputType:lt,outputType:lt}))],Pn);function Fn(e){let t=l(e).slice(0,16);return t.length===0?_:b(t)}const In=A({version:w,cellDeps:Nn,headerDeps:St,inputs:Mn,outputs:An,outputsData:ut});let $=K=class extends m.Base(){constructor(e,t,n,r,i,a,o){super(),this.version=e,this.cellDeps=t,this.headerDeps=n,this.inputs=r,this.outputs=i,this.outputsData=a,this.witnesses=o}static default(){return new K(0n,[],[],[],[],[],[])}copy(e){let t=K.from(e);this.version=t.version,this.cellDeps=t.cellDeps,this.headerDeps=t.headerDeps,this.inputs=t.inputs,this.outputs=t.outputs,this.outputsData=t.outputsData,this.witnesses=t.witnesses}clone(){return new K(this.version,this.cellDeps.map(e=>e.clone()),this.headerDeps.map(e=>e),this.inputs.map(e=>e.clone()),this.outputs.map(e=>e.clone()),this.outputsData.map(e=>e),this.witnesses.map(e=>e))}static from(e){if(e instanceof K)return e;let t=e.outputs?.map((t,n)=>J.from(t,e.outputsData?.[n]??[]))??[],n=t.map((t,n)=>f(e.outputsData?.[n]??`0x`));return e.outputsData!=null&&n.length<e.outputsData.length&&n.push(...e.outputsData.slice(n.length).map(e=>f(e))),new K(v(e.version??0),e.cellDeps?.map(e=>Q.from(e))??[],e.headerDeps?.map(f)??[],e.inputs?.map(e=>Z.from(e))??[],t,n,e.witnesses?.map(f)??[])}static fromLumosSkeleton(e){return K.from({version:0n,cellDeps:e.cellDeps.toArray(),headerDeps:e.headerDeps.toArray(),inputs:e.inputs.toArray().map((t,n)=>{if(!t.outPoint)throw Error(`outPoint is required in input`);return Z.from({previousOutput:t.outPoint,since:e.inputSinces.get(n,`0x0`),cellOutput:t.cellOutput,outputData:t.data})}),outputs:e.outputs.toArray().map(e=>e.cellOutput),outputsData:e.outputs.toArray().map(e=>e.data),witnesses:e.witnesses.toArray()})}stringify(){return JSON.stringify(this,(e,t)=>typeof t==`bigint`?y(t):t)}rawToBytes(){return In.encode(this)}hash(){return p(this.rawToBytes())}hashFull(){return p(this.toBytes())}static hashWitnessToHasher(e,t){let n=l(f(e));t.update(fe(n.length,8)),t.update(n)}async getSignHashInfo(e,t,n=new oe){let r=H.from(e),i=-1;n.update(this.hash());for(let e=0;e<this.witnesses.length;e+=1){let a=this.inputs[e];if(a){let{cellOutput:n}=await a.getCell(t);if(!r.eq(n.lock))continue;i===-1&&(i=e)}if(i===-1)return;K.hashWitnessToHasher(this.witnesses[e],n)}if(i!==-1)return{message:n.digest(),position:i}}async findInputIndexByLockId(e,t){let n=H.from({...e,args:`0x`});for(let e=0;e<this.inputs.length;e+=1){let{cellOutput:r}=await this.inputs[e].getCell(t);if(n.codeHash===r.lock.codeHash&&n.hashType===r.lock.hashType)return e}}async findInputIndexByLock(e,t){let n=H.from(e);for(let e=0;e<this.inputs.length;e+=1){let{cellOutput:r}=await this.inputs[e].getCell(t);if(n.eq(r.lock))return e}}async findLastInputIndexByLock(e,t){let n=H.from(e);for(let e=this.inputs.length-1;e>=0;--e){let{cellOutput:r}=await this.inputs[e].getCell(t);if(n.eq(r.lock))return e}}addCellDeps(...e){e.flat().forEach(e=>{let t=Q.from(e);this.cellDeps.some(e=>e.eq(t))||this.cellDeps.push(t)})}addCellDepsAtStart(...e){e.flat().forEach(e=>{let t=Q.from(e);this.cellDeps.some(e=>e.eq(t))||this.cellDeps.unshift(t)})}async addCellDepInfos(e,...t){this.addCellDeps(await e.getCellDeps(...t))}async addCellDepsOfKnownScripts(e,...t){await Promise.all(t.flat().map(async t=>this.addCellDepInfos(e,(await e.getKnownScript(t)).cellDeps)))}setOutputDataAt(e,t){this.outputsData.length<e&&this.outputsData.push(...Array.from(Array(e-this.outputsData.length),()=>`0x`)),this.outputsData[e]=f(t)}getInput(e){return this.inputs[Number(v(e))]}addInput(e){return this.witnesses.length>this.inputs.length&&this.witnesses.splice(this.inputs.length,0,`0x`),this.inputs.push(Z.from(e))}getOutput(e){let t=Number(v(e));if(!(t>=this.outputs.length))return Y.from({cellOutput:this.outputs[t],outputData:this.outputsData[t]??`0x`})}get outputCells(){let{outputs:e,outputsData:t}=this;function*n(){for(let n=0;n<e.length;n++)yield Y.from({cellOutput:e[n],outputData:t[n]??`0x`})}return n()}addOutput(e,t){let n=`cellOutput`in e?Y.from(e):Y.from({cellOutput:e,outputData:t}),r=this.outputs.push(n.cellOutput);return this.setOutputDataAt(r-1,n.outputData),r}getWitnessArgsAt(e){try{return this.getWitnessArgsAtUnsafe(e)}catch{return}}getWitnessArgsAtUnsafe(e){let t=this.witnesses[e];return(t??`0x`)===`0x`?void 0:Pn.fromBytes(t)}setWitnessArgsAt(e,t){this.setWitnessAt(e,t.toBytes())}setWitnessAt(e,t){this.witnesses.length<e&&this.witnesses.push(...Array.from(Array(e-this.witnesses.length),()=>`0x`)),this.witnesses[e]=f(t)}async prepareSighashAllWitness(e,t,n){let r=await this.findInputIndexByLock(e,n);if(r===void 0)return;let i=this.getWitnessArgsAt(r)??Pn.from({});i.lock=f(Array.from(Array(t),()=>0)),this.setWitnessArgsAt(r,i)}async getInputsCapacityExtra(e){return M(this.inputs,async(t,n)=>t+await n.getExtraCapacity(e),_)}async getInputsCapacity(e){return await M(this.inputs,async(t,n)=>{let{cellOutput:{capacity:r}}=await n.getCell(e);return t+r},_)+await this.getInputsCapacityExtra(e)}getOutputsCapacity(){return this.outputs.reduce((e,{capacity:t})=>e+t,_)}async getInputsUdtBalance(e,t){return M(this.inputs,async(n,r)=>{let{cellOutput:i,outputData:a}=await r.getCell(e);if(i.type?.eq(t))return n+Fn(a)},_)}getOutputsUdtBalance(e){return this.outputs.reduce((t,n,r)=>n.type?.eq(e)?t+Fn(this.outputsData[r]):t,_)}async completeInputs(e,t,n,r){let i=[],a=r,o=!1;for await(let r of e.findCells(t,!0)){if(this.inputs.some(({previousOutput:e})=>e.eq(r.outPoint)))continue;let e=i.push(r),t=await Promise.resolve(n(a,r,e-1,i));if(t===void 0){o=!0;break}a=t}return i.forEach(e=>this.addInput(e)),o?{addedCount:i.length}:{addedCount:i.length,accumulated:a}}async completeInputsByCapacity(e,t,n){let r=this.getOutputsCapacity()+v(t??0),i=await this.getInputsCapacity(e.client);if(i>=r)return 0;let{addedCount:a,accumulated:o}=await this.completeInputs(e,n??{scriptLenRange:[0,1],outputDataLenRange:[0,1]},(e,{cellOutput:{capacity:t}})=>{let n=e+t;return n>=r?void 0:n},i);if(o===void 0)return a;throw new U(r-o)}async completeInputsAll(e,t){let{addedCount:n}=await this.completeInputs(e,t??{scriptLenRange:[0,1],outputDataLenRange:[0,1]},(e,{cellOutput:{capacity:t}})=>e+t,_);return n}async completeInputsByUdt(e,t,n){let r=this.getOutputsUdtBalance(t)+v(n??0);if(r===0n)return 0;let[i,a]=await M(this.inputs,async([n,r],i)=>{let{cellOutput:a,outputData:o}=await i.getCell(e.client);if(a.type?.eq(t))return[n+Fn(o),r+1]},[_,0]);if(i===r||i>=r&&a>=2)return 0;let{addedCount:o,accumulated:s}=await this.completeInputs(e,{script:t,outputDataLenRange:[16,v(`0xffffffff`)]},(e,{outputData:t},n,i)=>{let o=e+Fn(t);return o===r||o>=r&&a+i.length>=2?void 0:o},i);if(s===void 0||s>=r)return o;throw new xn(r-s,t)}async completeInputsAddOne(e,t){let{addedCount:n,accumulated:r}=await this.completeInputs(e,t??{scriptLenRange:[0,1],outputDataLenRange:[0,1]},()=>void 0,!0);if(r===void 0)return n;throw Error(`Insufficient CKB, need at least one new cell`)}async completeInputsAtLeastOne(e,t){return this.inputs.length>0?0:this.completeInputsAddOne(e,t)}async getFee(e){return await this.getInputsCapacity(e)-this.getOutputsCapacity()}async getFeeRate(e){return await this.getFee(e)*v(1e3)/v(this.toBytes().length+4)}estimateFee(e){return(v(this.toBytes().length+4)*v(e)+v(999))/v(1e3)}async completeFee(e,t,n,r,i){let a=n??await e.client.getFeeRate(i?.feeRateBlockRange,i);await this.getInputsCapacity(e.client);let o=_,s=_,c=0;for(;;){c+=await(async()=>{if(!(i?.shouldAddInputs??!0))return 0;try{return await this.completeInputsByCapacity(e,o+s,r)}catch(e){throw e instanceof U&&s!==0n?new U(e.amount,{isForChange:!0}):e}})();let n=await this.getFee(e.client);if(n<o+s)throw new U(o+s-n,{isForChange:s!==_});if(await e.prepareTransaction(this),o===0n&&(o=this.estimateFee(a)),n===o)return[c,!1];let l=this.clone(),u=v(await Promise.resolve(t(l,n-o)));if(u>0n){s=u;continue}if(await l.getFee(e.client)!==o)throw Error(`The change function doesn't use all available capacity`);await e.prepareTransaction(l);let d=l.estimateFee(a);if(o>d)throw Error(`The change function removed existed transaction data`);if(o===d)return this.copy(l),[c,!0];o=d}}completeFeeChangeToLock(e,t,n,r,i){let a=H.from(t);return this.completeFee(e,(e,t)=>{let n=J.from({capacity:0,lock:a}),r=g(n.occupiedSize);return t<r?r:(n.capacity=t,e.addOutput(n),0)},n,r,i)}async completeFeeBy(e,t,n,r){let{script:i}=await e.getRecommendedAddressObj();return this.completeFeeChangeToLock(e,i,t,n,r)}completeFeeChangeToOutput(e,t,n,r,i){let a=Number(v(t));if(!this.outputs[a])throw Error(`Non-existed output to change`);return this.completeFee(e,(e,t)=>(e.outputs[a].capacity+=t,0),n,r,i)}};$=K=N([h(A({raw:In,witnesses:ut}).mapIn(e=>{let t=$.from(e);return{raw:t,witnesses:t.witnesses}}).mapOut(e=>$.from({...e.raw,witnesses:e.witnesses})))],$);async function Ln(e,t){if(e.outputs.length<=64)return!1;let{codeHash:n,hashType:r}=await t.getKnownScript(`NervosDao`),i=H.from({codeHash:n,hashType:r,args:`0x`});if(e.outputs.some(e=>e.type?.eq(i)))return!0;for(let n of e.inputs)if(await n.completeExtraInfos(t),n.cellOutput?.type?.eq(i))return!0;return!1}function Rn(e,t,n){let r=L.from(t),i=L.from(n),a=v(e);return a*i.dao.ar/r.dao.ar-a}function zn(e,t){let n=L.from(e).epoch.normalizeBase(),r=L.from(t).epoch.normalizeBase(),i=v(180),a=(r.integer-n.integer)%i,o=r.integer;return(a!==0n||n.numerator*r.denominator<=r.numerator*n.denominator)&&(o+=-a+i),new F(o,n.numerator,n.denominator)}function Bn(n){try{let{words:e,prefix:r}=t.decode(n,Un),i=t.fromWords(e),a=i[0],o=i.slice(1);if(a===0)return{prefix:r,format:0,payload:o}}catch{}try{let{prefix:t,words:r}=e.decode(n,Un),i=e.fromWords(r),a=i[0],o=i.slice(1);if([2,4,1].includes(a))return{prefix:t,format:a,payload:o}}catch{}throw Error(`Unknown address format ${n}`)}async function Vn(e,t,n,r){if(t===0){if(n.length<33)throw Error(`Invalid full address without enough payload ${f(n)}`);return{script:{codeHash:n.slice(0,32),hashType:hn(n.slice(32,33)),args:n.slice(33)},prefix:e}}if(t===2){if(n.length<32)throw Error(`Invalid full data address without enough payload ${f(n)}`);return{script:{codeHash:n.slice(0,32),hashType:`data`,args:n.slice(32)},prefix:e}}if(t===4){if(n.length<32)throw Error(`Invalid full type address without enough payload ${f(n)}`);return{script:{codeHash:n.slice(0,32),hashType:`type`,args:n.slice(32)},prefix:e}}if(n.length!==21)throw Error(`Invalid short address without enough payload ${f(n)}`);let i=[`Secp256k1Blake160`,`Secp256k1Multisig`,`AnyoneCanPay`][n[0]];if(i===void 0)throw Error(`Invalid short address with unknown script ${f(n)}`);return{script:await H.fromKnownScript(r,i,n.slice(1)),prefix:e}}let Hn=function(e){return e[e.Full=0]=`Full`,e[e.Short=1]=`Short`,e[e.FullData=2]=`FullData`,e[e.FullType=4]=`FullType`,e}({});const Un=1023;export{Zt as $,x as $n,Ze as $t,yn as A,Se as An,Et as At,dn as B,Fe as Bn,_t as Bt,On as C,ze as Cn,o as Cr,jt as Ct,xn as D,Ae as Dn,kt as Dt,U as E,_e as En,c as Er,j as Et,V as F,je as Fn,bt as Ft,an as G,ye as Gn,lt as Gt,cn as H,De as Hn,pt as Ht,hn as I,w as In,xt as It,tn as J,C as Jn,Tt as Jt,rn as K,ge as Kn,ut as Kt,mn as L,we as Ln,St as Lt,H as M,be as Mn,dt as Mt,gn as N,Ne as Nn,ft as Nt,bn as O,ke as On,Dt as Ot,_n as P,Me as Pn,yt as Pt,Xt as Q,b as Qn,Xe as Qt,fn as R,Ce as Rn,ht as Rt,kn as S,T as Sn,s as Sr,At as St,Fn as T,ve as Tn,l as Tr,N as Tt,sn as U,Ee as Un,mt as Ut,ln as V,Pe as Vn,vt as Vt,on as W,Te as Wn,ct as Wt,en as X,me as Xn,nt as Xt,Yt as Y,he as Yn,wt as Yt,$t as Z,v as Zn,rt as Zt,$ as _,Ge as _n,te as _r,It as _t,jn as a,st as an,le as ar,Vt as at,Rn as b,Re as bn,d as br,I as bt,Nn as c,Je as cn,ce as cr,Bt as ct,J as d,We as dn,ie as dr,Gt as dt,it as en,pe as er,z as et,An as f,Ue as fn,ae as fr,Jt as ft,X as g,A as gn,re as gr,qt as gt,In as h,Ke as hn,se as hr,Wt as ht,Bn as i,ot as in,y as ir,L as it,pn as j,xe as jn,Ot as jt,vn as k,Oe as kn,M as kt,Z as l,Ye as ln,m as lr,Lt as lt,q as m,k as mn,p as mr,Ut as mt,Hn as n,Qe as nn,ue as nr,Ft as nt,Y as o,et as on,_ as or,zt as ot,En as p,He as pn,oe as pr,Kt as pt,nn as q,S as qn,Ct as qt,Vn as r,$e as rn,fe as rr,Ht as rt,Q as s,tt as sn,g as sr,Rt as st,Un as t,at as tn,de as tr,Qt as tt,Mn as u,qe as un,h as ur,R as ut,Pn as v,O as vn,ne as vr,Nt as vt,Ln as w,Be as wn,u as wr,Mt as wt,Dn as x,Ve as xn,a as xr,F as xt,zn as y,Le as yn,f as yr,Pt as yt,un as z,Ie as zn,gt as zt};
|
|
2
|
-
//# sourceMappingURL=address.advanced-8N_Hcv6p.mjs.map
|