@ckb-ccc/core 1.18.1 → 2.0.0-next.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/address.advanced-LxntWbev.mjs +2 -0
  3. package/dist/address.advanced-LxntWbev.mjs.map +1 -0
  4. package/dist/advanced.d.mts +1 -1
  5. package/dist/advanced.mjs +1 -1
  6. package/{dist.commonjs/advancedBarrel-CJAh6sm8.d.ts → dist/advancedBarrel-BHwnMJqR.d.mts} +749 -382
  7. package/dist/advancedBarrel-BHwnMJqR.d.mts.map +1 -0
  8. package/dist/advancedBarrel.d.mts +1 -1
  9. package/dist/advancedBarrel.mjs +1 -1
  10. package/dist/barrel-C-BaV9Pe.mjs +7 -0
  11. package/dist/barrel-C-BaV9Pe.mjs.map +1 -0
  12. package/dist/barrel.d.mts +2 -2
  13. package/dist/barrel.mjs +1 -1
  14. package/dist/index.d.mts +2 -2
  15. package/dist/index.mjs +1 -1
  16. package/dist.commonjs/address.advanced-BqcYOpZn.js +2 -0
  17. package/dist.commonjs/address.advanced-BqcYOpZn.js.map +1 -0
  18. package/dist.commonjs/advanced.d.ts +1 -1
  19. package/dist.commonjs/advanced.js +1 -1
  20. package/{dist/advancedBarrel-BbbHx4z4.d.mts → dist.commonjs/advancedBarrel-DNdhwiU0.d.ts} +750 -381
  21. package/dist.commonjs/advancedBarrel-DNdhwiU0.d.ts.map +1 -0
  22. package/dist.commonjs/advancedBarrel.d.ts +1 -1
  23. package/dist.commonjs/advancedBarrel.js +1 -1
  24. package/dist.commonjs/{barrel-C_zSgXKn.js → barrel-BBOmj4RJ.js} +10 -10
  25. package/dist.commonjs/barrel-BBOmj4RJ.js.map +1 -0
  26. package/dist.commonjs/barrel.d.ts +2 -2
  27. package/dist.commonjs/barrel.js +1 -1
  28. package/dist.commonjs/index.d.ts +2 -2
  29. package/dist.commonjs/index.js +1 -1
  30. package/package.json +1 -1
  31. package/src/ckb/epoch.ts +44 -26
  32. package/src/ckb/script.ts +23 -46
  33. package/src/ckb/transaction.ts +200 -196
  34. package/src/client/client.ts +2 -2
  35. package/src/client/jsonRpc/client.ts +3 -7
  36. package/src/codec/codec.ts +65 -40
  37. package/src/codec/entity.ts +95 -67
  38. package/src/codec/predefined.ts +11 -0
  39. package/src/molecule/codec.ts +116 -8
  40. package/src/molecule/predefined.ts +1 -0
  41. package/src/signer/ckb/signerMultisigCkbReadonly.ts +36 -24
  42. package/src/signer/ckb/verifyJoyId.ts +39 -11
  43. package/src/signer/index.ts +17 -0
  44. package/src/signer/signer/index.ts +11 -0
  45. package/src/signer/signerFromSignature.ts +65 -0
  46. package/src/utils/index.ts +108 -26
  47. package/dist/address.advanced-Dw4qPDGb.mjs +0 -2
  48. package/dist/address.advanced-Dw4qPDGb.mjs.map +0 -1
  49. package/dist/advancedBarrel-BbbHx4z4.d.mts.map +0 -1
  50. package/dist/barrel-BsC1djHG.mjs +0 -7
  51. package/dist/barrel-BsC1djHG.mjs.map +0 -1
  52. package/dist.commonjs/address.advanced-DG1gpW7t.js +0 -2
  53. package/dist.commonjs/address.advanced-DG1gpW7t.js.map +0 -1
  54. package/dist.commonjs/advancedBarrel-CJAh6sm8.d.ts.map +0 -1
  55. package/dist.commonjs/barrel-C_zSgXKn.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # @ckb-ccc/core
2
2
 
