@ckb-ccc/core 1.13.0 → 1.14.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 +7 -0
- package/dist/address.advanced-BmJKF_Lg.mjs +2 -0
- package/dist/address.advanced-BmJKF_Lg.mjs.map +1 -0
- package/dist/advanced.mjs +1 -1
- package/dist/advancedBarrel-BD7EAPVd.d.mts.map +1 -1
- package/dist/advancedBarrel.mjs +1 -1
- package/dist/{barrel-DchA_RPN.mjs → barrel-C-sr5NLL.mjs} +2 -2
- package/dist/{barrel-DchA_RPN.mjs.map → barrel-C-sr5NLL.mjs.map} +1 -1
- package/dist/barrel.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist.commonjs/address.advanced-D9nKvIr3.js +2 -0
- package/dist.commonjs/address.advanced-D9nKvIr3.js.map +1 -0
- package/dist.commonjs/advanced.js +1 -1
- package/dist.commonjs/advancedBarrel-DRDT4GBS.d.ts.map +1 -1
- package/dist.commonjs/advancedBarrel.js +1 -1
- package/dist.commonjs/barrel-SuR9mcfv.js +21 -0
- package/dist.commonjs/barrel-SuR9mcfv.js.map +1 -0
- package/dist.commonjs/barrel.js +1 -1
- package/dist.commonjs/index.js +1 -1
- package/package.json +23 -12
- package/src/address/address.advanced.ts +3 -3
- package/src/codec/entity.ts +1 -3
- package/src/molecule/codec.ts +15 -15
- package/tsdown.config.mts +12 -3
- package/dist/address.advanced-CWGrVD-M.mjs +0 -2
- package/dist/address.advanced-CWGrVD-M.mjs.map +0 -1
- package/dist.commonjs/address.advanced-COp7SNhZ.js +0 -2
- package/dist.commonjs/address.advanced-COp7SNhZ.js.map +0 -1
- package/dist.commonjs/barrel-CXC2Uy5L.js +0 -7
- package/dist.commonjs/barrel-CXC2Uy5L.js.map +0 -1
package/dist.commonjs/barrel.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./address.advanced-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./address.advanced-D9nKvIr3.js"),t=require("./barrel-SuR9mcfv.js");exports.Address=t.H,exports.Bytes=e.Gr,exports.Cell=e.a,exports.CellAny=e.o,Object.defineProperty(exports,"CellDep",{enumerable:!0,get:function(){return e.s}}),exports.CellDepInfo=e.nt,exports.CellDepVec=e.c,Object.defineProperty(exports,"CellInput",{enumerable:!0,get:function(){return e.l}}),exports.CellInputVec=e.u,Object.defineProperty(exports,"CellOutput",{enumerable:!0,get:function(){return e.d}}),exports.CellOutputVec=e.f,exports.Client=t.J,exports.ClientBlock=e.rt,exports.ClientBlockHeader=e.it,exports.ClientBlockUncle=e.at,exports.ClientCache=t.X,exports.ClientCacheMemory=t.Y,exports.ClientIndexerSearchKey=e.ot,exports.ClientIndexerSearchKeyFilter=e.st,exports.ClientIndexerSearchKeyTransaction=e.ct,exports.ClientJsonRpc=t.K,exports.ClientPublicMainnet=t.G,exports.ClientPublicTestnet=t.W,exports.ClientTransactionResponse=e.lt,exports.Codec=e.Wr,exports.CodecBool=e.Sn,exports.CodecByte=e.Cn,exports.CodecByte16=e.wn,exports.CodecByte32=e.Tn,exports.CodecByte4=e.En,exports.CodecByte8=e.Dn,exports.CodecBytes=e.On,exports.CodecRaw=e.kn,exports.CodecUint128=e.An,exports.CodecUint128BE=e.jn,exports.CodecUint128LE=e.Mn,exports.CodecUint16=e.Nn,exports.CodecUint16BE=e.Pn,exports.CodecUint16LE=e.Fn,exports.CodecUint256=e.In,exports.CodecUint256BE=e.Ln,exports.CodecUint256LE=e.Rn,exports.CodecUint32=e.zn,exports.CodecUint32BE=e.Bn,exports.CodecUint32LE=e.Vn,exports.CodecUint512=e.Hn,exports.CodecUint512BE=e.Un,exports.CodecUint512LE=e.Wn,exports.CodecUint64=e.Gn,exports.CodecUint64BE=e.Kn,exports.CodecUint64LE=e.qn,exports.CodecUint8=e.Jn,exports.DepTypeCodec=e.p,exports.Entity=e.cr,Object.defineProperty(exports,"Epoch",{enumerable:!0,get:function(){return e.xt}}),exports.ErrorClientBase=e.ut,exports.ErrorClientDuplicatedTransaction=e.dt,exports.ErrorClientMaxFeeRateExceeded=e.ft,exports.ErrorClientRBFRejected=e.pt,exports.ErrorClientResolveUnknown=e.mt,exports.ErrorClientVerification=e.ht,exports.ErrorClientWaitTransactionTimeout=e.gt,exports.ErrorTransactionInsufficientCapacity=e.E,exports.ErrorTransactionInsufficientCoin=e.D,exports.HashTypeCodec=e.j,exports.HasherCkb=e.ur,exports.HasherKeecak256=t.Q,exports.InputToSign=t.R,exports.KnownScript=e.J,exports.One=e.vn,Object.defineProperty(exports,"OutPoint",{enumerable:!0,get:function(){return e.m}}),exports.RawTransaction=e.h,exports.RequestorJsonRpc=t.q,Object.defineProperty(exports,"Script",{enumerable:!0,get:function(){return e.M}}),exports.ScriptInfo=e._t,exports.ScriptOpt=e.N,exports.ScriptVec=e.P,exports.SignPsbtOptions=t.z,exports.Signature=t.v,exports.Signer=t.y,exports.SignerAlwaysError=t.c,exports.SignerBtc=t._,exports.SignerBtcPublicKeyReadonly=t.g,exports.SignerCkbPrivateKey=t.m,exports.SignerCkbPublicKey=t.h,exports.SignerCkbScriptReadonly=t.p,exports.SignerDoge=t.f,exports.SignerDogeAddressReadonly=t.d,exports.SignerDogePrivateKey=t.u,exports.SignerDummy=t.l,exports.SignerEvm=t.o,exports.SignerEvmAddressReadonly=t.a,exports.SignerInfo=t.b,exports.SignerNostr=t.i,exports.SignerNostrPrivateKey=t.n,exports.SignerNostrPublicKeyReadonly=t.r,exports.SignerOpenLink=t.s,exports.SignerSignType=t.x,exports.SignerType=t.S,Object.defineProperty(exports,"Since",{enumerable:!0,get:function(){return e.g}}),Object.defineProperty(exports,"Transaction",{enumerable:!0,get:function(){return e._}}),Object.defineProperty(exports,"WitnessArgs",{enumerable:!0,get:function(){return e.v}}),exports.Zero=e.yn,exports.apply=e.Tt,exports.btcEcdsaPublicKeyHash=t.M,exports.btcP2pkhAddressFromPublicKey=t.N,exports.btcPublicKeyFromP2pkhAddress=t.P,exports.btcVarLengthBytesFrom=t.F,exports.buildNostrEventFromMessage=t.C,exports.bytesConcat=e.Kr,exports.bytesConcatTo=e.qr,exports.bytesEq=e.Jr,exports.bytesFrom=e.Yr,exports.bytesTo=e.Xr,exports.calcDaoClaimEpoch=e.y,exports.calcDaoProfit=e.b,exports.codec=e.lr,exports.codecPadding=e.Yn,exports.codecUint=e.Xn,exports.codecUintNumber=e.Zn,exports.depTypeFrom=e.x,exports.depTypeFromBytes=e.S,exports.depTypeToBytes=e.C,exports.epochFrom=e.St,exports.epochFromHex=e.Ct,exports.epochToHex=e.wt,exports.fixedPointFrom=e.bn,exports.fixedPointToString=e.xn,exports.gcd=e.Et,exports.hashCkb=e.dr,exports.hashTypeFrom=e.F,exports.hashTypeFromBytes=e.I,exports.hashTypeId=t.U,exports.hashTypeToBytes=e.L,exports.hexFrom=e.pr,exports.isDaoOutputLimitExceeded=e.w,exports.isWebview=e.Dt,exports.keystoreDecrypt=t.B,exports.keystoreEncrypt=t.V,exports.messageHashBtcEcdsa=t.I,exports.messageHashCkbSecp256k1=t.A,exports.messageHashDogeEcdsa=t.D,Object.defineProperty(exports,"mol",{enumerable:!0,get:function(){return t.Z}}),exports.nostrEventHash=t.w,exports.numBeFromBytes=e.Qn,exports.numBeToBytes=e.$n,exports.numFrom=e.er,exports.numFromBytes=e.tr,exports.numLeFromBytes=e.nr,exports.numLeToBytes=e.rr,exports.numMax=e.ir,exports.numMin=e.ar,exports.numToBytes=e.or,exports.numToHex=e.sr,exports.reduceAsync=e.Ot,exports.sleep=e.kt,exports.stringify=e.At,exports.udtBalanceFrom=e.T,exports.verifyMessageBtcEcdsa=t.L,exports.verifyMessageCkbSecp256k1=t.j,exports.verifyMessageDogeEcdsa=t.O,exports.verifyMessageEvmPersonal=t.E,exports.verifyMessageJoyId=t.k,exports.verifyMessageNostrEvent=t.T;
|
package/dist.commonjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./address.advanced-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./address.advanced-D9nKvIr3.js"),t=require("./barrel-SuR9mcfv.js");exports.Address=t.H,exports.Bytes=e.Gr,exports.Cell=e.a,exports.CellAny=e.o,Object.defineProperty(exports,"CellDep",{enumerable:!0,get:function(){return e.s}}),exports.CellDepInfo=e.nt,exports.CellDepVec=e.c,Object.defineProperty(exports,"CellInput",{enumerable:!0,get:function(){return e.l}}),exports.CellInputVec=e.u,Object.defineProperty(exports,"CellOutput",{enumerable:!0,get:function(){return e.d}}),exports.CellOutputVec=e.f,exports.Client=t.J,exports.ClientBlock=e.rt,exports.ClientBlockHeader=e.it,exports.ClientBlockUncle=e.at,exports.ClientCache=t.X,exports.ClientCacheMemory=t.Y,exports.ClientIndexerSearchKey=e.ot,exports.ClientIndexerSearchKeyFilter=e.st,exports.ClientIndexerSearchKeyTransaction=e.ct,exports.ClientJsonRpc=t.K,exports.ClientPublicMainnet=t.G,exports.ClientPublicTestnet=t.W,exports.ClientTransactionResponse=e.lt,exports.Codec=e.Wr,exports.CodecBool=e.Sn,exports.CodecByte=e.Cn,exports.CodecByte16=e.wn,exports.CodecByte32=e.Tn,exports.CodecByte4=e.En,exports.CodecByte8=e.Dn,exports.CodecBytes=e.On,exports.CodecRaw=e.kn,exports.CodecUint128=e.An,exports.CodecUint128BE=e.jn,exports.CodecUint128LE=e.Mn,exports.CodecUint16=e.Nn,exports.CodecUint16BE=e.Pn,exports.CodecUint16LE=e.Fn,exports.CodecUint256=e.In,exports.CodecUint256BE=e.Ln,exports.CodecUint256LE=e.Rn,exports.CodecUint32=e.zn,exports.CodecUint32BE=e.Bn,exports.CodecUint32LE=e.Vn,exports.CodecUint512=e.Hn,exports.CodecUint512BE=e.Un,exports.CodecUint512LE=e.Wn,exports.CodecUint64=e.Gn,exports.CodecUint64BE=e.Kn,exports.CodecUint64LE=e.qn,exports.CodecUint8=e.Jn,exports.DepTypeCodec=e.p,exports.Entity=e.cr,Object.defineProperty(exports,"Epoch",{enumerable:!0,get:function(){return e.xt}}),exports.ErrorClientBase=e.ut,exports.ErrorClientDuplicatedTransaction=e.dt,exports.ErrorClientMaxFeeRateExceeded=e.ft,exports.ErrorClientRBFRejected=e.pt,exports.ErrorClientResolveUnknown=e.mt,exports.ErrorClientVerification=e.ht,exports.ErrorClientWaitTransactionTimeout=e.gt,exports.ErrorTransactionInsufficientCapacity=e.E,exports.ErrorTransactionInsufficientCoin=e.D,exports.HashTypeCodec=e.j,exports.HasherCkb=e.ur,exports.HasherKeecak256=t.Q,exports.InputToSign=t.R,exports.KnownScript=e.J,exports.One=e.vn,Object.defineProperty(exports,"OutPoint",{enumerable:!0,get:function(){return e.m}}),exports.RawTransaction=e.h,exports.RequestorJsonRpc=t.q,Object.defineProperty(exports,"Script",{enumerable:!0,get:function(){return e.M}}),exports.ScriptInfo=e._t,exports.ScriptOpt=e.N,exports.ScriptVec=e.P,exports.SignPsbtOptions=t.z,exports.Signature=t.v,exports.Signer=t.y,exports.SignerAlwaysError=t.c,exports.SignerBtc=t._,exports.SignerBtcPublicKeyReadonly=t.g,exports.SignerCkbPrivateKey=t.m,exports.SignerCkbPublicKey=t.h,exports.SignerCkbScriptReadonly=t.p,exports.SignerDoge=t.f,exports.SignerDogeAddressReadonly=t.d,exports.SignerDogePrivateKey=t.u,exports.SignerDummy=t.l,exports.SignerEvm=t.o,exports.SignerEvmAddressReadonly=t.a,exports.SignerInfo=t.b,exports.SignerNostr=t.i,exports.SignerNostrPrivateKey=t.n,exports.SignerNostrPublicKeyReadonly=t.r,exports.SignerOpenLink=t.s,exports.SignerSignType=t.x,exports.SignerType=t.S,Object.defineProperty(exports,"Since",{enumerable:!0,get:function(){return e.g}}),Object.defineProperty(exports,"Transaction",{enumerable:!0,get:function(){return e._}}),Object.defineProperty(exports,"WitnessArgs",{enumerable:!0,get:function(){return e.v}}),exports.Zero=e.yn,exports.apply=e.Tt,exports.btcEcdsaPublicKeyHash=t.M,exports.btcP2pkhAddressFromPublicKey=t.N,exports.btcPublicKeyFromP2pkhAddress=t.P,exports.btcVarLengthBytesFrom=t.F,exports.buildNostrEventFromMessage=t.C,exports.bytesConcat=e.Kr,exports.bytesConcatTo=e.qr,exports.bytesEq=e.Jr,exports.bytesFrom=e.Yr,exports.bytesTo=e.Xr,exports.calcDaoClaimEpoch=e.y,exports.calcDaoProfit=e.b,Object.defineProperty(exports,"ccc",{enumerable:!0,get:function(){return t.t}}),exports.codec=e.lr,exports.codecPadding=e.Yn,exports.codecUint=e.Xn,exports.codecUintNumber=e.Zn,exports.depTypeFrom=e.x,exports.depTypeFromBytes=e.S,exports.depTypeToBytes=e.C,exports.epochFrom=e.St,exports.epochFromHex=e.Ct,exports.epochToHex=e.wt,exports.fixedPointFrom=e.bn,exports.fixedPointToString=e.xn,exports.gcd=e.Et,exports.hashCkb=e.dr,exports.hashTypeFrom=e.F,exports.hashTypeFromBytes=e.I,exports.hashTypeId=t.U,exports.hashTypeToBytes=e.L,exports.hexFrom=e.pr,exports.isDaoOutputLimitExceeded=e.w,exports.isWebview=e.Dt,exports.keystoreDecrypt=t.B,exports.keystoreEncrypt=t.V,exports.messageHashBtcEcdsa=t.I,exports.messageHashCkbSecp256k1=t.A,exports.messageHashDogeEcdsa=t.D,Object.defineProperty(exports,"mol",{enumerable:!0,get:function(){return t.Z}}),exports.nostrEventHash=t.w,exports.numBeFromBytes=e.Qn,exports.numBeToBytes=e.$n,exports.numFrom=e.er,exports.numFromBytes=e.tr,exports.numLeFromBytes=e.nr,exports.numLeToBytes=e.rr,exports.numMax=e.ir,exports.numMin=e.ar,exports.numToBytes=e.or,exports.numToHex=e.sr,exports.reduceAsync=e.Ot,exports.sleep=e.kt,exports.stringify=e.At,exports.udtBalanceFrom=e.T,exports.verifyMessageBtcEcdsa=t.L,exports.verifyMessageCkbSecp256k1=t.j,exports.verifyMessageDogeEcdsa=t.O,exports.verifyMessageEvmPersonal=t.E,exports.verifyMessageJoyId=t.k,exports.verifyMessageNostrEvent=t.T;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckb-ccc/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Core of CCC - CKBer's Codebase",
|
|
5
5
|
"author": "Hanssen0 <hanssen0@hanssen0.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,34 +33,45 @@
|
|
|
33
33
|
"./package.json": "./package.json"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@eslint/js": "^
|
|
36
|
+
"@eslint/js": "^10.0.1",
|
|
37
37
|
"@types/ws": "^8.18.1",
|
|
38
|
-
"eslint": "^
|
|
38
|
+
"eslint": "^10.5.0",
|
|
39
39
|
"eslint-config-prettier": "^10.1.8",
|
|
40
|
-
"eslint-plugin-prettier": "^5.5.
|
|
41
|
-
"prettier": "^3.
|
|
42
|
-
"prettier-plugin-organize-imports": "^4.
|
|
40
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
41
|
+
"prettier": "^3.8.4",
|
|
42
|
+
"prettier-plugin-organize-imports": "^4.3.0",
|
|
43
43
|
"tsdown": "0.22.3",
|
|
44
|
-
"typescript": "^
|
|
45
|
-
"typescript-eslint": "^8.
|
|
46
|
-
"vitest": "^
|
|
44
|
+
"typescript": "^6.0.3",
|
|
45
|
+
"typescript-eslint": "^8.61.1",
|
|
46
|
+
"vitest": "^4.1.9"
|
|
47
47
|
},
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@joyid/ckb": "^1.1.
|
|
52
|
+
"@joyid/ckb": "^1.1.4",
|
|
53
53
|
"@noble/ciphers": "^2.2.0",
|
|
54
54
|
"@noble/curves": "^2.2.0",
|
|
55
55
|
"@noble/hashes": "^2.2.0",
|
|
56
56
|
"bech32": "^2.0.0",
|
|
57
57
|
"bs58check": "^4.0.0",
|
|
58
58
|
"buffer": "^6.0.3",
|
|
59
|
-
"ethers": "^6.
|
|
59
|
+
"ethers": "^6.17.0",
|
|
60
60
|
"isomorphic-ws": "^5.0.0",
|
|
61
|
-
"ws": "^8.
|
|
61
|
+
"ws": "^8.21.0"
|
|
62
62
|
},
|
|
63
63
|
"types": "./dist.commonjs/index.d.ts",
|
|
64
|
+
"inlinedDependencies": {
|
|
65
|
+
"@noble/ciphers": "2.2.0",
|
|
66
|
+
"@noble/curves": "2.2.0",
|
|
67
|
+
"@noble/hashes": [
|
|
68
|
+
"1.8.0",
|
|
69
|
+
"2.2.0"
|
|
70
|
+
],
|
|
71
|
+
"base-x": "5.0.1",
|
|
72
|
+
"bs58": "6.0.0",
|
|
73
|
+
"bs58check": "4.0.0"
|
|
74
|
+
},
|
|
64
75
|
"scripts": {
|
|
65
76
|
"test": "vitest",
|
|
66
77
|
"test:ci": "vitest run",
|
|
@@ -30,10 +30,10 @@ export function addressPayloadFromString(address: string): {
|
|
|
30
30
|
try {
|
|
31
31
|
const { words, prefix } = bech32m.decode(address, ADDRESS_BECH32_LIMIT);
|
|
32
32
|
const decoded = bech32m.fromWords(words);
|
|
33
|
-
const formatType = decoded[0];
|
|
33
|
+
const formatType: AddressFormat = decoded[0];
|
|
34
34
|
const payload = decoded.slice(1);
|
|
35
35
|
|
|
36
|
-
if (formatType ===
|
|
36
|
+
if (formatType === AddressFormat.Full) {
|
|
37
37
|
return { prefix, format: AddressFormat.Full, payload };
|
|
38
38
|
}
|
|
39
39
|
} catch (_) {}
|
|
@@ -42,7 +42,7 @@ export function addressPayloadFromString(address: string): {
|
|
|
42
42
|
try {
|
|
43
43
|
const { prefix, words } = bech32.decode(address, ADDRESS_BECH32_LIMIT);
|
|
44
44
|
const decoded = bech32.fromWords(words);
|
|
45
|
-
const formatType = decoded[0];
|
|
45
|
+
const formatType: AddressFormat = decoded[0];
|
|
46
46
|
const payload = decoded.slice(1);
|
|
47
47
|
if (
|
|
48
48
|
[
|
package/src/codec/entity.ts
CHANGED
|
@@ -92,9 +92,7 @@ export abstract class Entity {
|
|
|
92
92
|
* @returns A clone of the entity
|
|
93
93
|
*/
|
|
94
94
|
clone(): SubType {
|
|
95
|
-
return (this.constructor as typeof Impl).fromBytes(
|
|
96
|
-
this.toBytes(),
|
|
97
|
-
) as unknown as SubType;
|
|
95
|
+
return (this.constructor as typeof Impl).fromBytes(this.toBytes());
|
|
98
96
|
}
|
|
99
97
|
|
|
100
98
|
/**
|
package/src/molecule/codec.ts
CHANGED
|
@@ -71,7 +71,7 @@ export function fixedItemVec<Encodable, Decoded>(
|
|
|
71
71
|
}
|
|
72
72
|
return bytesFrom(concatted);
|
|
73
73
|
} catch (e: unknown) {
|
|
74
|
-
throw new Error(
|
|
74
|
+
throw new Error("fixedItemVec failed", { cause: e });
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
decode(buffer, config) {
|
|
@@ -101,7 +101,7 @@ export function fixedItemVec<Encodable, Decoded>(
|
|
|
101
101
|
}
|
|
102
102
|
return decodedArray;
|
|
103
103
|
} catch (e) {
|
|
104
|
-
throw new Error(
|
|
104
|
+
throw new Error("fixedItemVec failed", { cause: e });
|
|
105
105
|
}
|
|
106
106
|
},
|
|
107
107
|
});
|
|
@@ -131,7 +131,7 @@ export function dynItemVec<Encodable, Decoded>(
|
|
|
131
131
|
const packedTotalSize = uint32To(header.length + body.length + 4);
|
|
132
132
|
return bytesConcat(packedTotalSize, header, body);
|
|
133
133
|
} catch (e) {
|
|
134
|
-
throw new Error(
|
|
134
|
+
throw new Error("dynItemVec failed", { cause: e });
|
|
135
135
|
}
|
|
136
136
|
},
|
|
137
137
|
decode(buffer, config) {
|
|
@@ -168,7 +168,7 @@ export function dynItemVec<Encodable, Decoded>(
|
|
|
168
168
|
}
|
|
169
169
|
return decodedArray;
|
|
170
170
|
} catch (e) {
|
|
171
|
-
throw new Error(
|
|
171
|
+
throw new Error("dynItemVec failed", { cause: e });
|
|
172
172
|
}
|
|
173
173
|
},
|
|
174
174
|
});
|
|
@@ -205,7 +205,7 @@ export function option<Encodable, Decoded>(
|
|
|
205
205
|
try {
|
|
206
206
|
return innerCodec.encode(userDefinedOrNull);
|
|
207
207
|
} catch (e) {
|
|
208
|
-
throw new Error(
|
|
208
|
+
throw new Error("option failed", { cause: e });
|
|
209
209
|
}
|
|
210
210
|
},
|
|
211
211
|
decode(buffer, config) {
|
|
@@ -216,7 +216,7 @@ export function option<Encodable, Decoded>(
|
|
|
216
216
|
try {
|
|
217
217
|
return innerCodec.decode(buffer, config);
|
|
218
218
|
} catch (e) {
|
|
219
|
-
throw new Error(
|
|
219
|
+
throw new Error("option failed", { cause: e });
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
});
|
|
@@ -236,7 +236,7 @@ export function byteVec<Encodable, Decoded>(
|
|
|
236
236
|
const byteLength = uint32To(payload.byteLength);
|
|
237
237
|
return bytesConcat(byteLength, payload);
|
|
238
238
|
} catch (e) {
|
|
239
|
-
throw new Error(
|
|
239
|
+
throw new Error("byteVec failed", { cause: e });
|
|
240
240
|
}
|
|
241
241
|
},
|
|
242
242
|
decode(buffer, config) {
|
|
@@ -255,7 +255,7 @@ export function byteVec<Encodable, Decoded>(
|
|
|
255
255
|
try {
|
|
256
256
|
return codec.decode(value.slice(4), config);
|
|
257
257
|
} catch (e: unknown) {
|
|
258
|
-
throw new Error(
|
|
258
|
+
throw new Error("byteVec failed", { cause: e });
|
|
259
259
|
}
|
|
260
260
|
},
|
|
261
261
|
});
|
|
@@ -313,7 +313,7 @@ export function table<
|
|
|
313
313
|
bytesConcatTo(body, encoded);
|
|
314
314
|
offset += encoded.byteLength;
|
|
315
315
|
} catch (e: unknown) {
|
|
316
|
-
throw new Error(`table.${key}
|
|
316
|
+
throw new Error(`table.${key} failed`, { cause: e });
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
319
|
|
|
@@ -371,7 +371,7 @@ export function table<
|
|
|
371
371
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
372
372
|
Object.assign(object, { [field]: codec.decode(payload, config) });
|
|
373
373
|
} catch (e: unknown) {
|
|
374
|
-
throw new Error(`table.${field}
|
|
374
|
+
throw new Error(`table.${field} failed`, { cause: e });
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
377
|
return object as Decoded;
|
|
@@ -472,7 +472,7 @@ export function union<T extends Record<string, CodecLike<any, any>>>(
|
|
|
472
472
|
const body = codec.encode(value);
|
|
473
473
|
return bytesConcat(header, body);
|
|
474
474
|
} catch (e: unknown) {
|
|
475
|
-
throw new Error(`union
|
|
475
|
+
throw new Error(`union.${typeStr} failed`, { cause: e });
|
|
476
476
|
}
|
|
477
477
|
},
|
|
478
478
|
decode(buffer, config) {
|
|
@@ -538,7 +538,7 @@ export function struct<
|
|
|
538
538
|
const encoded = codecLayout[key].encode((object as any)[key]);
|
|
539
539
|
bytesConcatTo(bytes, encoded);
|
|
540
540
|
} catch (e: unknown) {
|
|
541
|
-
throw new Error(`struct.${key}
|
|
541
|
+
throw new Error(`struct.${key} failed`, { cause: e });
|
|
542
542
|
}
|
|
543
543
|
}
|
|
544
544
|
|
|
@@ -554,7 +554,7 @@ export function struct<
|
|
|
554
554
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
555
555
|
Object.assign(object, { [key]: codec.decode(payload, config) });
|
|
556
556
|
} catch (e: unknown) {
|
|
557
|
-
throw new Error(`struct.${key}
|
|
557
|
+
throw new Error(`struct.${key} failed`, { cause: e });
|
|
558
558
|
}
|
|
559
559
|
offset = offset + codec.byteLength!;
|
|
560
560
|
});
|
|
@@ -589,7 +589,7 @@ export function array<Encodable, Decoded>(
|
|
|
589
589
|
|
|
590
590
|
return bytesFrom(bytes);
|
|
591
591
|
} catch (e: unknown) {
|
|
592
|
-
throw new Error(
|
|
592
|
+
throw new Error("array failed", { cause: e });
|
|
593
593
|
}
|
|
594
594
|
},
|
|
595
595
|
decode(buffer, config) {
|
|
@@ -608,7 +608,7 @@ export function array<Encodable, Decoded>(
|
|
|
608
608
|
}
|
|
609
609
|
return result;
|
|
610
610
|
} catch (e: unknown) {
|
|
611
|
-
throw new Error(
|
|
611
|
+
throw new Error("array failed", { cause: e });
|
|
612
612
|
}
|
|
613
613
|
},
|
|
614
614
|
});
|
package/tsdown.config.mts
CHANGED
|
@@ -16,10 +16,15 @@ const entry = {
|
|
|
16
16
|
} as const;
|
|
17
17
|
|
|
18
18
|
const bundleDeps = [
|
|
19
|
+
"@noble/curves",
|
|
20
|
+
"@noble/hashes",
|
|
21
|
+
"@noble/ciphers",
|
|
19
22
|
"@noble/curves/*",
|
|
20
23
|
"@noble/hashes/*",
|
|
21
24
|
"@noble/ciphers/*",
|
|
22
25
|
"bs58check",
|
|
26
|
+
"bs58", // By bs58check
|
|
27
|
+
"base-x", // By bs58 - bs58check
|
|
23
28
|
] as string[];
|
|
24
29
|
|
|
25
30
|
export default defineConfig(
|
|
@@ -27,14 +32,18 @@ export default defineConfig(
|
|
|
27
32
|
[
|
|
28
33
|
{
|
|
29
34
|
entry,
|
|
30
|
-
|
|
35
|
+
deps: {
|
|
36
|
+
onlyBundle: [] as string[],
|
|
37
|
+
},
|
|
31
38
|
format: "esm",
|
|
32
39
|
copy: "./misc/basedirs/dist/*",
|
|
33
40
|
},
|
|
34
41
|
{
|
|
35
42
|
entry,
|
|
36
|
-
|
|
37
|
-
|
|
43
|
+
deps: {
|
|
44
|
+
alwaysBundle: bundleDeps,
|
|
45
|
+
onlyBundle: bundleDeps,
|
|
46
|
+
},
|
|
38
47
|
format: "cjs",
|
|
39
48
|
outDir: "dist.commonjs",
|
|
40
49
|
copy: "./misc/basedirs/dist.commonjs/*",
|
|
@@ -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 f(e){return`0x${c(l(e),`hex`)}`}const ee=l(`ckb-default-hash`,`utf8`);var te=class{constructor(e=32,t=ee){this.hasher=r.create({personalization:t,dkLen:e})}update(e){return this.hasher.update(l(e)),this}digest(){return f(this.hasher.digest())}};function ne(...e){let t=new te;return e.forEach(e=>t.update(e)),t.digest()}var p=class{static Base(){class e{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 ne(this.toBytes())}toHex(){return f(this.toBytes())}}return e.encode=void 0,e.decode=void 0,e.fromBytes=void 0,e}};function m(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(n))}),t.fromBytes===void 0&&(t.fromBytes=function(n){return t.from(e.decode(n))}),t}}function re(e,...t){let n=h(e);return t.forEach(e=>{let t=h(e);t<n&&(n=t)}),n}function ie(e,...t){let n=h(e);return t.forEach(e=>{let t=h(e);t>n&&(n=t)}),n}function h(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 g(e){return`0x${h(e).toString(16)}`}function ae(e,t){return oe(e,t)}function oe(e,t){return se(e,t).reverse()}function se(e,t){let n=h(e);if(n<h(0)){if(t==null)throw Error(`negative number can not be serialized without knowing bytes length`);if(n=(h(1)<<h(8)*h(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 _(e){return v(e)}function v(e){return ce(l(e).map(e=>e).reverse())}function ce(e){return h(l(e))}function y(e,t=!1){return d.from({byteLength:e,encode:n=>t?ae(n,e):se(n,e),decode:e=>t?_(e):ce(e)})}function b(e,t=!1){if(e>4)throw Error(`uintNumber: byteLength must be less than or equal to 4`);return y(e,t).map({outMap:e=>Number(e)})}function le(e){return d.from({byteLength:e,encode:()=>new Uint8Array(e),decode:()=>{}})}const ue=d.from({encode:e=>l(e),decode:e=>l(e)}),de=d.from({encode:e=>l(e),decode:e=>f(e)}),fe=b(1,!0),pe=b(2,!0),me=b(2),he=pe,ge=b(4,!0),_e=b(4),ve=ge,ye=y(8,!0),be=y(8),xe=ye,Se=y(16,!0),Ce=y(16),we=Se,Te=y(32,!0),Ee=y(32),De=Te,Oe=y(64,!0),ke=y(64),Ae=Oe,je=d.from({byteLength:1,encode:e=>l(e?[1]:[0]),decode:e=>l(e)[0]!==0}),Me=d.from({byteLength:1,encode:e=>l(e),decode:e=>f(e)}),Ne=d.from({byteLength:4,encode:e=>l(e),decode:e=>f(e)}),Pe=d.from({byteLength:8,encode:e=>l(e),decode:e=>f(e)}),Fe=d.from({byteLength:16,encode:e=>l(e),decode:e=>f(e)}),x=d.from({byteLength:32,encode:e=>l(e),decode:e=>f(e)});function Ie(e,t=8){let n=S(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 S(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 C=0n,Le=S(`1`);function w(e){return ae(e,4)}function T(e){return Number(_(e))}function Re(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,w(t.length));for(let r of t)o(n,e.encode(r));return l(n)}catch(e){throw Error(`fixedItemVec(${e?.toString()})`)}},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+T(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(${e?.toString()})`)}}})}function ze(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,w(n)),o(i,t),n+=t.byteLength}return s(w(r.length+i.length+4),r,i)}catch(e){throw Error(`dynItemVec(${e?.toString()})`)}},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=T(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=(T(r.slice(4,8))-4)/4,o=Array.from(Array(a),(e,t)=>T(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(${e?.toString()})`)}}})}function E(e){return e.byteLength===void 0?ze(e):Re(e)}function D(e){return d.from({encode(t){if(t==null)return l([]);try{return e.encode(t)}catch(e){throw Error(`option(${e?.toString()})`)}},decode(t,n){if(l(t).byteLength!==0)try{return e.decode(t,n)}catch(e){throw Error(`option(${e?.toString()})`)}}})}function Be(e){return d.from({encode(t){try{let n=l(e.encode(t));return s(w(n.byteLength),n)}catch(e){throw Error(`byteVec(${e?.toString()})`)}},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=T(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(${e?.toString()})`)}}})}function O(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,w(r)),o(a,t),r+=t.byteLength}catch(e){throw Error(`table.${s}(${e?.toString()})`)}return s(w(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=T(i.slice(0,4)),o=(T(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)=>T(i.slice(4+t*4,8+t*4)));o>t.length?s.push(T(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}(${e?.toString()})`)}}return c}})}function Ve(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=w(c);try{return s(l,o.encode(i))}catch(e){throw Error(`union.(${a})(${e?.toString()})`)}},decode(n,r){let i=l(n),a=T(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 k(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}(${e?.toString()})`)}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}(${t.toString()})`)}a+=t.byteLength}),i}})}function He(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(${e?.toString()})`)}},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(${e?.toString()})`)}}})}const Ue=D(fe),We=E(fe),Ge=D(he),Ke=E(he),qe=D(ve),Je=E(ve),Ye=D(xe),Xe=E(xe),Ze=D(we),Qe=E(we),$e=D(De),et=E(De),tt=D(Ae),nt=E(Ae),rt=Be(de),it=D(rt),at=E(rt),ot=D(je),st=E(je),ct=D(Me),lt=E(Me),ut=D(Ne),dt=E(Ne),ft=D(Pe),pt=E(Pe),mt=D(Fe),ht=E(Fe),gt=D(x),_t=E(x),vt=Be({encode:e=>l(e,`utf8`),decode:e=>c(e,`utf8`)}),yt=E(vt),bt=D(vt);function A(e,t){if(t!=null)return e(t)}async function j(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 xt(e){return new Promise(t=>setTimeout(t,Number(h(e))))}function St(e){return/webview|wv|ip((?!.*Safari)|(?=.*like Safari))/i.test(e)}function Ct(e){return JSON.stringify(e,(e,t)=>typeof t==`bigint`?g(t):t)}function wt(e,t){for(e=h(e),t=h(t),e=e<0n?-e:e,t=t<0n?-t:t;t!==C;)[e,t]=[t,e%t];return e}function M(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 N;let P=N=class extends p.Base(){constructor(e,t,n){super(),this.integer=e,this.numerator=t,this.denominator=n}normalizeBase(){return this.denominator===0n?new N(this.integer,C,h(1)):this.denominator<0n?new N(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=wt(t,n);return t/=r,n/=r,e+=t/n,t%=n,new N(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>=h(`0x1000000`)||this.numerator>=h(`0x10000`)||this.denominator>=h(`0x10000`))throw Error(`Integer must be < 2^24, numerator and denominator must be < 2^16`);return this.integer+(this.numerator<<h(24))+(this.denominator<<h(40))}toPackedHex(){return g(this.toNum())}static fromNum(e){let t=h(e);return new N(t&h(`0xffffff`),t>>h(24)&h(`0xffff`),t>>h(40)&h(`0xffff`))}static from(e){return e instanceof N?e:Array.isArray(e)?new N(h(e[0]),h(e[1]),h(e[2])):typeof e==`object`?new N(h(e.integer),h(e.numerator),h(e.denominator)):N.fromNum(e)}clone(){return new N(this.integer,this.numerator,this.denominator)}static get Genesis(){return new N(C,C,C)}static get OneNervosDaoCycle(){return new N(h(180),C,h(1))}compare(e){if(this===e)return 0;let t=this.normalizeBase(),n=N.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=N.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 N(r,i,a).normalizeCanonical()}sub(e){let{integer:t,numerator:n,denominator:r}=N.from(e);return this.add(new N(-t,-n,r))}toUnix(e,t=h(14400*1e3)){let{integer:n,numerator:r,denominator:i}=this.sub(e.epoch);return e.timestamp+t*n+t*r/i}};P=N=M([m(k({padding:le(1),denominator:y(2),numerator:y(2),integer:y(3)}))],P);function Tt(e){return P.from(e)}function Et(e){return P.fromNum(e)}function Dt(e){return P.from(e).toPackedHex()}const Ot=h(1e7),kt=h(1e3);function F([e,t]){return[h(e),h(t)]}var At=class e{constructor(e,t){this.cellDep=e,this.type=t}static from(t){return t instanceof e?t:new e(Z.from(t.cellDep),A(V.from,t.type))}},jt=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),B(t.hashType),t.cellDeps.map(e=>At.from(e)))}},Mt=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,A(h,t.cycles),A(f,t.blockHash),A(h,t.blockNumber),A(h,t.txIndex),t.reason)}clone(){return new e(this.transaction.clone(),this.status,this.cycles,this.blockHash,this.blockNumber,this.txIndex,this.reason)}},Nt=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(A(V.from,t.script),A(F,t.scriptLenRange),A(f,t.outputData),t.outputDataSearchMode??void 0,A(F,t.outputDataLenRange),A(F,t.outputCapacityRange),A(F,t.blockRange))}},Pt=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(V.from(t.script),t.scriptType,t.scriptSearchMode,A(Nt.from,t.filter),t.withData??void 0)}},Ft=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(V.from(t.script),t.scriptType,t.scriptSearchMode,A(Nt.from,t.filter),t.groupByTransaction??void 0)}},I=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(h(t.compactTarget),{c:h(t.dao.c),ar:h(t.dao.ar),s:h(t.dao.s),u:h(t.dao.u)},P.from(t.epoch),f(t.extraHash),f(t.hash),h(t.nonce),h(t.number),f(t.parentHash),f(t.proposalsHash),h(t.timestamp),f(t.transactionsRoot),h(t.version))}},It=class e{constructor(e,t){this.header=e,this.proposals=t}static from(t){return t instanceof e?t:new e(I.from(t.header),t.proposals.map(f))}},Lt=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(I.from(t.header),t.proposals.map(f),t.transactions.map($.from),t.uncles.map(It.from))}},L=class extends Error{constructor(e){super(`Client request error ${e.message}`),this.code=e.code,this.data=e.data}},Rt=class extends L{constructor(e,t){super(e),this.outPoint=K.from(t)}},zt=class extends L{constructor(e,t,n,r,i,a){super(e),this.source=t,this.errorCode=r,this.scriptHashType=i,this.sourceIndex=h(n),this.scriptCodeHash=f(a)}},Bt=class extends L{constructor(e,t){super(e),this.txHash=f(t)}},Vt=class extends L{constructor(e,t,n){super(e),this.currentFee=h(t),this.leastFee=h(n)}},Ht=class extends L{constructor(e){let t=h(e).toString();super({message:`Wait transaction timeout ${t}ms`,data:JSON.stringify({timeout:t})})}},Ut=class extends L{constructor(e,t){let n=h(e).toString(),r=h(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 Wt=h(1e3*10*50);function Gt(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 R(e,t,n){if(!t)return!0;if(!e)return!1;let r=V.from(e),i=V.from(t);return r.codeHash!==i.codeHash||r.hashType!==i.hashType?!1:Gt(r.args,i?.args,n)}function Kt(e,t){if(!t)return!0;let n=h(e),[r,i]=F(t);return r<=n&&n<i}function qt(e,t){return t?Kt(e?l(V.from(e).args).length+33:0,t):!0}function Jt(e,t){let n=Pt.from(e),r=En.from(t);return!(n.scriptType===`lock`&&(!R(r.cellOutput.lock,n.script,n.scriptSearchMode)||!R(r.cellOutput.type,n.filter?.script,`prefix`)||!qt(r.cellOutput.type,n.filter?.scriptLenRange))||n.scriptType===`type`&&(!R(r.cellOutput.type,n.script,n.scriptSearchMode)||!R(r.cellOutput.lock,n.filter?.script,`prefix`)||!qt(r.cellOutput.lock,n.filter?.scriptLenRange))||!Gt(r.outputData,n.filter?.outputData,n.filter?.outputDataSearchMode??`prefix`)||!Kt(l(r.outputData).length,n.filter?.outputDataLenRange)||!Kt(r.cellOutput.capacity,n.filter?.outputCapacityRange))}var Yt=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 Xt=function(e){return e.NervosDao=`NervosDao`,e.Secp256k1Blake160=`Secp256k1Blake160`,e.Secp256k1Multisig=`Secp256k1Multisig`,e.Secp256k1MultisigV2=`Secp256k1MultisigV2`,e.AnyoneCanPay=`AnyoneCanPay`,e.TypeId=`TypeId`,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 Zt=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`}}]},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:[]},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 Qt=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}},$t=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 en(e,t){return e.startsWith(`wss://`)||e.startsWith(`ws://`)?new $t(e,t?.timeout):new Qt(e,t?.timeout)}var tn=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}}},nn=class e{static hashTypeFrom(e){return B(e)}static hashTypeTo(e){return e}static depTypeFrom(e){switch(Sn(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=V.from(t);return{code_hash:n.codeHash,hash_type:e.hashTypeFrom(n.hashType),args:n.args}}static scriptTo(t){return V.from({codeHash:t.code_hash,hashType:e.hashTypeTo(t.hash_type),args:t.args})}static outPointFrom(e){let t=K.from(e);return{index:g(t.index),tx_hash:t.txHash}}static outPointTo(e){return K.from({index:e.index,txHash:e.tx_hash})}static cellInputFrom(t){let n=X.from(t);return{previous_output:e.outPointFrom(n.previousOutput),since:g(n.since)}}static cellInputTo(t){return X.from({previousOutput:e.outPointTo(t.previous_output),since:t.since})}static cellOutputFrom(t,n){let r=q.from(t,n);return{capacity:g(r.capacity),lock:e.scriptFrom(r.lock),type:A(e.scriptFrom,r.type)}}static cellOutputTo(t){return q.from({capacity:t.capacity,lock:e.scriptTo(t.lock),type:A(e.scriptTo,t.type)})}static cellDepFrom(t){return{out_point:e.outPointFrom(t.outPoint),dep_type:e.depTypeFrom(t.depType)}}static cellDepTo(t){return Z.from({outPoint:e.outPointTo(t.out_point),depType:e.depTypeTo(t.dep_type)})}static transactionFrom(t){let n=$.from(t);return{version:g(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 Mt.from({transaction:e.transactionTo(s),status:n,cycles:A(h,t),blockHash:A(f,i),blockNumber:A(h,r),txIndex:A(h,a),reason:o})}static blockHeaderTo(e){let t=l(e.dao);return{compactTarget:h(e.compact_target),dao:{c:v(t.slice(0,8)),ar:v(t.slice(8,16)),s:v(t.slice(16,24)),u:v(t.slice(24,32))},epoch:P.fromNum(e.epoch),extraHash:e.extra_hash,hash:e.hash,nonce:h(e.nonce),number:h(e.number),parentHash:e.parent_hash,proposalsHash:e.proposals_hash,timestamp:h(e.timestamp),transactionsRoot:e.transactions_root,version:h(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[g(e),g(t)]}static indexerSearchKeyFilterFrom(t){return{script:A(e.scriptFrom,t.script),script_len_range:A(e.rangeFrom,t.scriptLenRange),output_data:t.outputData,output_data_filter_mode:t.outputDataSearchMode,output_data_len_range:A(e.rangeFrom,t.outputDataLenRange),output_capacity_range:A(e.rangeFrom,t.outputCapacityRange),block_range:A(e.rangeFrom,t.blockRange)}}static indexerSearchKeyFrom(t){let n=Pt.from(t);return{script:e.scriptFrom(n.script),script_type:n.scriptType,script_search_mode:n.scriptSearchMode,filter:A(e.indexerSearchKeyFilterFrom,n.filter),with_data:n.withData}}static findCellsResponseTo({last_cursor:t,objects:n}){return{lastCursor:t,cells:n.map(t=>En.from({outPoint:e.outPointTo(t.out_point),cellOutput:e.cellOutputTo(t.output),outputData:t.output_data??`0x`}))}}static indexerSearchKeyTransactionFrom(t){let n=Ft.from(t);return{script:e.scriptFrom(n.script),script_type:n.scriptType,script_search_mode:n.scriptSearchMode,filter:A(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:h(e.block_number),txIndex:h(e.tx_index),cellIndex:h(e.io_index),isInput:e.io_type===`input`}))}:{lastCursor:e,transactions:t.map(e=>({txHash:e.tx_hash,blockNumber:h(e.block_number),txIndex:h(e.tx_index),cells:e.cells.map(([e,t])=>({isInput:e===`input`,cellIndex:h(t)}))}))}}};const rn=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`}}]},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:[]},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`}}]}}),an={type:1,data:0,data1:2,data2:4},on={1:`type`,0:`data`,2:`data1`,4:`data2`},sn=Object.keys(an);var z;const cn=d.from({byteLength:1,encode:ln,decode:un});function B(e){let t=(()=>{if(typeof e==`number`)return on[e];if(typeof e==`bigint`)return on[Number(e)];if(sn.includes(e))return e})();if(t===void 0)throw Error(`Invalid hash type ${e}`);return t}function ln(e){return l([an[B(e)]])}function un(e){return on[l(e)[0]]}let V=z=class extends p.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 z(this.codeHash,this.hashType,this.args)}eq(e){return e=z.from(e),this.args===e.args&&this.codeHash===e.codeHash&&this.hashType===e.hashType}static from(e){return e instanceof z?e:new z(f(e.codeHash),B(e.hashType),f(e.args))}static async fromKnownScript(e,t,n){let r=await e.getKnownScript(t);return new z(r.codeHash,r.hashType,f(n))}};V=z=M([m(O({codeHash:x,hashType:cn,args:rt}))],V);const dn=D(V),fn=E(V),pn={code:0,depGroup:1},mn={0:`code`,1:`depGroup`},hn=Object.keys(pn);var gn=class extends Error{constructor(e,t){let n=h(e),r=t?.isForChange??!1;super(`Insufficient CKB, need ${Ie(n)} extra CKB${r?` for the change cell`:``}`),this.amount=n,this.isForChange=r}},_n=class extends Error{constructor(e,t){let n=h(e),r=V.from(t);super(`Insufficient coin, need ${n} extra coin`),this.amount=n,this.type=r}},H,U,W,vn,yn,bn,G;const xn=d.from({byteLength:1,encode:Cn,decode:wn});function Sn(e){let t=typeof e==`number`?mn[e]:typeof e==`bigint`?mn[Number(e)]:e;if(t===void 0)throw Error(`Invalid dep type ${e}`);return t}function Cn(e){return l([pn[Sn(e)]])}function wn(e){return mn[l(e)[0]]}let K=H=class extends p.Base(){constructor(e,t){super(),this.txHash=e,this.index=t}static from(e){return e instanceof H?e:new H(f(e.txHash),h(e.index))}clone(){return new H(this.txHash,this.index)}eq(e){return e=H.from(e),this.txHash===e.txHash&&this.index===e.index}};K=H=M([m(k({txHash:x,index:ve}))],K);let q=U=class extends p.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 U?e:new U(h(e.capacity??0),V.from(e.lock),A(V.from,e.type));return t!=null&&(n.capacity=ie(n.capacity,S(n.occupiedSize+l(t).length))),n}clone(){return new U(this.capacity,this.lock.clone(),this.type?.clone())}};q=U=M([m(O({capacity:xe,lock:V,type:dn}))],q);const Tn=E(q);var J=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(q.from(t.cellOutput,n),n,A(K.from,t.outPoint??t.previousOutput))}get occupiedSize(){return this.cellOutput.occupiedSize+l(this.outputData).byteLength}get capacityFree(){return this.cellOutput.capacity-S(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=h(this.outputData)!==C;return!t||t===`deposited`&&!i||t===`withdrew`&&i}clone(){return new e(this.cellOutput.clone(),this.outputData,this.outPoint?.clone())}},En=class e extends J{constructor(e,t,n){super(t,n,e),this.outPoint=e}static from(t){return t instanceof e?t:new e(K.from(t.outPoint??t.previousOutput),q.from(t.cellOutput,t.outputData),f(t.outputData??`0x`))}async getDaoProfit(e){if(!await this.isNervosDao(e,`withdrew`))return C;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 Mn(this.capacityFree,t,n)}async getNervosDaoInfo(e){if(!await this.isNervosDao(e))return{};if(h(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(_(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 Y=W=class extends p.Base(){constructor(e,t,n){super(),this.relative=e,this.metric=t,this.value=n}clone(){return new W(this.relative,this.metric,this.value)}static from(e){return e instanceof W?e:typeof e==`object`&&`relative`in e?new W(e.relative,e.metric,h(e.value)):W.fromNum(e)}toNum(){return this.value|(this.relative===`absolute`?C:h(`0x8000000000000000`))|{blockNumber:h(`0x0000000000000000`),epoch:h(`0x2000000000000000`),timestamp:h(`0x4000000000000000`)}[this.metric]}static fromNum(e){let t=h(e),n=t>>h(63)===0n?`absolute`:`relative`,r=[`blockNumber`,`epoch`,`timestamp`][Number(t>>h(61)&h(3))],i=t&h(`0x00ffffffffffffff`);return new W(n,r,i)}};Y=W=M([m(xe.mapIn(e=>Y.from(e).toNum()))],Y);let X=vn=class extends p.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 vn?e:new vn(K.from(`previousOutput`in e?e.previousOutput:e.outPoint),Y.from(e.since??0).toNum(),A(q.from,e.cellOutput),A(f,e.outputData))}async getCell(e){if(await this.completeExtraInfos(e),!this.cellOutput||!this.outputData)throw Error(`Unable to complete input`);return En.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 vn(this.previousOutput.clone(),this.since,this.cellOutput?.clone(),this.outputData)}};X=vn=M([m(k({since:Y,previousOutput:K}).mapIn(e=>X.from(e)))],X);const Dn=E(X);let Z=yn=class extends p.Base(){constructor(e,t){super(),this.outPoint=e,this.depType=t}static from(e){return e instanceof yn?e:new yn(K.from(e.outPoint),Sn(e.depType))}clone(){return new yn(this.outPoint.clone(),this.depType)}};Z=yn=M([m(k({outPoint:K,depType:xn}))],Z);const On=E(Z);let kn=bn=class extends p.Base(){constructor(e,t,n){super(),this.lock=e,this.inputType=t,this.outputType=n}static from(e){return e instanceof bn?e:new bn(A(f,e.lock),A(f,e.inputType),A(f,e.outputType))}};kn=bn=M([m(O({lock:it,inputType:it,outputType:it}))],kn);function Q(e){let t=l(e).slice(0,16);return t.length===0?C:_(t)}const An=O({version:ve,cellDeps:On,headerDeps:_t,inputs:Dn,outputs:Tn,outputsData:at});let $=G=class extends p.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 G(0n,[],[],[],[],[],[])}copy(e){let t=G.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 G(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 G)return e;let t=e.outputs?.map((t,n)=>q.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 G(h(e.version??0),e.cellDeps?.map(e=>Z.from(e))??[],e.headerDeps?.map(f)??[],e.inputs?.map(e=>X.from(e))??[],t,n,e.witnesses?.map(f)??[])}static fromLumosSkeleton(e){return G.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 X.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`?g(t):t)}rawToBytes(){return An.encode(this)}hash(){return ne(this.rawToBytes())}hashFull(){return ne(this.toBytes())}static hashWitnessToHasher(e,t){let n=l(f(e));t.update(ae(n.length,8)),t.update(n)}async getSignHashInfo(e,t,n=new te){let r=V.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;G.hashWitnessToHasher(this.witnesses[e],n)}if(i!==-1)return{message:n.digest(),position:i}}async findInputIndexByLockId(e,t){let n=V.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=V.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=V.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=Z.from(e);this.cellDeps.some(e=>e.eq(t))||this.cellDeps.push(t)})}addCellDepsAtStart(...e){e.flat().forEach(e=>{let t=Z.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(h(e))]}addInput(e){return this.witnesses.length>this.inputs.length&&this.witnesses.splice(this.inputs.length,0,`0x`),this.inputs.push(X.from(e))}getOutput(e){let t=Number(h(e));if(!(t>=this.outputs.length))return J.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 J.from({cellOutput:e[n],outputData:t[n]??`0x`})}return n()}addOutput(e,t){let n=`cellOutput`in e?J.from(e):J.from({cellOutput:e,outputData:t}),r=this.outputs.push(n.cellOutput);return this.setOutputDataAt(r-1,n.outputData),r}getWitnessArgsAt(e){let t=this.witnesses[e];return(t??`0x`)===`0x`?void 0:kn.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)??kn.from({});i.lock=f(Array.from(Array(t),()=>0)),this.setWitnessArgsAt(r,i)}async getInputsCapacityExtra(e){return j(this.inputs,async(t,n)=>t+await n.getExtraCapacity(e),C)}async getInputsCapacity(e){return await j(this.inputs,async(t,n)=>{let{cellOutput:{capacity:r}}=await n.getCell(e);return t+r},C)+await this.getInputsCapacityExtra(e)}getOutputsCapacity(){return this.outputs.reduce((e,{capacity:t})=>e+t,C)}async getInputsUdtBalance(e,t){return j(this.inputs,async(n,r)=>{let{cellOutput:i,outputData:a}=await r.getCell(e);if(i.type?.eq(t))return n+Q(a)},C)}getOutputsUdtBalance(e){return this.outputs.reduce((t,n,r)=>n.type?.eq(e)?t+Q(this.outputsData[r]):t,C)}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()+h(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 gn(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,C);return n}async completeInputsByUdt(e,t,n){let r=this.getOutputsUdtBalance(t)+h(n??0);if(r===0n)return 0;let[i,a]=await j(this.inputs,async([n,r],i)=>{let{cellOutput:a,outputData:o}=await i.getCell(e.client);if(a.type?.eq(t))return[n+Q(o),r+1]},[C,0]);if(i===r||i>=r&&a>=2)return 0;let{addedCount:o,accumulated:s}=await this.completeInputs(e,{script:t,outputDataLenRange:[16,h(`0xffffffff`)]},(e,{outputData:t},n,i)=>{let o=e+Q(t);return o===r||o>=r&&a+i.length>=2?void 0:o},i);if(s===void 0||s>=r)return o;throw new _n(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)*h(1e3)/h(this.toBytes().length+4)}estimateFee(e){return(h(this.toBytes().length+4)*h(e)+h(999))/h(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=C,s=C,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 gn&&s!==0n?new gn(e.amount,{isForChange:!0}):e}})();let n=await this.getFee(e.client);if(n<o+s)throw new gn(o+s-n,{isForChange:s!==C});if(await e.prepareTransaction(this),o===0n&&(o=this.estimateFee(a)),n===o)return[c,!1];let l=this.clone(),u=h(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=V.from(t);return this.completeFee(e,(e,t)=>{let n=q.from({capacity:0,lock:a}),r=S(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(h(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)}};$=G=M([m(O({raw:An,witnesses:at}).mapIn(e=>{let t=$.from(e);return{raw:t,witnesses:t.witnesses}}).mapOut(e=>$.from({...e.raw,witnesses:e.witnesses})))],$);async function jn(e,t){if(e.outputs.length<=64)return!1;let{codeHash:n,hashType:r}=await t.getKnownScript(`NervosDao`),i=V.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 Mn(e,t,n){let r=I.from(t),i=I.from(n),a=h(e);return a*i.dao.ar/r.dao.ar-a}function Nn(e,t){let n=I.from(e).epoch.normalizeBase(),r=I.from(t).epoch.normalizeBase(),i=h(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 P(o,n.numerator,n.denominator)}function Pn(n){try{let{words:e,prefix:r}=t.decode(n,Ln),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,Ln),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 Fn(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:un(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 V.fromKnownScript(r,i,n.slice(1)),prefix:e}}let In=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 Ln=1023;export{Kt as $,se as $n,$e as $t,mn as A,we as An,Ct as At,on as B,_e as Bn,pt as Bt,Cn as C,Me as Cn,Et as Ct,_n as D,Pe as Dn,St as Dt,gn as E,Ne as En,wt as Et,B as F,pe as Fn,gt as Ft,$t as G,xe as Gn,at as Gt,nn as H,Ae as Hn,lt as Ht,un as I,De as In,_t as It,Xt as J,fe as Jn,yt as Jt,Qt as K,be as Kn,vt as Kt,ln as L,Ee as Ln,ut as Lt,V as M,Se as Mn,st as Mt,dn as N,he as Nn,mt as Nt,hn as O,de as On,j as Ot,fn as P,me as Pn,ht as Pt,Gt as Q,ce as Qn,Ke as Qt,sn as R,Te as Rn,dt as Rt,wn as S,je as Sn,Tt as St,Q as T,x as Tn,A as Tt,tn as U,ke as Un,rt as Ut,rn as V,ge as Vn,ct as Vt,en as W,Oe as Wn,it as Wt,Yt as X,y as Xn,Qe as Xt,Wt as Y,le as Yn,Ze as Yt,Jt as Z,b as Zn,Ge as Zt,$ as _,E as _n,o as _r,jt as _t,En as a,Ye as an,re as ar,It as at,Mn as b,S as bn,c as br,F as bt,On as c,We as cn,p as cr,Ft as ct,q as d,ze as dn,ne as dr,Bt as dt,et as en,h as er,R as et,Tn as f,Re as fn,ee as fr,Ut as ft,Y as g,Ve as gn,s as gr,Ht as gt,An as h,O as hn,a as hr,zt as ht,Pn as i,nt as in,ie as ir,I as it,cn as j,Ce as jn,ot as jt,pn as k,ue as kn,xt as kt,X as l,He as ln,m as lr,Mt as lt,K as m,k as mn,d as mr,Rt as mt,In as n,Je as nn,v as nr,At as nt,J as o,Xe as on,ae as or,Pt as ot,xn as p,D as pn,f as pr,Vt as pt,Zt as q,ye as qn,bt as qt,Fn as r,tt as rn,oe as rr,Lt as rt,Z as s,Ue as sn,g as sr,Nt as st,Ln as t,qe as tn,_ as tr,qt as tt,Dn as u,Be as un,te as ur,L as ut,kn as v,Le as vn,u as vr,Ot as vt,jn as w,Fe as wn,Dt as wt,Sn as x,Ie as xn,P as xt,Nn as y,C as yn,l as yr,kt as yt,an as z,ve as zn,ft as zt};
|
|
2
|
-
//# sourceMappingURL=address.advanced-CWGrVD-M.mjs.map
|