@kapa123456789/sdk 0.0.65 → 0.0.66

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.
@@ -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)=>{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;
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)=>{console.log(`[hinkalDeposit] start`,{tokenCount:i.length,amountChanges:a,preEstimateGas:o,returnTxData:c});let l=s.validateAndGetChainId(i);console.log(`[hinkalDeposit] chainId`,l);let d=i.map(e=>e.erc20TokenAddress);console.log(`[hinkalDeposit] erc20Addresses`,d),console.log(`[hinkalDeposit] loading transaction parameters and utxos`);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)]);console.log(`[hinkalDeposit] transaction parameters ready`,{externalActionData:_,hasContractTransaction:!!v,hasContractToApprove:!!y,hasPatchAccessTokenMerkleTree:!!b,hasSignatureData:!!x}),console.log(`[hinkalDeposit] utxos ready`,{inputUtxoGroups:S.length,outputUtxoGroups:C.length,inputUtxoSizes:S.map(e=>e.length),outputUtxoSizes:C.map(e=>e.length)});let w=`swapperM${a.length.toString()}x${S[0].length}x1`;console.log(`[hinkalDeposit] circuitName`,w),console.log(`[hinkalDeposit] constructing zk proof`);let{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);console.log(`[hinkalDeposit] zk proof ready`,{zkCallDataLength:T?.length,circomDataLength:Array.isArray(E)?E.length:void 0,dimDataLength:Array.isArray(D)?D.length:void 0}),console.log(`[hinkalDeposit] calling transactCallDirect`);let O=await p.transactCallDirect(r,l,a,i,T,E,D,y,v,o,c);console.log(`[hinkalDeposit] transactCallDirect result`,O),console.log(`[hinkalDeposit] constructing admin data`);let k=u.constructAdminData(n.AdminTransactionType.Onboarding,l,d,a,await r.getEthereumAddress());return console.log(`[hinkalDeposit] adminData`,k),console.log(`[hinkalDeposit] emitting public tx data`),m.emitTxPublicData(k),console.log(`[hinkalDeposit] complete`),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,8 +39,41 @@ var h = async (e, t, n, r) => {
39
39
  outputUtxosArray: o
40
40
  };
