@kapa123456789/sdk 0.0.67 → 0.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/src/constants/vite.constants.cjs +1 -1
- package/common/src/constants/vite.constants.mjs +6 -2
- package/common/src/crypto/BabyJubRN.cjs +1 -0
- package/common/src/crypto/BabyJubRN.d.ts +18 -0
- package/common/src/crypto/BabyJubRN.mjs +33 -0
- package/common/src/crypto/babyJub.cjs +1 -1
- package/common/src/crypto/babyJub.mjs +6 -34
- package/common/src/crypto/poseidon.cjs +1 -1
- package/common/src/crypto/poseidon.mjs +13 -14
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +2 -35
- package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSwap.mjs +9 -49
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +12 -59
- package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +13 -58
- package/common/src/error-handling/logger.cjs +1 -1
- package/common/src/error-handling/logger.mjs +15 -7
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -0
- package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +48 -161
- package/common/src/functions/snarkjs/generateZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/generateZkProof.mjs +1 -6
- package/common/src/functions/utils/bigint-math.utils.cjs +1 -0
- package/common/src/functions/utils/bigint-math.utils.d.ts +2 -0
- package/common/src/functions/utils/bigint-math.utils.mjs +12 -0
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +1 -0
- package/common/src/functions/utils/index.mjs +1 -0
- package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +38 -159
- package/common/src/webworker/{logError-DlIdq8zv.js → logError-D7JCP4vy.js} +5 -5
- package/common/src/webworker/package.json +2 -2
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/viteWorkerURL.constant.cjs +4 -4
- package/common/src/webworker/viteWorkerURL.constant.mjs +4 -4
- package/common/src/webworker/workerFactory.cjs +1 -1
- package/common/src/webworker/workerFactory.mjs +1 -1
- package/common/src/webworker/{workerProxy-Cr4zT_SW.js → workerProxy-C1ojG-04.js} +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/package.json +2 -2
- package/react-native/HinkalWebViewWorker.cjs +3 -3
- package/react-native/HinkalWebViewWorker.mjs +46 -68
- package/react-native/bridge/HinkalRNWorker.cjs +1 -0
- package/react-native/bridge/HinkalRNWorker.d.ts +13 -0
- package/react-native/bridge/HinkalRNWorker.mjs +26 -0
- package/react-native/bridge/serialization.utils.cjs +1 -0
- package/react-native/bridge/serialization.utils.d.ts +3 -0
- package/react-native/bridge/serialization.utils.mjs +13 -0
- package/react-native/metro-config.js +9 -7
- package/react-native/shims/circomlibjs-hinkal-fork.js +1 -1
- package/react-native/shims/circomlibjs.js +1 -1
- package/react-native/shims/crypto.js +23 -16
- package/react-native/shims/globals.js +6 -4
- package/react-native/shims/idb-keyval.js +13 -5
- package/react-native/shims/path.js +20 -7
- package/react-native/shims/snarkjs.js +7 -6
- package/react-native/workerCDNUrls.cjs +1 -1
- package/react-native/workerCDNUrls.mjs +2 -4
- package/sdk/package.json.cjs +1 -1
- package/sdk/package.json.mjs +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../functions/utils/enum.utils.cjs`);var t=function(e){return e.DEVELOPMENT=`development`,e.PLAYGROUND=`playground`,e.PRODUCTION=`production`,e.STAGING=`staging`,e}({}),n={[t.DEVELOPMENT]:[`localhost`,`192.`,`127.`],[t.PLAYGROUND]:[`playground`],[t.STAGING]:[`working`,`staging`]},r=typeof process<`u`&&process?.release?.name===`node`,i=typeof process<`u`&&process.versions!=null&&process.versions.node!=null,a=typeof window<`u`&&window?.location?.protocol===`chrome-extension:`;function o(e,t){return t.some(t=>e.includes(t))}var s=()=>(require(`dotenv`).config({path:`DOTENV_OVERRIDE`in process.env?process.env.DOTENV_OVERRIDE:void 0}),process.env.DEPLOYMENT_MODE?.startsWith(`production`)?t.PRODUCTION:e.toEnumValue(t,process.env.DEPLOYMENT_MODE)||t.DEVELOPMENT),c=(()=>{if(!r&&typeof window>`u`)return;if(r)return s();if(window?.location?.protocol===`chrome-extension:`)return e.toEnumValue(t,WALLET_DEPLOYMENT_MODE)||t.STAGING;let i=window?.location?.host;return i?o(i,n[t.DEVELOPMENT])?t.DEVELOPMENT:o(i,n[t.PLAYGROUND])?t.PLAYGROUND:o(i,n[t.STAGING])?t.STAGING:t.PRODUCTION:t.PRODUCTION})(),l=c===t.DEVELOPMENT,u=c===t.PLAYGROUND,d=c===t.STAGING,f=d||l||u,p=typeof navigator<`u`&&navigator.product===`ReactNative`,m=f||r&&c===t.PRODUCTION;exports.DEPLOYMENT_MODE=t,exports.deploymentMode=c,exports.isDevelopment=l,exports.isExtension=a,exports.isNode=i,exports.isNotClientProduction=m,exports.isNotProduction=f,exports.isPlayground=u,exports.isReactNative=p,exports.isStaging=d;
|
|
1
|
+
const e=require(`../functions/utils/enum.utils.cjs`);var t=function(e){return e.DEVELOPMENT=`development`,e.PLAYGROUND=`playground`,e.PRODUCTION=`production`,e.STAGING=`staging`,e}({}),n={[t.DEVELOPMENT]:[`localhost`,`192.`,`127.`],[t.PLAYGROUND]:[`playground`],[t.STAGING]:[`working`,`staging`]},r=typeof process<`u`&&process?.release?.name===`node`,i=typeof process<`u`&&process.versions!=null&&process.versions.node!=null,a=typeof window<`u`&&window?.location?.protocol===`chrome-extension:`;function o(e,t){return t.some(t=>e.includes(t))}var s=()=>(require(`dotenv`).config({path:`DOTENV_OVERRIDE`in process.env?process.env.DOTENV_OVERRIDE:void 0}),process.env.DEPLOYMENT_MODE?.startsWith(`production`)?t.PRODUCTION:e.toEnumValue(t,process.env.DEPLOYMENT_MODE)||t.DEVELOPMENT),c=(()=>{if(!r&&typeof window>`u`)return;if(r)return s();if(window?.location?.protocol===`chrome-extension:`)return e.toEnumValue(t,WALLET_DEPLOYMENT_MODE)||t.STAGING;let i=window?.location?.host;return console.log(`url`,i),i?o(i,n[t.DEVELOPMENT])?t.DEVELOPMENT:o(i,n[t.PLAYGROUND])?t.PLAYGROUND:o(i,n[t.STAGING])?t.STAGING:(console.log(`returning production`),t.PRODUCTION):t.PRODUCTION})(),l=c===t.DEVELOPMENT,u=c===t.PLAYGROUND,d=c===t.STAGING,f=d||l||u;console.log(`navigator`,navigator),console.log(`navigator.product`,navigator.product);var p=typeof navigator<`u`&&navigator.product===`ReactNative`;console.log(`isReactNative`,p);var m=f||r&&c===t.PRODUCTION;exports.DEPLOYMENT_MODE=t,exports.deploymentMode=c,exports.isDevelopment=l,exports.isExtension=a,exports.isNode=i,exports.isNotClientProduction=m,exports.isNotProduction=f,exports.isPlayground=u,exports.isReactNative=p,exports.isStaging=d;
|
|
@@ -20,7 +20,11 @@ var c = () => (e("dotenv").config({ path: "DOTENV_OVERRIDE" in process.env ? pro
|
|
|
20
20
|
if (i) return c();
|
|
21
21
|
if (window?.location?.protocol === "chrome-extension:") return t(n, WALLET_DEPLOYMENT_MODE) || n.STAGING;
|
|
22
22
|
let e = window?.location?.host;
|
|
23
|
-
return e ? s(e, r[n.DEVELOPMENT]) ? n.DEVELOPMENT : s(e, r[n.PLAYGROUND]) ? n.PLAYGROUND : s(e, r[n.STAGING]) ? n.STAGING : n.PRODUCTION : n.PRODUCTION;
|
|
24
|
-
})(), u = l === n.DEVELOPMENT, d = l === n.PLAYGROUND, f = l === n.STAGING, p = f || u || d
|
|
23
|
+
return console.log("url", e), e ? s(e, r[n.DEVELOPMENT]) ? n.DEVELOPMENT : s(e, r[n.PLAYGROUND]) ? n.PLAYGROUND : s(e, r[n.STAGING]) ? n.STAGING : (console.log("returning production"), n.PRODUCTION) : n.PRODUCTION;
|
|
24
|
+
})(), u = l === n.DEVELOPMENT, d = l === n.PLAYGROUND, f = l === n.STAGING, p = f || u || d;
|
|
25
|
+
console.log("navigator", navigator), console.log("navigator.product", navigator.product);
|
|
26
|
+
var m = typeof navigator < "u" && navigator.product === "ReactNative";
|
|
27
|
+
console.log("isReactNative", m);
|
|
28
|
+
var h = p || i && l === n.PRODUCTION;
|
|
25
29
|
//#endregion
|
|
26
30
|
export { n as DEPLOYMENT_MODE, l as deploymentMode, u as isDevelopment, o as isExtension, a as isNode, h as isNotClientProduction, p as isNotProduction, d as isPlayground, m as isReactNative, f as isStaging };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../constants/protocol.constants.cjs`),t=require(`../functions/utils/bigint-math.utils.cjs`);var n=e.CIRCOM_P,r={p:n,zero:0n,one:1n,e:e=>t.mod(BigInt(e)),add:(e,n)=>t.mod(e+n),sub:(e,n)=>t.mod(e-n),mul:(e,n)=>t.mod(e*n),div:(e,r)=>{if(r===0n)throw Error(`Division by zero in BabyJub field`);return t.mod(e*t.modpow(r,n-2n,n))},toString:e=>t.mod(e).toString()},i=class{F=r;A=r.e(`168700`);D=r.e(`168696`);Base8=[r.e(`5299619240641551281634865583518297030282874472190772894086521144482721001553`),r.e(`16950150798460657717958625567821834550301663161624707787222815936182638968203`)];addPoint(e,t){let n=r.mul(e[0],t[1]),i=r.mul(e[1],t[0]),a=r.mul(r.sub(e[1],r.mul(this.A,e[0])),r.add(t[0],t[1])),o=r.mul(n,i),s=r.mul(this.D,o);return[r.div(r.add(n,i),r.add(r.one,s)),r.div(r.add(a,r.sub(r.mul(this.A,n),i)),r.sub(r.one,s))]}mulPointEscalar(e,t){let n=[r.zero,r.one],i=BigInt(t),a=e;for(;i!==0n;)i%2n==1n&&(n=this.addPoint(n,a)),a=this.addPoint(a,a),i/=2n;return n}};exports.BabyJubRN=i;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare class BabyJubRN {
|
|
2
|
+
F: {
|
|
3
|
+
p: bigint;
|
|
4
|
+
zero: bigint;
|
|
5
|
+
one: bigint;
|
|
6
|
+
e: (v: bigint | number | string) => bigint;
|
|
7
|
+
add: (a: bigint, b: bigint) => bigint;
|
|
8
|
+
sub: (a: bigint, b: bigint) => bigint;
|
|
9
|
+
mul: (a: bigint, b: bigint) => bigint;
|
|
10
|
+
div: (a: bigint, b: bigint) => bigint;
|
|
11
|
+
toString: (a: bigint) => string;
|
|
12
|
+
};
|
|
13
|
+
A: bigint;
|
|
14
|
+
D: bigint;
|
|
15
|
+
Base8: [bigint, bigint];
|
|
16
|
+
addPoint(a: [bigint, bigint], b: [bigint, bigint]): [bigint, bigint];
|
|
17
|
+
mulPointEscalar(base: [bigint, bigint], e: bigint | number | string): [bigint, bigint];
|
|
18
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CIRCOM_P as e } from "../constants/protocol.constants.mjs";
|
|
2
|
+
import { mod as t, modpow as n } from "../functions/utils/bigint-math.utils.mjs";
|
|
3
|
+
//#region libs/shared/common/src/crypto/BabyJubRN.ts
|
|
4
|
+
var r = e, i = {
|
|
5
|
+
p: r,
|
|
6
|
+
zero: 0n,
|
|
7
|
+
one: 1n,
|
|
8
|
+
e: (e) => t(BigInt(e)),
|
|
9
|
+
add: (e, n) => t(e + n),
|
|
10
|
+
sub: (e, n) => t(e - n),
|
|
11
|
+
mul: (e, n) => t(e * n),
|
|
12
|
+
div: (e, i) => {
|
|
13
|
+
if (i === 0n) throw Error("Division by zero in BabyJub field");
|
|
14
|
+
return t(e * n(i, r - 2n, r));
|
|
15
|
+
},
|
|
16
|
+
toString: (e) => t(e).toString()
|
|
17
|
+
}, a = class {
|
|
18
|
+
F = i;
|
|
19
|
+
A = i.e("168700");
|
|
20
|
+
D = i.e("168696");
|
|
21
|
+
Base8 = [i.e("5299619240641551281634865583518297030282874472190772894086521144482721001553"), i.e("16950150798460657717958625567821834550301663161624707787222815936182638968203")];
|
|
22
|
+
addPoint(e, t) {
|
|
23
|
+
let n = i.mul(e[0], t[1]), r = i.mul(e[1], t[0]), a = i.mul(i.sub(e[1], i.mul(this.A, e[0])), i.add(t[0], t[1])), o = i.mul(n, r), s = i.mul(this.D, o);
|
|
24
|
+
return [i.div(i.add(n, r), i.add(i.one, s)), i.div(i.add(a, i.sub(i.mul(this.A, n), r)), i.sub(i.one, s))];
|
|
25
|
+
}
|
|
26
|
+
mulPointEscalar(e, t) {
|
|
27
|
+
let n = [i.zero, i.one], r = BigInt(t), a = e;
|
|
28
|
+
for (; r !== 0n;) r % 2n == 1n && (n = this.addPoint(n, a)), a = this.addPoint(a, a), r /= 2n;
|
|
29
|
+
return n;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { a as BabyJubRN };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/vite.constants.cjs`)
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/vite.constants.cjs`),t=require(`./BabyJubRN.cjs`);let n=require(`circomlibjs-hinkal-fork`);var r=new class{babyjub=void 0;async init(){this.babyjub||=(console.log(`isReactNative JubHolder`,e.isReactNative),e.isReactNative?new t.BabyJubRN:await(0,n.buildBabyjub)())}getJub(){return this.babyjub}},i=()=>r.getJub();exports.babyJubInstance=i,exports.jubHolder=r;
|
|
@@ -1,42 +1,14 @@
|
|
|
1
1
|
import { isReactNative as e } from "../constants/vite.constants.mjs";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
let r = 1n, i = (e % n + n) % n, a = t;
|
|
6
|
-
for (; a > 0n;) a % 2n == 1n && (r = r * i % n), a /= 2n, i = i * i % n;
|
|
7
|
-
return r;
|
|
8
|
-
}, i = {
|
|
9
|
-
p: n,
|
|
10
|
-
zero: 0n,
|
|
11
|
-
one: 1n,
|
|
12
|
-
e: (e) => (BigInt(e) % n + n) % n,
|
|
13
|
-
add: (e, t) => (e + t) % n,
|
|
14
|
-
sub: (e, t) => ((e - t) % n + n) % n,
|
|
15
|
-
mul: (e, t) => e * t % n,
|
|
16
|
-
div: (e, t) => e * r(t, n - 2n, n) % n,
|
|
17
|
-
toString: (e) => BigInt(e).toString()
|
|
18
|
-
}, a = class {
|
|
19
|
-
F = i;
|
|
20
|
-
A = i.e("168700");
|
|
21
|
-
D = i.e("168696");
|
|
22
|
-
Base8 = [i.e("5299619240641551281634865583518297030282874472190772894086521144482721001553"), i.e("16950150798460657717958625567821834550301663161624707787222815936182638968203")];
|
|
23
|
-
addPoint(e, t) {
|
|
24
|
-
let n = i.mul(e[0], t[1]), r = i.mul(e[1], t[0]), a = i.mul(i.sub(e[1], i.mul(this.A, e[0])), i.add(t[0], t[1])), o = i.mul(n, r), s = i.mul(this.D, o);
|
|
25
|
-
return [i.div(i.add(n, r), i.add(i.one, s)), i.div(i.add(a, i.sub(i.mul(this.A, n), r)), i.sub(i.one, s))];
|
|
26
|
-
}
|
|
27
|
-
mulPointEscalar(e, t) {
|
|
28
|
-
let n = [i.zero, i.one], r = BigInt(t), a = e;
|
|
29
|
-
for (; r !== 0n;) r % 2n == 1n && (n = this.addPoint(n, a)), a = this.addPoint(a, a), r /= 2n;
|
|
30
|
-
return n;
|
|
31
|
-
}
|
|
32
|
-
}, o = new class {
|
|
2
|
+
import { BabyJubRN as t } from "./BabyJubRN.mjs";
|
|
3
|
+
import { buildBabyjub as n } from "circomlibjs-hinkal-fork";
|
|
4
|
+
var r = new class {
|
|
33
5
|
babyjub = void 0;
|
|
34
6
|
async init() {
|
|
35
|
-
this.babyjub ||= (console.log("JubHolder
|
|
7
|
+
this.babyjub ||= (console.log("isReactNative JubHolder", e), e ? new t() : await n());
|
|
36
8
|
}
|
|
37
9
|
getJub() {
|
|
38
10
|
return this.babyjub;
|
|
39
11
|
}
|
|
40
|
-
}(),
|
|
12
|
+
}(), i = () => r.getJub();
|
|
41
13
|
//#endregion
|
|
42
|
-
export {
|
|
14
|
+
export { i as babyJubInstance, r as jubHolder };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`)
|
|
1
|
+
const e=require(`../../../_virtual/_rolldown/runtime.cjs`),t=require(`../constants/vite.constants.cjs`),n=require(`../functions/utils/amounts.utils.cjs`);let r=require(`ethers`),i=require(`poseidon-lite`);i=e.__toESM(i);let a=require(`circomlibjs-hinkal-fork`);var o=()=>{let e=e=>{let t=i[`poseidon${e.length}`];if(!t)throw Error(`Poseidon: arity ${e.length} not supported (1..16)`);return t(e.map(e=>BigInt(e)))};return e.F={toString:e=>BigInt(e).toString()},e},s=new class{poseidon=void 0;async init(){this.poseidon||=(console.log(`isReactNative PoseidonHolder`,t.isReactNative),t.isReactNative?o():await(0,a.buildPoseidon)())}getPoseidon(){return this.poseidon}};function c(...e){let t=s.getPoseidon();return n.toBigInt(t.F.toString(t(e)))}var l=(...e)=>{let t=s.getPoseidon();return r.ethers.toBeHex(t.F.toString(t([...e])))};exports.poseidonFunction=c,exports.poseidonHash=l,exports.poseidonHolder=s;
|
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
1
|
+
import { isReactNative as e } from "../constants/vite.constants.mjs";
|
|
2
|
+
import { toBigInt as t } from "../functions/utils/amounts.utils.mjs";
|
|
3
|
+
import { ethers as n } from "ethers";
|
|
4
|
+
import * as r from "poseidon-lite";
|
|
5
5
|
import { buildPoseidon as i } from "circomlibjs-hinkal-fork";
|
|
6
6
|
//#region libs/shared/common/src/crypto/poseidon.ts
|
|
7
7
|
var a = () => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return n(e.map((e) => BigInt(e)));
|
|
8
|
+
let e = (e) => {
|
|
9
|
+
let t = r[`poseidon${e.length}`];
|
|
10
|
+
if (!t) throw Error(`Poseidon: arity ${e.length} not supported (1..16)`);
|
|
11
|
+
return t(e.map((e) => BigInt(e)));
|
|
13
12
|
};
|
|
14
|
-
return
|
|
13
|
+
return e.F = { toString: (e) => BigInt(e).toString() }, e;
|
|
15
14
|
}, o = new class {
|
|
16
15
|
poseidon = void 0;
|
|
17
16
|
async init() {
|
|
18
|
-
this.poseidon ||= (console.log("PoseidonHolder
|
|
17
|
+
this.poseidon ||= (console.log("isReactNative PoseidonHolder", e), e ? a() : await i());
|
|
19
18
|
}
|
|
20
19
|
getPoseidon() {
|
|
21
20
|
return this.poseidon;
|
|
22
21
|
}
|
|
23
22
|
}();
|
|
24
23
|
function s(...e) {
|
|
25
|
-
let
|
|
26
|
-
return n
|
|
24
|
+
let n = o.getPoseidon();
|
|
25
|
+
return t(n.F.toString(n(e)));
|
|
27
26
|
}
|
|
28
27
|
var c = (...e) => {
|
|
29
28
|
let t = o.getPoseidon();
|
|
30
|
-
return
|
|
29
|
+
return n.toBeHex(t.F.toString(t([...e])));
|
|
31
30
|
};
|
|
32
31
|
//#endregion
|
|
33
32
|
export { s as poseidonFunction, c as poseidonHash, o as poseidonHolder };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/admin.types.cjs`);require(`../../types/index.cjs`);const r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),f=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),p=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),m=require(`../../API/admin-calls.cjs`);var h=async(e,t,n,r)=>{let i=await e.getEthereumAddressByChain(t),{patchAccessTokenMerkleTree:a,signatureData:o}=await d.getKycAndSignatureData(e,t,n,r,i);return{signatureData:o,externalActionData:{externalActionId:0n,externalAddress:i,externalActionMetadata:`0x00`},contractTransaction:void 0,contractToApprove:void 0,patchAccessTokenMerkleTree:a}},g=async(e,t,n,r)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=i.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],s);o.push(n)}return{inputUtxosArray:a,outputUtxosArray:o}},_=async(r,i,a,o=!0,c=!1)=>{
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/admin.types.cjs`);require(`../../types/index.cjs`);const r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),f=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),p=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),m=require(`../../API/admin-calls.cjs`);var h=async(e,t,n,r)=>{let i=await e.getEthereumAddressByChain(t),{patchAccessTokenMerkleTree:a,signatureData:o}=await d.getKycAndSignatureData(e,t,n,r,i);return{signatureData:o,externalActionData:{externalActionId:0n,externalAddress:i,externalActionMetadata:`0x00`},contractTransaction:void 0,contractToApprove:void 0,patchAccessTokenMerkleTree:a}},g=async(e,t,n,r)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=i.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],s);o.push(n)}return{inputUtxosArray:a,outputUtxosArray:o}},_=async(r,i,a,o=!0,c=!1)=>{let l=s.validateAndGetChainId(i),d=i.map(e=>e.erc20TokenAddress),[{externalActionData:_,contractTransaction:v,contractToApprove:y,patchAccessTokenMerkleTree:b,signatureData:x},{inputUtxosArray:S,outputUtxosArray:C}]=await Promise.all([h(r,l,d,a),g(r,l,d,a)]),w=`swapperM${a.length.toString()}x${S[0].length}x1`,{zkCallData:T,circomData:E,dimData:D}=await f.constructZkProof(r.merkleTreeHinkalByChain[l],r.merkleTreeAccessTokenByChain[l],S,C,r.userKeys,w,_.externalActionId,_.externalAddress,_.externalActionMetadata,r.generateProofRemotely,e.zeroAddress,l,void 0,void 0,void 0,b,void 0,void 0,r.getContractWithFetcher(l,t.ContractType.HinkalHelperContract),x),O=await p.transactCallDirect(r,l,a,i,T,E,D,y,v,o,c);return m.emitTxPublicData(u.constructAdminData(n.AdminTransactionType.Onboarding,l,d,a,await r.getEthereumAddress())),O},v=async(i,c,l,d,g=!0,_=!1)=>{let v=s.validateAndGetChainId(c),y=c.map(e=>e.erc20TokenAddress),[b,x,S]=d.split(`,`);if(!o.isValidPrivateAddress(d))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let C=y.map(e=>[new a.Utxo({amount:0n,erc20TokenAddress:e,shieldedPrivateKey:i.userKeys.getShieldedPrivateKey()}),new a.Utxo({amount:0n,erc20TokenAddress:e,shieldedPrivateKey:i.userKeys.getShieldedPrivateKey()})]),w=`swapperM${l.length.toString()}x${C[0].length}x1`,T=y.map((e,t)=>[new a.Utxo({amount:l[t],erc20TokenAddress:e,randomization:BigInt(b),stealthAddress:x,encryptionKey:S})]),{externalActionData:E,contractTransaction:D,contractToApprove:O,patchAccessTokenMerkleTree:k}=await h(i,v,y,l),{zkCallData:A,circomData:j,dimData:M}=await f.constructZkProof(i.merkleTreeHinkalByChain[v],i.merkleTreeAccessTokenByChain[v],C,T,i.userKeys,w,E.externalActionId,E.externalAddress,E.externalActionMetadata,i.generateProofRemotely,e.zeroAddress,v,void 0,void 0,void 0,k,void 0,void 0,i.getContractWithFetcher(v,t.ContractType.HinkalHelperContract)),N=await p.transactCallDirect(i,v,l,c,A,j,M,O,D,g,_);return m.emitTxPublicData(u.constructAdminData(n.AdminTransactionType.PaymentLink,v,y,l,await i.getEthereumAddress())),N};exports.hinkalDeposit=_,exports.hinkalDepositForOther=v;
|
|
@@ -39,41 +39,8 @@ var h = async (e, t, n, r) => {
|
|
|
39
39
|
outputUtxosArray: o
|
|
40
40
|
};
|
|
41
41
|
}, _ = async (r, i, a, o = !0, c = !1) => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
amountChanges: a,
|
|
45
|
-
preEstimateGas: o,
|
|
46
|
-
returnTxData: c
|
|
47
|
-
});
|
|
48
|
-
let l = s(i);
|
|
49
|
-
console.log("[hinkalDeposit] chainId", l);
|
|
50
|
-
let d = i.map((e) => e.erc20TokenAddress);
|
|
51
|
-
console.log("[hinkalDeposit] erc20Addresses", d), console.log("[hinkalDeposit] loading transaction parameters and utxos");
|
|
52
|
-
let [{ externalActionData: _, contractTransaction: v, contractToApprove: y, patchAccessTokenMerkleTree: b, signatureData: x }, { inputUtxosArray: S, outputUtxosArray: C }] = await Promise.all([h(r, l, d, a), g(r, l, d, a)]);
|
|
53
|
-
console.log("[hinkalDeposit] transaction parameters ready", {
|
|
54
|
-
externalActionData: _,
|
|
55
|
-
hasContractTransaction: !!v,
|
|
56
|
-
hasContractToApprove: !!y,
|
|
57
|
-
hasPatchAccessTokenMerkleTree: !!b,
|
|
58
|
-
hasSignatureData: !!x
|
|
59
|
-
}), console.log("[hinkalDeposit] utxos ready", {
|
|
60
|
-
inputUtxoGroups: S.length,
|
|
61
|
-
outputUtxoGroups: C.length,
|
|
62
|
-
inputUtxoSizes: S.map((e) => e.length),
|
|
63
|
-
outputUtxoSizes: C.map((e) => e.length)
|
|
64
|
-
});
|
|
65
|
-
let w = `swapperM${a.length.toString()}x${S[0].length}x1`;
|
|
66
|
-
console.log("[hinkalDeposit] circuitName", w), console.log("[hinkalDeposit] constructing zk proof");
|
|
67
|
-
let { zkCallData: T, circomData: E, dimData: D } = await f(r.merkleTreeHinkalByChain[l], r.merkleTreeAccessTokenByChain[l], S, C, r.userKeys, w, _.externalActionId, _.externalAddress, _.externalActionMetadata, r.generateProofRemotely, e, l, void 0, void 0, void 0, b, void 0, void 0, r.getContractWithFetcher(l, t.HinkalHelperContract), x);
|
|
68
|
-
console.log("[hinkalDeposit] zk proof ready", {
|
|
69
|
-
zkCallDataLength: T?.length,
|
|
70
|
-
circomDataLength: Array.isArray(E) ? E.length : void 0,
|
|
71
|
-
dimDataLength: Array.isArray(D) ? D.length : void 0
|
|
72
|
-
}), console.log("[hinkalDeposit] calling transactCallDirect");
|
|
73
|
-
let O = await p(r, l, a, i, T, E, D, y, v, o, c);
|
|
74
|
-
console.log("[hinkalDeposit] transactCallDirect result", O), console.log("[hinkalDeposit] constructing admin data");
|
|
75
|
-
let k = u(n.Onboarding, l, d, a, await r.getEthereumAddress());
|
|
76
|
-
return console.log("[hinkalDeposit] adminData", k), console.log("[hinkalDeposit] emitting public tx data"), m(k), console.log("[hinkalDeposit] complete"), O;
|
|
42
|
+
let l = s(i), d = i.map((e) => e.erc20TokenAddress), [{ externalActionData: _, contractTransaction: v, contractToApprove: y, patchAccessTokenMerkleTree: b, signatureData: x }, { inputUtxosArray: S, outputUtxosArray: C }] = await Promise.all([h(r, l, d, a), g(r, l, d, a)]), w = `swapperM${a.length.toString()}x${S[0].length}x1`, { zkCallData: T, circomData: E, dimData: D } = await f(r.merkleTreeHinkalByChain[l], r.merkleTreeAccessTokenByChain[l], S, C, r.userKeys, w, _.externalActionId, _.externalAddress, _.externalActionMetadata, r.generateProofRemotely, e, l, void 0, void 0, void 0, b, void 0, void 0, r.getContractWithFetcher(l, t.HinkalHelperContract), x), O = await p(r, l, a, i, T, E, D, y, v, o, c);
|
|
43
|
+
return m(u(n.Onboarding, l, d, a, await r.getEthereumAddress())), O;
|
|
77
44
|
}, v = async (i, c, l, d, g = !0, _ = !1) => {
|
|
78
45
|
let v = s(c), y = c.map((e) => e.erc20TokenAddress), [b, x, S] = d.split(",");
|
|
79
46
|
if (!o(d)) throw Error(r.RECIPIENT_FORMAT_INCORRECT);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../constants/protocol.constants.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/time.utils.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/pre-transaction/getFeeStructure.cjs`),c=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),l=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const u=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),d=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),f=require(`../../functions/pre-transaction/getExternalSwapAddress.cjs`),p=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var m=async(e,t,r,o)=>{let s=[...await i.addPaddingToUtxos(e,t,r,o)],c=[],l=n.getCurrentTimeInSeconds().toString();for(let t=0;t<r.length;t+=1){let{outputUtxos:n}=a.outputUtxoProcessing(e.userKeys,s[t],o[t],l);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},h=async(n,i,a,h,g,_,v,y)=>{
|
|
1
|
+
require(`../../constants/protocol.constants.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/time.utils.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/pre-transaction/getFeeStructure.cjs`),c=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),l=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const u=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),d=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),f=require(`../../functions/pre-transaction/getExternalSwapAddress.cjs`),p=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var m=async(e,t,r,o)=>{let s=[...await i.addPaddingToUtxos(e,t,r,o)],c=[],l=n.getCurrentTimeInSeconds().toString();for(let t=0;t<r.length;t+=1){let{outputUtxos:n}=a.outputUtxoProcessing(e.userKeys,s[t],o[t],l);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},h=async(n,i,a,h,g,_,v,y)=>{let b=r.validateAndGetChainId(i),x=i.map(e=>e.erc20TokenAddress),S=await n.getEthereumAddressByChain(b),C=v??await s.getFeeStructure(b,_,x,h,void 0,35n);p.mergeWithFeeStructure(b,x,a,C);let w={externalActionId:h,externalAddress:f.getExternalSwapAddress(b,h),externalActionMetadata:g},[T,{patchAccessTokenMerkleTree:E,signatureData:D},{inputUtxosArray:O,outputUtxosArray:k}]=await Promise.all([n.getRandomRelay(b,!0),c.getKycAndSignatureData(n,b,x,a,S),m(n,b,x,a)]);if(!T)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let A=`swapperM${a.length.toString()}x${O[0].length}x1`,j=[!1,!0,!1].slice(0,a.length),[{zkCallData:M,circomData:N,dimData:P},F]=await Promise.all([u.constructZkProof(n.merkleTreeHinkalByChain[b],n.merkleTreeAccessTokenByChain[b],O,k,n.userKeys,A,w.externalActionId,w.externalAddress,w.externalActionMetadata,n.generateProofRemotely,T,b,j,void 0,void 0,E,void 0,C,n.getContractWithFetcher(b,e.ContractType.HinkalHelperContract),D),l.buildCommitmentValidationData(b,n.userKeys,x,O)]);return await d.transactCallRelayer(b,M,P,N,F,void 0,void 0,o.constructAdminData(y,b,x,a,S,i))};exports.hinkalSwap=h;
|
|
@@ -26,64 +26,24 @@ var m = async (e, t, r, o) => {
|
|
|
26
26
|
outputUtxosArray: c
|
|
27
27
|
};
|
|
28
28
|
}, h = async (n, i, a, h, g, _, v, y) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
let b = r(i), x = i.map((e) => e.erc20TokenAddress), S = await n.getEthereumAddressByChain(b), C = v ?? await s(b, _, x, h, void 0, 35n);
|
|
30
|
+
p(b, x, a, C);
|
|
31
|
+
let w = {
|
|
32
32
|
externalActionId: h,
|
|
33
|
-
|
|
34
|
-
feeToken: _,
|
|
35
|
-
hasFeeStructureOverride: !!v,
|
|
36
|
-
action: y
|
|
37
|
-
});
|
|
38
|
-
let b = r(i);
|
|
39
|
-
console.log("[hinkalSwap] chainId", b);
|
|
40
|
-
let x = i.map((e) => e.erc20TokenAddress);
|
|
41
|
-
console.log("[hinkalSwap] erc20Addresses", x);
|
|
42
|
-
let S = await n.getEthereumAddressByChain(b);
|
|
43
|
-
console.log("[hinkalSwap] ethereumAddress", S), console.log("[hinkalSwap] resolving fee structure");
|
|
44
|
-
let C = v ?? await s(b, _, x, h, void 0, 35n);
|
|
45
|
-
console.log("[hinkalSwap] feeStructure", C), p(b, x, a, C), console.log("[hinkalSwap] deltaAmounts after fee merge", a);
|
|
46
|
-
let w = f(b, h);
|
|
47
|
-
console.log("[hinkalSwap] externalAddress", w);
|
|
48
|
-
let T = {
|
|
49
|
-
externalActionId: h,
|
|
50
|
-
externalAddress: w,
|
|
33
|
+
externalAddress: f(b, h),
|
|
51
34
|
externalActionMetadata: g
|
|
52
|
-
}
|
|
53
|
-
console.log("[hinkalSwap] externalActionData", T), console.log("[hinkalSwap] loading relay, kyc data, and utxos");
|
|
54
|
-
let [E, { patchAccessTokenMerkleTree: D, signatureData: O }, { inputUtxosArray: k, outputUtxosArray: A }] = await Promise.all([
|
|
35
|
+
}, [T, { patchAccessTokenMerkleTree: E, signatureData: D }, { inputUtxosArray: O, outputUtxosArray: k }] = await Promise.all([
|
|
55
36
|
n.getRandomRelay(b, !0),
|
|
56
37
|
c(n, b, x, a, S),
|
|
57
38
|
m(n, b, x, a)
|
|
58
39
|
]);
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
hasPatchAccessTokenMerkleTree: !!D,
|
|
62
|
-
hasSignatureData: !!O,
|
|
63
|
-
inputUtxoGroups: k.length,
|
|
64
|
-
outputUtxoGroups: A.length,
|
|
65
|
-
inputUtxoSizes: k.map((e) => e.length),
|
|
66
|
-
outputUtxoSizes: A.map((e) => e.length)
|
|
67
|
-
}), !E) throw Error(t.RELAYER_NOT_AVAILABLE);
|
|
68
|
-
let j = `swapperM${a.length.toString()}x${k[0].length}x1`;
|
|
69
|
-
console.log("[hinkalSwap] circuitName", j);
|
|
70
|
-
let M = [
|
|
40
|
+
if (!T) throw Error(t.RELAYER_NOT_AVAILABLE);
|
|
41
|
+
let A = `swapperM${a.length.toString()}x${O[0].length}x1`, j = [
|
|
71
42
|
!1,
|
|
72
43
|
!0,
|
|
73
44
|
!1
|
|
74
|
-
].slice(0, a.length);
|
|
75
|
-
|
|
76
|
-
let [{ zkCallData: N, circomData: P, dimData: F }, I] = await Promise.all([u(n.merkleTreeHinkalByChain[b], n.merkleTreeAccessTokenByChain[b], k, A, n.userKeys, j, T.externalActionId, T.externalAddress, T.externalActionMetadata, n.generateProofRemotely, E, b, M, void 0, void 0, D, void 0, C, n.getContractWithFetcher(b, e.HinkalHelperContract), O), l(b, n.userKeys, x, k)]);
|
|
77
|
-
console.log("[hinkalSwap] proof data ready", {
|
|
78
|
-
zkCallDataLength: N?.length,
|
|
79
|
-
circomDataLength: Array.isArray(P) ? P.length : void 0,
|
|
80
|
-
dimDataLength: Array.isArray(F) ? F.length : void 0,
|
|
81
|
-
commitmentValidationData: I
|
|
82
|
-
});
|
|
83
|
-
let L = o(y, b, x, a, S, i);
|
|
84
|
-
console.log("[hinkalSwap] adminData", L), console.log("[hinkalSwap] calling transactCallRelayer");
|
|
85
|
-
let R = await d(b, N, F, P, I, void 0, void 0, L);
|
|
86
|
-
return console.log("[hinkalSwap] txHash", R), R;
|
|
45
|
+
].slice(0, a.length), [{ zkCallData: M, circomData: N, dimData: P }, F] = await Promise.all([u(n.merkleTreeHinkalByChain[b], n.merkleTreeAccessTokenByChain[b], O, k, n.userKeys, A, w.externalActionId, w.externalAddress, w.externalActionMetadata, n.generateProofRemotely, T, b, j, void 0, void 0, E, void 0, C, n.getContractWithFetcher(b, e.HinkalHelperContract), D), l(b, n.userKeys, x, O)]);
|
|
46
|
+
return await d(b, M, P, N, F, void 0, void 0, o(y, b, x, a, S, i));
|
|
87
47
|
};
|
|
88
48
|
//#endregion
|
|
89
49
|
export { h as hinkalSwap };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/utils/fees.utils.cjs`),f=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),g=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const _=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r,i,o)=>{let s=[...await l.addPaddingToUtxos(e,t,n,r)],c=[],d=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,s[t],r[t],d,void 0,!0,i,t===0?o:0n);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},x=async(a,l,u,x,S,C,w)=>{
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/utils/fees.utils.cjs`),f=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),g=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const _=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r,i,o)=>{let s=[...await l.addPaddingToUtxos(e,t,n,r)],c=[],d=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,s[t],r[t],d,void 0,!0,i,t===0?o:0n);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},x=async(a,l,u,x,S,C,w)=>{let T=c.validateAndGetChainId(l),E=e.isTronLike(T);if(!o.isValidPrivateAddress(x))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let D=s.addressToHexFormat(await a.getEthereumAddressByChain(T)),O=l.map(e=>e.erc20TokenAddress),k=await f.modifyVolatileTokenAmountChanges(T,l,u),A=C??await m.getFeeStructure(T,S,O,r.ExternalActionId.Transact,[],5n);A.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let j=d.calculateTotalFee(-k[0],A),M=-k[0],N={feeToken:A.feeToken,flatFee:j,variableRate:0n};if(y.mergeWithFeeStructure(T,O,k,N),!l[0])throw Error(`Transfer Action: No Token Found`);let[P,{patchAccessTokenMerkleTree:F,signatureData:I},{inputUtxosArray:L,outputUtxosArray:R}]=await Promise.all([a.getRandomRelay(T,!0),h.getKycAndSignatureData(a,T,O,k,D),b(a,T,O,k,x,M)]);if(!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z={externalActionId:0n,externalAddress:P,externalActionMetadata:`0x00`},B=`swapperM${k.length}x${L[0].length}x2`,[{zkCallData:V,circomData:H,dimData:U},W]=await Promise.all([_.constructZkProof(a.merkleTreeHinkalByChain[T],a.merkleTreeAccessTokenByChain[T],L,R,a.userKeys,B,z.externalActionId,z.externalAddress,z.externalActionMetadata,a.generateProofRemotely,P,T,void 0,void 0,void 0,F,void 0,N,a.getContractWithFetcher(T,n.ContractType.HinkalHelperContract),I),g.buildCommitmentValidationData(T,a.userKeys,O,L)]),G=await s.reorderZkCallData(E,V,U,H);return await v.transactCallRelayer(T,V,U,H,W,void 0,void 0,p.constructAdminData(w,T,O,k,D),G)};exports.hinkalTransfer=x;
|
|
@@ -32,75 +32,28 @@ var x = async (e, t, n, r, i, o) => {
|
|
|
32
32
|
outputUtxosArray: c
|
|
33
33
|
};
|
|
34
34
|
}, S = async (a, u, d, S, C, w, T) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
hasFeeStructureOverride: !!w,
|
|
41
|
-
action: T
|
|
42
|
-
});
|
|
43
|
-
let E = l(u);
|
|
44
|
-
console.log("[hinkalTransfer] chainId", E);
|
|
45
|
-
let D = e(E);
|
|
46
|
-
if (console.log("[hinkalTransfer] isTron", D), !o(S)) throw console.log("[hinkalTransfer] invalid recipientAddress", S), Error(i.RECIPIENT_FORMAT_INCORRECT);
|
|
47
|
-
console.log("[hinkalTransfer] recipientAddress validated");
|
|
48
|
-
let O = s(await a.getEthereumAddressByChain(E));
|
|
49
|
-
console.log("[hinkalTransfer] ethereumAddress", O);
|
|
50
|
-
let k = u.map((e) => e.erc20TokenAddress);
|
|
51
|
-
console.log("[hinkalTransfer] erc20Addresses", k);
|
|
52
|
-
let A = await p(E, u, d);
|
|
53
|
-
console.log("[hinkalTransfer] amountChanges", A), console.log("[hinkalTransfer] resolving fee structure");
|
|
54
|
-
let j = w ?? await h(E, C, k, r.Transact, [], 5n);
|
|
55
|
-
console.log("[hinkalTransfer] feeStructure initial", j), j.variableRate ||= t, console.log("[hinkalTransfer] feeStructure normalized", j);
|
|
56
|
-
let M = f(-A[0], j);
|
|
57
|
-
console.log("[hinkalTransfer] totalFee", M);
|
|
58
|
-
let N = -A[0];
|
|
59
|
-
console.log("[hinkalTransfer] recipientAmount", N);
|
|
60
|
-
let P = {
|
|
35
|
+
let E = l(u), D = e(E);
|
|
36
|
+
if (!o(S)) throw Error(i.RECIPIENT_FORMAT_INCORRECT);
|
|
37
|
+
let O = s(await a.getEthereumAddressByChain(E)), k = u.map((e) => e.erc20TokenAddress), A = await p(E, u, d), j = w ?? await h(E, C, k, r.Transact, [], 5n);
|
|
38
|
+
j.variableRate ||= t;
|
|
39
|
+
let M = f(-A[0], j), N = -A[0], P = {
|
|
61
40
|
feeToken: j.feeToken,
|
|
62
41
|
flatFee: M,
|
|
63
42
|
variableRate: 0n
|
|
64
43
|
};
|
|
65
|
-
|
|
66
|
-
let F =
|
|
67
|
-
if (console.log("[hinkalTransfer] primary token", F), !F) throw Error("Transfer Action: No Token Found");
|
|
68
|
-
console.log("[hinkalTransfer] loading relay, kyc data, and utxos");
|
|
69
|
-
let [I, { patchAccessTokenMerkleTree: L, signatureData: R }, { inputUtxosArray: z, outputUtxosArray: B }] = await Promise.all([
|
|
44
|
+
if (b(E, k, A, P), !u[0]) throw Error("Transfer Action: No Token Found");
|
|
45
|
+
let [F, { patchAccessTokenMerkleTree: I, signatureData: L }, { inputUtxosArray: R, outputUtxosArray: z }] = await Promise.all([
|
|
70
46
|
a.getRandomRelay(E, !0),
|
|
71
47
|
g(a, E, k, A, O),
|
|
72
48
|
x(a, E, k, A, S, N)
|
|
73
49
|
]);
|
|
74
|
-
if (
|
|
75
|
-
|
|
76
|
-
hasPatchAccessTokenMerkleTree: !!L,
|
|
77
|
-
hasSignatureData: !!R,
|
|
78
|
-
inputUtxoGroups: z.length,
|
|
79
|
-
outputUtxoGroups: B.length,
|
|
80
|
-
inputUtxoSizes: z.map((e) => e.length),
|
|
81
|
-
outputUtxoSizes: B.map((e) => e.length)
|
|
82
|
-
}), !I) throw Error(i.RELAYER_NOT_AVAILABLE);
|
|
83
|
-
let V = {
|
|
50
|
+
if (!F) throw Error(i.RELAYER_NOT_AVAILABLE);
|
|
51
|
+
let B = {
|
|
84
52
|
externalActionId: 0n,
|
|
85
|
-
externalAddress:
|
|
53
|
+
externalAddress: F,
|
|
86
54
|
externalActionMetadata: "0x00"
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
let H = `swapperM${A.length}x${z[0].length}x2`;
|
|
90
|
-
console.log("[hinkalTransfer] circuitName", H), console.log("[hinkalTransfer] constructing zk proof and commitment validation data");
|
|
91
|
-
let [{ zkCallData: U, circomData: W, dimData: G }, K] = await Promise.all([v(a.merkleTreeHinkalByChain[E], a.merkleTreeAccessTokenByChain[E], z, B, a.userKeys, H, V.externalActionId, V.externalAddress, V.externalActionMetadata, a.generateProofRemotely, I, E, void 0, void 0, void 0, L, void 0, P, a.getContractWithFetcher(E, n.HinkalHelperContract), R), _(E, a.userKeys, k, z)]);
|
|
92
|
-
console.log("[hinkalTransfer] proof data ready", {
|
|
93
|
-
zkCallDataLength: U?.length,
|
|
94
|
-
circomDataLength: Array.isArray(W) ? W.length : void 0,
|
|
95
|
-
dimDataLength: Array.isArray(G) ? G.length : void 0,
|
|
96
|
-
commitmentValidationData: K
|
|
97
|
-
});
|
|
98
|
-
let q = await c(D, U, G, W);
|
|
99
|
-
console.log("[hinkalTransfer] tronProofSignature", q);
|
|
100
|
-
let J = m(T, E, k, A, O);
|
|
101
|
-
console.log("[hinkalTransfer] adminData", J), console.log("[hinkalTransfer] calling transactCallRelayer");
|
|
102
|
-
let Y = await y(E, U, G, W, K, void 0, void 0, J, q);
|
|
103
|
-
return console.log("[hinkalTransfer] txHash", Y), Y;
|
|
55
|
+
}, V = `swapperM${A.length}x${R[0].length}x2`, [{ zkCallData: H, circomData: U, dimData: W }, G] = await Promise.all([v(a.merkleTreeHinkalByChain[E], a.merkleTreeAccessTokenByChain[E], R, z, a.userKeys, V, B.externalActionId, B.externalAddress, B.externalActionMetadata, a.generateProofRemotely, F, E, void 0, void 0, void 0, I, void 0, P, a.getContractWithFetcher(E, n.HinkalHelperContract), L), _(E, a.userKeys, k, R)]), K = await c(D, H, W, U);
|
|
56
|
+
return await y(E, H, W, U, G, void 0, void 0, m(T, E, k, A, O), K);
|
|
104
57
|
};
|
|
105
58
|
//#endregion
|
|
106
59
|
export { S as hinkalTransfer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/tron.utils.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/utils/fees.utils.cjs`),d=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../../functions/pre-transaction/getFeeStructure.cjs`),m=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),h=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const g=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r)=>{let i=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},x=async(a,c,l,x,S,C,w,T)=>{
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/tron.utils.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/utils/fees.utils.cjs`),d=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../../functions/pre-transaction/getFeeStructure.cjs`),m=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),h=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const g=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r)=>{let i=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},x=async(a,c,l,x,S,C,w,T)=>{let E=s.validateAndGetChainId(c),D=e.isTronLike(E),O=o.addressToHexFormat(await a.getEthereumAddressByChain(E)),k=c.map(e=>e.erc20TokenAddress),A=await d.modifyVolatileTokenAmountChanges(E,c,l),j;if(!S){let e=w??await p.getFeeStructure(E,C,k,r.ExternalActionId.Transact),t=u.calculateTotalFee(-A[0],e);j={feeToken:e.feeToken,flatFee:t,variableRate:0n},y.mergeWithFeeStructure(E,k,A,j)}let M=c[0];if(!M)throw Error(`Deposit Action: No Token Found`);let N={externalActionId:0n,externalAddress:o.addressToHexFormat(x),externalActionMetadata:`0x00`},[P,{patchAccessTokenMerkleTree:F,signatureData:I},{inputUtxosArray:L,outputUtxosArray:R}]=await Promise.all([a.getRandomRelay(E,!0),m.getKycAndSignatureData(a,E,k,A,O),b(a,E,k,A)]);if(!S&&!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z=`swapperM${A.length.toString()}x${L[0].length}x1`,[{zkCallData:B,circomData:V,dimData:H},U]=await Promise.all([g.constructZkProof(a.merkleTreeHinkalByChain[E],a.merkleTreeAccessTokenByChain[E],L,R,a.userKeys,z,N.externalActionId,N.externalAddress,N.externalActionMetadata,a.generateProofRemotely,S?t.zeroAddress:P,E,void 0,void 0,void 0,F,void 0,j,a.getContractWithFetcher(E,n.ContractType.HinkalHelperContract),I,S?O:void 0),h.buildCommitmentValidationData(E,a.userKeys,k,L)]),W=await o.reorderZkCallData(D,B,H,V);if(S){if(!M)throw Error(`Withdraw Action: No Token Found`);return await _.transactCallDirect(a,E,A[0],M,B,V,H)}return await v.transactCallRelayer(E,B,H,V,U,void 0,void 0,f.constructAdminData(T,E,k,A,O),W)};exports.hinkalWithdraw=x;
|
|
@@ -32,78 +32,33 @@ var x = async (e, t, n, r) => {
|
|
|
32
32
|
outputUtxosArray: o
|
|
33
33
|
};
|
|
34
34
|
}, S = async (a, l, u, S, C, w, T, E) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
isRelayerOff: C,
|
|
40
|
-
feeToken: w,
|
|
41
|
-
hasFeeStructureOverride: !!T,
|
|
42
|
-
action: E
|
|
43
|
-
});
|
|
44
|
-
let D = c(l);
|
|
45
|
-
console.log("[hinkalWithdraw] chainId", D);
|
|
46
|
-
let O = e(D);
|
|
47
|
-
console.log("[hinkalWithdraw] isTron", O);
|
|
48
|
-
let k = o(await a.getEthereumAddressByChain(D));
|
|
49
|
-
console.log("[hinkalWithdraw] ethereumAddress", k);
|
|
50
|
-
let A = l.map((e) => e.erc20TokenAddress);
|
|
51
|
-
console.log("[hinkalWithdraw] erc20Addresses", A);
|
|
52
|
-
let j = await f(D, l, u);
|
|
53
|
-
console.log("[hinkalWithdraw] deltaAmounts", j);
|
|
54
|
-
let M;
|
|
55
|
-
if (console.log("[hinkalWithdraw] feeStructure initialized as undefined"), !C) {
|
|
56
|
-
console.log("[hinkalWithdraw] resolving relayer fee structure");
|
|
57
|
-
let e = T ?? await m(D, w, A, r.Transact);
|
|
58
|
-
console.log("[hinkalWithdraw] rawFeeStructure", e);
|
|
59
|
-
let t = d(-j[0], e);
|
|
60
|
-
console.log("[hinkalWithdraw] totalFee", t), M = {
|
|
35
|
+
let D = c(l), O = e(D), k = o(await a.getEthereumAddressByChain(D)), A = l.map((e) => e.erc20TokenAddress), j = await f(D, l, u), M;
|
|
36
|
+
if (!C) {
|
|
37
|
+
let e = T ?? await m(D, w, A, r.Transact), t = d(-j[0], e);
|
|
38
|
+
M = {
|
|
61
39
|
feeToken: e.feeToken,
|
|
62
40
|
flatFee: t,
|
|
63
41
|
variableRate: 0n
|
|
64
|
-
},
|
|
42
|
+
}, b(D, A, j, M);
|
|
65
43
|
}
|
|
66
44
|
let N = l[0];
|
|
67
|
-
if (
|
|
45
|
+
if (!N) throw Error("Deposit Action: No Token Found");
|
|
68
46
|
let P = {
|
|
69
47
|
externalActionId: 0n,
|
|
70
48
|
externalAddress: o(S),
|
|
71
49
|
externalActionMetadata: "0x00"
|
|
72
|
-
}
|
|
73
|
-
console.log("[hinkalWithdraw] externalActionData", P), console.log("[hinkalWithdraw] loading relay, kyc data, and utxos");
|
|
74
|
-
let [F, { patchAccessTokenMerkleTree: I, signatureData: L }, { inputUtxosArray: R, outputUtxosArray: z }] = await Promise.all([
|
|
50
|
+
}, [F, { patchAccessTokenMerkleTree: I, signatureData: L }, { inputUtxosArray: R, outputUtxosArray: z }] = await Promise.all([
|
|
75
51
|
a.getRandomRelay(D, !0),
|
|
76
52
|
h(a, D, A, j, k),
|
|
77
53
|
x(a, D, A, j)
|
|
78
54
|
]);
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
outputUtxoGroups: z.length,
|
|
85
|
-
inputUtxoSizes: R.map((e) => e.length),
|
|
86
|
-
outputUtxoSizes: z.map((e) => e.length)
|
|
87
|
-
}), !C && !F) throw Error(i.RELAYER_NOT_AVAILABLE);
|
|
88
|
-
let B = `swapperM${j.length.toString()}x${R[0].length}x1`;
|
|
89
|
-
console.log("[hinkalWithdraw] circuitName", B), console.log("[hinkalWithdraw] constructing zk proof and commitment validation data");
|
|
90
|
-
let [{ zkCallData: V, circomData: H, dimData: U }, W] = await Promise.all([_(a.merkleTreeHinkalByChain[D], a.merkleTreeAccessTokenByChain[D], R, z, a.userKeys, B, P.externalActionId, P.externalAddress, P.externalActionMetadata, a.generateProofRemotely, C ? t : F, D, void 0, void 0, void 0, I, void 0, M, a.getContractWithFetcher(D, n.HinkalHelperContract), L, C ? k : void 0), g(D, a.userKeys, A, R)]);
|
|
91
|
-
console.log("[hinkalWithdraw] proof data ready", {
|
|
92
|
-
zkCallDataLength: V?.length,
|
|
93
|
-
circomDataLength: Array.isArray(H) ? H.length : void 0,
|
|
94
|
-
dimDataLength: Array.isArray(U) ? U.length : void 0,
|
|
95
|
-
commitmentValidationData: W
|
|
96
|
-
});
|
|
97
|
-
let G = await s(O, V, U, H);
|
|
98
|
-
if (console.log("[hinkalWithdraw] tronProofSignature", G), C) {
|
|
99
|
-
if (console.log("[hinkalWithdraw] relayer disabled, using direct transaction path"), !N) throw Error("Withdraw Action: No Token Found");
|
|
100
|
-
let e = await v(a, D, j[0], N, V, H, U);
|
|
101
|
-
return console.log("[hinkalWithdraw] direct transaction result", e), e;
|
|
55
|
+
if (!C && !F) throw Error(i.RELAYER_NOT_AVAILABLE);
|
|
56
|
+
let B = `swapperM${j.length.toString()}x${R[0].length}x1`, [{ zkCallData: V, circomData: H, dimData: U }, W] = await Promise.all([_(a.merkleTreeHinkalByChain[D], a.merkleTreeAccessTokenByChain[D], R, z, a.userKeys, B, P.externalActionId, P.externalAddress, P.externalActionMetadata, a.generateProofRemotely, C ? t : F, D, void 0, void 0, void 0, I, void 0, M, a.getContractWithFetcher(D, n.HinkalHelperContract), L, C ? k : void 0), g(D, a.userKeys, A, R)]), G = await s(O, V, U, H);
|
|
57
|
+
if (C) {
|
|
58
|
+
if (!N) throw Error("Withdraw Action: No Token Found");
|
|
59
|
+
return await v(a, D, j[0], N, V, H, U);
|
|
102
60
|
}
|
|
103
|
-
|
|
104
|
-
console.log("[hinkalWithdraw] adminData", K), console.log("[hinkalWithdraw] calling transactCallRelayer");
|
|
105
|
-
let q = await y(D, V, U, H, W, void 0, void 0, K, G);
|
|
106
|
-
return console.log("[hinkalWithdraw] txHash", q), q;
|
|
61
|
+
return await y(D, V, U, H, W, void 0, void 0, p(E, D, A, j, k), G);
|
|
107
62
|
};
|
|
108
63
|
//#endregion
|
|
109
64
|
export { S as hinkalWithdraw };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./logError.cjs`);var
|
|
1
|
+
const e=require(`../constants/vite.constants.cjs`),t=require(`./logError.cjs`);var n=class{static log(...t){e.isNotClientProduction&&console.log(...t)}static logObject(t){e.isNotClientProduction&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.logError(e)}};exports.Logger=n;
|