@gurge/sdk 0.3.26 → 0.3.28

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 (106) hide show
  1. package/common/src/crypto/BabyJubRN.cjs +1 -0
  2. package/common/src/crypto/BabyJubRN.d.ts +2 -0
  3. package/common/src/crypto/BabyJubRN.mjs +66 -0
  4. package/common/src/crypto/EddsaRN.cjs +1 -0
  5. package/common/src/crypto/EddsaRN.mjs +41 -0
  6. package/common/src/crypto/babyJub.cjs +1 -1
  7. package/common/src/crypto/babyJub.mjs +6 -12
  8. package/common/src/crypto/eddsa.cjs +1 -1
  9. package/common/src/crypto/eddsa.mjs +6 -12
  10. package/common/src/crypto/poseidon.cjs +1 -1
  11. package/common/src/crypto/poseidon.mjs +6 -12
  12. package/common/src/crypto/preProcessing.cjs +1 -1
  13. package/common/src/crypto/preProcessing.mjs +13 -23
  14. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  15. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +1 -1
  16. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  17. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +1 -1
  18. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  19. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +1 -1
  20. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  21. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +1 -1
  22. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  23. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
  24. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  25. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +1 -1
  26. package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  27. package/common/src/data-structures/Hinkal/hinkalSwap.mjs +1 -1
  28. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  29. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +1 -1
  30. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  31. package/common/src/data-structures/Hinkal/hinkalWithdraw.d.ts +3 -1
  32. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +32 -43
  33. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  34. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +2 -2
  35. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
  36. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
  37. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  38. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +26 -42
  39. package/common/src/data-structures/utxo/Utxo.cjs +1 -1
  40. package/common/src/data-structures/utxo/Utxo.d.ts +0 -1
  41. package/common/src/data-structures/utxo/Utxo.mjs +6 -19
  42. package/common/src/functions/index.cjs +1 -1
  43. package/common/src/functions/index.mjs +1 -0
  44. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  45. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +43 -86
  46. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  47. package/common/src/functions/pre-transaction/outputUtxoProcessing.d.ts +2 -2
  48. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +22 -28
  49. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  50. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +43 -49
  51. package/common/src/functions/utils/bigint-math.utils.cjs +1 -1
  52. package/common/src/functions/utils/bigint-math.utils.d.ts +2 -0
  53. package/common/src/functions/utils/bigint-math.utils.mjs +18 -1
  54. package/common/src/functions/utils/index.cjs +1 -1
  55. package/common/src/functions/utils/index.mjs +1 -1
  56. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  57. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +44 -94
  58. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  59. package/common/src/functions/web3/events/getShieldedBalance.mjs +64 -64
  60. package/common/src/webworker/logError-D8yBaP96.js +2 -0
  61. package/common/src/webworker/package.json +1 -1
  62. package/common/src/webworker/performTaskWithWorker.cjs +1 -1
  63. package/common/src/webworker/performTaskWithWorker.mjs +17 -18
  64. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  65. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  66. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  67. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -4
  68. package/common/src/webworker/viteWorkerURL.constant.d.ts +0 -1
  69. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -4
  70. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  71. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  72. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  73. package/package.json +1 -1
  74. package/react-native/HinkalWebViewWorker.cjs +4 -76
  75. package/react-native/HinkalWebViewWorker.mjs +49 -152
  76. package/react-native/bridge/HinkalRNWorker.cjs +1 -1
  77. package/react-native/bridge/HinkalRNWorker.d.ts +0 -1
  78. package/react-native/bridge/HinkalRNWorker.mjs +11 -16
  79. package/react-native/shims/circomlibjs-hinkal-fork.js +2 -2
  80. package/react-native/shims/circomlibjs.js +2 -2
  81. package/react-native/workerCDNUrls.cjs +1 -1
  82. package/react-native/workerCDNUrls.d.ts +0 -1
  83. package/react-native/workerCDNUrls.mjs +2 -2
  84. package/sdk/package.json.cjs +1 -1
  85. package/sdk/package.json.mjs +1 -1
  86. package/common/src/crypto/rnCryptoBridge.cjs +0 -1
  87. package/common/src/crypto/rnCryptoBridge.d.ts +0 -8
  88. package/common/src/crypto/rnCryptoBridge.mjs +0 -10
  89. package/common/src/crypto/rnUtxoCrypto.cjs +0 -1
  90. package/common/src/crypto/rnUtxoCrypto.d.ts +0 -14
  91. package/common/src/crypto/rnUtxoCrypto.mjs +0 -40
  92. package/common/src/functions/utils/hinkalTiming.utils.cjs +0 -1
  93. package/common/src/functions/utils/hinkalTiming.utils.d.ts +0 -11
  94. package/common/src/functions/utils/hinkalTiming.utils.mjs +0 -21
  95. package/common/src/functions/utils/utxoPadding.utils.cjs +0 -1
  96. package/common/src/functions/utils/utxoPadding.utils.d.ts +0 -2
  97. package/common/src/functions/utils/utxoPadding.utils.mjs +0 -14
  98. package/common/src/webworker/cryptoWorker/cryptoWorker.types.cjs +0 -1
  99. package/common/src/webworker/cryptoWorker/cryptoWorker.types.d.ts +0 -49
  100. package/common/src/webworker/cryptoWorker/cryptoWorker.types.mjs +0 -6
  101. package/common/src/webworker/cryptoWorker/cryptoWorkerLauncher.d.ts +0 -1
  102. package/common/src/webworker/cryptoWorker/cryptoWorkerLogic.d.ts +0 -2
  103. package/common/src/webworker/logError-DFS-H2t0.js +0 -2
  104. package/react-native/bridge/RnWebViewCryptoBridge.cjs +0 -1
  105. package/react-native/bridge/RnWebViewCryptoBridge.d.ts +0 -7
  106. package/react-native/bridge/RnWebViewCryptoBridge.mjs +0 -49
