@gardenfi/swap 0.0.2-beta.2 → 0.0.2-beta.4

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 (230) hide show
  1. package/dist/index104.cjs +1 -1
  2. package/dist/index104.js +4 -4
  3. package/dist/index106.cjs +1 -1
  4. package/dist/index106.js +3 -3
  5. package/dist/index107.cjs +1 -1
  6. package/dist/index107.js +3 -3
  7. package/dist/index116.cjs +1 -1
  8. package/dist/index116.js +1 -1
  9. package/dist/index117.cjs +1 -1
  10. package/dist/index117.js +1 -1
  11. package/dist/index12.cjs +1 -1
  12. package/dist/index12.js +12 -12
  13. package/dist/index120.cjs +1 -1
  14. package/dist/index120.js +2 -2
  15. package/dist/index121.cjs +1 -1
  16. package/dist/index121.js +7 -7
  17. package/dist/index132.cjs +1 -1
  18. package/dist/index132.js +1 -1
  19. package/dist/index133.cjs +1 -1
  20. package/dist/index133.js +1 -1
  21. package/dist/index134.cjs +1 -1
  22. package/dist/index134.js +1 -1
  23. package/dist/index135.cjs +1 -1
  24. package/dist/index135.js +1 -1
  25. package/dist/index138.cjs +1 -1
  26. package/dist/index138.js +2 -2
  27. package/dist/index161.cjs +1 -1
  28. package/dist/index161.js +2 -2
  29. package/dist/index167.cjs +1 -1
  30. package/dist/index167.js +1 -1
  31. package/dist/index168.cjs +1 -1
  32. package/dist/index168.js +2 -2
  33. package/dist/index169.cjs +1 -1
  34. package/dist/index169.js +2 -2
  35. package/dist/index170.cjs +1 -1
  36. package/dist/index170.js +2 -2
  37. package/dist/index171.cjs +1 -1
  38. package/dist/index171.js +2 -2
  39. package/dist/index172.cjs +1 -1
  40. package/dist/index172.js +2 -2
  41. package/dist/index272.cjs +1 -1
  42. package/dist/index272.js +9 -174
  43. package/dist/index273.cjs +1 -2
  44. package/dist/index273.js +30 -91
  45. package/dist/index274.cjs +1 -1
  46. package/dist/index274.js +2 -41
  47. package/dist/index275.cjs +1 -1
  48. package/dist/index275.js +47 -4
  49. package/dist/index276.cjs +1 -1
  50. package/dist/index276.js +11 -9
  51. package/dist/index277.cjs +1 -1
  52. package/dist/index277.js +174 -30
  53. package/dist/index278.cjs +2 -1
  54. package/dist/index278.js +92 -2
  55. package/dist/index279.cjs +1 -1
  56. package/dist/index279.js +38 -45
  57. package/dist/index280.cjs +1 -1
  58. package/dist/index280.js +4 -11
  59. package/dist/index281.cjs +1 -1
  60. package/dist/index281.js +3 -3
  61. package/dist/index283.cjs +1 -2
  62. package/dist/index283.js +42 -41
  63. package/dist/index284.cjs +1 -1
  64. package/dist/index284.js +321 -2
  65. package/dist/index285.cjs +1 -1
  66. package/dist/index285.js +605 -5
  67. package/dist/index286.cjs +1 -1
  68. package/dist/index286.js +109 -10
  69. package/dist/index287.cjs +1 -1
  70. package/dist/index287.js +167 -19
  71. package/dist/index288.cjs +1 -1
  72. package/dist/index288.js +301 -8
  73. package/dist/index289.cjs +1 -1
  74. package/dist/index289.js +93 -72
  75. package/dist/index290.cjs +1 -1
  76. package/dist/index290.js +54 -63
  77. package/dist/index291.cjs +1 -1
  78. package/dist/index291.js +51 -186
  79. package/dist/index292.cjs +1 -1
  80. package/dist/index292.js +42 -20
  81. package/dist/index293.cjs +1 -1
  82. package/dist/index293.js +14 -41
  83. package/dist/index294.cjs +1 -1
  84. package/dist/index294.js +315 -23
  85. package/dist/index295.cjs +1 -1
  86. package/dist/index295.js +57 -88
  87. package/dist/index296.cjs +1 -1
  88. package/dist/index296.js +19 -40
  89. package/dist/index297.cjs +1 -1
  90. package/dist/index297.js +28 -15
  91. package/dist/index298.cjs +1 -1
  92. package/dist/index298.js +3 -13
  93. package/dist/index299.cjs +7 -1
  94. package/dist/index299.js +237 -7
  95. package/dist/index300.cjs +1 -1
  96. package/dist/index300.js +48 -38
  97. package/dist/index301.cjs +1 -1
  98. package/dist/index301.js +211 -14
  99. package/dist/index302.cjs +1 -1
  100. package/dist/index302.js +77 -38
  101. package/dist/index303.cjs +1 -1
  102. package/dist/index303.js +25 -316
  103. package/dist/index304.cjs +1 -1
  104. package/dist/index304.js +73 -602
  105. package/dist/index305.cjs +2 -1
  106. package/dist/index305.js +41 -109
  107. package/dist/index306.cjs +1 -1
  108. package/dist/index306.js +2 -168
  109. package/dist/index307.cjs +1 -1
  110. package/dist/index307.js +5 -301
  111. package/dist/index308.cjs +1 -1
  112. package/dist/index308.js +10 -93
  113. package/dist/index309.cjs +1 -1
  114. package/dist/index309.js +18 -55
  115. package/dist/index310.cjs +1 -1
  116. package/dist/index310.js +8 -53
  117. package/dist/index311.cjs +1 -1
  118. package/dist/index311.js +72 -44
  119. package/dist/index312.cjs +1 -1
  120. package/dist/index312.js +64 -14
  121. package/dist/index313.cjs +1 -1
  122. package/dist/index313.js +184 -313
  123. package/dist/index314.cjs +1 -1
  124. package/dist/index314.js +19 -56
  125. package/dist/index315.cjs +1 -1
  126. package/dist/index315.js +42 -19
  127. package/dist/index316.cjs +1 -1
  128. package/dist/index316.js +23 -27
  129. package/dist/index317.cjs +1 -1
  130. package/dist/index317.js +90 -3
  131. package/dist/index318.cjs +1 -7
  132. package/dist/index318.js +33 -230
  133. package/dist/index319.cjs +1 -1
  134. package/dist/index319.js +17 -48
  135. package/dist/index320.cjs +1 -1
  136. package/dist/index320.js +11 -210
  137. package/dist/index321.cjs +1 -1
  138. package/dist/index321.js +7 -81
  139. package/dist/index322.cjs +1 -1
  140. package/dist/index322.js +36 -28
  141. package/dist/index323.cjs +1 -1
  142. package/dist/index323.js +15 -76
  143. package/dist/index326.cjs +1 -1
  144. package/dist/index326.js +1 -1
  145. package/dist/index327.cjs +1 -1
  146. package/dist/index327.js +1 -1
  147. package/dist/index333.cjs +1 -1
  148. package/dist/index333.js +2 -2
  149. package/dist/index334.cjs +1 -1
  150. package/dist/index334.js +2 -2
  151. package/dist/index340.cjs +1 -1
  152. package/dist/index340.js +1 -1
  153. package/dist/index341.cjs +1 -1
  154. package/dist/index341.js +1 -1
  155. package/dist/index343.cjs +1 -1
  156. package/dist/index343.js +1 -1
  157. package/dist/index346.cjs +1 -1
  158. package/dist/index346.js +1 -1
  159. package/dist/index347.cjs +1 -1
  160. package/dist/index347.js +1 -1
  161. package/dist/index348.cjs +1 -1
  162. package/dist/index348.js +3 -3
  163. package/dist/index349.cjs +1 -2
  164. package/dist/index349.js +4 -193
  165. package/dist/index350.cjs +2 -1
  166. package/dist/index350.js +168 -52
  167. package/dist/index351.cjs +1 -1
  168. package/dist/index351.js +65 -331
  169. package/dist/index352.cjs +1 -1
  170. package/dist/index352.js +332 -149
  171. package/dist/index353.cjs +1 -1
  172. package/dist/index353.js +161 -5
  173. package/dist/index354.cjs +1 -1
  174. package/dist/index354.js +5 -5
  175. package/dist/index357.cjs +1 -1
  176. package/dist/index357.js +8 -205
  177. package/dist/index359.cjs +1 -1
  178. package/dist/index359.js +205 -8
  179. package/dist/index360.cjs +1 -1
  180. package/dist/index360.js +94 -68
  181. package/dist/index361.cjs +1 -1
  182. package/dist/index361.js +28 -94
  183. package/dist/index362.cjs +1 -1
  184. package/dist/index362.js +147 -27
  185. package/dist/index363.cjs +1 -1
  186. package/dist/index363.js +324 -118
  187. package/dist/index364.cjs +1 -1
  188. package/dist/index364.js +72 -353
  189. package/dist/index365.cjs +1 -1
  190. package/dist/index365.js +29 -71
  191. package/dist/index366.cjs +1 -1
  192. package/dist/index366.js +5 -31
  193. package/dist/index367.cjs +1 -1
  194. package/dist/index367.js +275 -5
  195. package/dist/index368.cjs +1 -1
  196. package/dist/index368.js +171 -4
  197. package/dist/index369.cjs +1 -1
  198. package/dist/index369.js +10 -141
  199. package/dist/index370.cjs +1 -1
  200. package/dist/index370.js +105 -273
  201. package/dist/index371.cjs +1 -1
  202. package/dist/index371.js +10 -171
  203. package/dist/index372.cjs +1 -1
  204. package/dist/index372.js +69 -10
  205. package/dist/index373.cjs +1 -1
  206. package/dist/index373.js +3 -107
  207. package/dist/index374.cjs +1 -1
  208. package/dist/index374.js +140 -9
  209. package/dist/index375.cjs +1 -1
  210. package/dist/index375.js +4 -4
  211. package/dist/index376.cjs +1 -1
  212. package/dist/index376.js +2 -79
  213. package/dist/index377.cjs +1 -1
  214. package/dist/index377.js +79 -2
  215. package/dist/index379.cjs +1 -1
  216. package/dist/index379.js +1 -1
  217. package/dist/index380.cjs +1 -1
  218. package/dist/index380.js +1 -1
  219. package/dist/index381.cjs +1 -1
  220. package/dist/index381.js +2 -22
  221. package/dist/index382.cjs +1 -1
  222. package/dist/index382.js +22 -2
  223. package/dist/index385.cjs +1 -1
  224. package/dist/index385.js +2 -2
  225. package/dist/index77.cjs +1 -1
  226. package/dist/index77.js +13 -13
  227. package/dist/index99.cjs +1 -1
  228. package/dist/index99.js +1 -1
  229. package/dist/src/lib/store/swapStore.d.ts +1 -1
  230. package/package.json +5 -5