3
+ ## 2.0.0-next.0
4
+ ### Major Changes
5
+
6
+
7
+
8
+ - [#425](https://github.com/ckb-devrel/ccc/pull/425) [`584a1eb`](https://github.com/ckb-devrel/ccc/commit/584a1ebeeb083904e5c2851208bc8491914b3d34) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core)!: Codec.from
9
+
10
+
11
+
12
+ - [#424](https://github.com/ckb-devrel/ccc/pull/424) [`5ebe6b6`](https://github.com/ckb-devrel/ccc/commit/5ebe6b61e2823cbb6fdbf776bdb16ef4ab83b2f6) Thanks [@github-actions](https://github.com/apps/github-actions)! - feat(joy-id): address info in identity
13
+
14
+
15
+
16
+ - [#429](https://github.com/ckb-devrel/ccc/pull/429) [`ec643ac`](https://github.com/ckb-devrel/ccc/commit/ec643ac6bbfeacd3e444ccf5970ea070a30fce8f) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core)!: @codec implements a default from
17
+
18
+
19
+
20
+ - [#424](https://github.com/ckb-devrel/ccc/pull/424) [`23110d2`](https://github.com/ckb-devrel/ccc/commit/23110d2f0c90ccaf334bd4736c3e374d07913d72) Thanks [@github-actions](https://github.com/apps/github-actions)! - fix(core)!: `getFeeRateStatistics` may returns `null` on devnet
21
+
22
+
23
+
24
+ - [#424](https://github.com/ckb-devrel/ccc/pull/424) [`5e1f8d2`](https://github.com/ckb-devrel/ccc/commit/5e1f8d2d3e6ee26002e323ff0bcd1fcf54240f0b) Thanks [@github-actions](https://github.com/apps/github-actions)! - feat(core): `reduce` and `reduceAsync` for `Iterable`
25
+
26
+
27
+ ### Minor Changes
28
+
29
+
30
+
31
+ - [#424](https://github.com/ckb-devrel/ccc/pull/424) [`3dd2aea`](https://github.com/ckb-devrel/ccc/commit/3dd2aea90ce235fdcc1b0b3d1e4282391ea944fe) Thanks [@github-actions](https://github.com/apps/github-actions)! - feat(core): `Signer.fromSignature`
32
+
33
+
34
+
35
+ - [#433](https://github.com/ckb-devrel/ccc/pull/433) [`2a8f542`](https://github.com/ckb-devrel/ccc/commit/2a8f542ac2aa1f117991d5737a64da90ef3b138a) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): reduce(Async) accept single value
36
+
37
+
38
+ ## 1.18.2
39
+ ### Patch Changes
40
+
41
+ - [#419](https://github.com/ckb-devrel/ccc/pull/419) [`81ca371`](https://github.com/ckb-devrel/ccc/commit/81ca3713edd3c74968e391e48e9a36978435c45f) Thanks [@Hanssen0](https://github.com/Hanssen0)! - fix(core): occupy witness while adding output
42
+
43
+ - [#459](https://github.com/ckb-devrel/ccc/pull/459) [`efb7b77`](https://github.com/ckb-devrel/ccc/commit/efb7b7780fa793226cf4dd792c5bc11acbcde969) Thanks [@Hanssen0](https://github.com/Hanssen0)! - fix(core): enforce minimum cell capacity after output data mutations
44
+
3
45
  ## 1.18.1
4
46
  ### Patch Changes
5
47
 
@@ -0,0 +1,2 @@
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,r){this.encode=e,this.decode=t,this.from=n,this.byteLength=r}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(t){let n=function(e){let n=l(t.encode(e));if(t.byteLength!==void 0&&n.byteLength!==t.byteLength)throw Error(`Codec.encode: expected byte length ${t.byteLength}, got ${n.byteLength}`);return n},r=function(e,n){let r=l(e);if(t.byteLength!==void 0&&r.byteLength!==t.byteLength)throw Error(`Codec.decode: expected byte length ${t.byteLength}, got ${r.byteLength}`);return t.decode(r,n)};return new e(n,r,t.from?.bind(t)??function(e){return r(n(e))},t.byteLength)}map({inMap:t,outMap:n,from:r}){let i=t?e=>this.encode(t(e)):this.encode,a=n?(e,t)=>n(this.decode(e,t)):this.decode;return new e(i,a,r??(e=>{let r=t?t(e):e;return n?n(this.from(r)):this.from(r)}),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{toBytes(){return this.constructor.encode(this)}clone(){return this.constructor.fromBytes(this.toBytes())}eq(e){return this===e||u(this.toBytes(),this.constructor.from(e).toBytes())}hash(){return p(this.toBytes())}toHex(){return f(this.toBytes())}}return e}static BaseUnion(){class e extends m.Base(){constructor(e){super(),this.inner=e}match(e){let t=e[this.inner.type];return t==null?e._(this.inner):t(this.inner.value)}}return e}};function h(e){let t=d.from(e);return function(e,...n){let r=Object.getPrototypeOf(e);r.byteLength=t.byteLength,r.encode===void 0&&(r.encode=function(e){return t.encode(this.from(e))}),r.decode===void 0&&(r.decode=function(e,n){return this.from(t.decode(l(e),n))}),r.fromBytes===void 0&&(r.fromBytes=function(e,n){return this.from(t.decode(l(e),n))}),r.from===void 0&&(r.from=function(n){return n instanceof e?n:new e(t.from(n))})}}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 he(e){return b(e)}function b(e){return ge(l(e).map(e=>e).reverse())}function ge(e){return v(l(e))}function x(e,t=!1){return d.from({byteLength:e,encode:n=>t?fe(n,e):me(n,e),decode:e=>t?he(e):ge(e),from:v})}function S(e,t=!1){if(e>4)throw Error(`uintNumber: byteLength must be less than or equal to 4`);return x(e,t).map({outMap:e=>Number(e)})}function _e(e){return d.from({byteLength:e,encode:()=>new Uint8Array(e),decode:()=>{},from:()=>{}})}const ve=d.from({encode:e=>l(e),decode:e=>l(e),from:l}),ye=d.from({encode:e=>l(e),decode:e=>f(e),from:f}),be=S(1,!0),xe=S(2,!0),Se=S(2),Ce=xe,we=S(4,!0),Te=S(4),Ee=we,De=x(8,!0),Oe=x(8),ke=De,Ae=x(16,!0),je=x(16),Me=Ae,Ne=x(32,!0),Pe=x(32),Fe=Ne,Ie=x(64,!0),Le=x(64),Re=Ie,ze=d.from({byteLength:1,encode:e=>l(e?[1]:[0]),decode:e=>l(e)[0]!==0,from:Boolean}),Be=d.from({byteLength:1,encode:e=>l(e),decode:e=>f(e),from:f}),Ve=d.from({byteLength:4,encode:e=>l(e),decode:e=>f(e),from:f}),He=d.from({byteLength:8,encode:e=>l(e),decode:e=>f(e),from:f}),Ue=d.from({byteLength:16,encode:e=>l(e),decode:e=>f(e),from:f}),C=d.from({byteLength:32,encode:e=>l(e),decode:e=>f(e),from:f});function w(e){return fe(e,4)}function T(e){return Number(he(e))}function E(e){return e instanceof Error?e.message:String(e)}function We(e){let t=d.from(e),n=t.byteLength;if(n===void 0)throw Error(`fixedItemVec: itemCodec requires a byte length`);return d.from({encode(e){try{let n=[];o(n,w(e.length));for(let r of e)o(n,t.encode(r));return l(n)}catch(e){throw Error(`fixedItemVec - ${E(e)}`,{cause:e})}},decode(e,r){let i=l(e);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))*n;if(i.byteLength!==a)throw Error(`fixedItemVec: invalid buffer size, expected ${a}, but got ${i.byteLength}`);try{let e=[];for(let o=4;o<a;o+=n)e.push(t.decode(i.slice(o,o+n),r));return e}catch(e){throw Error(`fixedItemVec - ${E(e)}`,{cause:e})}},from(e){try{return e.map(e=>t.from(e))}catch(e){throw Error(`fixedItemVec - ${E(e)}`,{cause:e})}}})}function Ge(e){let t=d.from(e);return d.from({encode(e){try{let n=4+e.length*4,r=[],i=[];for(let a of e){let e=t.encode(a);o(r,w(n)),o(i,e),n+=e.byteLength}return s(w(r.length+i.length+4),r,i)}catch(e){throw Error(`dynItemVec - ${E(e)}`,{cause:e})}},decode(e,n){let r=l(e);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 e=[];for(let i=0;i<o.length-1;i++){let a=o[i],s=o[i+1],c=r.slice(a,s);e.push(t.decode(c,n))}return e}catch(e){throw Error(`dynItemVec - ${E(e)}`,{cause:e})}},from(e){try{return e.map(e=>t.from(e))}catch(e){throw Error(`dynItemVec - ${E(e)}`,{cause:e})}}})}function D(e){return e.byteLength===void 0?Ge(e):We(e)}function O(e){let t=d.from(e);return d.from({encode(e){if(e==null)return l([]);try{return t.encode(e)}catch(e){throw Error(`option - ${E(e)}`,{cause:e})}},decode(e,n){if(l(e).byteLength!==0)try{return t.decode(e,n)}catch(e){throw Error(`option - ${E(e)}`,{cause:e})}},from(e){try{return e==null?void 0:t.from(e)}catch(e){throw Error(`option - ${E(e)}`,{cause:e})}}})}function Ke(e){let t=d.from(e);return d.from({encode(e){try{let n=l(t.encode(e));return s(w(n.byteLength),n)}catch(e){throw Error(`byteVec - ${E(e)}`,{cause:e})}},decode(e,n){let r=l(e);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 t.decode(r.slice(4),n)}catch(e){throw Error(`byteVec - ${E(e)}`,{cause:e})}},from(e){try{return t.from(e)}catch(e){throw Error(`byteVec - ${E(e)}`,{cause:e})}}})}function k(e){let t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,d.from(t)])),n=Object.keys(t);return d.from({encode(e){let r=4+n.length*4,i=[],a=[];for(let s of n)try{let n=t[s].encode(e[s]);o(i,w(r)),o(a,n),r+=n.byteLength}catch(e){throw Error(`table.${s} - ${E(e)}`,{cause:e})}return s(w(i.length+a.length+4),i,a)},decode(e,r){let i=l(e);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<n.length)throw Error(`table: invalid field count, expected ${n.length}, but got ${o}`);if(o>n.length&&!r?.isExtraFieldIgnored)throw Error(`table: invalid field count, expected ${n.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=n.map((e,t)=>T(i.slice(4+t*4,8+t*4)));o>n.length?s.push(T(i.slice(4+n.length*4,8+n.length*4))):s.push(a);let c={};for(let e=0;e<s.length-1;e++){let a=s[e],o=s[e+1],l=n[e],u=t[l],d=i.slice(a,o);try{Object.assign(c,{[l]:u.decode(d,r)})}catch(e){throw Error(`table.${l} - ${E(e)}`,{cause:e})}}return c},from(e){let r={};for(let i of n)try{r[i]=t[i].from(e[i])}catch(e){throw Error(`table.${i} - ${E(e)}`,{cause:e})}return r}})}function qe(e,t){let n=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,d.from(t)])),r=Object.entries(n),i;if(r.length>0){let e=r[0][1].byteLength;e!==void 0&&r.every(([,{byteLength:t}])=>t===e)&&(i=e+4)}function a(e){return`type`in e&&`value`in e?e:e.inner}return d.from({byteLength:i,encode(e){let{type:i,value:o}=a(e),c=i.toString(),l=n[c];if(!l)throw Error(`union: invalid type, expected ${r.map(e=>e[0]).toString()}, but got ${c}`);let u=t?t[c]??-1:r.findIndex(e=>e[0]===c);if(u<0)throw Error(`union: invalid field id ${u} of ${c}`);let d=w(u);try{return s(d,l.encode(o))}catch(e){throw Error(`union.(${c}) - ${E(e)}`,{cause:e})}},decode(e,r){let i=l(e),a=T(i.slice(0,4)),o=Object.keys(n),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:n[s].decode(i.slice(4),r)}},from(e){let{type:t,value:i}=a(e),o=t.toString(),s=n[o];if(!s)throw Error(`union: invalid type, expected ${r.map(e=>e[0]).toString()}, but got ${o}`);try{return{type:t,value:s.from(i)}}catch(e){throw Error(`union.(${o}) - ${E(e)}`,{cause:e})}}})}function A(e){let t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,d.from(t)])),n=Object.values(t),r=Object.keys(t);return d.from({byteLength:n.reduce((e,t)=>{if(t.byteLength===void 0)throw Error(`struct: all fields must be fixed-size`);return e+t.byteLength},0),encode(e){let n=[];for(let i of r)try{o(n,t[i].encode(e[i]))}catch(e){throw Error(`struct.${i} - ${E(e)}`,{cause:e})}return l(n)},decode(e,n){let r=l(e),i={},a=0;return Object.entries(t).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} - ${E(t)}`,{cause:t})}a+=t.byteLength}),i},from(e){let n={};for(let i of r)try{n[i]=t[i].from(e[i])}catch(e){throw Error(`struct.${i} - ${E(e)}`,{cause:e})}return n}})}function Je(e,t){let n=d.from(e);if(n.byteLength===void 0)throw Error(`array: itemCodec requires a byte length`);let r=n.byteLength*t;return d.from({byteLength:r,encode(e){try{let t=[];for(let r of e)o(t,n.encode(r));return l(t)}catch(e){throw Error(`array - ${E(e)}`,{cause:e})}},decode(e,t){let i=l(e);if(i.byteLength!=r)throw Error(`array: invalid buffer size, expected ${r}, but got ${i.byteLength}`);try{let e=[];for(let r=0;r<i.byteLength;r+=n.byteLength)e.push(n.decode(i.slice(r,r+n.byteLength),t));return e}catch(e){throw Error(`array - ${E(e)}`,{cause:e})}},from(e){try{return e.map(e=>n.from(e))}catch(e){throw Error(`array - ${E(e)}`,{cause:e})}}})}const Ye=O(be),Xe=D(be),Ze=O(Ce),Qe=D(Ce),$e=O(Ee),et=D(Ee),tt=O(ke),nt=D(ke),rt=O(Me),it=D(Me),at=O(Fe),ot=D(Fe),st=O(Re),ct=D(Re),lt=Ke(ye),ut=O(lt),dt=D(lt),ft=O(ze),pt=D(ze),mt=O(Be),ht=D(Be),gt=O(Ve),_t=D(Ve),vt=O(He),yt=D(He),bt=O(Ue),xt=D(Ue),St=O(C),Ct=D(C),wt=Ke({encode:e=>l(e,`utf8`),decode:e=>c(e,`utf8`),from:e=>e}),Tt=D(wt),Et=O(wt);function j(e,t){if(t!=null)return e(t)}function Dt(e,t,n){let r=arguments.length>2,i=n,a=0,o=e!=null&&Symbol.iterator in Object(e)?e:[e];for(let e of o){if(!r&&a===0){i=e,a++;continue}i=t(i,e,a)??i,a++}if(!r&&a===0)throw TypeError(`Reduce of empty iterator with no initial value`);return i}async function Ot(e,t,n){let r=arguments.length>2,i=await Promise.resolve(n),a=0,o=e!=null&&Symbol.asyncIterator in Object(e)||e!=null&&Symbol.iterator in Object(e)?e:[e];for await(let e of o){if(!r&&a===0){i=e,a++;continue}i=await t(i,e,a)??i,a++}if(!r&&a===0)throw TypeError(`Reduce of empty iterator with no initial value`);return i}function kt(e){return new Promise(t=>setTimeout(t,Number(v(e))))}function At(e){return/webview|wv|ip((?!.*Safari)|(?=.*like Safari))/i.test(e)}function jt(e){return JSON.stringify(e,(e,t)=>typeof t==`bigint`?y(t):t)}function Mt(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 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;const Nt=A({padding:_e(1),denominator:x(2),numerator:x(2),integer:x(3)});let P=N=class extends m.Base(){constructor({integer:e,numerator:t,denominator:n}){super(),this.integer=e,this.numerator=t,this.denominator=n}normalizeBase(){return this.denominator===0n?N.from([this.integer,_,v(1)]):this.denominator<0n?N.from([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=Mt(t,n);return t/=r,n/=r,e+=t/n,t%=n,N.from([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 N.from({integer:t&v(`0xffffff`),numerator:t>>v(24)&v(`0xffff`),denominator:t>>v(40)&v(`0xffff`)})}static from(e){return e instanceof N?e:Array.isArray(e)?new N({integer:v(e[0]),numerator:v(e[1]),denominator:v(e[2])}):typeof e==`object`?new N({integer:v(e.integer),numerator:v(e.numerator),denominator:v(e.denominator)}):N.fromNum(e)}clone(){return N.from([this.integer,this.numerator,this.denominator])}static get Genesis(){return N.from([_,_,_])}static get OneNervosDaoCycle(){return N.from([v(180),_,v(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),N.from([r,i,a]).normalizeCanonical()}sub(e){let{integer:t,numerator:n,denominator:r}=N.from(e);return this.add(N.from([-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}};P=N=M([h(Nt)],P);function Pt(e){return P.from(e)}function Ft(e){return P.fromNum(e)}function It(e){return P.from(e).toPackedHex()}const Lt=v(1e7),Rt=v(1e3);function F([e,t]){return[v(e),v(t)]}var zt=class e{constructor(e,t){this.cellDep=e,this.type=t}static from(t){return t instanceof e?t:new e(X.from(t.cellDep),j(B.from,t.type))}},Bt=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),vn(t.hashType),t.cellDeps.map(e=>zt.from(e)))}},Vt=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)}},Ht=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(B.from,t.script),j(F,t.scriptLenRange),j(f,t.outputData),t.outputDataSearchMode??void 0,j(F,t.outputDataLenRange),j(F,t.outputCapacityRange),j(F,t.blockRange))}},Ut=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(B.from(t.script),t.scriptType,t.scriptSearchMode,j(Ht.from,t.filter),t.withData??void 0)}},Wt=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(B.from(t.script),t.scriptType,t.scriptSearchMode,j(Ht.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(v(t.compactTarget),{c:v(t.dao.c),ar:v(t.dao.ar),s:v(t.dao.s),u:v(t.dao.u)},P.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))}},Gt=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))}},Kt=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(Gt.from))}},L=class extends Error{constructor(e){super(`Client request error ${e.message}`),this.code=e.code,this.data=e.data}},qt=class extends L{constructor(e,t){super(e),this.outPoint=G.from(t)}},Jt=class extends L{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)}},Yt=class extends L{constructor(e,t){super(e),this.txHash=f(t)}},Xt=class extends L{constructor(e,t,n){super(e),this.currentFee=v(t),this.leastFee=v(n)}},Zt=class extends L{constructor(e){let t=v(e).toString();super({message:`Wait transaction timeout ${t}ms`,data:JSON.stringify({timeout:t})})}},Qt=class extends L{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 $t=v(1e3*10*50);function en(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=B.from(e),i=B.from(t);return r.codeHash!==i.codeHash||r.hashType!==i.hashType?!1:en(r.args,i?.args,n)}function tn(e,t){if(!t)return!0;let n=v(e),[r,i]=F(t);return r<=n&&n<i}function nn(e,t){return!t||tn(e?l(B.from(e).args).length+33:0,t)}function rn(e,t){let n=Ut.from(e),r=Vn.from(t);return!(n.scriptType===`lock`&&(!R(r.cellOutput.lock,n.script,n.scriptSearchMode)||!R(r.cellOutput.type,n.filter?.script,`prefix`)||!nn(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`)||!nn(r.cellOutput.lock,n.filter?.scriptLenRange))||!en(r.outputData,n.filter?.outputData,n.filter?.outputDataSearchMode??`prefix`)||!tn(l(r.outputData).length,n.filter?.outputDataLenRange)||!tn(r.cellOutput.capacity,n.filter?.outputCapacityRange))}var an=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 on=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 sn=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 cn=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}},ln=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 un(e,t){return e.startsWith(`wss://`)||e.startsWith(`ws://`)?new ln(e,t?.timeout):new cn(e,t?.timeout)}var dn=class{constructor(e){this.transports=e,this.i=0}async request(e){let t=this.i,n=Error(`TransportFallback requires at least one transport`);for(let r=0;r<this.transports.length;r+=1){let i=(t+r)%this.transports.length;try{let t=await this.transports[i].request(e);return this.i=i,t}catch(e){n=e}}throw n}},fn=class e{static hashTypeFrom(e){return vn(e)}static hashTypeTo(e){return e}static depTypeFrom(e){switch(Fn(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=B.from(t);return{code_hash:n.codeHash,hash_type:e.hashTypeFrom(n.hashType),args:n.args}}static scriptTo(t){return B.from({codeHash:t.code_hash,hashType:e.hashTypeTo(t.hash_type),args:t.args})}static outPointFrom(e){let t=G.from(e);return{index:y(t.index),tx_hash:t.txHash}}static outPointTo(e){return G.from({index:e.index,txHash:e.tx_hash})}static cellInputFrom(t){let n=Y.from(t);return{previous_output:e.outPointFrom(n.previousOutput),since:y(n.since)}}static cellInputTo(t){return Y.from({previousOutput:e.outPointTo(t.previous_output),since:t.since})}static cellOutputFrom(t,n){let r=K.from(t,n);return{capacity:y(r.capacity),lock:e.scriptFrom(r.lock),type:j(e.scriptFrom,r.type)}}static cellOutputTo(t){return K.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 X.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 Vt.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:b(t.slice(0,8)),ar:b(t.slice(8,16)),s:b(t.slice(16,24)),u:b(t.slice(24,32))},epoch:P.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=Ut.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=>Vn.from({outPoint:e.outPointTo(t.out_point),cellOutput:e.cellOutputTo(t.output),outputData:t.output_data??`0x`}))}}static indexerSearchKeyTransactionFrom(t){let n=Wt.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 pn=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`}}]}}),mn={type:1,data:0,data1:2,data2:4},hn={1:`type`,0:`data`,2:`data1`,4:`data2`},gn=Object.keys(mn);var z;const _n=d.from({byteLength:1,encode:yn,decode:bn});function vn(e){let t=(()=>{if(typeof e==`number`)return hn[e];if(typeof e==`bigint`)return hn[Number(e)];if(gn.includes(e))return e})();if(t===void 0)throw Error(`Invalid hash type ${e}`);return t}function yn(e){return l([mn[vn(e)]])}function bn(e){return hn[l(e)[0]]}const xn=k({codeHash:C,hashType:_n,args:lt});let B=z=class extends m.Base(){constructor({codeHash:e,hashType:t,args:n}){super(),this.codeHash=e,this.hashType=t,this.args=n}get occupiedSize(){return 33+l(this.args).length}clone(){return z.from({codeHash:this.codeHash,hashType:this.hashType,args:this.args})}eq(e){return e=z.from(e),this.args===e.args&&this.codeHash===e.codeHash&&this.hashType===e.hashType}static async fromKnownScript(e,t,n){let r=await e.getKnownScript(t);return z.from({codeHash:r.codeHash,hashType:r.hashType,args:f(n)})}};B=z=M([h(xn)],B);const Sn=O(B),Cn=D(B),wn={code:0,depGroup:1},Tn={0:`code`,1:`depGroup`},En=Object.keys(wn);var V=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}},Dn=class extends Error{constructor(e,t){let n=v(e),r=B.from(t);super(`Insufficient coin, need ${n} extra coin`),this.amount=n,this.type=r}},On,kn,H,U,An,W;const jn=2n**32n-2n;function Mn(e){try{let t=v(e);return t<0n||t>jn?void 0:Number(t)}catch{return}}function Nn(e){let t=Mn(e);if(t===void 0)throw Error(`Index ${e} must be a valid array index between 0 and ${jn}`);return t}const Pn=d.from({byteLength:1,encode:In,decode:Ln});function Fn(e){let t=typeof e==`number`?Tn[e]:typeof e==`bigint`?Tn[Number(e)]:e;if(t===void 0)throw Error(`Invalid dep type ${e}`);return t}function In(e){return l([wn[Fn(e)]])}function Ln(e){return Tn[l(e)[0]]}const Rn=A({txHash:C,index:Ee});let G=On=class extends m.Base(){constructor({txHash:e,index:t}){super(),this.txHash=e,this.index=v(t)}clone(){return On.from({txHash:this.txHash,index:this.index})}eq(e){return e=On.from(e),this.txHash===e.txHash&&this.index===e.index}};G=On=M([h(Rn)],G);const zn=k({capacity:ke,lock:B,type:Sn});let K=kn=class extends m.Base(){constructor({capacity:e,lock:t,type: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 kn?e:super.from({...e,capacity:e.capacity??0});return t!=null&&(n.capacity=de(n.capacity,g(n.occupiedSize+l(t).length))),n}clone(){return kn.from({capacity:this.capacity,lock:this.lock.clone(),type:this.type?.clone()})}};K=kn=M([h(zn)],K);const Bn=D(K);var q=class e{constructor(e,t,n){this.cellOutput=e,this.outputData=t,this.outPoint=n}static from(t){if(t instanceof e)return t.cellOutput=K.from(t.cellOutput,t.outputData),t;let n=f(t.outputData??`0x`);return new e(K.from(t.cellOutput,n),n,j(G.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 e.from({cellOutput:this.cellOutput.clone(),outputData:this.outputData,outPoint:this.outPoint?.clone()})}},Vn=class e extends q{constructor(e,t,n){super(t,n,e),this.outPoint=e}static from(t){return t instanceof e?(t.cellOutput=K.from(t.cellOutput,t.outputData),t):new e(G.from(t.outPoint??t.previousOutput),K.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 Xn(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(he(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 e.from({outPoint:this.outPoint.clone(),cellOutput:this.cellOutput.clone(),outputData:this.outputData})}};const Hn=ke.map({inMap:e=>J.from(e).toNum(),outMap:e=>J.fromNum(e)});let J=H=class extends m.Base(){constructor({relative:e,metric:t,value:n}){super(),this.relative=e,this.metric=t,this.value=n}clone(){return H.from({relative:this.relative,metric:this.metric,value:this.value})}static from(e){return e instanceof H?e:typeof e==`object`&&`relative`in e?new H({relative:e.relative,metric:e.metric,value:v(e.value)}):H.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 H({relative:n,metric:r,value:i})}};J=H=M([h(Hn)],J);const Un=A({since:J,previousOutput:G});let Y=U=class extends m.Base(){constructor({previousOutput:e,since:t,cellOutput:n,outputData:r}){super(),this.previousOutput=e,this.since=J.from(t).toNum(),this.cellOutput=n,this.outputData=r}static from(e){return e instanceof U?e:new U({previousOutput:G.from(`previousOutput`in e?e.previousOutput:e.outPoint),since:J.from(e.since??0),cellOutput:j(K.from,e.cellOutput),outputData:j(f,e.outputData)})}async getCell(e){if(await this.completeExtraInfos(e),!this.cellOutput||!this.outputData)throw Error(`Unable to complete input`);return Vn.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 U.from({previousOutput:this.previousOutput.clone(),since:this.since,cellOutput:this.cellOutput?.clone(),outputData:this.outputData})}};Y=U=M([h(Un.mapIn(e=>Y.from(e)))],Y);const Wn=D(Y),Gn=A({outPoint:G,depType:Pn});let X=An=class extends m.Base(){constructor({outPoint:e,depType:t}){super(),this.outPoint=e,this.depType=t}clone(){return An.from({outPoint:this.outPoint.clone(),depType:this.depType})}};X=An=M([h(Gn)],X);const Kn=D(X),qn=k({lock:ut,inputType:ut,outputType:ut});let Z=class extends m.Base(){constructor({lock:e,inputType:t,outputType:n}){super(),this.lock=e,this.inputType=t,this.outputType=n}};Z=M([h(qn)],Z);function Q(e){let t=l(e).slice(0,16);return t.length===0?_:he(t)}const Jn=k({version:Ee,cellDeps:Kn,headerDeps:Ct,inputs:Wn,outputs:Bn,outputsData:dt});let $=W=class extends m.Base(){constructor({version:e,cellDeps:t,headerDeps:n,inputs:r,outputs:i,outputsData:a,witnesses: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 W.from({})}copy(e){if(e===this)return;let t=W.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 W.from({version:this.version,cellDeps:this.cellDeps.map(e=>e.clone()),headerDeps:this.headerDeps.map(e=>e),inputs:this.inputs.map(e=>e.clone()),outputs:this.outputs.map(e=>e.clone()),outputsData:this.outputsData.map(e=>e),witnesses:this.witnesses.map(e=>e)})}static from(e){if(e instanceof W)return e.outputs.forEach((t,n)=>{e.outputs[n]=K.from(t,e.outputsData[n]??`0x`)}),e;let t=e.outputs?.map((t,n)=>K.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 W({version:v(e.version??0),cellDeps:e.cellDeps?.map(e=>X.from(e))??[],headerDeps:e.headerDeps?.map(f)??[],inputs:e.inputs?.map(e=>Y.from(e))??[],outputs:t,outputsData:n,witnesses:e.witnesses?.map(f)??[]})}static fromLumosSkeleton(e){return W.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 Y.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 Jn.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=B.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;W.hashWitnessToHasher(this.witnesses[e],n)}if(i!==-1)return{message:n.digest(),position:i}}async findInputIndexByLockId(e,t){let n=B.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=B.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=B.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=X.from(e);this.cellDeps.some(e=>e.eq(t))||this.cellDeps.push(t)})}addCellDepsAtStart(...e){e.flat().forEach(e=>{let t=X.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.setOutputData(e,t)}setOutputData(e,t){let n=Nn(e);if(n>=this.outputs.length)throw Error(`Index ${e} is out of bounds for outputs of length ${this.outputs.length}`);this.outputsData.length<n&&this.outputsData.push(...Array.from(Array(n-this.outputsData.length),()=>`0x`));let r=f(t);this.outputs[n]=K.from(this.outputs[n],r),this.outputsData[n]=r}getOutputData(e){let t=Mn(e);return t!==void 0&&t<this.outputs.length?this.outputsData[t]??`0x`:void 0}getInput(e){let t=Mn(e);return t===void 0?void 0:this.inputs[t]}addInput(e){return this.witnesses.length>this.inputs.length&&this.inputs.length>=this.outputs.length&&this.witnesses.splice(this.inputs.length,0,`0x`),this.inputs.push(Y.from(e))}getOutput(e){let t=Mn(e);if(!(t===void 0||t>=this.outputs.length))return q.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 q.from({cellOutput:e[n],outputData:t[n]??`0x`})}return n()}addOutput(e,t){let n=`cellOutput`in e?q.from(e):q.from({cellOutput:e,outputData:t});this.witnesses.length>this.outputs.length&&this.outputs.length>=this.inputs.length&&this.witnesses.splice(this.outputs.length,0,`0x`);let r=this.outputs.push(n.cellOutput);return this.setOutputData(r-1,n.outputData),r}setOutput(e,t,n){let r=Nn(e);if(r>this.outputs.length)throw Error(`Index ${e} is out of bounds for outputs of length ${this.outputs.length}`);let i=`cellOutput`in t?q.from(t):q.from({cellOutput:t,outputData:n});r===this.outputs.length?this.addOutput(i):(this.outputs[r]=i.cellOutput,this.setOutputData(r,i.outputData))}setInput(e,t){let n=Nn(e);if(n>this.inputs.length)throw Error(`Index ${e} is out of bounds for inputs of length ${this.inputs.length}`);n===this.inputs.length?this.addInput(t):this.inputs[n]=Y.from(t)}getWitness(e){let t=Mn(e);return t===void 0?void 0:this.witnesses[t]}getWitnessArgs(e){try{return this.getWitnessArgsUnsafe(e)}catch{return}}getWitnessArgsUnsafe(e){let t=this.getWitness(e);return t&&t!==`0x`?Z.fromBytes(t):void 0}setWitnessArgs(e,t){this.setWitness(e,Z.from(t).toBytes())}setWitness(e,t){let n=Nn(e);this.witnesses.length<n&&this.witnesses.push(...Array.from(Array(n-this.witnesses.length),()=>`0x`)),this.witnesses[n]=f(t)}getWitnessArgsAt(e){return this.getWitnessArgs(e)}getWitnessArgsAtUnsafe(e){return this.getWitnessArgsUnsafe(e)}setWitnessArgsAt(e,t){this.setWitnessArgs(e,t)}setWitnessAt(e,t){this.setWitness(e,t)}async prepareSighashAllWitness(e,t,n){let r=await this.findInputIndexByLock(e,n);if(r===void 0)return;let i=this.getWitnessArgs(r)??Z.from({});i.lock=f(Array.from(Array(t),()=>0)),this.setWitnessArgs(r,i)}async getInputsCapacityExtra(e){return Ot(this.inputs,async(t,n)=>t+await n.getExtraCapacity(e),_)}async getInputsCapacity(e){return await Ot(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 Ot(this.inputs,async(n,r)=>{let{cellOutput:i,outputData:a}=await r.getCell(e);if(i.type?.eq(t))return n+Q(a)},_)}getOutputsUdtBalance(e){return this.outputs.reduce((t,n,r)=>n.type?.eq(e)?t+Q(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 V(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 Ot(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]},[_,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+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 Dn(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,l=this;for(;;){c+=await(async()=>{if(!(i?.shouldAddInputs??!0))return 0;try{return await l.completeInputsByCapacity(e,o+s,r)}catch(e){throw e instanceof V&&s!==0n?new V(e.amount,{isForChange:!0}):e}})(),l=await e.prepareTransaction(l);let n=await l.getFee(e.client);if(n<o+s)throw new V(o+s-n,{isForChange:s!==_});if(o===0n&&(o=l.estimateFee(a)),n===o)return this.copy(l),[c,!1];let u=l.clone(),d=v(await Promise.resolve(t(u,n-o)));if(d>0n){s=d;continue}if(await u.getFee(e.client)!==o)throw Error(`The change function doesn't use all available capacity`);u=await e.prepareTransaction(u);let ee=u.estimateFee(a);if(o>ee)throw Error(`The change function removed existed transaction data`);if(o===ee)return this.copy(u),[c,!0];o=ee}}completeFeeChangeToLock(e,t,n,r,i){let a=B.from(t);return this.completeFee(e,(e,t)=>{let n=K.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)}};$=W=M([h(k({raw:Jn,witnesses:dt}).mapIn(e=>{let t=$.from(e);return{raw:t,witnesses:t.witnesses}}).mapOut(e=>$.from({...e.raw,witnesses:e.witnesses})))],$);async function Yn(e,t){if(e.outputs.length<=64)return!1;let{codeHash:n,hashType:r}=await t.getKnownScript(`NervosDao`),i=B.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 Xn(e,t,n){let r=I.from(t),i=I.from(n),a=v(e);return a*i.dao.ar/r.dao.ar-a}function Zn(e,t){let n=I.from(e).epoch.normalizeBase(),r=I.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),P.from([o,n.numerator,n.denominator])}function Qn(n){try{let{words:e,prefix:r}=t.decode(n,tr),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,tr),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 $n(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:bn(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 B.fromKnownScript(r,i,n.slice(1)),prefix:e}}let er=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 tr=1023;export{tn as $,he as $n,Ze as $t,Tn as A,Ae as An,Ot as At,hn as B,Re as Bn,_t as Bt,In as C,C as Cn,s as Cr,Ft as Ct,Dn as D,ve as Dn,c as Dr,Mt as Dt,V as E,ye as En,l as Er,j as Et,vn as F,Pe as Fn,bt as Ft,ln as G,De as Gn,lt as Gt,fn as H,Ie as Hn,yt as Ht,bn as I,Ne as In,xt as It,on as J,x as Jn,wt as Jt,cn as K,be as Kn,ut as Kt,yn as L,Ee as Ln,St as Lt,B as M,Se as Mn,jt as Mt,Sn as N,xe as Nn,ft as Nt,En as O,Me as On,At as Ot,Cn as P,Fe as Pn,pt as Pt,en as Q,v as Qn,it as Qt,gn as R,Te as Rn,Ct as Rt,Ln as S,Ue as Sn,a as Sr,Pt as St,Q as T,He as Tn,u as Tr,M as Tt,dn as U,ke as Un,mt as Ut,pn as V,Le as Vn,vt as Vt,un as W,Oe as Wn,ht as Wt,an as X,ge as Xn,Tt as Xt,$t as Y,S as Yn,Et as Yt,rn as Z,me as Zn,rt as Zt,$ as _,k as _n,re as _r,Bt as _t,Vn as a,st as an,y as ar,Gt as at,Xn as b,ze as bn,f as br,F as bt,Kn as c,nt as cn,g as cr,Wt as ct,K as d,Je as dn,h as dr,Yt as dt,Qe as en,b as er,R as et,Bn as f,Ke as fn,ie as fr,Qt as ft,J as g,A as gn,se as gr,Zt as gt,Jn as h,O as hn,p as hr,Jt as ht,Qn as i,et as in,fe as ir,I as it,_n as j,Ce as jn,kt as jt,wn as k,je as kn,Dt as kt,Y as l,Ye as ln,ce as lr,Vt as lt,G as m,We as mn,oe as mr,qt as mt,er as n,ot as nn,de as nr,zt as nt,q as o,ct as on,le as or,Ut as ot,Pn as p,Ge as pn,ae as pr,Xt as pt,sn as q,_e as qn,dt as qt,$n as r,$e as rn,ue as rr,Kt as rt,X as s,tt as sn,_ as sr,Ht as st,tr as t,at as tn,pe as tr,nn as tt,Wn as u,Xe as un,m as ur,L as ut,Z as v,qe as vn,te as vr,Lt as vt,Yn as w,Ve as wn,o as wr,It as wt,Fn as x,Be as xn,d as xr,P as xt,Zn as y,D as yn,ne as yr,Rt as yt,mn as z,we as zn,gt as zt};
2
+ //# sourceMappingURL=address.advanced-LxntWbev.mjs.map