@@ -1,27 +1,19 @@
1
- import { RnCryptoBridgeFactory as e } from "../common/src/crypto/rnCryptoBridge.mjs";
2
- import { logRnDeltaEvent as t } from "../common/src/functions/utils/hinkalTiming.utils.mjs";
3
- import { WorkerFactory as n } from "../common/src/webworker/workerFactory.mjs";
4
- import { CRYPTO_ENGINE_CDN_URL as r, WORKER_CDN_URLS as i } from "./workerCDNUrls.mjs";
5
- import { bigIntReplacer as a, reviveBigInts as o } from "./bridge/serialization.utils.mjs";
6
- import { HinkalRNWorker as s } from "./bridge/HinkalRNWorker.mjs";
7
- import { RnWebViewCryptoBridge as c } from "./bridge/RnWebViewCryptoBridge.mjs";
8
- import { useCallback as l, useEffect as u, useRef as d } from "react";
9
- import { DeviceEventEmitter as f, StyleSheet as p, View as m } from "react-native";
10
- import { WebView as h } from "react-native-webview";
11
- import { jsx as g } from "react/jsx-runtime";
1
+ import { WorkerFactory as e } from "../common/src/webworker/workerFactory.mjs";
2
+ import { WORKER_CDN_URLS as t } from "./workerCDNUrls.mjs";
3
+ import { bigIntReplacer as n, reviveBigInts as r } from "./bridge/serialization.utils.mjs";
4
+ import { HinkalRNWorker as i } from "./bridge/HinkalRNWorker.mjs";
5
+ import { useCallback as a, useEffect as o, useRef as s } from "react";
6
+ import { DeviceEventEmitter as c, StyleSheet as l, View as u } from "react-native";
7
+ import { WebView as d } from "react-native-webview";
8
+ import { jsx as f } from "react/jsx-runtime";
12
9
  //#region libs/shared/sdk/src/react-native/HinkalWebViewWorker.tsx
