h_test_1 0.0.39 → 0.0.41

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(`../../types/ethereum-network.types.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../constants/chains.constants.cjs`),r=require(`../../constants/protocol.constants.cjs`),i=require(`../../types/hinkal.types.cjs`);require(`../../types/index.cjs`);const a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/time.utils.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/outputApprovalDataProcessing.cjs`),p=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const _=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var x=async(e,t,n,r)=>{let a=[...await l.addPaddingToUtxos(e,t,n,r)],s=[],c=i.defaultHinkalLogicArgs(r.length,e.userKeys),d=o.getCurrentTimeInSeconds().toString();for(let i=0;i<n.length;i+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,a[i],r[i],d,void 0,!1);s.push(n);let{useApprovalUtxoData:o}=f.outputApprovalDataProcessing(e,t,a[i],r[i]);o&&(c.useApprovalUtxoData[i]=o,c.doPreTxApproval=!0)}return{inputUtxosArray:a,outputUtxosArray:s,hinkalLogicArgs:c}},S=async(i,o,l,u,f,S,C,w)=>{let T=c.validateAndGetChainId(o),E=n.isTronLike(T),D=s.addressToHexFormat(await i.getEthereumAddressByChain(T)),O=o.map(e=>e.erc20TokenAddress),k=await p.modifyVolatileTokenAmountChanges(T,o,l),A;if(!f){let e=C??await h.getFeeStructure(T,S,O,t.ExternalActionId.Transact),n=d.calculateTotalFee(-k[0],e);A={feeToken:e.feeToken,flatFee:n,variableRate:0n},b.mergeWithFeeStructure(T,O,k,A)}let j=o[0];if(!j)throw Error(`Deposit Action: No Token Found`);let M={externalActionId:0n,externalAddress:s.addressToHexFormat(u),externalActionMetadata:`0x00`},[N,{patchAccessTokenMerkleTree:P,signatureData:F},{inputUtxosArray:I,outputUtxosArray:L,hinkalLogicArgs:R}]=await Promise.all([i.getRandomRelay(T,!0),g.getKycAndSignatureData(i,T,O,k,D),x(i,T,O,k)]);if(!f&&!N)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z=`swapperM${k.length.toString()}x${I[0].length}x1`,{zkCallData:B,circomData:V,dimData:H}=await _.constructZkProof(i.merkleTreeHinkalByChain[T],i.merkleTreeAccessTokenByChain[T],I,L,i.userKeys,z,M.externalActionId,M.externalAddress,M.externalActionMetadata,i.generateProofRemotely,f?r.zeroAddress:N,T,void 0,void 0,void 0,P,R,void 0,A,i.getContractWithFetcher(T,e.ContractType.HinkalHelperContract),F,f?D:void 0),U=await s.reorderZkCallData(E,B,H,V);if(f){if(!j)throw Error(`Withdraw Action: No Token Found`);return await v.transactCallDirect(i,T,k[0],j,B,V,H)}return await y.transactCallRelayer(T,B,H,V,void 0,void 0,m.constructAdminData(w,T,O,k,D),U)};exports.hinkalWithdraw=S;
1
+ const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../constants/chains.constants.cjs`),r=require(`../../constants/protocol.constants.cjs`),i=require(`../../types/hinkal.types.cjs`);require(`../../types/index.cjs`);const a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/time.utils.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/outputApprovalDataProcessing.cjs`),p=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const _=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var x=async(e,t,n,r)=>{console.log(`hinkalWithdraw 0 deltaAmounts`,{deltaAmounts:r,erc20Addresses:n});let a=[...await l.addPaddingToUtxos(e,t,n,r)];console.log(`hinkalWithdraw 1 inputUtxosArray`,a);let s=[],c=i.defaultHinkalLogicArgs(r.length,e.userKeys),d=o.getCurrentTimeInSeconds().toString();for(let i=0;i<n.length;i+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,a[i],r[i],d,void 0,!1);s.push(n),console.log(`hinkalWithdraw 2 outputUtxosArray`,s);let{useApprovalUtxoData:o}=f.outputApprovalDataProcessing(e,t,a[i],r[i]);o&&(c.useApprovalUtxoData[i]=o,c.doPreTxApproval=!0)}return{inputUtxosArray:a,outputUtxosArray:s,hinkalLogicArgs:c}},S=async(i,o,l,u,f,S,C,w)=>{let T=c.validateAndGetChainId(o),E=n.isTronLike(T),D=s.addressToHexFormat(await i.getEthereumAddressByChain(T)),O=o.map(e=>e.erc20TokenAddress),k=await p.modifyVolatileTokenAmountChanges(T,o,l),A;if(!f){let e=C??await h.getFeeStructure(T,S,O,t.ExternalActionId.Transact),n=d.calculateTotalFee(-k[0],e);A={feeToken:e.feeToken,flatFee:n,variableRate:0n},b.mergeWithFeeStructure(T,O,k,A)}let j=o[0];if(!j)throw Error(`Deposit Action: No Token Found`);let M={externalActionId:0n,externalAddress:s.addressToHexFormat(u),externalActionMetadata:`0x00`},[N,{patchAccessTokenMerkleTree:P,signatureData:F},{inputUtxosArray:I,outputUtxosArray:L,hinkalLogicArgs:R}]=await Promise.all([i.getRandomRelay(T,!0),g.getKycAndSignatureData(i,T,O,k,D),x(i,T,O,k)]);if(!f&&!N)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z=`swapperM${k.length.toString()}x${I[0].length}x1`,{zkCallData:B,circomData:V,dimData:H}=await _.constructZkProof(i.merkleTreeHinkalByChain[T],i.merkleTreeAccessTokenByChain[T],I,L,i.userKeys,z,M.externalActionId,M.externalAddress,M.externalActionMetadata,i.generateProofRemotely,f?r.zeroAddress:N,T,void 0,void 0,void 0,P,R,void 0,A,i.getContractWithFetcher(T,e.ContractType.HinkalHelperContract),F,f?D:void 0),U=await s.reorderZkCallData(E,B,H,V);if(f){if(!j)throw Error(`Withdraw Action: No Token Found`);return await v.transactCallDirect(i,T,k[0],j,B,V,H)}return await y.transactCallRelayer(T,B,H,V,void 0,void 0,m.constructAdminData(w,T,O,k,D),U)};exports.hinkalWithdraw=S;
@@ -23,10 +23,16 @@ import { transactCallRelayer as b } from "../../functions/web3/functionCalls/tra
23
23
  import { mergeWithFeeStructure as x } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
24
24
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalWithdraw.ts
25
25
  var S = async (e, t, n, r) => {
26
- let a = [...await u(e, t, n, r)], s = [], c = i(r.length, e.userKeys), l = o().toString();
26
+ console.log("hinkalWithdraw 0 deltaAmounts", {
27
+ deltaAmounts: r,
28
+ erc20Addresses: n
29
+ });
30
+ let a = [...await u(e, t, n, r)];
31
+ console.log("hinkalWithdraw 1 inputUtxosArray", a);
32
+ let s = [], c = i(r.length, e.userKeys), l = o().toString();
27
33
  for (let i = 0; i < n.length; i += 1) {
28
34
  let { outputUtxos: n } = d(e.userKeys, a[i], r[i], l, void 0, !1);
29
- s.push(n);
35
+ s.push(n), console.log("hinkalWithdraw 2 outputUtxosArray", s);
30
36
  let { useApprovalUtxoData: o } = p(e, t, a[i], r[i]);
31
37
  o && (c.useApprovalUtxoData[i] = o, c.doPreTxApproval = !0);
32
38
  }
@@ -1 +1 @@
1
- const e=require(`../../../constants/vite.constants.cjs`),t=require(`../../../constants/chains.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../error-handling/error-codes.constants.cjs`),i=require(`../etherFunctions.cjs`),a=require(`../../utils/erc20tokenFunctions.cjs`),o=require(`../../../data-structures/utxo/Utxo.cjs`),s=require(`../../../error-handling/customErrors/ErrorWithAmount.cjs`);require(`../../../error-handling/customErrors/index.cjs`);const c=require(`../../utils/encodeTokenWithId.cjs`),l=require(`../../utils/solanaMint.utils.cjs`),u=require(`./getInputUtxoAndBalance.cjs`),d=require(`../../../data-structures/TokenDBs/PrivateTokensDB.cjs`),f=require(`../../utils/mutexes.utils.cjs`);var p=async(t,r,i,o,s,c=!1,l,p=!1,m=!1)=>f.getChainBalanceFetchingMutex(r).runExclusive(async()=>{let{inputUtxos:f}=m?await u.getInputUtxoAndBalanceOfStuckUtxos({hinkal:t,chainId:r,ethAddress:s,passedShieldedPrivateKey:i,resetCacheBefore:c,allowRemoteDecryption:l}):await u.getInputUtxoAndBalance({hinkal:t,sliceIfMore6:!1,chainId:r,passedShieldedPrivateKey:i,passedShieldedPublicKey:o,ethAddress:s,resetCacheBefore:c,allowRemoteDecryption:l});p&&e.isExtension&&await d.privateTokensDB.fetchAndUpdatePrivateTokens(f.map(e=>e.getTokenAddress(r)).filter(e=>e!==void 0),r,s);let h=(e.isExtension?await d.privateTokensDB.getPrivateTokens(r,s):a.getErc20TokensForChain(r)).map(e=>({token:e,balance:f.reduce((t,i)=>{let a=e.erc20TokenAddress;return n.caseInsensitiveEqual(a,i.getTokenAddress(r))?t+i.amount:t},0n),timestamp:f.filter(t=>n.caseInsensitiveEqual(t.getTokenAddress(r),e.erc20TokenAddress))[0]?.timeStamp,nfts:f.filter(t=>n.caseInsensitiveEqual(t.getTokenAddress(r),e.erc20TokenAddress)&&t.tokenId!==0).map(e=>({tokenId:e.tokenId,timestamp:e.timeStamp}))})),g=new Map;return h.forEach(e=>{g.set(e.token.erc20TokenAddress.toLowerCase(),e)}),g}),m=async(e,n,d,f,p=6,m=d.map(()=>0),h=!1,g=!1)=>{let{userKeys:_}=e,v=[],y=[];if(d.length===0)return[];let b=await u.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,ensuredTokensWithId:d.map((e,t)=>({erc20TokenAddress:d[t],tokenId:m[t]})),allowRemoteDecryption:!1,useBlockedUtxos:g,chainId:n}),x=0;for(let e=0;e<d.length;e+=1)if(h===!1){let t=b.get(c.encodeTokenWithId(n,{erc20TokenAddress:d[e],tokenId:m[e]}))??[];if(!t)throw Error(`Missing utxos for token`);x=Math.max(t.length,x),y.push(t)}else y.push([]);return x===2?y:(y.forEach((e,c)=>{if(e.length>p){let t=e.slice(0,p),o=t.reduce((e,t)=>e+t.amount,0n);if(f[c]<0n&&o<-f[c]){let e=a.getERC20Token(d[c],n),t=e.decimals===18?6:2,l=Number(i.getAmountWithPrecision(o,e,t));throw new s.ErrorWithAmount(l,`${r.DIRECTLY_SHOW_MESSAGE_ERROR_CODES.UTXO_LIMITATIONS}. Please try again with ${l} ${e.symbol}, including gas fees.`)}v.push(t)}else if(e.length<=p){let r=[...e],i=p-e.length;for(;i>0;){--i;let e=t.isSolanaLike(n),a=e?d[c]:void 0,s=e?l.formatMintAddress(d[c]).compressedAddress:d[c];r.push(new o.Utxo({amount:0n,erc20TokenAddress:s,mintAddress:a,shieldedPrivateKey:_.getShieldedPrivateKey(),tokenId:m[c]}))}v.push(r)}}),v)};exports.addPaddingToUtxos=m,exports.getShieldedBalance=p;
1
+ const e=require(`../../../constants/vite.constants.cjs`),t=require(`../../../constants/chains.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../error-handling/error-codes.constants.cjs`),i=require(`../etherFunctions.cjs`),a=require(`../../utils/erc20tokenFunctions.cjs`),o=require(`../../../data-structures/utxo/Utxo.cjs`),s=require(`../../../error-handling/customErrors/ErrorWithAmount.cjs`);require(`../../../error-handling/customErrors/index.cjs`);const c=require(`../../utils/encodeTokenWithId.cjs`),l=require(`../../utils/solanaMint.utils.cjs`),u=require(`./getInputUtxoAndBalance.cjs`),d=require(`../../../data-structures/TokenDBs/PrivateTokensDB.cjs`),f=require(`../../utils/mutexes.utils.cjs`);var p=async(t,r,i,o,s,c=!1,l,p=!1,m=!1)=>f.getChainBalanceFetchingMutex(r).runExclusive(async()=>{let{inputUtxos:f}=m?await u.getInputUtxoAndBalanceOfStuckUtxos({hinkal:t,chainId:r,ethAddress:s,passedShieldedPrivateKey:i,resetCacheBefore:c,allowRemoteDecryption:l}):await u.getInputUtxoAndBalance({hinkal:t,sliceIfMore6:!1,chainId:r,passedShieldedPrivateKey:i,passedShieldedPublicKey:o,ethAddress:s,resetCacheBefore:c,allowRemoteDecryption:l});p&&e.isExtension&&await d.privateTokensDB.fetchAndUpdatePrivateTokens(f.map(e=>e.getTokenAddress(r)).filter(e=>e!==void 0),r,s);let h=(e.isExtension?await d.privateTokensDB.getPrivateTokens(r,s):a.getErc20TokensForChain(r)).map(e=>({token:e,balance:f.reduce((t,i)=>{let a=e.erc20TokenAddress;return n.caseInsensitiveEqual(a,i.getTokenAddress(r))?t+i.amount:t},0n),timestamp:f.filter(t=>n.caseInsensitiveEqual(t.getTokenAddress(r),e.erc20TokenAddress))[0]?.timeStamp,nfts:f.filter(t=>n.caseInsensitiveEqual(t.getTokenAddress(r),e.erc20TokenAddress)&&t.tokenId!==0).map(e=>({tokenId:e.tokenId,timestamp:e.timeStamp}))})),g=new Map;return h.forEach(e=>{g.set(e.token.erc20TokenAddress.toLowerCase(),e)}),g}),m=async(e,n,d,f,p=6,m=d.map(()=>0),h=!1,g=!1)=>{console.log(`addPaddingToUtxos 0 start`,{erc20Addresses:d,amountChanges:f,maxInput:p,tokenIds:m,forceEmptyUtxos:h,useBlockedUtxos:g});let{userKeys:_}=e,v=[],y=[];if(d.length===0)return[];let b=await u.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,ensuredTokensWithId:d.map((e,t)=>({erc20TokenAddress:d[t],tokenId:m[t]})),allowRemoteDecryption:!1,useBlockedUtxos:g,chainId:n});console.log(`addPaddingToUtxos 1 inputUtxosPerToken`,b);let x=0;for(let e=0;e<d.length;e+=1)if(h===!1){let t=b.get(c.encodeTokenWithId(n,{erc20TokenAddress:d[e],tokenId:m[e]}))??[];if(!t)throw Error(`Missing utxos for token`);x=Math.max(t.length,x),y.push(t)}else y.push([]);return x===2?(console.log(`addPaddingToUtxos 2 inputUtxosArrayToBePadded`,y),y):(y.forEach((e,c)=>{if(e.length>p){let t=e.slice(0,p),o=t.reduce((e,t)=>e+t.amount,0n);if(f[c]<0n&&o<-f[c]){let e=a.getERC20Token(d[c],n),t=e.decimals===18?6:2,l=Number(i.getAmountWithPrecision(o,e,t));throw new s.ErrorWithAmount(l,`${r.DIRECTLY_SHOW_MESSAGE_ERROR_CODES.UTXO_LIMITATIONS}. Please try again with ${l} ${e.symbol}, including gas fees.`)}v.push(t)}else if(e.length<=p){let r=[...e],i=p-e.length;for(;i>0;){--i;let e=t.isSolanaLike(n),a=e?d[c]:void 0,s=e?l.formatMintAddress(d[c]).compressedAddress:d[c];r.push(new o.Utxo({amount:0n,erc20TokenAddress:s,mintAddress:a,shieldedPrivateKey:_.getShieldedPrivateKey(),tokenId:m[c]}))}v.push(r)}}),v)};exports.addPaddingToUtxos=m,exports.getShieldedBalance=p;
@@ -48,6 +48,14 @@ var g = async (t, r, i, a, s, c = !1, l, u = !1, p = !1) => h(r).runExclusive(as
48
48
  _.set(e.token.erc20TokenAddress.toLowerCase(), e);
49
49
  }), _;
50
50
  }), _ = async (e, n, o, d, f = 6, m = o.map(() => 0), h = !1, g = !1) => {
51
+ console.log("addPaddingToUtxos 0 start", {
52
+ erc20Addresses: o,
53
+ amountChanges: d,
54
+ maxInput: f,
55
+ tokenIds: m,
56
+ forceEmptyUtxos: h,
57
+ useBlockedUtxos: g
58
+ });
51
59
  let { userKeys: _ } = e, v = [], y = [];
52
60
  if (o.length === 0) return [];
53
61
  let b = await p({
@@ -60,7 +68,9 @@ var g = async (t, r, i, a, s, c = !1, l, u = !1, p = !1) => h(r).runExclusive(as
60
68
  allowRemoteDecryption: !1,
61
69
  useBlockedUtxos: g,
62
70
  chainId: n
63
- }), x = 0;
71
+ });
72
+ console.log("addPaddingToUtxos 1 inputUtxosPerToken", b);
73
+ let x = 0;
64
74
  for (let e = 0; e < o.length; e += 1) if (h === !1) {
65
75
  let t = b.get(l(n, {
66
76
  erc20TokenAddress: o[e],
@@ -69,7 +79,7 @@ var g = async (t, r, i, a, s, c = !1, l, u = !1, p = !1) => h(r).runExclusive(as
69
79
  if (!t) throw Error("Missing utxos for token");
70
80
  x = Math.max(t.length, x), y.push(t);
71
81
  } else y.push([]);
72
- return x === 2 ? y : (y.forEach((e, l) => {
82
+ return x === 2 ? (console.log("addPaddingToUtxos 2 inputUtxosArrayToBePadded", y), y) : (y.forEach((e, l) => {
73
83
  if (e.length > f) {
74
84
  let t = e.slice(0, f), s = t.reduce((e, t) => e + t.amount, 0n);
75
85
  if (d[l] < 0n && s < -d[l]) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "h_test_1",
3
- "version": "0.0.39",
3
+ "version": "0.0.41",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"