41
41
  }, _ = async (r, i, a, o = !0, c = !1) => {
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;
42
+ console.log("[hinkalDeposit] start", {
43
+ tokenCount: i.length,
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;
44
77
  }, v = async (i, c, l, d, g = !0, _ = !1) => {
45
78
  let v = s(c), y = c.map((e) => e.erc20TokenAddress), [b, x, S] = d.split(",");
46
79
  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)=>{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;
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)=>{console.log(`[hinkalSwap] start`,{tokenCount:i.length,deltaAmounts:a,externalActionId:h,data:g,feeToken:_,hasFeeStructureOverride:!!v,action:y});let b=r.validateAndGetChainId(i);console.log(`[hinkalSwap] chainId`,b);let x=i.map(e=>e.erc20TokenAddress);console.log(`[hinkalSwap] erc20Addresses`,x);let S=await n.getEthereumAddressByChain(b);console.log(`[hinkalSwap] ethereumAddress`,S),console.log(`[hinkalSwap] resolving fee structure`);let C=v??await s.getFeeStructure(b,_,x,h,void 0,35n);console.log(`[hinkalSwap] feeStructure`,C),p.mergeWithFeeStructure(b,x,a,C),console.log(`[hinkalSwap] deltaAmounts after fee merge`,a);let w=f.getExternalSwapAddress(b,h);console.log(`[hinkalSwap] externalAddress`,w);let T={externalActionId:h,externalAddress:w,externalActionMetadata:g};console.log(`[hinkalSwap] externalActionData`,T),console.log(`[hinkalSwap] loading relay, kyc data, and utxos`);let[E,{patchAccessTokenMerkleTree:D,signatureData:O},{inputUtxosArray:k,outputUtxosArray:A}]=await Promise.all([n.getRandomRelay(b,!0),c.getKycAndSignatureData(n,b,x,a,S),m(n,b,x,a)]);if(console.log(`[hinkalSwap] relay and proof inputs ready`,{relay:E,hasPatchAccessTokenMerkleTree:!!D,hasSignatureData:!!O,inputUtxoGroups:k.length,outputUtxoGroups:A.length,inputUtxoSizes:k.map(e=>e.length),outputUtxoSizes:A.map(e=>e.length)}),!E)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let j=`swapperM${a.length.toString()}x${k[0].length}x1`;console.log(`[hinkalSwap] circuitName`,j);let M=[!1,!0,!1].slice(0,a.length);console.log(`[hinkalSwap] onChainCreation`,M),console.log(`[hinkalSwap] constructing zk proof and commitment validation data`);let[{zkCallData:N,circomData:P,dimData:F},I]=await Promise.all([u.constructZkProof(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.ContractType.HinkalHelperContract),O),l.buildCommitmentValidationData(b,n.userKeys,x,k)]);console.log(`[hinkalSwap] proof data ready`,{zkCallDataLength:N?.length,circomDataLength:Array.isArray(P)?P.length:void 0,dimDataLength:Array.isArray(F)?F.length:void 0,commitmentValidationData:I});let L=o.constructAdminData(y,b,x,a,S,i);console.log(`[hinkalSwap] adminData`,L),console.log(`[hinkalSwap] calling transactCallRelayer`);let R=await d.transactCallRelayer(b,N,F,P,I,void 0,void 0,L);return console.log(`[hinkalSwap] txHash`,R),R};exports.hinkalSwap=h;
@@ -26,24 +26,64 @@ 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
- 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 = {
29
+ console.log("[hinkalSwap] start", {
30
+ tokenCount: i.length,
31
+ deltaAmounts: a,
32
32
  externalActionId: h,
33
- externalAddress: f(b, h),
33
+ data: g,
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,
34
51
  externalActionMetadata: g
35
- }, [T, { patchAccessTokenMerkleTree: E, signatureData: D }, { inputUtxosArray: O, outputUtxosArray: k }] = await Promise.all([
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([
36
55
  n.getRandomRelay(b, !0),
37
56
  c(n, b, x, a, S),
38
57
  m(n, b, x, a)
39
58
  ]);
40
- if (!T) throw Error(t.RELAYER_NOT_AVAILABLE);
41
- let A = `swapperM${a.length.toString()}x${O[0].length}x1`, j = [
59
+ if (console.log("[hinkalSwap] relay and proof inputs ready", {
60
+ relay: E,
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 = [
42
71
  !1,
43
72
  !0,
44
73
  !1
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));
74
+ ].slice(0, a.length);
75
+ console.log("[hinkalSwap] onChainCreation", M), console.log("[hinkalSwap] constructing zk proof and commitment validation data");
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;
47
87
  };
48
88
  //#endregion
49
89
  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)=>{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;
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)=>{console.log(`[hinkalTransfer] start`,{tokenCount:l.length,amountChangesBase:u,recipientAddress:x,feeToken:S,hasFeeStructureOverride:!!C,action:w});let T=c.validateAndGetChainId(l);console.log(`[hinkalTransfer] chainId`,T);let E=e.isTronLike(T);if(console.log(`[hinkalTransfer] isTron`,E),!o.isValidPrivateAddress(x))throw console.log(`[hinkalTransfer] invalid recipientAddress`,x),Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);console.log(`[hinkalTransfer] recipientAddress validated`);let D=s.addressToHexFormat(await a.getEthereumAddressByChain(T));console.log(`[hinkalTransfer] ethereumAddress`,D);let O=l.map(e=>e.erc20TokenAddress);console.log(`[hinkalTransfer] erc20Addresses`,O);let k=await f.modifyVolatileTokenAmountChanges(T,l,u);console.log(`[hinkalTransfer] amountChanges`,k),console.log(`[hinkalTransfer] resolving fee structure`);let A=C??await m.getFeeStructure(T,S,O,r.ExternalActionId.Transact,[],5n);console.log(`[hinkalTransfer] feeStructure initial`,A),A.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE,console.log(`[hinkalTransfer] feeStructure normalized`,A);let j=d.calculateTotalFee(-k[0],A);console.log(`[hinkalTransfer] totalFee`,j);let M=-k[0];console.log(`[hinkalTransfer] recipientAmount`,M);let N={feeToken:A.feeToken,flatFee:j,variableRate:0n};console.log(`[hinkalTransfer] transferFeeStructure`,N),y.mergeWithFeeStructure(T,O,k,N),console.log(`[hinkalTransfer] amountChanges after fee merge`,k);let P=l[0];if(console.log(`[hinkalTransfer] primary token`,P),!P)throw Error(`Transfer Action: No Token Found`);console.log(`[hinkalTransfer] loading relay, kyc data, and utxos`);let[F,{patchAccessTokenMerkleTree:I,signatureData:L},{inputUtxosArray:R,outputUtxosArray:z}]=await Promise.all([a.getRandomRelay(T,!0),h.getKycAndSignatureData(a,T,O,k,D),b(a,T,O,k,x,M)]);if(console.log(`[hinkalTransfer] relay and proof inputs ready`,{relay:F,hasPatchAccessTokenMerkleTree:!!I,hasSignatureData:!!L,inputUtxoGroups:R.length,outputUtxoGroups:z.length,inputUtxoSizes:R.map(e=>e.length),outputUtxoSizes:z.map(e=>e.length)}),!F)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let B={externalActionId:0n,externalAddress:F,externalActionMetadata:`0x00`};console.log(`[hinkalTransfer] externalActionData`,B);let V=`swapperM${k.length}x${R[0].length}x2`;console.log(`[hinkalTransfer] circuitName`,V),console.log(`[hinkalTransfer] constructing zk proof and commitment validation data`);let[{zkCallData:H,circomData:U,dimData:W},G]=await Promise.all([_.constructZkProof(a.merkleTreeHinkalByChain[T],a.merkleTreeAccessTokenByChain[T],R,z,a.userKeys,V,B.externalActionId,B.externalAddress,B.externalActionMetadata,a.generateProofRemotely,F,T,void 0,void 0,void 0,I,void 0,N,a.getContractWithFetcher(T,n.ContractType.HinkalHelperContract),L),g.buildCommitmentValidationData(T,a.userKeys,O,R)]);console.log(`[hinkalTransfer] proof data ready`,{zkCallDataLength:H?.length,circomDataLength:Array.isArray(U)?U.length:void 0,dimDataLength:Array.isArray(W)?W.length:void 0,commitmentValidationData:G});let K=await s.reorderZkCallData(E,H,W,U);console.log(`[hinkalTransfer] tronProofSignature`,K);let q=p.constructAdminData(w,T,O,k,D);console.log(`[hinkalTransfer] adminData`,q),console.log(`[hinkalTransfer] calling transactCallRelayer`);let J=await v.transactCallRelayer(T,H,W,U,G,void 0,void 0,q,K);return console.log(`[hinkalTransfer] txHash`,J),J};exports.hinkalTransfer=x;
@@ -32,28 +32,75 @@ 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
- 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 = {
35
+ console.log("[hinkalTransfer] start", {
36
+ tokenCount: u.length,
37
+ amountChangesBase: d,
38
+ recipientAddress: S,
39
+ feeToken: C,
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 = {
40
61
  feeToken: j.feeToken,
41
62
  flatFee: M,
42
63
  variableRate: 0n
43
64
  };
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([
65
+ console.log("[hinkalTransfer] transferFeeStructure", P), b(E, k, A, P), console.log("[hinkalTransfer] amountChanges after fee merge", A);
66
+ let F = u[0];
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([
46
70
  a.getRandomRelay(E, !0),
47
71
  g(a, E, k, A, O),
48
72
  x(a, E, k, A, S, N)
49
73
  ]);
50
- if (!F) throw Error(i.RELAYER_NOT_AVAILABLE);
51
- let B = {
74
+ if (console.log("[hinkalTransfer] relay and proof inputs ready", {
75
+ relay: I,
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 = {
52
84
  externalActionId: 0n,
53
- externalAddress: F,
85
+ externalAddress: I,
54
86
  externalActionMetadata: "0x00"
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);
87
+ };
88
+ console.log("[hinkalTransfer] externalActionData", V);
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;
57
104
  };
58
105
  //#endregion
59
106
  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)=>{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;
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)=>{console.log(`[hinkalWithdraw] start`,{tokenCount:c.length,deltaAmountsBase:l,recipientAddress:x,isRelayerOff:S,feeToken:C,hasFeeStructureOverride:!!w,action:T});let E=s.validateAndGetChainId(c);console.log(`[hinkalWithdraw] chainId`,E);let D=e.isTronLike(E);console.log(`[hinkalWithdraw] isTron`,D);let O=o.addressToHexFormat(await a.getEthereumAddressByChain(E));console.log(`[hinkalWithdraw] ethereumAddress`,O);let k=c.map(e=>e.erc20TokenAddress);console.log(`[hinkalWithdraw] erc20Addresses`,k);let A=await d.modifyVolatileTokenAmountChanges(E,c,l);console.log(`[hinkalWithdraw] deltaAmounts`,A);let j;if(console.log(`[hinkalWithdraw] feeStructure initialized as undefined`),!S){console.log(`[hinkalWithdraw] resolving relayer fee structure`);let e=w??await p.getFeeStructure(E,C,k,r.ExternalActionId.Transact);console.log(`[hinkalWithdraw] rawFeeStructure`,e);let t=u.calculateTotalFee(-A[0],e);console.log(`[hinkalWithdraw] totalFee`,t),j={feeToken:e.feeToken,flatFee:t,variableRate:0n},console.log(`[hinkalWithdraw] feeStructure`,j),y.mergeWithFeeStructure(E,k,A,j),console.log(`[hinkalWithdraw] deltaAmounts after fee merge`,A)}let M=c[0];if(console.log(`[hinkalWithdraw] primary token`,M),!M)throw Error(`Deposit Action: No Token Found`);let N={externalActionId:0n,externalAddress:o.addressToHexFormat(x),externalActionMetadata:`0x00`};console.log(`[hinkalWithdraw] externalActionData`,N),console.log(`[hinkalWithdraw] loading relay, kyc data, and utxos`);let[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(console.log(`[hinkalWithdraw] relay and proof inputs ready`,{relay:P,hasPatchAccessTokenMerkleTree:!!F,hasSignatureData:!!I,inputUtxoGroups:L.length,outputUtxoGroups:R.length,inputUtxoSizes:L.map(e=>e.length),outputUtxoSizes:R.map(e=>e.length)}),!S&&!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z=`swapperM${A.length.toString()}x${L[0].length}x1`;console.log(`[hinkalWithdraw] circuitName`,z),console.log(`[hinkalWithdraw] constructing zk proof and commitment validation data`);let[{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)]);console.log(`[hinkalWithdraw] proof data ready`,{zkCallDataLength:B?.length,circomDataLength:Array.isArray(V)?V.length:void 0,dimDataLength:Array.isArray(H)?H.length:void 0,commitmentValidationData:U});let W=await o.reorderZkCallData(D,B,H,V);if(console.log(`[hinkalWithdraw] tronProofSignature`,W),S){if(console.log(`[hinkalWithdraw] relayer disabled, using direct transaction path`),!M)throw Error(`Withdraw Action: No Token Found`);let e=await _.transactCallDirect(a,E,A[0],M,B,V,H);return console.log(`[hinkalWithdraw] direct transaction result`,e),e}let G=f.constructAdminData(T,E,k,A,O);console.log(`[hinkalWithdraw] adminData`,G),console.log(`[hinkalWithdraw] calling transactCallRelayer`);let K=await v.transactCallRelayer(E,B,H,V,U,void 0,void 0,G,W);return console.log(`[hinkalWithdraw] txHash`,K),K};exports.hinkalWithdraw=x;
@@ -32,33 +32,78 @@ 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
- 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 = {
35
+ console.log("[hinkalWithdraw] start", {
36
+ tokenCount: l.length,
37
+ deltaAmountsBase: u,
38
+ recipientAddress: S,
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 = {
39
61
  feeToken: e.feeToken,
40
62
  flatFee: t,
41
63
  variableRate: 0n
42
- }, b(D, A, j, M);
64
+ }, console.log("[hinkalWithdraw] feeStructure", M), b(D, A, j, M), console.log("[hinkalWithdraw] deltaAmounts after fee merge", j);
43
65
  }
44
66
  let N = l[0];
45
- if (!N) throw Error("Deposit Action: No Token Found");
67
+ if (console.log("[hinkalWithdraw] primary token", N), !N) throw Error("Deposit Action: No Token Found");
46
68
  let P = {
47
69
  externalActionId: 0n,
48
70
  externalAddress: o(S),
49
71
  externalActionMetadata: "0x00"
50
- }, [F, { patchAccessTokenMerkleTree: I, signatureData: L }, { inputUtxosArray: R, outputUtxosArray: z }] = await Promise.all([
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([
51
75
  a.getRandomRelay(D, !0),
52
76
  h(a, D, A, j, k),
53
77
  x(a, D, A, j)
54
78
  ]);
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);
79
+ if (console.log("[hinkalWithdraw] relay and proof inputs ready", {
80
+ relay: F,
81
+ hasPatchAccessTokenMerkleTree: !!I,
82
+ hasSignatureData: !!L,
83
+ inputUtxoGroups: R.length,
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;
60
102
  }
61
- return await y(D, V, U, H, W, void 0, void 0, p(E, D, A, j, k), G);
103
+ let K = p(E, D, A, j, k);
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;
62
107
  };
63
108
  //#endregion
64
109
  export { S as hinkalWithdraw };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.65",
3
+ "version": "0.0.66",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -14,8 +14,8 @@
14
14
  var e = /* @__PURE__ */ ((r) => (r.ZKProof = "ZKProof", r.SnarkJS = "SnarkJS", r.UTXO = "UTXO", r))(e || {});
15
15
 
16
16
  const n = async () => ({
17
- [e.ZKProof]: await getWorkerURL(domain + '/0.0.65/' + 'zkProofWorkerLauncher.js'),
18
- [e.SnarkJS]: await getWorkerURL(domain + '/0.0.65/' + 'snarkjsWorkerLauncher.js'),
19
- [e.UTXO]: await getWorkerURL(domain + '/0.0.65/' + 'utxoWorkerLauncher.js'),
17
+ [e.ZKProof]: await getWorkerURL(domain + '/0.0.66/' + 'zkProofWorkerLauncher.js'),
18
+ [e.SnarkJS]: await getWorkerURL(domain + '/0.0.66/' + 'snarkjsWorkerLauncher.js'),
19
+ [e.UTXO]: await getWorkerURL(domain + '/0.0.66/' + 'utxoWorkerLauncher.js'),
20
20
  });
21
21
  exports.getWorkerViteURL = n;
@@ -14,8 +14,8 @@
14
14
  var e = /* @__PURE__ */ ((r) => (r.ZKProof = "ZKProof", r.SnarkJS = "SnarkJS", r.UTXO = "UTXO", r))(e || {});
15
15
 
16
16
  const n = async () => ({
17
- [e.ZKProof]: await getWorkerURL(domain + '/0.0.65/' + 'zkProofWorkerLauncher.js'),
18
- [e.SnarkJS]: await getWorkerURL(domain + '/0.0.65/' + 'snarkjsWorkerLauncher.js'),
19
- [e.UTXO]: await getWorkerURL(domain + '/0.0.65/' + 'utxoWorkerLauncher.js'),
17
+ [e.ZKProof]: await getWorkerURL(domain + '/0.0.66/' + 'zkProofWorkerLauncher.js'),
18
+ [e.SnarkJS]: await getWorkerURL(domain + '/0.0.66/' + 'snarkjsWorkerLauncher.js'),
19
+ [e.UTXO]: await getWorkerURL(domain + '/0.0.66/' + 'utxoWorkerLauncher.js'),
20
20
  });
21
21
  export { n as getWorkerViteURL };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.65",
3
+ "version": "0.0.66",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -1,7 +1,7 @@
1
- require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../common/src/webworker/workerFactory.cjs`),t=require(`./workerCDNUrls.cjs`);let n=require(`react`),r=require(`react-native`),i=require(`react-native-webview`),a=require(`react/jsx-runtime`);var o=`${new URL(Object.values(t.WORKER_CDN_URLS)[0]).origin}/`,s=()=>`hinkal-rnw-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`,c=(e,t)=>typeof t==`bigint`?{__bigint:t.toString()}:t instanceof Set?{__set:Array.from(t)}:t instanceof Map?{__map:Array.from(t.entries())}:t,l=e=>{if(typeof e!=`object`||!e)return e;let t=Object.keys(e);if(t.length===1){if(typeof e.__bigint==`string`)return BigInt(e.__bigint);if(Array.isArray(e.__set))return new Set(e.__set.map(l));if(Array.isArray(e.__map))return new Map(e.__map.map(e=>[l(e[0]),l(e[1])]))}return Array.isArray(e)?e.map(l):Object.fromEntries(t.map(t=>[t,l(e[t])]))},u=class{onmessage=null;onerror=null;requestId=s();subscription;constructor(e){this.variant=e,this.subscription=r.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){r.DeviceEventEmitter.emit(`TO_WEBVIEW_WORKER`,{__requestId:this.requestId,variant:this.variant,message:e})}terminate(){this.subscription?.remove?.(),this.subscription=null}};e.WorkerFactory.rnWorkerFactory=e=>new u(e);var d=`
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../common/src/webworker/workerFactory.cjs`),n=require(`./workerCDNUrls.cjs`);let r=require(`react`);r=e.__toESM(r);let i=require(`react-native`),a=require(`react-native-webview`),o=require(`react/jsx-runtime`);var s=`${new URL(Object.values(n.WORKER_CDN_URLS)[0]).origin}/`,c=()=>`hinkal-rnw-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`,l=(e,t)=>typeof t==`bigint`?{__bigint:t.toString()}:t instanceof Set?{__set:Array.from(t)}:t instanceof Map?{__map:Array.from(t.entries())}:t,u=e=>{if(typeof e!=`object`||!e)return e;let t=Object.keys(e);if(t.length===1){if(typeof e.__bigint==`string`)return BigInt(e.__bigint);if(Array.isArray(e.__set))return new Set(e.__set.map(u));if(Array.isArray(e.__map))return new Map(e.__map.map(e=>[u(e[0]),u(e[1])]))}return Array.isArray(e)?e.map(u):Object.fromEntries(t.map(t=>[t,u(e[t])]))},d=class{onmessage=null;onerror=null;requestId=c();subscription;constructor(e){this.variant=e,this.subscription=i.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){i.DeviceEventEmitter.emit(`TO_WEBVIEW_WORKER`,{__requestId:this.requestId,variant:this.variant,message:e})}terminate(){this.subscription?.remove?.(),this.subscription=null}};t.WorkerFactory.rnWorkerFactory=e=>new d(e);var f=`
2
2
  if (!window.__hinkalPageBoot) (function(){
3
3
  window.__hinkalPageBoot = true;
4
- var URLS = ${JSON.stringify(t.WORKER_CDN_URLS)};
4
+ var URLS = ${JSON.stringify(n.WORKER_CDN_URLS)};
5
5
  var BLOBS = {};
6
6
 
7
7
  function replacer(_key, value){
@@ -95,4 +95,4 @@ if (!window.__hinkalPageBoot) (function(){
95
95
 
96
96
  post({ type: 'READY' });
97
97
  })();
98
- true;`,f=`<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body><script>${d}<\/script></body></html>`,p=r.StyleSheet.create({hiddenHost:{position:`absolute`,height:1,width:1,left:-9999,top:-9999,opacity:0}}),m=()=>{let e=(0,n.useRef)(null),t=(0,n.useRef)({ready:!1,queue:[]}),s=(0,n.useCallback)((t,n,i)=>{let a;try{a=JSON.stringify({requestId:t,variant:n,message:i},c)}catch(e){r.DeviceEventEmitter.emit(`FROM_WEBVIEW_WORKER`,{requestId:t,type:`ERROR`,error:`serialize failed: ${e?.message??e}`});return}e.current?.injectJavaScript(`window.handleMessage && window.handleMessage(${a}); true;`)},[]);(0,n.useEffect)(()=>{let e=r.DeviceEventEmitter.addListener(`TO_WEBVIEW_WORKER`,e=>{let n={requestId:e?.__requestId??``,variant:e?.variant??``,message:e?.message};t.current.ready?s(n.requestId,n.variant,n.message):t.current.queue.push(n)});return()=>e.remove()},[]);let u=(0,n.useCallback)(()=>e=>{let n;try{n=l(JSON.parse(e.nativeEvent.data))}catch(e){r.DeviceEventEmitter.emit(`FROM_WEBVIEW_WORKER`,{type:`ERROR`,error:e?.message??`parse error`});return}if(n?.type===`READY`){t.current.ready=!0;let e=t.current.queue;t.current.queue=[],e.forEach(({requestId:e,variant:t,message:n})=>s(e,t,n));return}r.DeviceEventEmitter.emit(`FROM_WEBVIEW_WORKER`,n)},[]);return(0,a.jsx)(r.View,{pointerEvents:`none`,style:p.hiddenHost,children:(0,a.jsx)(i.WebView,{ref:e,source:{html:f,baseUrl:o},originWhitelist:[`*`],javaScriptEnabled:!0,domStorageEnabled:!0,androidLayerType:`hardware`,onMessage:u,onLoad:()=>e.current?.injectJavaScript(d)})})};module.exports=m;
98
+ true;`,p=`<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body><script>${f}<\/script></body></html>`,m=i.StyleSheet.create({hiddenHost:{position:`absolute`,height:1,width:1,left:-9999,top:-9999,opacity:0}}),h=()=>{let e=(0,r.useRef)(null),t=(0,r.useRef)({ready:!1,queue:[]}),n=(t,n,r)=>{let a;try{a=JSON.stringify({requestId:t,variant:n,message:r},l)}catch(e){i.DeviceEventEmitter.emit(`FROM_WEBVIEW_WORKER`,{requestId:t,type:`ERROR`,error:`serialize failed: ${e?.message??e}`});return}e.current?.injectJavaScript(`window.handleMessage && window.handleMessage(${a}); true;`)};return(0,r.useEffect)(()=>{let e=i.DeviceEventEmitter.addListener(`TO_WEBVIEW_WORKER`,e=>{let r={requestId:e?.__requestId??``,variant:e?.variant??``,message:e?.message};t.current.ready?n(r.requestId,r.variant,r.message):t.current.queue.push(r)});return()=>e.remove()},[]),(0,o.jsx)(i.View,{pointerEvents:`none`,style:m.hiddenHost,children:(0,o.jsx)(a.WebView,{ref:e,source:{html:p,baseUrl:s},originWhitelist:[`*`],javaScriptEnabled:!0,domStorageEnabled:!0,androidLayerType:`hardware`,onMessage:e=>{let r;try{r=u(JSON.parse(e.nativeEvent.data))}catch(e){i.DeviceEventEmitter.emit(`FROM_WEBVIEW_WORKER`,{type:`ERROR`,error:e?.message??`parse error`});return}if(r?.type===`READY`){t.current.ready=!0;let e=t.current.queue;t.current.queue=[],e.forEach(({requestId:e,variant:t,message:r})=>n(e,t,r));return}i.DeviceEventEmitter.emit(`FROM_WEBVIEW_WORKER`,r)},onLoad:()=>e.current?.injectJavaScript(f)})})};module.exports=h;
@@ -1,31 +1,31 @@
1
1
  import { WorkerFactory as e } from "../common/src/webworker/workerFactory.mjs";
2
2
  import { WORKER_CDN_URLS as t } from "./workerCDNUrls.mjs";
3
- import { useCallback as n, useEffect as r, useRef as i } from "react";
4
- import { DeviceEventEmitter as a, StyleSheet as o, View as s } from "react-native";
5
- import { WebView as c } from "react-native-webview";
6
- import { jsx as l } from "react/jsx-runtime";
3
+ import { useEffect as n, useRef as r } from "react";
4
+ import { DeviceEventEmitter as i, StyleSheet as a, View as o } from "react-native";
5
+ import { WebView as s } from "react-native-webview";
6
+ import { jsx as c } from "react/jsx-runtime";
7
7
  //#region libs/shared/sdk/src/react-native/HinkalWebViewWorker.tsx
8
- var u = `${new URL(Object.values(t)[0]).origin}/`, d = () => `hinkal-rnw-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`, f = (e, t) => typeof t == "bigint" ? { __bigint: t.toString() } : t instanceof Set ? { __set: Array.from(t) } : t instanceof Map ? { __map: Array.from(t.entries()) } : t, p = (e) => {
8
+ var l = `${new URL(Object.values(t)[0]).origin}/`, u = () => `hinkal-rnw-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`, d = (e, t) => typeof t == "bigint" ? { __bigint: t.toString() } : t instanceof Set ? { __set: Array.from(t) } : t instanceof Map ? { __map: Array.from(t.entries()) } : t, f = (e) => {
9
9
  if (typeof e != "object" || !e) return e;
10
10
  let t = Object.keys(e);
11
11
  if (t.length === 1) {
12
12
  if (typeof e.__bigint == "string") return BigInt(e.__bigint);
13
- if (Array.isArray(e.__set)) return new Set(e.__set.map(p));
14
- if (Array.isArray(e.__map)) return new Map(e.__map.map((e) => [p(e[0]), p(e[1])]));
13
+ if (Array.isArray(e.__set)) return new Set(e.__set.map(f));
14
+ if (Array.isArray(e.__map)) return new Map(e.__map.map((e) => [f(e[0]), f(e[1])]));
15
15
  }
16
- return Array.isArray(e) ? e.map(p) : Object.fromEntries(t.map((t) => [t, p(e[t])]));
17
- }, m = class {
16
+ return Array.isArray(e) ? e.map(f) : Object.fromEntries(t.map((t) => [t, f(e[t])]));
17
+ }, p = class {
18
18
  onmessage = null;
19
19
  onerror = null;
20
- requestId = d();
20
+ requestId = u();
21
21
  subscription;
22
22
  constructor(e) {
23
- this.variant = e, this.subscription = a.addListener("FROM_WEBVIEW_WORKER", (e) => {
23
+ this.variant = e, this.subscription = i.addListener("FROM_WEBVIEW_WORKER", (e) => {
24
24
  !e || e.requestId !== this.requestId || (e.type === "RESULT" ? this.onmessage?.({ data: e.data }) : e.type === "ERROR" && this.onerror?.(Error(e.error ?? "WebView worker error")));
25
25
  });
26
26
  }
27
27
  postMessage(e) {
28
- a.emit("TO_WEBVIEW_WORKER", {
28
+ i.emit("TO_WEBVIEW_WORKER", {
29
29
  __requestId: this.requestId,
30
30
  variant: this.variant,
31
31
  message: e
@@ -35,8 +35,8 @@ var u = `${new URL(Object.values(t)[0]).origin}/`, d = () => `hinkal-rnw-${Date.
35
35
  this.subscription?.remove?.(), this.subscription = null;
36
36
  }
37
37
  };
38
- e.rnWorkerFactory = (e) => new m(e);
39
- var h = `
38
+ e.rnWorkerFactory = (e) => new p(e);
39
+ var m = `
40
40
  if (!window.__hinkalPageBoot) (function(){
41
41
  window.__hinkalPageBoot = true;
42
42
  var URLS = ${JSON.stringify(t)};
@@ -120,82 +120,80 @@ if (!window.__hinkalPageBoot) (function(){
120
120
 
121
121
  post({ type: 'READY' });
122
122
  })();
123
- true;`, g = `<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body><script>${h}<\/script></body></html>`, _ = o.create({ hiddenHost: {
123
+ true;`, h = `<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body><script>${m}<\/script></body></html>`, g = a.create({ hiddenHost: {
124
124
  position: "absolute",
125
125
  height: 1,
126
126
  width: 1,
127
127
  left: -9999,
128
128
  top: -9999,
129
129
  opacity: 0
130
- } }), v = () => {
131
- let e = i(null), t = i({
130
+ } }), _ = () => {
131
+ let e = r(null), t = r({
132
132
  ready: !1,
133
133
  queue: []
134
- }), o = n((t, n, r) => {
135
- let i;
134
+ }), a = (t, n, r) => {
135
+ let a;
136
136
  try {
137
- i = JSON.stringify({
137
+ a = JSON.stringify({
138
138
  requestId: t,
139
139
  variant: n,
140
140
  message: r
141
- }, f);
141
+ }, d);
142
142
  } catch (e) {
143
- a.emit("FROM_WEBVIEW_WORKER", {
143
+ i.emit("FROM_WEBVIEW_WORKER", {
144
144
  requestId: t,
145
145
  type: "ERROR",
146
146
  error: `serialize failed: ${e?.message ?? e}`
147
147
  });
148
148
  return;
149
149
  }
150
- e.current?.injectJavaScript(`window.handleMessage && window.handleMessage(${i}); true;`);
151
- }, []);
152
- r(() => {
153
- let e = a.addListener("TO_WEBVIEW_WORKER", (e) => {
150
+ e.current?.injectJavaScript(`window.handleMessage && window.handleMessage(${a}); true;`);
151
+ };
152
+ return n(() => {
153
+ let e = i.addListener("TO_WEBVIEW_WORKER", (e) => {
154
154
  let n = {
155
155
  requestId: e?.__requestId ?? "",
156
156
  variant: e?.variant ?? "",
157
157
  message: e?.message
158
158
  };
159
- t.current.ready ? o(n.requestId, n.variant, n.message) : t.current.queue.push(n);
159
+ t.current.ready ? a(n.requestId, n.variant, n.message) : t.current.queue.push(n);
160
160
  });
161
161
  return () => e.remove();
162
- }, []);
163
- let d = n(() => (e) => {
164
- let n;
165
- try {
166
- n = p(JSON.parse(e.nativeEvent.data));
167
- } catch (e) {
168
- a.emit("FROM_WEBVIEW_WORKER", {
169
- type: "ERROR",
170
- error: e?.message ?? "parse error"
171
- });
172
- return;
173
- }
174
- if (n?.type === "READY") {
175
- t.current.ready = !0;
176
- let e = t.current.queue;
177
- t.current.queue = [], e.forEach(({ requestId: e, variant: t, message: n }) => o(e, t, n));
178
- return;
179
- }
180
- a.emit("FROM_WEBVIEW_WORKER", n);
181
- }, []);
182
- return /* @__PURE__ */ l(s, {
162
+ }, []), /* @__PURE__ */ c(o, {
183
163
  pointerEvents: "none",
184
- style: _.hiddenHost,
185
- children: /* @__PURE__ */ l(c, {
164
+ style: g.hiddenHost,
165
+ children: /* @__PURE__ */ c(s, {
186
166
  ref: e,
187
167
  source: {
188
- html: g,
189
- baseUrl: u
168
+ html: h,
169
+ baseUrl: l
190
170
  },
191
171
  originWhitelist: ["*"],
192
172
  javaScriptEnabled: !0,
193
173
  domStorageEnabled: !0,
194
174
  androidLayerType: "hardware",
195
- onMessage: d,
196
- onLoad: () => e.current?.injectJavaScript(h)
175
+ onMessage: (e) => {
176
+ let n;
177
+ try {
178
+ n = f(JSON.parse(e.nativeEvent.data));
179
+ } catch (e) {
180
+ i.emit("FROM_WEBVIEW_WORKER", {
181
+ type: "ERROR",
182
+ error: e?.message ?? "parse error"
183
+ });
184
+ return;
185
+ }
186
+ if (n?.type === "READY") {
187
+ t.current.ready = !0;
188
+ let e = t.current.queue;
189
+ t.current.queue = [], e.forEach(({ requestId: e, variant: t, message: n }) => a(e, t, n));
190
+ return;
191
+ }
192
+ i.emit("FROM_WEBVIEW_WORKER", n);
193
+ },
194
+ onLoad: () => e.current?.injectJavaScript(m)
197
195
  })
198
196
  });
199
197
  };
200
198
  //#endregion
201
- export { v as default };
199
+ export { _ as default };
@@ -23,7 +23,7 @@ const isFromHinkalSdk = (originPath) =>
23
23
  originPath.includes('/@sabaaa1/common/') ||
24
24
  originPath.includes('/hi-test/'));
25
25
 
26
- const applyHinkalMetroConfig = (config) => {
26
+ function applyHinkalMetroConfig(config) {
27
27
  if (!config || !config.resolver) {
28
28
  throw new Error('applyHinkalMetroConfig: pass a Metro config (e.g. from `getDefaultConfig(__dirname)`).');
29
29
  }
@@ -40,6 +40,7 @@ const applyHinkalMetroConfig = (config) => {
40
40
  crypto: path.join(shimDir, 'crypto.js'),
41
41
  worker_threads: path.join(shimDir, 'worker_threads.js'),
42
42
  readline: path.join(shimDir, 'readline.js'),
43
+ constants: path.join(shimDir, 'constants.js'),
43
44
  'web-worker': path.join(shimDir, 'web-worker.js'),
44
45
  url: path.join(shimDir, 'url.js'),
45
46
  assert: require.resolve('assert/'),
@@ -88,6 +89,6 @@ const applyHinkalMetroConfig = (config) => {
88
89
  };
89
90
 
90
91
  return config;
91
- };
92
+ }
92
93
 
93
94
  module.exports = { applyHinkalMetroConfig };
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ O_TRUNC: 512,
3
+ O_CREAT: 64,
4
+ O_RDWR: 2,
5
+ O_EXCL: 128,
6
+ O_RDONLY: 0,
7
+ };
@@ -1 +1 @@
1
- var e={name:`@kapa123456789/sdk`,version:`0.0.64`,homepage:`hinkal.io`,author:{name:`Hinkal Protocol`},keywords:[`blockchain`,`privacy`,`zero-knowledge`,`stealth addresses`],exports:{".":{types:`./index.d.ts`,main:`./index.cjs`,"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.6.8`,"async-mutex":`^0.4.0`,bs58:`^6.0.0`,buffer:`6.0.3`,"circomlibjs-hinkal-fork":`^0.0.3`,dotenv:`^16.4.5`,ethers:`^6.15.0`,"idb-keyval":`6.2.1`,multiformats:`^13.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`,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:`@kapa123456789/sdk`,version:`0.0.65`,homepage:`hinkal.io`,author:{name:`Hinkal Protocol`},keywords:[`blockchain`,`privacy`,`zero-knowledge`,`stealth addresses`],exports:{".":{types:`./index.d.ts`,main:`./index.cjs`,"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.6.8`,"async-mutex":`^0.4.0`,bs58:`^6.0.0`,buffer:`6.0.3`,"circomlibjs-hinkal-fork":`^0.0.3`,dotenv:`^16.4.5`,ethers:`^6.15.0`,"idb-keyval":`6.2.1`,multiformats:`^13.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`,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: "@kapa123456789/sdk",
3
- version: "0.0.64",
3
+ version: "0.0.65",
4
4
  homepage: "hinkal.io",
5
5
  author: { name: "Hinkal Protocol" },
6
6
  keywords: [