13
- var _ = `${new URL(Object.values(i)[0]).origin}/`;
14
- n.rnWorkerFactory = (e) => new s(e);
15
- var v = `
10
+ var p = `${new URL(Object.values(t)[0]).origin}/`;
11
+ e.rnWorkerFactory = (e) => new i(e);
12
+ var m = `
16
13
  if (!window.__hinkalPageBoot) (function(){
17
14
  window.__hinkalPageBoot = true;
18
- var URLS = ${JSON.stringify(i)};
19
- var CRYPTO_URL = ${JSON.stringify(r)};
15
+ var URLS = ${JSON.stringify(t)};
20
16
  var BLOBS = {};
21
- var cryptoWorker = null;
22
- var cryptoReady = false;
23
- var cryptoInitPromise = null;
24
- var cryptoPending = {};
25
17
 
26
18
  function replacer(_key, value){
27
19
  if (typeof value === 'bigint') return { __bigint: value.toString() };
@@ -41,9 +33,6 @@ if (!window.__hinkalPageBoot) (function(){
41
33
  var out = {}; for (var i = 0; i < keys.length; i++) out[keys[i]] = revive(value[keys[i]]); return out;
42
34
  }
43
35
  function post(payload){ try { window.ReactNativeWebView.postMessage(JSON.stringify(payload, replacer)); } catch(_){} }
44
- function postPhase(requestId, variant, phase, t0){
45
- post({ type: 'TIMING', requestId: requestId, variant: variant, phase: phase, ms: Date.now() - t0 });
46
- }
47
36
  function describe(error){
48
37
  if (!error) return 'worker error';
49
38
  if (error.message) return error.message;
@@ -64,77 +53,15 @@ if (!window.__hinkalPageBoot) (function(){
64
53
  try { return new Worker(url, { type: 'module' }); } catch(_){ return new Worker(url); }
65
54
  }
66
55
 
67
- function postCrypto(payload){ post(Object.assign({ channel: 'crypto' }, payload)); }
68
-
69
- async function ensureCryptoWorker(){
70
- if (cryptoReady) return cryptoWorker;
71
- if (cryptoInitPromise) return cryptoInitPromise;
72
- cryptoInitPromise = new Promise(function(resolve, reject){
73
- blobUrl(CRYPTO_URL).then(function(url){
74
- cryptoWorker = spawn(url);
75
- cryptoWorker.onmessage = function(event){
76
- var data = event && event.data;
77
- if (!data || typeof data !== 'object') return;
78
- if (data.type === 'ready') {
79
- cryptoReady = true;
80
- resolve(cryptoWorker);
81
- return;
82
- }
83
- if (data.requestId && cryptoPending[data.requestId]) {
84
- cryptoPending[data.requestId](data);
85
- delete cryptoPending[data.requestId];
86
- }
87
- };
88
- cryptoWorker.onerror = function(event){ reject(new Error(describe(event))); };
89
- cryptoWorker.postMessage({ op: 'init' });
90
- }).catch(reject);
91
- });
92
- return cryptoInitPromise;
93
- }
94
-
95
- function cryptoCall(requestId, op, payload){
96
- ensureCryptoWorker().then(function(worker){
97
- cryptoPending[requestId] = function(response){
98
- if (response.type === 'result') postCrypto({ requestId: requestId, type: 'RESULT', data: response.data });
99
- else postCrypto({ requestId: requestId, type: 'ERROR', error: response.error || 'crypto worker error' });
100
- };
101
- worker.postMessage({ requestId: requestId, op: op, payload: payload });
102
- }).catch(function(error){
103
- postCrypto({ requestId: requestId, type: 'ERROR', error: describe(error) });
104
- });
105
- }
106
-
107
- window.handleCryptoMessage = function(envelope){
108
- if (!envelope || typeof envelope !== 'object') return;
109
- if (envelope.type === 'INIT') {
110
- ensureCryptoWorker().then(function(){
111
- postCrypto({ type: 'CRYPTO_READY', requestId: envelope.requestId });
112
- }).catch(function(error){
113
- postCrypto({ type: 'ERROR', requestId: envelope.requestId, error: describe(error) });
114
- });
115
- return;
116
- }
117
- if (envelope.type === 'CALL') {
118
- cryptoCall(envelope.requestId, envelope.op, revive(envelope.payload));
119
- }
120
- };
121
-
122
56
  window.handleMessage = async function(envelope){
123
57
  var requestId = envelope && envelope.requestId;
124
58
  var variant = envelope && envelope.variant;
125
59
  var message = revive(envelope && envelope.message);
126
60
  var url = URLS[variant];
127
- var t0 = Date.now();
128
- postPhase(requestId, variant, 'handleMessage-start', t0);
129
61
  if (!url) return post({ requestId: requestId, type: 'ERROR', error: 'Unknown variant: ' + variant });
130
62
 
131
63
  var worker;
132
- try {
133
- var blob = await blobUrl(url);
134
- postPhase(requestId, variant, 'cdn-blob-ready', t0);
135
- worker = spawn(blob);
136
- postPhase(requestId, variant, 'inner-worker-spawned', t0);
137
- }
64
+ try { worker = spawn(await blobUrl(url)); }
138
65
  catch (error) { return post({ requestId: requestId, type: 'ERROR', error: 'spawn failed: ' + describe(error) }); }
139
66
 
140
67
  var done = false, ready = false, pending = message;
@@ -145,7 +72,6 @@ if (!window.__hinkalPageBoot) (function(){
145
72
  if (data && typeof data === 'object') {
146
73
  if (data.__hinkalWorkerReady) {
147
74
  ready = true;
148
- postPhase(requestId, variant, 'inner-worker-ready', t0);
149
75
  try { worker.postMessage(pending); pending = null; }
150
76
  catch (error) { post({ requestId: requestId, type: 'ERROR', error: 'postMessage failed: ' + describe(error) }); finish(); }
151
77
  return;
@@ -157,7 +83,6 @@ if (!window.__hinkalPageBoot) (function(){
157
83
  }
158
84
  }
159
85
  post({ requestId: requestId, type: 'RESULT', data: data });
160
- postPhase(requestId, variant, 'inner-worker-done', t0);
161
86
  finish();
162
87
  };
163
88
  worker.onerror = function(event){
@@ -168,110 +93,82 @@ if (!window.__hinkalPageBoot) (function(){
168
93
 
169
94
  post({ type: 'READY' });
170
95
  })();
171
- true;`, y = `<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body><script>${v}<\/script></body></html>`, b = p.create({ hiddenHost: {
96
+ true;`, h = `<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body><script>${m}<\/script></body></html>`, g = l.create({ hiddenHost: {
172
97
  position: "absolute",
173
98
  height: 1,
174
99
  width: 1,
175
100
  left: -9999,
176
101
  top: -9999,
177
102
  opacity: 0
178
- } }), x = () => {
179
- let n = d(null), r = d({
103
+ } }), _ = () => {
104
+ let e = s(null), t = s({
180
105
  ready: !1,
181
106
  queue: []
182
- }), i = l((e, t, r) => {
183
- let i;
107
+ }), i = a((t, r, i) => {
108
+ let a;
184
109
  try {
185
- i = JSON.stringify({
186
- requestId: e,
187
- variant: t,
188
- message: r
189
- }, a);
190
- } catch (t) {
191
- f.emit("FROM_WEBVIEW_WORKER", {
192
- requestId: e,
110
+ a = JSON.stringify({
111
+ requestId: t,
112
+ variant: r,
113
+ message: i
114
+ }, n);
115
+ } catch (e) {
116
+ c.emit("FROM_WEBVIEW_WORKER", {
117
+ requestId: t,
193
118
  type: "ERROR",
194
- error: `serialize failed: ${t?.message ?? t}`
119
+ error: `serialize failed: ${e?.message ?? e}`
195
120
  });
196
121
  return;
197
122
  }
198
- n.current?.injectJavaScript(`window.handleMessage && window.handleMessage(${i}); true;`);
123
+ e.current?.injectJavaScript(`window.handleMessage && window.handleMessage(${a}); true;`);
199
124
  }, []);
200
- u(() => (e.bridge = new c(), () => {
201
- e.bridge = null;
202
- }), []), u(() => {
203
- let e = f.addListener("TO_WEBVIEW_WORKER", (e) => {
204
- let t = {
125
+ o(() => {
126
+ let e = c.addListener("TO_WEBVIEW_WORKER", (e) => {
127
+ let n = {
205
128
  requestId: e?.__requestId ?? "",
206
129
  variant: e?.variant ?? "",
207
130
  message: e?.message
208
131
  };
209
- r.current.ready ? i(t.requestId, t.variant, t.message) : r.current.queue.push(t);
210
- });
211
- return () => e.remove();
212
- }, [i]), u(() => {
213
- let e = f.addListener("TO_WEBVIEW_CRYPTO", (e) => {
214
- let t;
215
- try {
216
- t = JSON.stringify(e, a);
217
- } catch (e) {
218
- f.emit("FROM_WEBVIEW_CRYPTO", {
219
- type: "ERROR",
220
- error: `serialize failed: ${e?.message ?? e}`
221
- });
222
- return;
223
- }
224
- n.current?.injectJavaScript(`window.handleCryptoMessage && window.handleCryptoMessage(${t}); true;`);
132
+ t.current.ready ? i(n.requestId, n.variant, n.message) : t.current.queue.push(n);
225
133
  });
226
134
  return () => e.remove();
227
- }, []);
228
- let s = l((e) => {
135
+ }, [i]);
136
+ let l = a((e) => {
229
137
  let n;
230
138
  try {
231
- n = o(JSON.parse(e.nativeEvent.data));
139
+ n = r(JSON.parse(e.nativeEvent.data));
232
140
  } catch (e) {
233
- f.emit("FROM_WEBVIEW_WORKER", {
141
+ c.emit("FROM_WEBVIEW_WORKER", {
234
142
  type: "ERROR",
235
143
  error: e?.message ?? "parse error"
236
144
  });
237
145
  return;
238
146
  }
239
147
  if (n?.type === "READY") {
240
- r.current.ready = !0;
241
- let e = r.current.queue;
242
- r.current.queue = [], e.forEach(({ requestId: e, variant: t, message: n }) => i(e, t, n));
243
- return;
244
- }
245
- if (n?.type === "TIMING") {
246
- t(`webView.${n.variant}`, n.phase, {
247
- requestId: n.requestId,
248
- ms: n.ms
249
- });
250
- return;
251
- }
252
- if (n?.channel === "crypto") {
253
- f.emit("FROM_WEBVIEW_CRYPTO", n);
148
+ t.current.ready = !0;
149
+ let e = t.current.queue;
150
+ t.current.queue = [], e.forEach(({ requestId: e, variant: t, message: n }) => i(e, t, n));
254
151
  return;
255
152
  }
256
- f.emit("FROM_WEBVIEW_WORKER", n);
153
+ c.emit("FROM_WEBVIEW_WORKER", n);
257
154
  }, [i]);
258
- return /* @__PURE__ */ g(m, {
155
+ return /* @__PURE__ */ f(u, {
259
156
  pointerEvents: "none",
260
- style: b.hiddenHost,
261
- children: /* @__PURE__ */ g(h, {
262
- ref: n,
157
+ style: g.hiddenHost,
158
+ children: /* @__PURE__ */ f(d, {
159
+ ref: e,
263
160
  source: {
264
- html: y,
265
- baseUrl: _
161
+ html: h,
162
+ baseUrl: p
266
163
  },
267
164
  originWhitelist: ["*"],
268
165
  javaScriptEnabled: !0,
269
166
  domStorageEnabled: !0,
270
167
  androidLayerType: "hardware",
271
- onMessage: s,
272
- onLoad: () => n.current?.injectJavaScript(v)
168
+ onMessage: l,
169
+ onLoad: () => e.current?.injectJavaScript(m)
273
170
  })
274
171
  });
275
172
  };
276
173
  //#endregion
277
- export { x as default };
174
+ export { _ as default };
@@ -1 +1 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../common/src/functions/utils/hinkalTiming.utils.cjs`),t=require(`./serialization.utils.cjs`);let n=require(`react-native`);var r=class{onmessage=null;onerror=null;requestId=t.nextRequestId();sentAt=0;subscription;constructor(t){this.variant=t,this.subscription=n.DeviceEventEmitter.addListener(`FROM_WEBVIEW_WORKER`,t=>{!t||t.requestId!==this.requestId||(t.type===`RESULT`?(e.logRnDeltaEvent(`rnBridge.${this.variant}`,`round-trip`,{requestId:this.requestId,ms:Date.now()-this.sentAt}),this.onmessage?.({data:t.data})):t.type===`ERROR`&&this.onerror?.(Error(t.error??`WebView worker error`)))})}postMessage(t){this.sentAt=Date.now(),e.logRnDeltaEvent(`rnBridge.${this.variant}`,`postMessage-sent`,{requestId:this.requestId}),n.DeviceEventEmitter.emit(`TO_WEBVIEW_WORKER`,{__requestId:this.requestId,variant:this.variant,message:t})}terminate(){this.subscription?.remove?.(),this.subscription=null}};exports.HinkalRNWorker=r;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`./serialization.utils.cjs`);let t=require(`react-native`);var n=class{onmessage=null;onerror=null;requestId=e.nextRequestId();subscription;constructor(e){this.variant=e,this.subscription=t.DeviceEventEmitter.addListener(`FROM_WEBVIEW_WORKER`,e=>{!e||e.requestId!==this.requestId||(e.type===`RESULT`?this.onmessage?.({data:e.data}):e.type===`ERROR`&&this.onerror?.(Error(e.error??`WebView worker error`)))})}postMessage(e){t.DeviceEventEmitter.emit(`TO_WEBVIEW_WORKER`,{__requestId:this.requestId,variant:this.variant,message:e})}terminate(){this.subscription?.remove?.(),this.subscription=null}};exports.HinkalRNWorker=n;
@@ -6,7 +6,6 @@ export declare class HinkalRNWorker {
6
6
  }) => void) | null;
7
7
  onerror: ((error: any) => void) | null;
8
8
  private requestId;
9
- private sentAt;
10
9
  private subscription;
11
10
  constructor(variant: WorkerVariant);
12
11
  postMessage(message: unknown): void;
@@ -1,26 +1,21 @@
1
- import { logRnDeltaEvent as e } from "../../common/src/functions/utils/hinkalTiming.utils.mjs";
2
- import { nextRequestId as t } from "./serialization.utils.mjs";
3
- import { DeviceEventEmitter as n } from "react-native";
1
+ import { nextRequestId as e } from "./serialization.utils.mjs";
2
+ import { DeviceEventEmitter as t } from "react-native";
4
3
  //#region libs/shared/sdk/src/react-native/bridge/HinkalRNWorker.ts
5
- var r = class {
4
+ var n = class {
6
5
  onmessage = null;
7
6
  onerror = null;
8
- requestId = t();
9
- sentAt = 0;
7
+ requestId = e();
10
8
  subscription;
11
- constructor(t) {
12
- this.variant = t, this.subscription = n.addListener("FROM_WEBVIEW_WORKER", (t) => {
13
- !t || t.requestId !== this.requestId || (t.type === "RESULT" ? (e(`rnBridge.${this.variant}`, "round-trip", {
14
- requestId: this.requestId,
15
- ms: Date.now() - this.sentAt
16
- }), this.onmessage?.({ data: t.data })) : t.type === "ERROR" && this.onerror?.(Error(t.error ?? "WebView worker error")));
9
+ constructor(e) {
10
+ this.variant = e, this.subscription = t.addListener("FROM_WEBVIEW_WORKER", (e) => {
11
+ !e || e.requestId !== this.requestId || (e.type === "RESULT" ? this.onmessage?.({ data: e.data }) : e.type === "ERROR" && this.onerror?.(Error(e.error ?? "WebView worker error")));
17
12
  });
18
13
  }
19
- postMessage(t) {
20
- this.sentAt = Date.now(), e(`rnBridge.${this.variant}`, "postMessage-sent", { requestId: this.requestId }), n.emit("TO_WEBVIEW_WORKER", {
14
+ postMessage(e) {
15
+ t.emit("TO_WEBVIEW_WORKER", {
21
16
  __requestId: this.requestId,
22
17
  variant: this.variant,
23
- message: t
18
+ message: e
24
19
  });
25
20
  }
26
21
  terminate() {
@@ -28,4 +23,4 @@ var r = class {
28
23
  }
29
24
  };
30
25
  //#endregion
31
- export { r as HinkalRNWorker };
26
+ export { n as HinkalRNWorker };
@@ -1,8 +1,8 @@
1
1
  function notSupported(name) {
2
2
  return () => {
3
3
  throw new Error(
4
- `[hinkal-rn] circomlibjs-hinkal-fork.${name} is not available on React Native main thread. ` +
5
- 'Heavy crypto runs in the WebView worker via @hinkal/sdk.',
4
+ `[hinkal-rn] circomlibjs-hinkal-fork.${name} is not available on React Native. ` +
5
+ 'The SDK uses poseidon-lite + an inline BabyJubJub instead.',
6
6
  );
7
7
  };
8
8
  }
@@ -1,8 +1,8 @@
1
1
  function notSupported(name) {
2
2
  return () => {
3
3
  throw new Error(
4
- `[hinkal-rn] circomlibjs.${name} is not available on React Native main thread. ` +
5
- 'Heavy crypto runs in the WebView worker via @hinkal/sdk.',
4
+ `[hinkal-rn] circomlibjs.${name} is not available on React Native. ` +
5
+ 'The SDK uses poseidon-lite + an inline BabyJubJub instead.',
6
6
  );
7
7
  };
8
8
  }
@@ -1 +1 @@
1
- const e=require(`../common/src/webworker/worker.registry.cjs`),t=require(`../sdk/package.json.cjs`);var n=`https://storage.googleapis.com/hinkal-workers-staging`,r=(()=>{let e=String(t.default.version).split(`.`).map(Number);if(e.length!==3||e.some(e=>Number.isNaN(e)))throw Error(`Invalid sdk package.json version: ${t.default.version}`);return e[2]+=1,e.join(`.`)})(),i={[e.WorkerVariant.ZKProof]:`${n}/${r}/zkProofWorkerLauncher.js`,[e.WorkerVariant.SnarkJS]:`${n}/${r}/snarkjsWorkerLauncher.js`,[e.WorkerVariant.UTXO]:`${n}/${r}/utxoWorkerLauncher.js`},a=`${n}/${r}/cryptoWorkerLauncher.js`;exports.CRYPTO_ENGINE_CDN_URL=a,exports.WORKER_CDN_URLS=i;
1
+ const e=require(`../common/src/webworker/worker.registry.cjs`),t=require(`../sdk/package.json.cjs`);var n=`https://storage.googleapis.com/hinkal-workers-staging`,r=(()=>{let e=String(t.default.version).split(`.`).map(Number);if(e.length!==3||e.some(e=>Number.isNaN(e)))throw Error(`Invalid sdk package.json version: ${t.default.version}`);return e[2]+=1,e.join(`.`)})(),i={[e.WorkerVariant.ZKProof]:`${n}/${r}/zkProofWorkerLauncher.js`,[e.WorkerVariant.SnarkJS]:`${n}/${r}/snarkjsWorkerLauncher.js`,[e.WorkerVariant.UTXO]:`${n}/${r}/utxoWorkerLauncher.js`};exports.WORKER_CDN_URLS=i;
@@ -1,3 +1,2 @@
1
1
  import { WorkerVariant } from '../common/src/webworker/worker.registry';
2
2
  export declare const WORKER_CDN_URLS: Record<WorkerVariant, string>;
3
- export declare const CRYPTO_ENGINE_CDN_URL: string;
@@ -9,6 +9,6 @@ var n = "https://storage.googleapis.com/hinkal-workers-staging", r = (() => {
9
9
  [e.ZKProof]: `${n}/${r}/zkProofWorkerLauncher.js`,
10
10
  [e.SnarkJS]: `${n}/${r}/snarkjsWorkerLauncher.js`,
11
11
  [e.UTXO]: `${n}/${r}/utxoWorkerLauncher.js`
12
- }, a = `${n}/${r}/cryptoWorkerLauncher.js`;
12
+ };
13
13
  //#endregion
14
- export { a as CRYPTO_ENGINE_CDN_URL, i as WORKER_CDN_URLS };
14
+ export { i as WORKER_CDN_URLS };
@@ -1 +1 @@
1
- var e={name:`@gurge/sdk`,version:`0.3.25`,homepage:`hinkal.io`,author:{name:`Hinkal Protocol`},keywords:[`blockchain`,`privacy`,`zero-knowledge`,`stealth addresses`],exports:{".":{types:`./index.d.ts`,"react-native":`./index.cjs`,import:`./index.mjs`,default:`./index.cjs`},"./providers/WagmiProviderAdapter":{types:`./providers/WagmiProviderAdapter.d.ts`,"react-native":`./providers/WagmiProviderAdapter.cjs`,import:`./providers/WagmiProviderAdapter.mjs`,default:`./providers/WagmiProviderAdapter.cjs`},"./providers/EthersProviderAdapter":{types:`./providers/EthersProviderAdapter.d.ts`,"react-native":`./providers/EthersProviderAdapter.cjs`,import:`./providers/EthersProviderAdapter.mjs`,default:`./providers/EthersProviderAdapter.cjs`},"./providers/TronProviderAdapter":{types:`./providers/TronProviderAdapter.d.ts`,"react-native":`./providers/TronProviderAdapter.cjs`,import:`./providers/TronProviderAdapter.mjs`,default:`./providers/TronProviderAdapter.cjs`},"./providers/SolanaProviderAdapter":{types:`./providers/SolanaProviderAdapter.d.ts`,"react-native":`./providers/SolanaProviderAdapter.cjs`,import:`./providers/SolanaProviderAdapter.mjs`,default:`./providers/SolanaProviderAdapter.cjs`},"./providers/prepareEthersHinkal":{types:`./providers/prepareEthersHinkal.d.ts`,"react-native":`./providers/prepareEthersHinkal.cjs`,import:`./providers/prepareEthersHinkal.mjs`,default:`./providers/prepareEthersHinkal.cjs`},"./providers/prepareWagmiHinkal":{types:`./providers/prepareWagmiHinkal.d.ts`,"react-native":`./providers/prepareWagmiHinkal.cjs`,import:`./providers/prepareWagmiHinkal.mjs`,default:`./providers/prepareWagmiHinkal.cjs`},"./providers/prepareTronHinkal":{types:`./providers/prepareTronHinkal.d.ts`,"react-native":`./providers/prepareTronHinkal.cjs`,import:`./providers/prepareTronHinkal.mjs`,default:`./providers/prepareTronHinkal.cjs`},"./providers/prepareSolanaHinkal":{types:`./providers/prepareSolanaHinkal.d.ts`,"react-native":`./providers/prepareSolanaHinkal.cjs`,import:`./providers/prepareSolanaHinkal.mjs`,default:`./providers/prepareSolanaHinkal.cjs`},"./react-native/HinkalWebViewWorker":{types:`./react-native/HinkalWebViewWorker.d.ts`,"react-native":`./react-native/HinkalWebViewWorker.cjs`,import:`./react-native/HinkalWebViewWorker.mjs`,default:`./react-native/HinkalWebViewWorker.cjs`},"./react-native/metro-config":`./react-native/metro-config.js`,"./react-native/shims/*":`./react-native/shims/*`},types:`./index.d.ts`,scripts:{prebuild:`nx prebuild:workers`,build:`nx build`,lint:`nx lint`,test:`nx test`},devDependencies:{nx:`22.6.4`,vite:`^8.0.4`,"vite-plugin-dts":`^4.5.4`,"vite-tsconfig-paths":`^6.1.1`},dependencies:{"@coral-xyz/anchor":`^0.31.0`,"@solana/spl-token":`^0.4.14`,"@solana/web3.js":`^1.98.4`,"@solana/wallet-adapter-react":`^0.15.39`,axios:`^1.15.0`,"async-mutex":`^0.4.0`,bs58:`^6.0.0`,buffer:`6.0.3`,"circomlibjs-hinkal-fork":`^0.0.10`,dotenv:`^16.4.5`,ethers:`^6.15.0`,"idb-keyval":`6.2.1`,multiformats:`^9.4.2`,snarkjs:`0.7.5`,"libsodium-wrappers":`^0.8.2`,lodash:`^4.17.21`,tweetnacl:`^1.0.3`,process:`0.11.10`,"ua-parser-js":`^1.0.37`,uuid:`^9.0.1`,"node-forge":`^1.3.1`,"poseidon-lite":`^0.3.0`,tronweb:`^6.2.0`},peerDependencies:{wagmi:`2.13.3`,"@walletconnect/utils":`^2.17.2`,react:`*`,"react-native":`*`,"react-native-webview":`*`},peerDependenciesMeta:{wagmi:{optional:!0},"@walletconnect/utils":{optional:!0},react:{optional:!0},"react-native":{optional:!0},"react-native-webview":{optional:!0}}};exports.default=e;
1
+ var e={name:`@gurge/sdk`,version:`0.3.27`,homepage:`hinkal.io`,author:{name:`Hinkal Protocol`},keywords:[`blockchain`,`privacy`,`zero-knowledge`,`stealth addresses`],exports:{".":{types:`./index.d.ts`,"react-native":`./index.cjs`,import:`./index.mjs`,default:`./index.cjs`},"./providers/WagmiProviderAdapter":{types:`./providers/WagmiProviderAdapter.d.ts`,"react-native":`./providers/WagmiProviderAdapter.cjs`,import:`./providers/WagmiProviderAdapter.mjs`,default:`./providers/WagmiProviderAdapter.cjs`},"./providers/EthersProviderAdapter":{types:`./providers/EthersProviderAdapter.d.ts`,"react-native":`./providers/EthersProviderAdapter.cjs`,import:`./providers/EthersProviderAdapter.mjs`,default:`./providers/EthersProviderAdapter.cjs`},"./providers/TronProviderAdapter":{types:`./providers/TronProviderAdapter.d.ts`,"react-native":`./providers/TronProviderAdapter.cjs`,import:`./providers/TronProviderAdapter.mjs`,default:`./providers/TronProviderAdapter.cjs`},"./providers/SolanaProviderAdapter":{types:`./providers/SolanaProviderAdapter.d.ts`,"react-native":`./providers/SolanaProviderAdapter.cjs`,import:`./providers/SolanaProviderAdapter.mjs`,default:`./providers/SolanaProviderAdapter.cjs`},"./providers/prepareEthersHinkal":{types:`./providers/prepareEthersHinkal.d.ts`,"react-native":`./providers/prepareEthersHinkal.cjs`,import:`./providers/prepareEthersHinkal.mjs`,default:`./providers/prepareEthersHinkal.cjs`},"./providers/prepareWagmiHinkal":{types:`./providers/prepareWagmiHinkal.d.ts`,"react-native":`./providers/prepareWagmiHinkal.cjs`,import:`./providers/prepareWagmiHinkal.mjs`,default:`./providers/prepareWagmiHinkal.cjs`},"./providers/prepareTronHinkal":{types:`./providers/prepareTronHinkal.d.ts`,"react-native":`./providers/prepareTronHinkal.cjs`,import:`./providers/prepareTronHinkal.mjs`,default:`./providers/prepareTronHinkal.cjs`},"./providers/prepareSolanaHinkal":{types:`./providers/prepareSolanaHinkal.d.ts`,"react-native":`./providers/prepareSolanaHinkal.cjs`,import:`./providers/prepareSolanaHinkal.mjs`,default:`./providers/prepareSolanaHinkal.cjs`},"./react-native/HinkalWebViewWorker":{types:`./react-native/HinkalWebViewWorker.d.ts`,"react-native":`./react-native/HinkalWebViewWorker.cjs`,import:`./react-native/HinkalWebViewWorker.mjs`,default:`./react-native/HinkalWebViewWorker.cjs`},"./react-native/metro-config":`./react-native/metro-config.js`,"./react-native/shims/*":`./react-native/shims/*`},types:`./index.d.ts`,scripts:{prebuild:`nx prebuild:workers`,build:`nx build`,lint:`nx lint`,test:`nx test`},devDependencies:{nx:`22.6.4`,vite:`^8.0.4`,"vite-plugin-dts":`^4.5.4`,"vite-tsconfig-paths":`^6.1.1`},dependencies:{"@coral-xyz/anchor":`^0.31.0`,"@solana/spl-token":`^0.4.14`,"@solana/web3.js":`^1.98.4`,"@solana/wallet-adapter-react":`^0.15.39`,axios:`^1.15.0`,"async-mutex":`^0.4.0`,bs58:`^6.0.0`,buffer:`6.0.3`,"circomlibjs-hinkal-fork":`^0.0.10`,dotenv:`^16.4.5`,ethers:`^6.15.0`,"idb-keyval":`6.2.1`,multiformats:`^9.4.2`,snarkjs:`0.7.5`,"libsodium-wrappers":`^0.8.2`,lodash:`^4.17.21`,tweetnacl:`^1.0.3`,process:`0.11.10`,"ua-parser-js":`^1.0.37`,uuid:`^9.0.1`,"node-forge":`^1.3.1`,"poseidon-lite":`^0.3.0`,tronweb:`^6.2.0`},peerDependencies:{wagmi:`2.13.3`,"@walletconnect/utils":`^2.17.2`,react:`*`,"react-native":`*`,"react-native-webview":`*`},peerDependenciesMeta:{wagmi:{optional:!0},"@walletconnect/utils":{optional:!0},react:{optional:!0},"react-native":{optional:!0},"react-native-webview":{optional:!0}}};exports.default=e;
@@ -1,6 +1,6 @@
1
1
  var e = {
2
2
  name: "@gurge/sdk",
3
- version: "0.3.25",
3
+ version: "0.3.27",
4
4
  homepage: "hinkal.io",
5
5
  author: { name: "Hinkal Protocol" },
6
6
  keywords: [
@@ -1 +0,0 @@
1
- var e=class{static bridge=null},t=()=>{let t=e.bridge;if(!t)throw Error(`RN crypto bridge is not registered. Mount HinkalWebViewWorker in your app.`);return t};exports.RnCryptoBridgeFactory=e,exports.getRnCryptoBridge=t;
@@ -1,8 +0,0 @@
1
- export interface IRnCryptoBridge {
2
- init(): Promise<void>;
3
- call<T>(op: string, payload?: unknown): Promise<T>;
4
- }
5
- export declare class RnCryptoBridgeFactory {
6
- static bridge: IRnCryptoBridge | null;
7
- }
8
- export declare const getRnCryptoBridge: () => IRnCryptoBridge;
@@ -1,10 +0,0 @@
1
- //#region libs/shared/common/src/crypto/rnCryptoBridge.ts
2
- var e = class {
3
- static bridge = null;
4
- }, t = () => {
5
- let t = e.bridge;
6
- if (!t) throw Error("RN crypto bridge is not registered. Mount HinkalWebViewWorker in your app.");
7
- return t;
8
- };
9
- //#endregion
10
- export { e as RnCryptoBridgeFactory, t as getRnCryptoBridge };
@@ -1 +0,0 @@
1
- const e=require(`../constants/vite.constants.cjs`),t=require(`./rnCryptoBridge.cjs`),n=require(`../functions/web3/etherFunctions.cjs`),r=require(`../webworker/cryptoWorker/cryptoWorker.types.cjs`);var i=()=>n.randomBigInt(31).toString(),a=async n=>{if(!e.isReactNative)return n.getSpendingKeyPair().pubSpendingBJJPoint;let i=t.getRnCryptoBridge();await i.init();let a=await i.call(r.CryptoWorkerOp.GET_SPENDING_KEY_PAIR,{signature:n.getSignature()});return[BigInt(a.pubSpendingBJJPoint[0]),BigInt(a.pubSpendingBJJPoint[1])]},o=async(n,a)=>{if(!e.isReactNative)throw Error(`prepareNewStyleUtxoFields is only for React Native crypto bridge`);let o=t.getRnCryptoBridge();await o.init();let s=await o.call(r.CryptoWorkerOp.PREPARE_NEW_STYLE_UTXO_FIELDS,{initialRandomization:i(),nullifyingKey:n,spendingPublicKey:a?.map(e=>e.toString())});return{randomization:BigInt(s.randomization),H0:[BigInt(s.H0[0]),BigInt(s.H0[1])],stealthAddress:s.stealthAddress}},s=async n=>{if(!e.isReactNative)throw Error(`prepareNewStyleUtxoFieldsBatch is only for React Native crypto bridge`);let a=t.getRnCryptoBridge();return await a.init(),(await a.call(r.CryptoWorkerOp.PREPARE_NEW_STYLE_UTXO_FIELDS_BATCH,{items:n.map(e=>({initialRandomization:i(),nullifyingKey:e.nullifyingKey,spendingPublicKey:e.spendingPublicKey?.map(e=>e.toString())}))})).map(e=>({randomization:BigInt(e.randomization),H0:[BigInt(e.H0[0]),BigInt(e.H0[1])],stealthAddress:e.stealthAddress}))},c=t=>e.isReactNative&&!!t.isNewStyle&&!!t.nullifyingKey&&t.H0===void 0&&t.randomization===void 0;exports.getSpendingPublicKeyForRn=a,exports.needsRnNewStyleCrypto=c,exports.prepareNewStyleUtxoFields=o,exports.prepareNewStyleUtxoFieldsBatch=s;
@@ -1,14 +0,0 @@
1
- import { IUtxoConstructor } from '../data-structures/utxo/Utxo';
2
- import { UserKeys } from '../data-structures/crypto-keys/keys';
3
- export type PreparedNewStyleUtxoFields = {
4
- randomization: bigint;
5
- H0: [bigint, bigint];
6
- stealthAddress: string;
7
- };
8
- export declare const getSpendingPublicKeyForRn: (userKeys: UserKeys) => Promise<[bigint, bigint]>;
9
- export declare const prepareNewStyleUtxoFields: (nullifyingKey: string, spendingPublicKey?: bigint[]) => Promise<PreparedNewStyleUtxoFields>;
10
- export declare const prepareNewStyleUtxoFieldsBatch: (items: {
11
- nullifyingKey: string;
12
- spendingPublicKey?: bigint[];
13
- }[]) => Promise<PreparedNewStyleUtxoFields[]>;
14
- export declare const needsRnNewStyleCrypto: (params: IUtxoConstructor) => boolean;
@@ -1,40 +0,0 @@
1
- import { isReactNative as e } from "../constants/vite.constants.mjs";
2
- import { getRnCryptoBridge as t } from "./rnCryptoBridge.mjs";
3
- import { randomBigInt as n } from "../functions/web3/etherFunctions.mjs";
4
- import { CryptoWorkerOp as r } from "../webworker/cryptoWorker/cryptoWorker.types.mjs";
5
- //#region libs/shared/common/src/crypto/rnUtxoCrypto.ts
6
- var i = () => n(31).toString(), a = async (n) => {
7
- if (!e) return n.getSpendingKeyPair().pubSpendingBJJPoint;
8
- let i = t();
9
- await i.init();
10
- let a = await i.call(r.GET_SPENDING_KEY_PAIR, { signature: n.getSignature() });
11
- return [BigInt(a.pubSpendingBJJPoint[0]), BigInt(a.pubSpendingBJJPoint[1])];
12
- }, o = async (n, a) => {
13
- if (!e) throw Error("prepareNewStyleUtxoFields is only for React Native crypto bridge");
14
- let o = t();
15
- await o.init();
16
- let s = await o.call(r.PREPARE_NEW_STYLE_UTXO_FIELDS, {
17
- initialRandomization: i(),
18
- nullifyingKey: n,
19
- spendingPublicKey: a?.map((e) => e.toString())
20
- });
21
- return {
22
- randomization: BigInt(s.randomization),
23
- H0: [BigInt(s.H0[0]), BigInt(s.H0[1])],
24
- stealthAddress: s.stealthAddress
25
- };
26
- }, s = async (n) => {
27
- if (!e) throw Error("prepareNewStyleUtxoFieldsBatch is only for React Native crypto bridge");
28
- let a = t();
29
- return await a.init(), (await a.call(r.PREPARE_NEW_STYLE_UTXO_FIELDS_BATCH, { items: n.map((e) => ({
30
- initialRandomization: i(),
31
- nullifyingKey: e.nullifyingKey,
32
- spendingPublicKey: e.spendingPublicKey?.map((e) => e.toString())
33
- })) })).map((e) => ({
34
- randomization: BigInt(e.randomization),
35
- H0: [BigInt(e.H0[0]), BigInt(e.H0[1])],
36
- stealthAddress: e.stealthAddress
37
- }));
38
- }, c = (t) => e && !!t.isNewStyle && !!t.nullifyingKey && t.H0 === void 0 && t.randomization === void 0;
39
- //#endregion
40
- export { a as getSpendingPublicKeyForRn, c as needsRnNewStyleCrypto, o as prepareNewStyleUtxoFields, s as prepareNewStyleUtxoFieldsBatch };
@@ -1 +0,0 @@
1
- var e=`[HinkalRnDelta]`,t=e=>`at=${e}`,n=(n,r,i,a)=>{let o=Date.now(),s=o-i.last,c=o-i.start;i.last=o;let l=a?` ${JSON.stringify(a)}`:``;console.log(`${e} ${t(o)} [${n}] ${r} +${s}ms (total ${c}ms)${l}`)},r=e=>{let t={start:Date.now(),last:Date.now()};return{marks:t,log:(r,i)=>n(e,r,t,i)}},i=(n,r,i)=>{let a=Date.now(),o=i?` ${JSON.stringify(i)}`:``;console.log(`${e} ${t(a)} [${n}] ${r}${o}`)};exports.createRnDeltaTiming=r,exports.logRnDeltaEvent=i;
@@ -1,11 +0,0 @@
1
- export type HinkalTimingMarks = {
2
- start: number;
3
- last: number;
4
- };
5
- export declare const logRnDelta: (scope: string, phase: string, marks: HinkalTimingMarks, extra?: Record<string, unknown>) => void;
6
- export declare const createRnDeltaTiming: (scope: string) => {
7
- marks: HinkalTimingMarks;
8
- log: (phase: string, extra?: Record<string, unknown>) => void;
9
- };
10
- /** One-off event (e.g. WebView sub-phase with its own clock). */
11
- export declare const logRnDeltaEvent: (scope: string, phase: string, extra?: Record<string, unknown>) => void;
@@ -1,21 +0,0 @@
1
- //#region libs/shared/common/src/functions/utils/hinkalTiming.utils.ts
2
- var e = "[HinkalRnDelta]", t = (e) => `at=${e}`, n = (n, r, i, a) => {
3
- let o = Date.now(), s = o - i.last, c = o - i.start;
4
- i.last = o;
5
- let l = a ? ` ${JSON.stringify(a)}` : "";
6
- console.log(`${e} ${t(o)} [${n}] ${r} +${s}ms (total ${c}ms)${l}`);
7
- }, r = (e) => {
8
- let t = {
9
- start: Date.now(),
10
- last: Date.now()
11
- };
12
- return {
13
- marks: t,
14
- log: (r, i) => n(e, r, t, i)
15
- };
16
- }, i = (n, r, i) => {
17
- let a = Date.now(), o = i ? ` ${JSON.stringify(i)}` : "";
18
- console.log(`${e} ${t(a)} [${n}] ${r}${o}`);
19
- };
20
- //#endregion
21
- export { r as createRnDeltaTiming, i as logRnDeltaEvent };
@@ -1 +0,0 @@
1
- const e=require(`../../crypto/rnUtxoCrypto.cjs`),t=require(`../../data-structures/utxo/Utxo.cjs`);var n=async(n,r)=>n<=0?[]:e.needsRnNewStyleCrypto(r)?(await e.prepareNewStyleUtxoFieldsBatch(Array.from({length:n},()=>({nullifyingKey:r.nullifyingKey,spendingPublicKey:r.spendingPublicKey})))).map(e=>new t.Utxo({...r,randomization:e.randomization,H0:e.H0,stealthAddress:e.stealthAddress})):Array.from({length:n},()=>new t.Utxo(r));exports.createPaddingUtxos=n;
@@ -1,2 +0,0 @@
1
- import { Utxo, IUtxoConstructor } from '../../data-structures/utxo/Utxo';
2
- export declare const createPaddingUtxos: (count: number, baseParams: IUtxoConstructor) => Promise<Utxo[]>;
@@ -1,14 +0,0 @@
1
- import { needsRnNewStyleCrypto as e, prepareNewStyleUtxoFieldsBatch as t } from "../../crypto/rnUtxoCrypto.mjs";
2
- import { Utxo as n } from "../../data-structures/utxo/Utxo.mjs";
3
- //#region libs/shared/common/src/functions/utils/utxoPadding.utils.ts
4
- var r = async (r, i) => r <= 0 ? [] : e(i) ? (await t(Array.from({ length: r }, () => ({
5
- nullifyingKey: i.nullifyingKey,
6
- spendingPublicKey: i.spendingPublicKey
7
- })))).map((e) => new n({
8
- ...i,
9
- randomization: e.randomization,
10
- H0: e.H0,
11
- stealthAddress: e.stealthAddress
12
- })) : Array.from({ length: r }, () => new n(i));
13
- //#endregion
14
- export { r as createPaddingUtxos };
@@ -1 +0,0 @@
1
- var e=function(e){return e.INIT=`init`,e.PREPARE_NEW_STYLE_UTXO_FIELDS=`prepareNewStyleUtxoFields`,e.PREPARE_NEW_STYLE_UTXO_FIELDS_BATCH=`prepareNewStyleUtxoFieldsBatch`,e.BATCH_STEALTH_VALIDATION=`batchStealthValidation`,e.POSEIDON_HASH=`poseidonHash`,e.GET_SPENDING_KEY_PAIR=`getSpendingKeyPair`,e}({});exports.CryptoWorkerOp=e;
@@ -1,49 +0,0 @@
1
- export type CryptoWorkerPrepareNewStyleUtxoPayload = {
2
- initialRandomization: string;
3
- nullifyingKey: string;
4
- spendingPublicKey?: [string, string];
5
- };
6
- export type CryptoWorkerPrepareNewStyleUtxoResult = {
7
- randomization: string;
8
- H0: [string, string];
9
- stealthAddress: string;
10
- };
11
- export type CryptoWorkerStealthCheck = {
12
- utxoStealthAddress: string;
13
- isNewStyle: boolean;
14
- randomization?: string;
15
- H0?: [string, string];
16
- spendingPublicKey?: [string, string];
17
- };
18
- export type CryptoWorkerStealthCheckResult = {
19
- derivedStealthAddress: string;
20
- matches: boolean;
21
- };
22
- export type CryptoWorkerSpendingKeyPairResult = {
23
- privSpendingKey: string;
24
- pubSpendingBJJPoint: [string, string];
25
- };
26
- export declare enum CryptoWorkerOp {
27
- INIT = "init",
28
- PREPARE_NEW_STYLE_UTXO_FIELDS = "prepareNewStyleUtxoFields",
29
- PREPARE_NEW_STYLE_UTXO_FIELDS_BATCH = "prepareNewStyleUtxoFieldsBatch",
30
- BATCH_STEALTH_VALIDATION = "batchStealthValidation",
31
- POSEIDON_HASH = "poseidonHash",
32
- GET_SPENDING_KEY_PAIR = "getSpendingKeyPair"
33
- }
34
- export type CryptoWorkerRequest = {
35
- requestId?: string;
36
- op: CryptoWorkerOp | string;
37
- payload?: unknown;
38
- };
39
- export type CryptoWorkerResponse = {
40
- type: 'ready';
41
- } | {
42
- requestId: string;
43
- type: 'result';
44
- data: unknown;
45
- } | {
46
- requestId: string;
47
- type: 'error';
48
- error: string;
49
- };
@@ -1,6 +0,0 @@
1
- //#region libs/shared/common/src/webworker/cryptoWorker/cryptoWorker.types.ts
2
- var e = /* @__PURE__ */ function(e) {
3
- return e.INIT = "init", e.PREPARE_NEW_STYLE_UTXO_FIELDS = "prepareNewStyleUtxoFields", e.PREPARE_NEW_STYLE_UTXO_FIELDS_BATCH = "prepareNewStyleUtxoFieldsBatch", e.BATCH_STEALTH_VALIDATION = "batchStealthValidation", e.POSEIDON_HASH = "poseidonHash", e.GET_SPENDING_KEY_PAIR = "getSpendingKeyPair", e;
4
- }({});
5
- //#endregion
6
- export { e as CryptoWorkerOp };