package/dist/index373.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index319.cjs"),o=require("./index117.cjs"),u=require("./index372.cjs"),a="object",d="ID",i="ascii",f="String",T="string",l="String",b="option",_="Option";function m(e){const t=typeof e.body=="object"&&"datatype"in e.body?e.body.datatype:null;return!!t&&o.normalizeSuiAddress(t.package)===o.normalizeSuiAddress("0x2")&&t.module==="tx_context"&&t.type==="TxContext"}function c(e){if(typeof e=="string")switch(e){case"address":return r.bcs.Address;case"bool":return r.bcs.Bool;case"u8":return r.bcs.U8;case"u16":return r.bcs.U16;case"u32":return r.bcs.U32;case"u64":return r.bcs.U64;case"u128":return r.bcs.U128;case"u256":return r.bcs.U256;default:throw new Error(`Unknown type signature ${e}`)}if("vector"in e){if(e.vector==="u8")return r.bcs.byteVector().transform({input:n=>typeof n=="string"?new TextEncoder().encode(n):n,output:n=>n});const t=c(e.vector);return t?r.bcs.vector(t):null}if("datatype"in e){const t=o.normalizeSuiAddress(e.datatype.package);if(t===o.normalizeSuiAddress(u.MOVE_STDLIB_ADDRESS)){if(e.datatype.module===i&&e.datatype.type===f||e.datatype.module===T&&e.datatype.type===l)return r.bcs.String;if(e.datatype.module===b&&e.datatype.type===_){const n=c(e.datatype.typeParameters[0]);return n?r.bcs.vector(n):null}}if(t===o.normalizeSuiAddress(u.SUI_FRAMEWORK_ADDRESS)&&e.datatype.module===a&&e.datatype.type===d)return r.bcs.Address}return null}function U(e){return typeof e=="object"&&"Reference"in e?{ref:"&",body:s(e.Reference)}:typeof e=="object"&&"MutableReference"in e?{ref:"&mut",body:s(e.MutableReference)}:{ref:null,body:s(e)}}function s(e){if(typeof e=="string")switch(e){case"Address":return"address";case"Bool":return"bool";case"U8":return"u8";case"U16":return"u16";case"U32":return"u32";case"U64":return"u64";case"U128":return"u128";case"U256":return"u256";default:throw new Error(`Unexpected type ${e}`)}if("Vector"in e)return{vector:s(e.Vector)};if("Struct"in e)return{datatype:{package:e.Struct.address,module:e.Struct.module,type:e.Struct.name,typeParameters:e.Struct.typeArguments.map(s)}};if("TypeParameter"in e)return{typeParameter:e.TypeParameter};throw new Error(`Unexpected type ${JSON.stringify(e)}`)}exports.getPureBcsSchema=c;exports.isTxContext=m;exports.normalizedTypeToMoveTypeSignature=U;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function t(e){return`[${e.slice(2)}]`}exports.encodeLabelhash=t;
package/dist/index373.js CHANGED
@@ -1,110 +1,6 @@
1
- import { bcs as r } from "./index319.js";
2
- import { normalizeSuiAddress as n } from "./index117.js";
3
- import { MOVE_STDLIB_ADDRESS as s, SUI_FRAMEWORK_ADDRESS as a } from "./index372.js";
4
- const d = "object", i = "ID", f = "ascii", T = "String", _ = "string", l = "String", U = "option", m = "Option";
5
- function M(e) {
6
- const t = typeof e.body == "object" && "datatype" in e.body ? e.body.datatype : null;
7
- return !!t && n(t.package) === n("0x2") && t.module === "tx_context" && t.type === "TxContext";
8
- }
9
- function u(e) {
10
- if (typeof e == "string")
11
- switch (e) {
12
- case "address":
13
- return r.Address;
14
- case "bool":
15
- return r.Bool;
16
- case "u8":
17
- return r.U8;
18
- case "u16":
19
- return r.U16;
20
- case "u32":
21
- return r.U32;
22
- case "u64":
23
- return r.U64;
24
- case "u128":
25
- return r.U128;
26
- case "u256":
27
- return r.U256;
28
- default:
29
- throw new Error(`Unknown type signature ${e}`);
30
- }
31
- if ("vector" in e) {
32
- if (e.vector === "u8")
33
- return r.byteVector().transform({
34
- input: (o) => typeof o == "string" ? new TextEncoder().encode(o) : o,
35
- output: (o) => o
36
- });
37
- const t = u(e.vector);
38
- return t ? r.vector(t) : null;
39
- }
40
- if ("datatype" in e) {
41
- const t = n(e.datatype.package);
42
- if (t === n(s)) {
43
- if (e.datatype.module === f && e.datatype.type === T)
44
- return r.String;
45
- if (e.datatype.module === _ && e.datatype.type === l)
46
- return r.String;
47
- if (e.datatype.module === U && e.datatype.type === m) {
48
- const o = u(e.datatype.typeParameters[0]);
49
- return o ? r.vector(o) : null;
50
- }
51
- }
52
- if (t === n(a) && e.datatype.module === d && e.datatype.type === i)
53
- return r.Address;
54
- }
55
- return null;
56
- }
57
- function D(e) {
58
- return typeof e == "object" && "Reference" in e ? {
59
- ref: "&",
60
- body: c(e.Reference)
61
- } : typeof e == "object" && "MutableReference" in e ? {
62
- ref: "&mut",
63
- body: c(e.MutableReference)
64
- } : {
65
- ref: null,
66
- body: c(e)
67
- };
68
- }
69
- function c(e) {
70
- if (typeof e == "string")
71
- switch (e) {
72
- case "Address":
73
- return "address";
74
- case "Bool":
75
- return "bool";
76
- case "U8":
77
- return "u8";
78
- case "U16":
79
- return "u16";
80
- case "U32":
81
- return "u32";
82
- case "U64":
83
- return "u64";
84
- case "U128":
85
- return "u128";
86
- case "U256":
87
- return "u256";
88
- default:
89
- throw new Error(`Unexpected type ${e}`);
90
- }
91
- if ("Vector" in e)
92
- return { vector: c(e.Vector) };
93
- if ("Struct" in e)
94
- return {
95
- datatype: {
96
- package: e.Struct.address,
97
- module: e.Struct.module,
98
- type: e.Struct.name,
99
- typeParameters: e.Struct.typeArguments.map(c)
100
- }
101
- };
102
- if ("TypeParameter" in e)
103
- return { typeParameter: e.TypeParameter };
104
- throw new Error(`Unexpected type ${JSON.stringify(e)}`);
1
+ function n(e) {
2
+ return `[${e.slice(2)}]`;
105
3
  }
106
4
  export {
107
- u as getPureBcsSchema,
108
- M as isTxContext,
109
- D as normalizedTypeToMoveTypeSignature
5
+ n as encodeLabelhash
110
6
  };
package/dist/index374.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index115.cjs"),o=require("./index384.cjs"),t=require("./index319.cjs");function u(i,r,s){const a=t.bcs.Address.serialize(i).toBytes(),n=t.bcs.TypeTag.serialize(r).toBytes(),d=t.bcs.u64().serialize(s.length).toBytes(),e=o.blake2b.create({dkLen:32});return e.update(new Uint8Array([240])),e.update(a),e.update(d),e.update(s),e.update(n),`0x${c.toHex(e.digest().slice(0,32))}`}exports.deriveDynamicFieldID=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./index105.cjs"),a=require("./index202.cjs"),w=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,b=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,N=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,C=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function I(t){try{const e=await fetch(t,{method:"HEAD"});if(e.status===200){const n=e.headers.get("content-type");return n==null?void 0:n.startsWith("image/")}return!1}catch(e){return typeof e=="object"&&typeof e.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(n=>{const r=new Image;r.onload=()=>{n(!0)},r.onerror=()=>{n(!1)},r.src=t})}}function d(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function A({uri:t,gatewayUrls:e}){const n=N.test(t);if(n)return{uri:t,isOnChain:!0,isEncoded:n};const r=d(e==null?void 0:e.ipfs,"https://ipfs.io"),s=d(e==null?void 0:e.arweave,"https://arweave.net"),o=t.match(w),{protocol:c,subpath:p,target:i,subtarget:h=""}=(o==null?void 0:o.groups)||{},u=c==="ipns:/"||p==="ipns/",m=c==="ipfs:/"||p==="ipfs/"||b.test(t);if(t.startsWith("http")&&!u&&!m){let v=t;return e!=null&&e.arweave&&(v=t.replace(/https:\/\/arweave.net/g,e==null?void 0:e.arweave)),{uri:v,isOnChain:!1,isEncoded:!1}}if((u||m)&&i)return{uri:`${r}/${u?"ipns":"ipfs"}/${i}${h}`,isOnChain:!1,isEncoded:!1};if(c==="ar:/"&&i)return{uri:`${s}/${i}${h||""}`,isOnChain:!1,isEncoded:!1};let f=t.replace(C,"");if(f.startsWith("<svg")&&(f=`data:image/svg+xml;base64,${btoa(f)}`),f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new a.EnsAvatarUriResolutionError({uri:t})}function l(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new a.EnsAvatarInvalidMetadataError({data:t});return t.image||t.image_url||t.image_data}async function k({gatewayUrls:t,uri:e}){try{const n=await fetch(e).then(s=>s.json());return await E({gatewayUrls:t,uri:l(n)})}catch{throw new a.EnsAvatarUriResolutionError({uri:e})}}async function E({gatewayUrls:t,uri:e}){const{uri:n,isOnChain:r}=A({uri:e,gatewayUrls:t});if(r||await I(n))return n;throw new a.EnsAvatarUriResolutionError({uri:e})}function R(t){let e=t;e.startsWith("did:nft:")&&(e=e.replace("did:nft:","").replace(/_/g,"/"));const[n,r,s]=e.split("/"),[o,c]=n.split(":"),[p,i]=r.split(":");if(!o||o.toLowerCase()!=="eip155")throw new a.EnsAvatarInvalidNftUriError({reason:"Only EIP-155 supported"});if(!c)throw new a.EnsAvatarInvalidNftUriError({reason:"Chain ID not found"});if(!i)throw new a.EnsAvatarInvalidNftUriError({reason:"Contract address not found"});if(!s)throw new a.EnsAvatarInvalidNftUriError({reason:"Token ID not found"});if(!p)throw new a.EnsAvatarInvalidNftUriError({reason:"ERC namespace not found"});return{chainID:Number.parseInt(c,10),namespace:p.toLowerCase(),contractAddress:i,tokenID:s}}async function O(t,{nft:e}){if(e.namespace==="erc721")return g.readContract(t,{address:e.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(e.tokenID)]});if(e.namespace==="erc1155")return g.readContract(t,{address:e.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(e.tokenID)]});throw new a.EnsAvatarUnsupportedNamespaceError({namespace:e.namespace})}exports.getGateway=d;exports.getJsonImage=l;exports.getMetadataAvatarUri=k;exports.getNftTokenUri=O;exports.isImageUri=I;exports.parseAvatarUri=E;exports.parseNftUri=R;exports.resolveAvatarUri=A;
package/dist/index374.js CHANGED
@@ -1,12 +1,143 @@
1
- import { toHex as n } from "./index115.js";
2
- import { blake2b as c } from "./index384.js";
3
- import { bcs as t } from "./index319.js";
4
- function m(r, a, s) {
5
- const i = t.Address.serialize(r).toBytes(), o = t.TypeTag.serialize(a).toBytes(), d = t.u64().serialize(s.length).toBytes(), e = c.create({
6
- dkLen: 32
7
- });
8
- return e.update(new Uint8Array([240])), e.update(i), e.update(d), e.update(s), e.update(o), `0x${n(e.digest().slice(0, 32))}`;
1
+ import { readContract as g } from "./index105.js";
2
+ import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as f, EnsAvatarUnsupportedNamespaceError as v, EnsAvatarInvalidMetadataError as A } from "./index202.js";
3
+ const b = /(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/, l = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/, E = /^data:([a-zA-Z\-/+]*);base64,([^"].*)/, C = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;
4
+ async function k(t) {
5
+ try {
6
+ const e = await fetch(t, { method: "HEAD" });
7
+ if (e.status === 200) {
8
+ const n = e.headers.get("content-type");
9
+ return n == null ? void 0 : n.startsWith("image/");
10
+ }
11
+ return !1;
12
+ } catch (e) {
13
+ return typeof e == "object" && typeof e.response < "u" || !Object.hasOwn(globalThis, "Image") ? !1 : new Promise((n) => {
14
+ const r = new Image();
15
+ r.onload = () => {
16
+ n(!0);
17
+ }, r.onerror = () => {
18
+ n(!1);
19
+ }, r.src = t;
20
+ });
21
+ }
22
+ }
23
+ function w(t, e) {
24
+ return t ? t.endsWith("/") ? t.slice(0, -1) : t : e;
25
+ }
26
+ function N({ uri: t, gatewayUrls: e }) {
27
+ const n = E.test(t);
28
+ if (n)
29
+ return { uri: t, isOnChain: !0, isEncoded: n };
30
+ const r = w(e == null ? void 0 : e.ipfs, "https://ipfs.io"), a = w(e == null ? void 0 : e.arweave, "https://arweave.net"), i = t.match(b), { protocol: o, subpath: p, target: s, subtarget: m = "" } = (i == null ? void 0 : i.groups) || {}, u = o === "ipns:/" || p === "ipns/", h = o === "ipfs:/" || p === "ipfs/" || l.test(t);
31
+ if (t.startsWith("http") && !u && !h) {
32
+ let I = t;
33
+ return e != null && e.arweave && (I = t.replace(/https:\/\/arweave.net/g, e == null ? void 0 : e.arweave)), { uri: I, isOnChain: !1, isEncoded: !1 };
34
+ }
35
+ if ((u || h) && s)
36
+ return {
37
+ uri: `${r}/${u ? "ipns" : "ipfs"}/${s}${m}`,
38
+ isOnChain: !1,
39
+ isEncoded: !1
40
+ };
41
+ if (o === "ar:/" && s)
42
+ return {
43
+ uri: `${a}/${s}${m || ""}`,
44
+ isOnChain: !1,
45
+ isEncoded: !1
46
+ };
47
+ let c = t.replace(C, "");
48
+ if (c.startsWith("<svg") && (c = `data:image/svg+xml;base64,${btoa(c)}`), c.startsWith("data:") || c.startsWith("{"))
49
+ return {
50
+ uri: c,
51
+ isOnChain: !0,
52
+ isEncoded: !1
53
+ };
54
+ throw new d({ uri: t });
55
+ }
56
+ function O(t) {
57
+ if (typeof t != "object" || !("image" in t) && !("image_url" in t) && !("image_data" in t))
58
+ throw new A({ data: t });
59
+ return t.image || t.image_url || t.image_data;
60
+ }
61
+ async function D({ gatewayUrls: t, uri: e }) {
62
+ try {
63
+ const n = await fetch(e).then((a) => a.json());
64
+ return await R({
65
+ gatewayUrls: t,
66
+ uri: O(n)
67
+ });
68
+ } catch {
69
+ throw new d({ uri: e });
70
+ }
71
+ }
72
+ async function R({ gatewayUrls: t, uri: e }) {
73
+ const { uri: n, isOnChain: r } = N({ uri: e, gatewayUrls: t });
74
+ if (r || await k(n))
75
+ return n;
76
+ throw new d({ uri: e });
77
+ }
78
+ function z(t) {
79
+ let e = t;
80
+ e.startsWith("did:nft:") && (e = e.replace("did:nft:", "").replace(/_/g, "/"));
81
+ const [n, r, a] = e.split("/"), [i, o] = n.split(":"), [p, s] = r.split(":");
82
+ if (!i || i.toLowerCase() !== "eip155")
83
+ throw new f({ reason: "Only EIP-155 supported" });
84
+ if (!o)
85
+ throw new f({ reason: "Chain ID not found" });
86
+ if (!s)
87
+ throw new f({
88
+ reason: "Contract address not found"
89
+ });
90
+ if (!a)
91
+ throw new f({ reason: "Token ID not found" });
92
+ if (!p)
93
+ throw new f({ reason: "ERC namespace not found" });
94
+ return {
95
+ chainID: Number.parseInt(o, 10),
96
+ namespace: p.toLowerCase(),
97
+ contractAddress: s,
98
+ tokenID: a
99
+ };
100
+ }
101
+ async function W(t, { nft: e }) {
102
+ if (e.namespace === "erc721")
103
+ return g(t, {
104
+ address: e.contractAddress,
105
+ abi: [
106
+ {
107
+ name: "tokenURI",
108
+ type: "function",
109
+ stateMutability: "view",
110
+ inputs: [{ name: "tokenId", type: "uint256" }],
111
+ outputs: [{ name: "", type: "string" }]
112
+ }
113
+ ],
114
+ functionName: "tokenURI",
115
+ args: [BigInt(e.tokenID)]
116
+ });
117
+ if (e.namespace === "erc1155")
118
+ return g(t, {
119
+ address: e.contractAddress,
120
+ abi: [
121
+ {
122
+ name: "uri",
123
+ type: "function",
124
+ stateMutability: "view",
125
+ inputs: [{ name: "_id", type: "uint256" }],
126
+ outputs: [{ name: "", type: "string" }]
127
+ }
128
+ ],
129
+ functionName: "uri",
130
+ args: [BigInt(e.tokenID)]
131
+ });
132
+ throw new v({ namespace: e.namespace });
9
133
  }
10
134
  export {
11
- m as deriveDynamicFieldID
135
+ w as getGateway,
136
+ O as getJsonImage,
137
+ D as getMetadataAvatarUri,
138
+ W as getNftTokenUri,
139
+ k as isImageUri,
140
+ R as parseAvatarUri,
141
+ z as parseNftUri,
142
+ N as resolveAvatarUri
12
143
  };
package/dist/index375.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./index273.cjs"),E=require("./index347.cjs"),m=require("./index272.cjs"),f=require("./index385.cjs"),A=require("./index292.cjs"),l=require("./index285.cjs");function q(r,e={}){const{prepare:i=!0}=e,n=Array.isArray(r)||typeof r=="string"?A.parseAbiItem(r):r;return{...n,...i?{hash:s(n)}:{}}}function g(r,e,i){const{args:n=[],prepare:o=!0}=i??{},w=m.validate(e,{strict:!1}),a=r.filter(t=>w?t.type==="function"||t.type==="error"?I(t)===m.slice(e,0,4):t.type==="event"?s(t)===e:!1:"name"in t&&t.name===e);if(a.length===0)throw new b({name:e});if(a.length===1)return{...a[0],...o?{hash:s(a[0])}:{}};let u;for(const t of a){if(!("inputs"in t))continue;if(!n||n.length===0){if(!t.inputs||t.inputs.length===0)return{...t,...o?{hash:s(t)}:{}};continue}if(!t.inputs||t.inputs.length===0||t.inputs.length!==n.length)continue;if(n.every((c,v)=>{const y="inputs"in t&&t.inputs[v];return y?f.isArgOfType(c,y):!1})){if(u&&"inputs"in u&&u.inputs){const c=f.getAmbiguousTypes(t.inputs,u.inputs,n);if(c)throw new $({abiItem:t,type:c[0]},{abiItem:u,type:c[1]})}u=t}}const h=(()=>{if(u)return u;const[t,...p]=a;return{...t,overloads:p}})();if(!h)throw new b({name:e});return{...h,...o?{hash:s(h)}:{}}}function I(...r){const e=(()=>{if(Array.isArray(r[0])){const[i,n]=r;return g(i,n)}return r[0]})();return m.slice(s(e),0,4)}function S(...r){const e=(()=>{if(Array.isArray(r[0])){const[n,o]=r;return g(n,o)}return r[0]})(),i=typeof e=="string"?e:l.formatAbiItem(e);return f.normalizeSignature(i)}function s(...r){const e=(()=>{if(Array.isArray(r[0])){const[i,n]=r;return g(i,n)}return r[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:E.keccak256(m.fromString(S(e)))}class $ extends d.BaseError{constructor(e,i){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${f.normalizeSignature(l.formatAbiItem(e.abiItem))}\`, and`,`\`${i.type}\` in \`${f.normalizeSignature(l.formatAbiItem(i.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class b extends d.BaseError{constructor({name:e,data:i,type:n="item"}){const o=e?` with name "${e}"`:i?` with data "${i}"`:"";super(`ABI ${n}${o} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}exports.AmbiguityError=$;exports.NotFoundError=b;exports.from=q;exports.fromAbi=g;exports.getSelector=I;exports.getSignature=S;exports.getSignatureHash=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./index278.cjs"),E=require("./index347.cjs"),m=require("./index277.cjs"),f=require("./index385.cjs"),A=require("./index314.cjs"),l=require("./index307.cjs");function q(r,e={}){const{prepare:i=!0}=e,n=Array.isArray(r)||typeof r=="string"?A.parseAbiItem(r):r;return{...n,...i?{hash:s(n)}:{}}}function g(r,e,i){const{args:n=[],prepare:o=!0}=i??{},w=m.validate(e,{strict:!1}),a=r.filter(t=>w?t.type==="function"||t.type==="error"?I(t)===m.slice(e,0,4):t.type==="event"?s(t)===e:!1:"name"in t&&t.name===e);if(a.length===0)throw new b({name:e});if(a.length===1)return{...a[0],...o?{hash:s(a[0])}:{}};let u;for(const t of a){if(!("inputs"in t))continue;if(!n||n.length===0){if(!t.inputs||t.inputs.length===0)return{...t,...o?{hash:s(t)}:{}};continue}if(!t.inputs||t.inputs.length===0||t.inputs.length!==n.length)continue;if(n.every((c,v)=>{const y="inputs"in t&&t.inputs[v];return y?f.isArgOfType(c,y):!1})){if(u&&"inputs"in u&&u.inputs){const c=f.getAmbiguousTypes(t.inputs,u.inputs,n);if(c)throw new $({abiItem:t,type:c[0]},{abiItem:u,type:c[1]})}u=t}}const h=(()=>{if(u)return u;const[t,...p]=a;return{...t,overloads:p}})();if(!h)throw new b({name:e});return{...h,...o?{hash:s(h)}:{}}}function I(...r){const e=(()=>{if(Array.isArray(r[0])){const[i,n]=r;return g(i,n)}return r[0]})();return m.slice(s(e),0,4)}function S(...r){const e=(()=>{if(Array.isArray(r[0])){const[n,o]=r;return g(n,o)}return r[0]})(),i=typeof e=="string"?e:l.formatAbiItem(e);return f.normalizeSignature(i)}function s(...r){const e=(()=>{if(Array.isArray(r[0])){const[i,n]=r;return g(i,n)}return r[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:E.keccak256(m.fromString(S(e)))}class $ extends d.BaseError{constructor(e,i){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${f.normalizeSignature(l.formatAbiItem(e.abiItem))}\`, and`,`\`${i.type}\` in \`${f.normalizeSignature(l.formatAbiItem(i.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class b extends d.BaseError{constructor({name:e,data:i,type:n="item"}){const o=e?` with name "${e}"`:i?` with data "${i}"`:"";super(`ABI ${n}${o} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}exports.AmbiguityError=$;exports.NotFoundError=b;exports.from=q;exports.fromAbi=g;exports.getSelector=I;exports.getSignature=S;exports.getSignatureHash=s;
package/dist/index375.js CHANGED
@@ -1,9 +1,9 @@
1
- import { BaseError as d } from "./index273.js";
1
+ import { BaseError as d } from "./index278.js";
2
2
  import { keccak256 as v } from "./index347.js";
3
- import { validate as $, slice as A, fromString as S } from "./index272.js";
3
+ import { validate as $, slice as A, fromString as S } from "./index277.js";
4
4
  import { isArgOfType as E, normalizeSignature as m, getAmbiguousTypes as B } from "./index385.js";
5
- import { parseAbiItem as y } from "./index292.js";
6
- import { formatAbiItem as p } from "./index285.js";
5
+ import { parseAbiItem as y } from "./index314.js";
6
+ import { formatAbiItem as p } from "./index307.js";
7
7
  function H(r, t = {}) {
8
8
  const { prepare: i = !0 } = t, n = Array.isArray(r) ? y(r) : typeof r == "string" ? y(r) : r;
9
9
  return {
package/dist/index376.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./index340.cjs");function p(o,t,s,i){if(typeof o.setBigUint64=="function")return o.setBigUint64(t,s,i);const n=BigInt(32),r=BigInt(4294967295),e=Number(s>>n&r),h=Number(s&r),u=i?4:0,l=i?0:4;o.setUint32(t+u,e,i),o.setUint32(t+l,h,i)}function g(o,t,s){return o&t^~o&s}function b(o,t,s){return o&t^o&s^t&s}class d extends f.Hash{constructor(t,s,i,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=s,this.padOffset=i,this.isLE=n,this.buffer=new Uint8Array(t),this.view=f.createView(this.buffer)}update(t){f.aexists(this),t=f.toBytes(t),f.abytes(t);const{view:s,buffer:i,blockLen:n}=this,r=t.length;for(let e=0;e<r;){const h=Math.min(n-this.pos,r-e);if(h===n){const u=f.createView(t);for(;n<=r-e;e+=n)this.process(u,e);continue}i.set(t.subarray(e,e+h),this.pos),this.pos+=h,e+=h,this.pos===n&&(this.process(s,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){f.aexists(this),f.aoutput(t,this),this.finished=!0;const{buffer:s,view:i,blockLen:n,isLE:r}=this;let{pos:e}=this;s[e++]=128,f.clean(this.buffer.subarray(e)),this.padOffset>n-e&&(this.process(i,0),e=0);for(let c=e;c<n;c++)s[c]=0;p(i,n-8,BigInt(this.length*8),r),this.process(i,0);const h=f.createView(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=u/4,a=this.get();if(l>a.length)throw new Error("_sha2: outputLen bigger than state");for(let c=0;c<l;c++)h.setUint32(4*c,a[c],r)}digest(){const{buffer:t,outputLen:s}=this;this.digestInto(t);const i=t.slice(0,s);return this.destroy(),i}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:s,buffer:i,length:n,finished:r,destroyed:e,pos:h}=this;return t.destroyed=e,t.finished=r,t.length=n,t.pos=h,n%s&&t.buffer.set(i),t}clone(){return this._cloneInto()}}const w=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);exports.Chi=g;exports.HashMD=d;exports.Maj=b;exports.SHA256_IV=w;exports.setBigUint64=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;exports.crypto=o;
package/dist/index376.js CHANGED
@@ -1,81 +1,4 @@
1
- import { Hash as g, createView as l, aexists as b, toBytes as a, abytes as d, aoutput as x, clean as w } from "./index340.js";
2
- function y(o, t, s, n) {
3
- if (typeof o.setBigUint64 == "function")
4
- return o.setBigUint64(t, s, n);
5
- const i = BigInt(32), h = BigInt(4294967295), e = Number(s >> i & h), r = Number(s & h), c = n ? 4 : 0, u = n ? 0 : 4;
6
- o.setUint32(t + c, e, n), o.setUint32(t + u, r, n);
7
- }
8
- function U(o, t, s) {
9
- return o & t ^ ~o & s;
10
- }
11
- function _(o, t, s) {
12
- return o & t ^ o & s ^ t & s;
13
- }
14
- class m extends g {
15
- constructor(t, s, n, i) {
16
- super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = t, this.outputLen = s, this.padOffset = n, this.isLE = i, this.buffer = new Uint8Array(t), this.view = l(this.buffer);
17
- }
18
- update(t) {
19
- b(this), t = a(t), d(t);
20
- const { view: s, buffer: n, blockLen: i } = this, h = t.length;
21
- for (let e = 0; e < h; ) {
22
- const r = Math.min(i - this.pos, h - e);
23
- if (r === i) {
24
- const c = l(t);
25
- for (; i <= h - e; e += i)
26
- this.process(c, e);
27
- continue;
28
- }
29
- n.set(t.subarray(e, e + r), this.pos), this.pos += r, e += r, this.pos === i && (this.process(s, 0), this.pos = 0);
30
- }
31
- return this.length += t.length, this.roundClean(), this;
32
- }
33
- digestInto(t) {
34
- b(this), x(t, this), this.finished = !0;
35
- const { buffer: s, view: n, blockLen: i, isLE: h } = this;
36
- let { pos: e } = this;
37
- s[e++] = 128, w(this.buffer.subarray(e)), this.padOffset > i - e && (this.process(n, 0), e = 0);
38
- for (let f = e; f < i; f++)
39
- s[f] = 0;
40
- y(n, i - 8, BigInt(this.length * 8), h), this.process(n, 0);
41
- const r = l(t), c = this.outputLen;
42
- if (c % 4)
43
- throw new Error("_sha2: outputLen should be aligned to 32bit");
44
- const u = c / 4, p = this.get();
45
- if (u > p.length)
46
- throw new Error("_sha2: outputLen bigger than state");
47
- for (let f = 0; f < u; f++)
48
- r.setUint32(4 * f, p[f], h);
49
- }
50
- digest() {
51
- const { buffer: t, outputLen: s } = this;
52
- this.digestInto(t);
53
- const n = t.slice(0, s);
54
- return this.destroy(), n;
55
- }
56
- _cloneInto(t) {
57
- t || (t = new this.constructor()), t.set(...this.get());
58
- const { blockLen: s, buffer: n, length: i, finished: h, destroyed: e, pos: r } = this;
59
- return t.destroyed = e, t.finished = h, t.length = i, t.pos = r, i % s && t.buffer.set(n), t;
60
- }
61
- clone() {
62
- return this._cloneInto();
63
- }
64
- }
65
- const B = /* @__PURE__ */ Uint32Array.from([
66
- 1779033703,
67
- 3144134277,
68
- 1013904242,
69
- 2773480762,
70
- 1359893119,
71
- 2600822924,
72
- 528734635,
73
- 1541459225
74
- ]);
1
+ const o = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0;
75
2
  export {
76
- U as Chi,
77
- m as HashMD,
78
- _ as Maj,
79
- B as SHA256_IV,
80
- y as setBigUint64
3
+ o as crypto
81
4
  };
package/dist/index377.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;exports.crypto=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./index340.cjs");function p(o,t,s,i){if(typeof o.setBigUint64=="function")return o.setBigUint64(t,s,i);const n=BigInt(32),r=BigInt(4294967295),e=Number(s>>n&r),h=Number(s&r),u=i?4:0,l=i?0:4;o.setUint32(t+u,e,i),o.setUint32(t+l,h,i)}function g(o,t,s){return o&t^~o&s}function b(o,t,s){return o&t^o&s^t&s}class d extends f.Hash{constructor(t,s,i,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=s,this.padOffset=i,this.isLE=n,this.buffer=new Uint8Array(t),this.view=f.createView(this.buffer)}update(t){f.aexists(this),t=f.toBytes(t),f.abytes(t);const{view:s,buffer:i,blockLen:n}=this,r=t.length;for(let e=0;e<r;){const h=Math.min(n-this.pos,r-e);if(h===n){const u=f.createView(t);for(;n<=r-e;e+=n)this.process(u,e);continue}i.set(t.subarray(e,e+h),this.pos),this.pos+=h,e+=h,this.pos===n&&(this.process(s,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){f.aexists(this),f.aoutput(t,this),this.finished=!0;const{buffer:s,view:i,blockLen:n,isLE:r}=this;let{pos:e}=this;s[e++]=128,f.clean(this.buffer.subarray(e)),this.padOffset>n-e&&(this.process(i,0),e=0);for(let c=e;c<n;c++)s[c]=0;p(i,n-8,BigInt(this.length*8),r),this.process(i,0);const h=f.createView(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=u/4,a=this.get();if(l>a.length)throw new Error("_sha2: outputLen bigger than state");for(let c=0;c<l;c++)h.setUint32(4*c,a[c],r)}digest(){const{buffer:t,outputLen:s}=this;this.digestInto(t);const i=t.slice(0,s);return this.destroy(),i}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:s,buffer:i,length:n,finished:r,destroyed:e,pos:h}=this;return t.destroyed=e,t.finished=r,t.length=n,t.pos=h,n%s&&t.buffer.set(i),t}clone(){return this._cloneInto()}}const w=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);exports.Chi=g;exports.HashMD=d;exports.Maj=b;exports.SHA256_IV=w;exports.setBigUint64=p;
package/dist/index377.js CHANGED
@@ -1,4 +1,81 @@
1
- const o = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0;
1
+ import { Hash as g, createView as l, aexists as b, toBytes as a, abytes as d, aoutput as x, clean as w } from "./index340.js";
2
+ function y(o, t, s, n) {
3
+ if (typeof o.setBigUint64 == "function")
4
+ return o.setBigUint64(t, s, n);
5
+ const i = BigInt(32), h = BigInt(4294967295), e = Number(s >> i & h), r = Number(s & h), c = n ? 4 : 0, u = n ? 0 : 4;
6
+ o.setUint32(t + c, e, n), o.setUint32(t + u, r, n);
7
+ }
8
+ function U(o, t, s) {
9
+ return o & t ^ ~o & s;
10
+ }
11
+ function _(o, t, s) {
12
+ return o & t ^ o & s ^ t & s;
13
+ }
14
+ class m extends g {
15
+ constructor(t, s, n, i) {
16
+ super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = t, this.outputLen = s, this.padOffset = n, this.isLE = i, this.buffer = new Uint8Array(t), this.view = l(this.buffer);
17
+ }
18
+ update(t) {
19
+ b(this), t = a(t), d(t);
20
+ const { view: s, buffer: n, blockLen: i } = this, h = t.length;
21
+ for (let e = 0; e < h; ) {
22
+ const r = Math.min(i - this.pos, h - e);
23
+ if (r === i) {
24
+ const c = l(t);
25
+ for (; i <= h - e; e += i)
26
+ this.process(c, e);
27
+ continue;
28
+ }
29
+ n.set(t.subarray(e, e + r), this.pos), this.pos += r, e += r, this.pos === i && (this.process(s, 0), this.pos = 0);
30
+ }
31
+ return this.length += t.length, this.roundClean(), this;
32
+ }
33
+ digestInto(t) {
34
+ b(this), x(t, this), this.finished = !0;
35
+ const { buffer: s, view: n, blockLen: i, isLE: h } = this;
36
+ let { pos: e } = this;
37
+ s[e++] = 128, w(this.buffer.subarray(e)), this.padOffset > i - e && (this.process(n, 0), e = 0);
38
+ for (let f = e; f < i; f++)
39
+ s[f] = 0;
40
+ y(n, i - 8, BigInt(this.length * 8), h), this.process(n, 0);
41
+ const r = l(t), c = this.outputLen;
42
+ if (c % 4)
43
+ throw new Error("_sha2: outputLen should be aligned to 32bit");
44
+ const u = c / 4, p = this.get();
45
+ if (u > p.length)
46
+ throw new Error("_sha2: outputLen bigger than state");
47
+ for (let f = 0; f < u; f++)
48
+ r.setUint32(4 * f, p[f], h);
49
+ }
50
+ digest() {
51
+ const { buffer: t, outputLen: s } = this;
52
+ this.digestInto(t);
53
+ const n = t.slice(0, s);
54
+ return this.destroy(), n;
55
+ }
56
+ _cloneInto(t) {
57
+ t || (t = new this.constructor()), t.set(...this.get());
58
+ const { blockLen: s, buffer: n, length: i, finished: h, destroyed: e, pos: r } = this;
59
+ return t.destroyed = e, t.finished = h, t.length = i, t.pos = r, i % s && t.buffer.set(n), t;
60
+ }
61
+ clone() {
62
+ return this._cloneInto();
63
+ }
64
+ }
65
+ const B = /* @__PURE__ */ Uint32Array.from([
66
+ 1779033703,
67
+ 3144134277,
68
+ 1013904242,
69
+ 2773480762,
70
+ 1359893119,
71
+ 2600822924,
72
+ 528734635,
73
+ 1541459225
74
+ ]);
2
75
  export {
3
- o as crypto
76
+ U as Chi,
77
+ m as HashMD,
78
+ _ as Maj,
79
+ B as SHA256_IV,
80
+ y as setBigUint64
4
81
  };
package/dist/index379.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const et=require("./index380.cjs"),K=require("./index346.cjs"),a=require("./index357.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function at(y){y.lowS!==void 0&&a.abool("lowS",y.lowS),y.prehash!==void 0&&a.abool("prehash",y.prehash)}function ut(y){const r=et.validateBasic(y);a.validateObject(r,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:t,Fp:B,a:R}=r;if(t){if(!B.eql(R,B.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...r})}class ct extends Error{constructor(r=""){super(r)}}const U={Err:ct,_tlv:{encode:(y,r)=>{const{Err:t}=U;if(y<0||y>256)throw new t("tlv.encode: wrong tag");if(r.length&1)throw new t("tlv.encode: unpadded data");const B=r.length/2,R=a.numberToHexUnpadded(B);if(R.length/2&128)throw new t("tlv.encode: long form length too big");const z=B>127?a.numberToHexUnpadded(R.length/2|128):"";return a.numberToHexUnpadded(y)+z+R+r},decode(y,r){const{Err:t}=U;let B=0;if(y<0||y>256)throw new t("tlv.encode: wrong tag");if(r.length<2||r[B++]!==y)throw new t("tlv.decode: wrong tlv");const R=r[B++],z=!!(R&128);let T=0;if(!z)T=R;else{const S=R&127;if(!S)throw new t("tlv.decode(long): indefinite length not supported");if(S>4)throw new t("tlv.decode(long): byte length is too big");const F=r.subarray(B,B+S);if(F.length!==S)throw new t("tlv.decode: length bytes not complete");if(F[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const A of F)T=T<<8|A;if(B+=S,T<128)throw new t("tlv.decode(long): not minimal encoding")}const Y=r.subarray(B,B+T);if(Y.length!==T)throw new t("tlv.decode: wrong value length");return{v:Y,l:r.subarray(B+T)}}},_int:{encode(y){const{Err:r}=U;if(y<I)throw new r("integer: negative integers are not allowed");let t=a.numberToHexUnpadded(y);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new r("unexpected DER parsing assertion: unpadded hex");return t},decode(y){const{Err:r}=U;if(y[0]&128)throw new r("invalid signature integer: negative");if(y[0]===0&&!(y[1]&128))throw new r("invalid signature integer: unnecessary leading zero");return a.bytesToNumberBE(y)}},toSig(y){const{Err:r,_int:t,_tlv:B}=U,R=a.ensureBytes("signature",y),{v:z,l:T}=B.decode(48,R);if(T.length)throw new r("invalid signature: left bytes after parsing");const{v:Y,l:S}=B.decode(2,z),{v:F,l:A}=B.decode(2,S);if(A.length)throw new r("invalid signature: left bytes after parsing");return{r:t.decode(Y),s:t.decode(F)}},hexFromSig(y){const{_tlv:r,_int:t}=U,B=r.encode(2,t.encode(y.r)),R=r.encode(2,t.encode(y.s)),z=B+R;return r.encode(48,z)}};function st(y,r){return a.bytesToHex(a.numberToBytesBE(y,r))}const I=BigInt(0),O=BigInt(1);BigInt(2);const it=BigInt(3),dt=BigInt(4);function lt(y){const r=ut(y),{Fp:t}=r,B=K.Field(r.n,r.nBitLength),R=r.toBytes||((w,e,s)=>{const c=e.toAffine();return a.concatBytes(Uint8Array.from([4]),t.toBytes(c.x),t.toBytes(c.y))}),z=r.fromBytes||(w=>{const e=w.subarray(1),s=t.fromBytes(e.subarray(0,t.BYTES)),c=t.fromBytes(e.subarray(t.BYTES,2*t.BYTES));return{x:s,y:c}});function T(w){const{a:e,b:s}=r,c=t.sqr(w),f=t.mul(c,w);return t.add(t.add(f,t.mul(w,e)),s)}function Y(w,e){const s=t.sqr(e),c=T(w);return t.eql(s,c)}if(!Y(r.Gx,r.Gy))throw new Error("bad curve params: generator point");const S=t.mul(t.pow(r.a,it),dt),F=t.mul(t.sqr(r.b),BigInt(27));if(t.is0(t.add(S,F)))throw new Error("bad curve params: a or b");function A(w){return a.inRange(w,O,r.n)}function D(w){const{allowedPrivateKeyLengths:e,nByteLength:s,wrapPrivateKey:c,n:f}=r;if(e&&typeof w!="bigint"){if(a.isBytes(w)&&(w=a.bytesToHex(w)),typeof w!="string"||!e.includes(w.length))throw new Error("invalid private key");w=w.padStart(s*2,"0")}let g;try{g=typeof w=="bigint"?w:a.bytesToNumberBE(a.ensureBytes("private key",w,s))}catch{throw new Error("invalid private key, expected hex or "+s+" bytes, got "+typeof w)}return c&&(g=K.mod(g,f)),a.aInRange("private key",g,O,f),g}function _(w){if(!(w instanceof E))throw new Error("ProjectivePoint expected")}const nt=a.memoized((w,e)=>{const{px:s,py:c,pz:f}=w;if(t.eql(f,t.ONE))return{x:s,y:c};const g=w.is0();e==null&&(e=g?t.ONE:t.inv(f));const v=t.mul(s,e),b=t.mul(c,e),l=t.mul(f,e);if(g)return{x:t.ZERO,y:t.ZERO};if(!t.eql(l,t.ONE))throw new Error("invZ was invalid");return{x:v,y:b}}),G=a.memoized(w=>{if(w.is0()){if(r.allowInfinityPoint&&!t.is0(w.py))return;throw new Error("bad point: ZERO")}const{x:e,y:s}=w.toAffine();if(!t.isValid(e)||!t.isValid(s))throw new Error("bad point: x or y not FE");if(!Y(e,s))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class E{constructor(e,s,c){if(e==null||!t.isValid(e))throw new Error("x required");if(s==null||!t.isValid(s)||t.is0(s))throw new Error("y required");if(c==null||!t.isValid(c))throw new Error("z required");this.px=e,this.py=s,this.pz=c,Object.freeze(this)}static fromAffine(e){const{x:s,y:c}=e||{};if(!e||!t.isValid(s)||!t.isValid(c))throw new Error("invalid affine point");if(e instanceof E)throw new Error("projective point not allowed");const f=g=>t.eql(g,t.ZERO);return f(s)&&f(c)?E.ZERO:new E(s,c,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const s=K.FpInvertBatch(t,e.map(c=>c.pz));return e.map((c,f)=>c.toAffine(s[f])).map(E.fromAffine)}static fromHex(e){const s=E.fromAffine(z(a.ensureBytes("pointHex",e)));return s.assertValidity(),s}static fromPrivateKey(e){return E.BASE.multiply(D(e))}static msm(e,s){return et.pippenger(E,B,e,s)}_setWindowSize(e){C.setWindowSize(this,e)}assertValidity(){G(this)}hasEvenY(){const{y:e}=this.toAffine();if(t.isOdd)return!t.isOdd(e);throw new Error("Field doesn't support isOdd")}equals(e){_(e);const{px:s,py:c,pz:f}=this,{px:g,py:v,pz:b}=e,l=t.eql(t.mul(s,b),t.mul(g,f)),p=t.eql(t.mul(c,b),t.mul(v,f));return l&&p}negate(){return new E(this.px,t.neg(this.py),this.pz)}double(){const{a:e,b:s}=r,c=t.mul(s,it),{px:f,py:g,pz:v}=this;let b=t.ZERO,l=t.ZERO,p=t.ZERO,u=t.mul(f,f),N=t.mul(g,g),o=t.mul(v,v),n=t.mul(f,g);return n=t.add(n,n),p=t.mul(f,v),p=t.add(p,p),b=t.mul(e,p),l=t.mul(c,o),l=t.add(b,l),b=t.sub(N,l),l=t.add(N,l),l=t.mul(b,l),b=t.mul(n,b),p=t.mul(c,p),o=t.mul(e,o),n=t.sub(u,o),n=t.mul(e,n),n=t.add(n,p),p=t.add(u,u),u=t.add(p,u),u=t.add(u,o),u=t.mul(u,n),l=t.add(l,u),o=t.mul(g,v),o=t.add(o,o),u=t.mul(o,n),b=t.sub(b,u),p=t.mul(o,N),p=t.add(p,p),p=t.add(p,p),new E(b,l,p)}add(e){_(e);const{px:s,py:c,pz:f}=this,{px:g,py:v,pz:b}=e;let l=t.ZERO,p=t.ZERO,u=t.ZERO;const N=r.a,o=t.mul(r.b,it);let n=t.mul(s,g),i=t.mul(c,v),m=t.mul(f,b),d=t.add(s,c),h=t.add(g,v);d=t.mul(d,h),h=t.add(n,i),d=t.sub(d,h),h=t.add(s,f);let x=t.add(g,b);return h=t.mul(h,x),x=t.add(n,m),h=t.sub(h,x),x=t.add(c,f),l=t.add(v,b),x=t.mul(x,l),l=t.add(i,m),x=t.sub(x,l),u=t.mul(N,h),l=t.mul(o,m),u=t.add(l,u),l=t.sub(i,u),u=t.add(i,u),p=t.mul(l,u),i=t.add(n,n),i=t.add(i,n),m=t.mul(N,m),h=t.mul(o,h),i=t.add(i,m),m=t.sub(n,m),m=t.mul(N,m),h=t.add(h,m),n=t.mul(i,h),p=t.add(p,n),n=t.mul(x,h),l=t.mul(d,l),l=t.sub(l,n),n=t.mul(d,i),u=t.mul(x,u),u=t.add(u,n),new E(l,p,u)}subtract(e){return this.add(e.negate())}is0(){return this.equals(E.ZERO)}wNAF(e){return C.wNAFCached(this,e,E.normalizeZ)}multiplyUnsafe(e){const{endo:s,n:c}=r;a.aInRange("scalar",e,I,c);const f=E.ZERO;if(e===I)return f;if(this.is0()||e===O)return this;if(!s||C.hasPrecomputes(this))return C.wNAFCachedUnsafe(this,e,E.normalizeZ);let{k1neg:g,k1:v,k2neg:b,k2:l}=s.splitScalar(e),p=f,u=f,N=this;for(;v>I||l>I;)v&O&&(p=p.add(N)),l&O&&(u=u.add(N)),N=N.double(),v>>=O,l>>=O;return g&&(p=p.negate()),b&&(u=u.negate()),u=new E(t.mul(u.px,s.beta),u.py,u.pz),p.add(u)}multiply(e){const{endo:s,n:c}=r;a.aInRange("scalar",e,O,c);let f,g;if(s){const{k1neg:v,k1:b,k2neg:l,k2:p}=s.splitScalar(e);let{p:u,f:N}=this.wNAF(b),{p:o,f:n}=this.wNAF(p);u=C.constTimeNegate(v,u),o=C.constTimeNegate(l,o),o=new E(t.mul(o.px,s.beta),o.py,o.pz),f=u.add(o),g=N.add(n)}else{const{p:v,f:b}=this.wNAF(e);f=v,g=b}return E.normalizeZ([f,g])[0]}multiplyAndAddUnsafe(e,s,c){const f=E.BASE,g=(b,l)=>l===I||l===O||!b.equals(f)?b.multiplyUnsafe(l):b.multiply(l),v=g(this,s).add(g(e,c));return v.is0()?void 0:v}toAffine(e){return nt(this,e)}isTorsionFree(){const{h:e,isTorsionFree:s}=r;if(e===O)return!0;if(s)return s(E,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:s}=r;return e===O?this:s?s(E,this):this.multiplyUnsafe(r.h)}toRawBytes(e=!0){return a.abool("isCompressed",e),this.assertValidity(),R(E,this,e)}toHex(e=!0){return a.abool("isCompressed",e),a.bytesToHex(this.toRawBytes(e))}}E.BASE=new E(r.Gx,r.Gy,t.ONE),E.ZERO=new E(t.ZERO,t.ONE,t.ZERO);const{endo:tt,nBitLength:H}=r,C=et.wNAF(E,tt?Math.ceil(H/2):H);return{CURVE:r,ProjectivePoint:E,normPrivateKeyToScalar:D,weierstrassEquation:T,isWithinCurveOrder:A}}function ft(y){const r=et.validateBasic(y);return a.validateObject(r,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...r})}function ht(y){const r=ft(y),{Fp:t,n:B,nByteLength:R,nBitLength:z}=r,T=t.BYTES+1,Y=2*t.BYTES+1;function S(o){return K.mod(o,B)}function F(o){return K.invert(o,B)}const{ProjectivePoint:A,normPrivateKeyToScalar:D,weierstrassEquation:_,isWithinCurveOrder:nt}=lt({...r,toBytes(o,n,i){const m=n.toAffine(),d=t.toBytes(m.x),h=a.concatBytes;return a.abool("isCompressed",i),i?h(Uint8Array.from([n.hasEvenY()?2:3]),d):h(Uint8Array.from([4]),d,t.toBytes(m.y))},fromBytes(o){const n=o.length,i=o[0],m=o.subarray(1);if(n===T&&(i===2||i===3)){const d=a.bytesToNumberBE(m);if(!a.inRange(d,O,t.ORDER))throw new Error("Point is not on curve");const h=_(d);let x;try{x=t.sqrt(h)}catch(L){const q=L instanceof Error?": "+L.message:"";throw new Error("Point is not on curve"+q)}const Z=(x&O)===O;return(i&1)===1!==Z&&(x=t.neg(x)),{x:d,y:x}}else if(n===Y&&i===4){const d=t.fromBytes(m.subarray(0,t.BYTES)),h=t.fromBytes(m.subarray(t.BYTES,2*t.BYTES));return{x:d,y:h}}else{const d=T,h=Y;throw new Error("invalid Point, expected length of "+d+", or uncompressed "+h+", got "+n)}}});function G(o){const n=B>>O;return o>n}function E(o){return G(o)?S(-o):o}const tt=(o,n,i)=>a.bytesToNumberBE(o.slice(n,i));class H{constructor(n,i,m){a.aInRange("r",n,O,B),a.aInRange("s",i,O,B),this.r=n,this.s=i,m!=null&&(this.recovery=m),Object.freeze(this)}static fromCompact(n){const i=R;return n=a.ensureBytes("compactSignature",n,i*2),new H(tt(n,0,i),tt(n,i,2*i))}static fromDER(n){const{r:i,s:m}=U.toSig(a.ensureBytes("DER",n));return new H(i,m)}assertValidity(){}addRecoveryBit(n){return new H(this.r,this.s,n)}recoverPublicKey(n){const{r:i,s:m,recovery:d}=this,h=f(a.ensureBytes("msgHash",n));if(d==null||![0,1,2,3].includes(d))throw new Error("recovery id invalid");const x=d===2||d===3?i+r.n:i;if(x>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const Z=d&1?"03":"02",V=A.fromHex(Z+st(x,t.BYTES)),L=F(x),q=S(-h*L),X=S(m*L),j=A.BASE.multiplyAndAddUnsafe(V,q,X);if(!j)throw new Error("point at infinify");return j.assertValidity(),j}hasHighS(){return G(this.s)}normalizeS(){return this.hasHighS()?new H(this.r,S(-this.s),this.recovery):this}toDERRawBytes(){return a.hexToBytes(this.toDERHex())}toDERHex(){return U.hexFromSig(this)}toCompactRawBytes(){return a.hexToBytes(this.toCompactHex())}toCompactHex(){const n=R;return st(this.r,n)+st(this.s,n)}}const C={isValidPrivateKey(o){try{return D(o),!0}catch{return!1}},normPrivateKeyToScalar:D,randomPrivateKey:()=>{const o=K.getMinHashLength(r.n);return K.mapHashToField(r.randomBytes(o),r.n)},precompute(o=8,n=A.BASE){return n._setWindowSize(o),n.multiply(BigInt(3)),n}};function w(o,n=!0){return A.fromPrivateKey(o).toRawBytes(n)}function e(o){if(typeof o=="bigint")return!1;if(o instanceof A)return!0;const i=a.ensureBytes("key",o).length,m=t.BYTES,d=m+1,h=2*m+1;if(!(r.allowedPrivateKeyLengths||R===d))return i===d||i===h}function s(o,n,i=!0){if(e(o)===!0)throw new Error("first arg must be private key");if(e(n)===!1)throw new Error("second arg must be public key");return A.fromHex(n).multiply(D(o)).toRawBytes(i)}const c=r.bits2int||function(o){if(o.length>8192)throw new Error("input is too large");const n=a.bytesToNumberBE(o),i=o.length*8-z;return i>0?n>>BigInt(i):n},f=r.bits2int_modN||function(o){return S(c(o))},g=a.bitMask(z);function v(o){return a.aInRange("num < 2^"+z,o,I,g),a.numberToBytesBE(o,R)}function b(o,n,i=l){if(["recovered","canonical"].some(P=>P in i))throw new Error("sign() legacy options not supported");const{hash:m,randomBytes:d}=r;let{lowS:h,prehash:x,extraEntropy:Z}=i;h==null&&(h=!0),o=a.ensureBytes("msgHash",o),at(i),x&&(o=a.ensureBytes("prehashed msgHash",m(o)));const V=f(o),L=D(n),q=[v(L),v(V)];if(Z!=null&&Z!==!1){const P=Z===!0?d(t.BYTES):Z;q.push(a.ensureBytes("extraEntropy",P))}const X=a.concatBytes(...q),j=V;function rt(P){const M=c(P);if(!nt(M))return;const ot=F(M),Q=A.BASE.multiply(M).toAffine(),k=S(Q.x);if(k===I)return;const $=S(ot*S(j+k*L));if($===I)return;let J=(Q.x===k?0:2)|Number(Q.y&O),W=$;return h&&G($)&&(W=E($),J^=1),new H(k,W,J)}return{seed:X,k2sig:rt}}const l={lowS:r.lowS,prehash:!1},p={lowS:r.lowS,prehash:!1};function u(o,n,i=l){const{seed:m,k2sig:d}=b(o,n,i),h=r;return a.createHmacDrbg(h.hash.outputLen,h.nByteLength,h.hmac)(m,d)}A.BASE._setWindowSize(8);function N(o,n,i,m=p){var J;const d=o;n=a.ensureBytes("msgHash",n),i=a.ensureBytes("publicKey",i);const{lowS:h,prehash:x,format:Z}=m;if(at(m),"strict"in m)throw new Error("options.strict was renamed to lowS");if(Z!==void 0&&Z!=="compact"&&Z!=="der")throw new Error("format must be compact or der");const V=typeof d=="string"||a.isBytes(d),L=!V&&!Z&&typeof d=="object"&&d!==null&&typeof d.r=="bigint"&&typeof d.s=="bigint";if(!V&&!L)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let q,X;try{if(L&&(q=new H(d.r,d.s)),V){try{Z!=="compact"&&(q=H.fromDER(d))}catch(W){if(!(W instanceof U.Err))throw W}!q&&Z!=="der"&&(q=H.fromCompact(d))}X=A.fromHex(i)}catch{return!1}if(!q||h&&q.hasHighS())return!1;x&&(n=r.hash(n));const{r:j,s:rt}=q,P=f(n),M=F(rt),ot=S(P*M),Q=S(j*M),k=(J=A.BASE.multiplyAndAddUnsafe(X,ot,Q))==null?void 0:J.toAffine();return k?S(k.x)===j:!1}return{CURVE:r,getPublicKey:w,getSharedSecret:s,sign:u,verify:N,ProjectivePoint:A,Signature:H,utils:C}}exports.DER=U;exports.DERErr=ct;exports.weierstrass=ht;exports.weierstrassPoints=lt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const et=require("./index380.cjs"),K=require("./index346.cjs"),a=require("./index359.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function at(y){y.lowS!==void 0&&a.abool("lowS",y.lowS),y.prehash!==void 0&&a.abool("prehash",y.prehash)}function ut(y){const r=et.validateBasic(y);a.validateObject(r,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:t,Fp:B,a:R}=r;if(t){if(!B.eql(R,B.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...r})}class ct extends Error{constructor(r=""){super(r)}}const U={Err:ct,_tlv:{encode:(y,r)=>{const{Err:t}=U;if(y<0||y>256)throw new t("tlv.encode: wrong tag");if(r.length&1)throw new t("tlv.encode: unpadded data");const B=r.length/2,R=a.numberToHexUnpadded(B);if(R.length/2&128)throw new t("tlv.encode: long form length too big");const z=B>127?a.numberToHexUnpadded(R.length/2|128):"";return a.numberToHexUnpadded(y)+z+R+r},decode(y,r){const{Err:t}=U;let B=0;if(y<0||y>256)throw new t("tlv.encode: wrong tag");if(r.length<2||r[B++]!==y)throw new t("tlv.decode: wrong tlv");const R=r[B++],z=!!(R&128);let T=0;if(!z)T=R;else{const S=R&127;if(!S)throw new t("tlv.decode(long): indefinite length not supported");if(S>4)throw new t("tlv.decode(long): byte length is too big");const F=r.subarray(B,B+S);if(F.length!==S)throw new t("tlv.decode: length bytes not complete");if(F[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const A of F)T=T<<8|A;if(B+=S,T<128)throw new t("tlv.decode(long): not minimal encoding")}const Y=r.subarray(B,B+T);if(Y.length!==T)throw new t("tlv.decode: wrong value length");return{v:Y,l:r.subarray(B+T)}}},_int:{encode(y){const{Err:r}=U;if(y<I)throw new r("integer: negative integers are not allowed");let t=a.numberToHexUnpadded(y);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new r("unexpected DER parsing assertion: unpadded hex");return t},decode(y){const{Err:r}=U;if(y[0]&128)throw new r("invalid signature integer: negative");if(y[0]===0&&!(y[1]&128))throw new r("invalid signature integer: unnecessary leading zero");return a.bytesToNumberBE(y)}},toSig(y){const{Err:r,_int:t,_tlv:B}=U,R=a.ensureBytes("signature",y),{v:z,l:T}=B.decode(48,R);if(T.length)throw new r("invalid signature: left bytes after parsing");const{v:Y,l:S}=B.decode(2,z),{v:F,l:A}=B.decode(2,S);if(A.length)throw new r("invalid signature: left bytes after parsing");return{r:t.decode(Y),s:t.decode(F)}},hexFromSig(y){const{_tlv:r,_int:t}=U,B=r.encode(2,t.encode(y.r)),R=r.encode(2,t.encode(y.s)),z=B+R;return r.encode(48,z)}};function st(y,r){return a.bytesToHex(a.numberToBytesBE(y,r))}const I=BigInt(0),O=BigInt(1);BigInt(2);const it=BigInt(3),dt=BigInt(4);function lt(y){const r=ut(y),{Fp:t}=r,B=K.Field(r.n,r.nBitLength),R=r.toBytes||((w,e,s)=>{const c=e.toAffine();return a.concatBytes(Uint8Array.from([4]),t.toBytes(c.x),t.toBytes(c.y))}),z=r.fromBytes||(w=>{const e=w.subarray(1),s=t.fromBytes(e.subarray(0,t.BYTES)),c=t.fromBytes(e.subarray(t.BYTES,2*t.BYTES));return{x:s,y:c}});function T(w){const{a:e,b:s}=r,c=t.sqr(w),f=t.mul(c,w);return t.add(t.add(f,t.mul(w,e)),s)}function Y(w,e){const s=t.sqr(e),c=T(w);return t.eql(s,c)}if(!Y(r.Gx,r.Gy))throw new Error("bad curve params: generator point");const S=t.mul(t.pow(r.a,it),dt),F=t.mul(t.sqr(r.b),BigInt(27));if(t.is0(t.add(S,F)))throw new Error("bad curve params: a or b");function A(w){return a.inRange(w,O,r.n)}function D(w){const{allowedPrivateKeyLengths:e,nByteLength:s,wrapPrivateKey:c,n:f}=r;if(e&&typeof w!="bigint"){if(a.isBytes(w)&&(w=a.bytesToHex(w)),typeof w!="string"||!e.includes(w.length))throw new Error("invalid private key");w=w.padStart(s*2,"0")}let g;try{g=typeof w=="bigint"?w:a.bytesToNumberBE(a.ensureBytes("private key",w,s))}catch{throw new Error("invalid private key, expected hex or "+s+" bytes, got "+typeof w)}return c&&(g=K.mod(g,f)),a.aInRange("private key",g,O,f),g}function _(w){if(!(w instanceof E))throw new Error("ProjectivePoint expected")}const nt=a.memoized((w,e)=>{const{px:s,py:c,pz:f}=w;if(t.eql(f,t.ONE))return{x:s,y:c};const g=w.is0();e==null&&(e=g?t.ONE:t.inv(f));const v=t.mul(s,e),b=t.mul(c,e),l=t.mul(f,e);if(g)return{x:t.ZERO,y:t.ZERO};if(!t.eql(l,t.ONE))throw new Error("invZ was invalid");return{x:v,y:b}}),G=a.memoized(w=>{if(w.is0()){if(r.allowInfinityPoint&&!t.is0(w.py))return;throw new Error("bad point: ZERO")}const{x:e,y:s}=w.toAffine();if(!t.isValid(e)||!t.isValid(s))throw new Error("bad point: x or y not FE");if(!Y(e,s))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class E{constructor(e,s,c){if(e==null||!t.isValid(e))throw new Error("x required");if(s==null||!t.isValid(s)||t.is0(s))throw new Error("y required");if(c==null||!t.isValid(c))throw new Error("z required");this.px=e,this.py=s,this.pz=c,Object.freeze(this)}static fromAffine(e){const{x:s,y:c}=e||{};if(!e||!t.isValid(s)||!t.isValid(c))throw new Error("invalid affine point");if(e instanceof E)throw new Error("projective point not allowed");const f=g=>t.eql(g,t.ZERO);return f(s)&&f(c)?E.ZERO:new E(s,c,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const s=K.FpInvertBatch(t,e.map(c=>c.pz));return e.map((c,f)=>c.toAffine(s[f])).map(E.fromAffine)}static fromHex(e){const s=E.fromAffine(z(a.ensureBytes("pointHex",e)));return s.assertValidity(),s}static fromPrivateKey(e){return E.BASE.multiply(D(e))}static msm(e,s){return et.pippenger(E,B,e,s)}_setWindowSize(e){C.setWindowSize(this,e)}assertValidity(){G(this)}hasEvenY(){const{y:e}=this.toAffine();if(t.isOdd)return!t.isOdd(e);throw new Error("Field doesn't support isOdd")}equals(e){_(e);const{px:s,py:c,pz:f}=this,{px:g,py:v,pz:b}=e,l=t.eql(t.mul(s,b),t.mul(g,f)),p=t.eql(t.mul(c,b),t.mul(v,f));return l&&p}negate(){return new E(this.px,t.neg(this.py),this.pz)}double(){const{a:e,b:s}=r,c=t.mul(s,it),{px:f,py:g,pz:v}=this;let b=t.ZERO,l=t.ZERO,p=t.ZERO,u=t.mul(f,f),N=t.mul(g,g),o=t.mul(v,v),n=t.mul(f,g);return n=t.add(n,n),p=t.mul(f,v),p=t.add(p,p),b=t.mul(e,p),l=t.mul(c,o),l=t.add(b,l),b=t.sub(N,l),l=t.add(N,l),l=t.mul(b,l),b=t.mul(n,b),p=t.mul(c,p),o=t.mul(e,o),n=t.sub(u,o),n=t.mul(e,n),n=t.add(n,p),p=t.add(u,u),u=t.add(p,u),u=t.add(u,o),u=t.mul(u,n),l=t.add(l,u),o=t.mul(g,v),o=t.add(o,o),u=t.mul(o,n),b=t.sub(b,u),p=t.mul(o,N),p=t.add(p,p),p=t.add(p,p),new E(b,l,p)}add(e){_(e);const{px:s,py:c,pz:f}=this,{px:g,py:v,pz:b}=e;let l=t.ZERO,p=t.ZERO,u=t.ZERO;const N=r.a,o=t.mul(r.b,it);let n=t.mul(s,g),i=t.mul(c,v),m=t.mul(f,b),d=t.add(s,c),h=t.add(g,v);d=t.mul(d,h),h=t.add(n,i),d=t.sub(d,h),h=t.add(s,f);let x=t.add(g,b);return h=t.mul(h,x),x=t.add(n,m),h=t.sub(h,x),x=t.add(c,f),l=t.add(v,b),x=t.mul(x,l),l=t.add(i,m),x=t.sub(x,l),u=t.mul(N,h),l=t.mul(o,m),u=t.add(l,u),l=t.sub(i,u),u=t.add(i,u),p=t.mul(l,u),i=t.add(n,n),i=t.add(i,n),m=t.mul(N,m),h=t.mul(o,h),i=t.add(i,m),m=t.sub(n,m),m=t.mul(N,m),h=t.add(h,m),n=t.mul(i,h),p=t.add(p,n),n=t.mul(x,h),l=t.mul(d,l),l=t.sub(l,n),n=t.mul(d,i),u=t.mul(x,u),u=t.add(u,n),new E(l,p,u)}subtract(e){return this.add(e.negate())}is0(){return this.equals(E.ZERO)}wNAF(e){return C.wNAFCached(this,e,E.normalizeZ)}multiplyUnsafe(e){const{endo:s,n:c}=r;a.aInRange("scalar",e,I,c);const f=E.ZERO;if(e===I)return f;if(this.is0()||e===O)return this;if(!s||C.hasPrecomputes(this))return C.wNAFCachedUnsafe(this,e,E.normalizeZ);let{k1neg:g,k1:v,k2neg:b,k2:l}=s.splitScalar(e),p=f,u=f,N=this;for(;v>I||l>I;)v&O&&(p=p.add(N)),l&O&&(u=u.add(N)),N=N.double(),v>>=O,l>>=O;return g&&(p=p.negate()),b&&(u=u.negate()),u=new E(t.mul(u.px,s.beta),u.py,u.pz),p.add(u)}multiply(e){const{endo:s,n:c}=r;a.aInRange("scalar",e,O,c);let f,g;if(s){const{k1neg:v,k1:b,k2neg:l,k2:p}=s.splitScalar(e);let{p:u,f:N}=this.wNAF(b),{p:o,f:n}=this.wNAF(p);u=C.constTimeNegate(v,u),o=C.constTimeNegate(l,o),o=new E(t.mul(o.px,s.beta),o.py,o.pz),f=u.add(o),g=N.add(n)}else{const{p:v,f:b}=this.wNAF(e);f=v,g=b}return E.normalizeZ([f,g])[0]}multiplyAndAddUnsafe(e,s,c){const f=E.BASE,g=(b,l)=>l===I||l===O||!b.equals(f)?b.multiplyUnsafe(l):b.multiply(l),v=g(this,s).add(g(e,c));return v.is0()?void 0:v}toAffine(e){return nt(this,e)}isTorsionFree(){const{h:e,isTorsionFree:s}=r;if(e===O)return!0;if(s)return s(E,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:s}=r;return e===O?this:s?s(E,this):this.multiplyUnsafe(r.h)}toRawBytes(e=!0){return a.abool("isCompressed",e),this.assertValidity(),R(E,this,e)}toHex(e=!0){return a.abool("isCompressed",e),a.bytesToHex(this.toRawBytes(e))}}E.BASE=new E(r.Gx,r.Gy,t.ONE),E.ZERO=new E(t.ZERO,t.ONE,t.ZERO);const{endo:tt,nBitLength:H}=r,C=et.wNAF(E,tt?Math.ceil(H/2):H);return{CURVE:r,ProjectivePoint:E,normPrivateKeyToScalar:D,weierstrassEquation:T,isWithinCurveOrder:A}}function ft(y){const r=et.validateBasic(y);return a.validateObject(r,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...r})}function ht(y){const r=ft(y),{Fp:t,n:B,nByteLength:R,nBitLength:z}=r,T=t.BYTES+1,Y=2*t.BYTES+1;function S(o){return K.mod(o,B)}function F(o){return K.invert(o,B)}const{ProjectivePoint:A,normPrivateKeyToScalar:D,weierstrassEquation:_,isWithinCurveOrder:nt}=lt({...r,toBytes(o,n,i){const m=n.toAffine(),d=t.toBytes(m.x),h=a.concatBytes;return a.abool("isCompressed",i),i?h(Uint8Array.from([n.hasEvenY()?2:3]),d):h(Uint8Array.from([4]),d,t.toBytes(m.y))},fromBytes(o){const n=o.length,i=o[0],m=o.subarray(1);if(n===T&&(i===2||i===3)){const d=a.bytesToNumberBE(m);if(!a.inRange(d,O,t.ORDER))throw new Error("Point is not on curve");const h=_(d);let x;try{x=t.sqrt(h)}catch(L){const q=L instanceof Error?": "+L.message:"";throw new Error("Point is not on curve"+q)}const Z=(x&O)===O;return(i&1)===1!==Z&&(x=t.neg(x)),{x:d,y:x}}else if(n===Y&&i===4){const d=t.fromBytes(m.subarray(0,t.BYTES)),h=t.fromBytes(m.subarray(t.BYTES,2*t.BYTES));return{x:d,y:h}}else{const d=T,h=Y;throw new Error("invalid Point, expected length of "+d+", or uncompressed "+h+", got "+n)}}});function G(o){const n=B>>O;return o>n}function E(o){return G(o)?S(-o):o}const tt=(o,n,i)=>a.bytesToNumberBE(o.slice(n,i));class H{constructor(n,i,m){a.aInRange("r",n,O,B),a.aInRange("s",i,O,B),this.r=n,this.s=i,m!=null&&(this.recovery=m),Object.freeze(this)}static fromCompact(n){const i=R;return n=a.ensureBytes("compactSignature",n,i*2),new H(tt(n,0,i),tt(n,i,2*i))}static fromDER(n){const{r:i,s:m}=U.toSig(a.ensureBytes("DER",n));return new H(i,m)}assertValidity(){}addRecoveryBit(n){return new H(this.r,this.s,n)}recoverPublicKey(n){const{r:i,s:m,recovery:d}=this,h=f(a.ensureBytes("msgHash",n));if(d==null||![0,1,2,3].includes(d))throw new Error("recovery id invalid");const x=d===2||d===3?i+r.n:i;if(x>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const Z=d&1?"03":"02",V=A.fromHex(Z+st(x,t.BYTES)),L=F(x),q=S(-h*L),X=S(m*L),j=A.BASE.multiplyAndAddUnsafe(V,q,X);if(!j)throw new Error("point at infinify");return j.assertValidity(),j}hasHighS(){return G(this.s)}normalizeS(){return this.hasHighS()?new H(this.r,S(-this.s),this.recovery):this}toDERRawBytes(){return a.hexToBytes(this.toDERHex())}toDERHex(){return U.hexFromSig(this)}toCompactRawBytes(){return a.hexToBytes(this.toCompactHex())}toCompactHex(){const n=R;return st(this.r,n)+st(this.s,n)}}const C={isValidPrivateKey(o){try{return D(o),!0}catch{return!1}},normPrivateKeyToScalar:D,randomPrivateKey:()=>{const o=K.getMinHashLength(r.n);return K.mapHashToField(r.randomBytes(o),r.n)},precompute(o=8,n=A.BASE){return n._setWindowSize(o),n.multiply(BigInt(3)),n}};function w(o,n=!0){return A.fromPrivateKey(o).toRawBytes(n)}function e(o){if(typeof o=="bigint")return!1;if(o instanceof A)return!0;const i=a.ensureBytes("key",o).length,m=t.BYTES,d=m+1,h=2*m+1;if(!(r.allowedPrivateKeyLengths||R===d))return i===d||i===h}function s(o,n,i=!0){if(e(o)===!0)throw new Error("first arg must be private key");if(e(n)===!1)throw new Error("second arg must be public key");return A.fromHex(n).multiply(D(o)).toRawBytes(i)}const c=r.bits2int||function(o){if(o.length>8192)throw new Error("input is too large");const n=a.bytesToNumberBE(o),i=o.length*8-z;return i>0?n>>BigInt(i):n},f=r.bits2int_modN||function(o){return S(c(o))},g=a.bitMask(z);function v(o){return a.aInRange("num < 2^"+z,o,I,g),a.numberToBytesBE(o,R)}function b(o,n,i=l){if(["recovered","canonical"].some(P=>P in i))throw new Error("sign() legacy options not supported");const{hash:m,randomBytes:d}=r;let{lowS:h,prehash:x,extraEntropy:Z}=i;h==null&&(h=!0),o=a.ensureBytes("msgHash",o),at(i),x&&(o=a.ensureBytes("prehashed msgHash",m(o)));const V=f(o),L=D(n),q=[v(L),v(V)];if(Z!=null&&Z!==!1){const P=Z===!0?d(t.BYTES):Z;q.push(a.ensureBytes("extraEntropy",P))}const X=a.concatBytes(...q),j=V;function rt(P){const M=c(P);if(!nt(M))return;const ot=F(M),Q=A.BASE.multiply(M).toAffine(),k=S(Q.x);if(k===I)return;const $=S(ot*S(j+k*L));if($===I)return;let J=(Q.x===k?0:2)|Number(Q.y&O),W=$;return h&&G($)&&(W=E($),J^=1),new H(k,W,J)}return{seed:X,k2sig:rt}}const l={lowS:r.lowS,prehash:!1},p={lowS:r.lowS,prehash:!1};function u(o,n,i=l){const{seed:m,k2sig:d}=b(o,n,i),h=r;return a.createHmacDrbg(h.hash.outputLen,h.nByteLength,h.hmac)(m,d)}A.BASE._setWindowSize(8);function N(o,n,i,m=p){var J;const d=o;n=a.ensureBytes("msgHash",n),i=a.ensureBytes("publicKey",i);const{lowS:h,prehash:x,format:Z}=m;if(at(m),"strict"in m)throw new Error("options.strict was renamed to lowS");if(Z!==void 0&&Z!=="compact"&&Z!=="der")throw new Error("format must be compact or der");const V=typeof d=="string"||a.isBytes(d),L=!V&&!Z&&typeof d=="object"&&d!==null&&typeof d.r=="bigint"&&typeof d.s=="bigint";if(!V&&!L)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let q,X;try{if(L&&(q=new H(d.r,d.s)),V){try{Z!=="compact"&&(q=H.fromDER(d))}catch(W){if(!(W instanceof U.Err))throw W}!q&&Z!=="der"&&(q=H.fromCompact(d))}X=A.fromHex(i)}catch{return!1}if(!q||h&&q.hasHighS())return!1;x&&(n=r.hash(n));const{r:j,s:rt}=q,P=f(n),M=F(rt),ot=S(P*M),Q=S(j*M),k=(J=A.BASE.multiplyAndAddUnsafe(X,ot,Q))==null?void 0:J.toAffine();return k?S(k.x)===j:!1}return{CURVE:r,getPublicKey:w,getSharedSecret:s,sign:u,verify:N,ProjectivePoint:A,Signature:H,utils:C}}exports.DER=U;exports.DERErr=ct;exports.weierstrass=ht;exports.weierstrassPoints=lt;
package/dist/index379.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { validateBasic as mt, pippenger as bt, wNAF as vt } from "./index380.js";
2
2
  import { Field as Bt, mod as wt, getMinHashLength as xt, mapHashToField as St, FpInvertBatch as Rt, invert as Ot } from "./index346.js";
3
- import { bytesToNumberBE as _, bitMask as At, validateObject as pt, concatBytes as lt, aInRange as W, ensureBytes as F, hexToBytes as dt, isBytes as yt, createHmacDrbg as Tt, memoized as ft, abool as tt, bytesToHex as ut, inRange as gt, numberToHexUnpadded as rt, numberToBytesBE as Et } from "./index357.js";
3
+ import { bytesToNumberBE as _, bitMask as At, validateObject as pt, concatBytes as lt, aInRange as W, ensureBytes as F, hexToBytes as dt, isBytes as yt, createHmacDrbg as Tt, memoized as ft, abool as tt, bytesToHex as ut, inRange as gt, numberToHexUnpadded as rt, numberToBytesBE as Et } from "./index359.js";
4
4
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
5
5
  function ht(m) {
6
6
  m.lowS !== void 0 && tt("lowS", m.lowS), m.prehash !== void 0 && tt("prehash", m.prehash);
package/dist/index380.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("./index346.cjs"),m=require("./index357.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const E=BigInt(0),A=BigInt(1);function N(e,a){const t=a.negate();return e?t:a}function x(e,a){if(!Number.isSafeInteger(e)||e<=0||e>a)throw new Error("invalid window size, expected [1.."+a+"], got W="+e)}function b(e,a){x(e,a);const t=Math.ceil(a/e)+1,n=2**(e-1),o=2**e,i=m.bitMask(e),r=BigInt(e);return{windows:t,windowSize:n,mask:i,maxNumber:o,shiftBy:r}}function M(e,a,t){const{windowSize:n,mask:o,maxNumber:i,shiftBy:r}=t;let f=Number(e&o),s=e>>r;f>n&&(f-=i,s+=A);const c=a*n,d=c+Math.abs(f)-1,g=f===0,l=f<0,u=a%2!==0;return{nextN:s,offset:d,isZero:g,isNeg:l,isNegF:u,offsetF:c}}function O(e,a){if(!Array.isArray(e))throw new Error("array expected");e.forEach((t,n)=>{if(!(t instanceof a))throw new Error("invalid point at index "+n)})}function z(e,a){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((t,n)=>{if(!a.isValid(t))throw new Error("invalid scalar at index "+n)})}const S=new WeakMap,I=new WeakMap;function F(e){return I.get(e)||1}function k(e,a){return{constTimeNegate:N,hasPrecomputes(t){return F(t)!==1},unsafeLadder(t,n,o=e.ZERO){let i=t;for(;n>E;)n&A&&(o=o.add(i)),i=i.double(),n>>=A;return o},precomputeWindow(t,n){const{windows:o,windowSize:i}=b(n,a),r=[];let f=t,s=f;for(let c=0;c<o;c++){s=f,r.push(s);for(let d=1;d<i;d++)s=s.add(f),r.push(s);f=s.double()}return r},wNAF(t,n,o){let i=e.ZERO,r=e.BASE;const f=b(t,a);for(let s=0;s<f.windows;s++){const{nextN:c,offset:d,isZero:g,isNeg:l,isNegF:u,offsetF:h}=M(o,s,f);o=c,g?r=r.add(N(u,n[h])):i=i.add(N(l,n[d]))}return{p:i,f:r}},wNAFUnsafe(t,n,o,i=e.ZERO){const r=b(t,a);for(let f=0;f<r.windows&&o!==E;f++){const{nextN:s,offset:c,isZero:d,isNeg:g}=M(o,f,r);if(o=s,!d){const l=n[c];i=i.add(g?l.negate():l)}}return i},getPrecomputes(t,n,o){let i=S.get(n);return i||(i=this.precomputeWindow(n,t),t!==1&&S.set(n,o(i))),i},wNAFCached(t,n,o){const i=F(t);return this.wNAF(i,this.getPrecomputes(i,t,o),n)},wNAFCachedUnsafe(t,n,o,i){const r=F(t);return r===1?this.unsafeLadder(t,n,i):this.wNAFUnsafe(r,this.getPrecomputes(r,t,o),n,i)},setWindowSize(t,n){x(n,a),I.set(t,n),S.delete(t)}}}function L(e,a,t,n){O(t,e),z(n,a);const o=t.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");const r=e.ZERO,f=m.bitLen(BigInt(o));let s=1;f>12?s=f-3:f>4?s=f-2:f>0&&(s=2);const c=m.bitMask(s),d=new Array(Number(c)+1).fill(r),g=Math.floor((a.BITS-1)/s)*s;let l=r;for(let u=g;u>=0;u-=s){d.fill(r);for(let w=0;w<i;w++){const p=n[w],y=Number(p>>BigInt(u)&c);d[y]=d[y].add(t[w])}let h=r;for(let w=d.length-1,p=r;w>0;w--)p=p.add(d[w]),h=h.add(p);if(l=l.add(h),u!==0)for(let w=0;w<s;w++)l=l.double()}return l}function Z(e){return B.validateField(e.Fp),m.validateObject(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...B.nLength(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}exports.pippenger=L;exports.validateBasic=Z;exports.wNAF=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("./index346.cjs"),m=require("./index359.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const E=BigInt(0),A=BigInt(1);function N(e,a){const t=a.negate();return e?t:a}function x(e,a){if(!Number.isSafeInteger(e)||e<=0||e>a)throw new Error("invalid window size, expected [1.."+a+"], got W="+e)}function b(e,a){x(e,a);const t=Math.ceil(a/e)+1,n=2**(e-1),o=2**e,i=m.bitMask(e),r=BigInt(e);return{windows:t,windowSize:n,mask:i,maxNumber:o,shiftBy:r}}function M(e,a,t){const{windowSize:n,mask:o,maxNumber:i,shiftBy:r}=t;let f=Number(e&o),s=e>>r;f>n&&(f-=i,s+=A);const c=a*n,d=c+Math.abs(f)-1,g=f===0,l=f<0,u=a%2!==0;return{nextN:s,offset:d,isZero:g,isNeg:l,isNegF:u,offsetF:c}}function O(e,a){if(!Array.isArray(e))throw new Error("array expected");e.forEach((t,n)=>{if(!(t instanceof a))throw new Error("invalid point at index "+n)})}function z(e,a){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((t,n)=>{if(!a.isValid(t))throw new Error("invalid scalar at index "+n)})}const S=new WeakMap,I=new WeakMap;function F(e){return I.get(e)||1}function k(e,a){return{constTimeNegate:N,hasPrecomputes(t){return F(t)!==1},unsafeLadder(t,n,o=e.ZERO){let i=t;for(;n>E;)n&A&&(o=o.add(i)),i=i.double(),n>>=A;return o},precomputeWindow(t,n){const{windows:o,windowSize:i}=b(n,a),r=[];let f=t,s=f;for(let c=0;c<o;c++){s=f,r.push(s);for(let d=1;d<i;d++)s=s.add(f),r.push(s);f=s.double()}return r},wNAF(t,n,o){let i=e.ZERO,r=e.BASE;const f=b(t,a);for(let s=0;s<f.windows;s++){const{nextN:c,offset:d,isZero:g,isNeg:l,isNegF:u,offsetF:h}=M(o,s,f);o=c,g?r=r.add(N(u,n[h])):i=i.add(N(l,n[d]))}return{p:i,f:r}},wNAFUnsafe(t,n,o,i=e.ZERO){const r=b(t,a);for(let f=0;f<r.windows&&o!==E;f++){const{nextN:s,offset:c,isZero:d,isNeg:g}=M(o,f,r);if(o=s,!d){const l=n[c];i=i.add(g?l.negate():l)}}return i},getPrecomputes(t,n,o){let i=S.get(n);return i||(i=this.precomputeWindow(n,t),t!==1&&S.set(n,o(i))),i},wNAFCached(t,n,o){const i=F(t);return this.wNAF(i,this.getPrecomputes(i,t,o),n)},wNAFCachedUnsafe(t,n,o,i){const r=F(t);return r===1?this.unsafeLadder(t,n,i):this.wNAFUnsafe(r,this.getPrecomputes(r,t,o),n,i)},setWindowSize(t,n){x(n,a),I.set(t,n),S.delete(t)}}}function L(e,a,t,n){O(t,e),z(n,a);const o=t.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");const r=e.ZERO,f=m.bitLen(BigInt(o));let s=1;f>12?s=f-3:f>4?s=f-2:f>0&&(s=2);const c=m.bitMask(s),d=new Array(Number(c)+1).fill(r),g=Math.floor((a.BITS-1)/s)*s;let l=r;for(let u=g;u>=0;u-=s){d.fill(r);for(let w=0;w<i;w++){const p=n[w],y=Number(p>>BigInt(u)&c);d[y]=d[y].add(t[w])}let h=r;for(let w=d.length-1,p=r;w>0;w--)p=p.add(d[w]),h=h.add(p);if(l=l.add(h),u!==0)for(let w=0;w<s;w++)l=l.double()}return l}function Z(e){return B.validateField(e.Fp),m.validateObject(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...B.nLength(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}exports.pippenger=L;exports.validateBasic=Z;exports.wNAF=k;
package/dist/index380.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { validateField as M, nLength as z } from "./index346.js";
2
- import { validateObject as O, bitLen as k, bitMask as x } from "./index357.js";
2
+ import { validateObject as O, bitLen as k, bitMask as x } from "./index359.js";
3
3
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
4
4
  const E = BigInt(0), F = BigInt(1);
5
5
  function m(e, a) {
package/dist/index381.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class i extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const s=this.keys().next().value;s&&this.delete(s)}return this}}exports.LruMap=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.1.1";exports.version=e;