@hinkal/common 0.3.10 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +24 -2
  2. package/common/src/API/callRelayer.d.ts +1 -0
  3. package/common/src/constants/protocol.constants.cjs +1 -1
  4. package/common/src/constants/protocol.constants.d.ts +10 -5
  5. package/common/src/constants/protocol.constants.mjs +1 -1
  6. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  7. package/common/src/data-structures/Hinkal/Hinkal.d.ts +2 -1
  8. package/common/src/data-structures/Hinkal/Hinkal.mjs +5 -2
  9. package/common/src/data-structures/Hinkal/IHinkal.d.ts +2 -1
  10. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  11. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +1 -1
  12. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  13. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +57 -57
  14. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  15. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +1 -1
  16. package/common/src/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  17. package/common/src/data-structures/Hinkal/hinkalProxySwap.d.ts +1 -1
  18. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +13 -12
  19. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  20. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +1 -1
  21. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  22. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +1 -1
  23. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  24. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  25. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +9 -9
  26. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.cjs +1 -1
  27. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.d.ts +1 -1
  28. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.mjs +15 -14
  29. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  30. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
  31. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  32. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +1 -1
  33. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  34. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +1 -0
  35. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +6 -3
  36. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  37. package/common/src/data-structures/crypto-keys/keys.d.ts +1 -0
  38. package/common/src/data-structures/crypto-keys/keys.mjs +3 -0
  39. package/common/src/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
  40. package/common/src/data-structures/token-price-fetcher/TokenChecker.d.ts +1 -0
  41. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +1 -0
  42. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  43. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +1 -1
  44. package/common/src/functions/utils/bridge-claimable-utxo.utils.cjs +1 -1
  45. package/common/src/functions/utils/bridge-claimable-utxo.utils.d.ts +1 -1
  46. package/common/src/functions/utils/bridge-claimable-utxo.utils.mjs +4 -4
  47. package/common/src/functions/utils/fees.utils.cjs +1 -1
  48. package/common/src/functions/utils/fees.utils.mjs +4 -4
  49. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  50. package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
  51. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  52. package/common/src/functions/utils/publicBalance.utils.mjs +1 -0
  53. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  54. package/common/src/functions/web3/events/getShieldedBalance.mjs +17 -16
  55. package/common/src/webworker/{logError-CIIt1CO3.js → logError-cvFNxc-0.js} +1 -1
  56. package/common/src/webworker/package.json +1 -1
  57. package/common/src/webworker/utxoWorker/utxoWorker.types.d.ts +4 -2
  58. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  59. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  60. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  61. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  62. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  63. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  64. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  65. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  66. package/package.json +1 -1
  67. package/providers/prepareEthersHinkal.cjs +1 -1
  68. package/providers/prepareEthersHinkal.d.ts +1 -0
  69. package/providers/prepareEthersHinkal.mjs +2 -2
  70. package/providers/prepareSolanaHinkal.cjs +1 -1
  71. package/providers/prepareSolanaHinkal.d.ts +1 -0
  72. package/providers/prepareSolanaHinkal.mjs +2 -2
  73. package/providers/prepareTronHinkal.cjs +1 -1
  74. package/providers/prepareTronHinkal.d.ts +1 -0
  75. package/providers/prepareTronHinkal.mjs +2 -2
  76. package/providers/prepareWagmiHinkal.cjs +1 -1
  77. package/providers/prepareWagmiHinkal.d.ts +1 -0
  78. package/providers/prepareWagmiHinkal.mjs +2 -2
  79. package/services/Hinkal.cjs +1 -1
  80. package/services/Hinkal.d.ts +2 -0
  81. package/services/Hinkal.mjs +6 -0
  82. package/types/IHinkal.d.ts +2 -0
@@ -1,2 +1,2 @@
1
- const e=require(`./workerProxy-BHzCZ9HT.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.c(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.c(s);let c=require(`tweetnacl`);c=e.c(c);let l=require(`tronweb`);var u=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),d=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t),f=new class{babyjub=void 0;async init(){this.babyjub||=e.o?(0,r.buildBabyJubRN)():await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},p=()=>f.getJub(),m=new class{eddsa=void 0;async init(){this.eddsa||=e.o?await(0,r.buildEddsaRN)():await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},h=()=>m.getEddsa();function g(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var _=new class{poseidon=void 0;async init(){this.poseidon||=e.o?(0,r.buildPoseidonRN)():await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function v(...e){let t=_.getPoseidon();return g(t.F.toString(t(e)))}var y=(...e)=>{let t=_.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},b=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([a.default.ready,_.init(),f.init(),...e?[]:[m.init()]])};`${`00`.repeat(20)}`;var x=21888242871839275222246405745257275088548364400416034343698204186575808495617n,S=x/2n,C=2n**250n,w=200n,T=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}deleteInMemory(e){this.inMemoryCache.delete(e)}mergeWithSerialized(e){Object.entries(e).forEach(([e,t])=>{this.set(e,d(t))})}},E=class extends T{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([e,t])=>[e,u(t)]))}attach(e){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...t)=>{let n=u(t),r=this.get(n);if(r!==void 0)return r;let i=e(...t);return this.set(n,i),i}}},D=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>S},O=e=>D(e)?1n:0n,k=new E,A=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===l.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(y(this.signature));this.nullifyingKey=i.ethers.toBeHex(e%C)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>i.ethers.keccak256(this.getShieldedPrivateKey());getShieldedPublicKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=h(),t=p(),n=y(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=p(),n=h(),r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),a=t.F.e(e),o=n.signPoseidon(r,a);return{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${s.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=o.Keypair.fromSeed(n);return s.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new o.PublicKey(t).toBytes();return c.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPair=k.attach((e,t)=>{let n=p(),r=n.mulPointEscalar(n.Base8,e),i=n.mulPointEscalar(r,BigInt(t));return{H0:[BigInt(n.F.toString(r[0])),BigInt(n.F.toString(r[1]))],H1:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]}});static getH1FromH0=(e,t)=>{let n=p(),r=[n.F.e(e[0]),n.F.e(e[1])],i=n.mulPointEscalar(r,BigInt(t));return[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddress=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return y(2n*O(e[0])+O(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t),r,i,a=0n;do r=e*10n**a%x,i=r*n%x,a+=1n;while(i>=2n**250n||r>=2n**250n);return r}static getH0FromRandomization=e=>{let t=p(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(i.ethers.keccak256(e)));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),y(this.getAccessKey(),this.getShieldedPublicKey()))},j={WC_NO_MATCHING_KEY:`creating the transaction failed
1
+ const e=require(`./workerProxy-BHzCZ9HT.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.c(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.c(s);let c=require(`tweetnacl`);c=e.c(c);let l=require(`tronweb`);var u=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),d=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t),f=new class{babyjub=void 0;async init(){this.babyjub||=e.o?(0,r.buildBabyJubRN)():await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},p=()=>f.getJub(),m=new class{eddsa=void 0;async init(){this.eddsa||=e.o?await(0,r.buildEddsaRN)():await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},h=()=>m.getEddsa();function g(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var _=new class{poseidon=void 0;async init(){this.poseidon||=e.o?(0,r.buildPoseidonRN)():await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function v(...e){let t=_.getPoseidon();return g(t.F.toString(t(e)))}var y=(...e)=>{let t=_.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},b=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([a.default.ready,_.init(),f.init(),...e?[]:[m.init()]])};`${`00`.repeat(20)}`;var x=21888242871839275222246405745257275088548364400416034343698204186575808495617n,S=x/2n,C=2n**250n,w=200n,T=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}deleteInMemory(e){this.inMemoryCache.delete(e)}mergeWithSerialized(e){Object.entries(e).forEach(([e,t])=>{this.set(e,d(t))})}},E=class extends T{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([e,t])=>[e,u(t)]))}attach(e){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...t)=>{let n=u(t),r=this.get(n);if(r!==void 0)return r;let i=e(...t);return this.set(n,i),i}}},D=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>S},O=e=>D(e)?1n:0n,k=new E,A=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}hasSignature(){return!!this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===l.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(y(this.signature));this.nullifyingKey=i.ethers.toBeHex(e%C)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>i.ethers.keccak256(this.getShieldedPrivateKey());getShieldedPublicKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=h(),t=p(),n=y(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=p(),n=h(),r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),a=t.F.e(e),o=n.signPoseidon(r,a);return{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${s.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=o.Keypair.fromSeed(n);return s.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new o.PublicKey(t).toBytes();return c.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPair=k.attach((e,t)=>{let n=p(),r=n.mulPointEscalar(n.Base8,e),i=n.mulPointEscalar(r,BigInt(t));return{H0:[BigInt(n.F.toString(r[0])),BigInt(n.F.toString(r[1]))],H1:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]}});static getH1FromH0=(e,t)=>{let n=p(),r=[n.F.e(e[0]),n.F.e(e[1])],i=n.mulPointEscalar(r,BigInt(t));return[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddress=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return y(2n*O(e[0])+O(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t),r,i,a=0n;do r=e*10n**a%x,i=r*n%x,a+=1n;while(i>=2n**250n||r>=2n**250n);return r}static getH0FromRandomization=e=>{let t=p(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(i.ethers.keccak256(e)));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),y(this.getAccessKey(),this.getShieldedPublicKey()))},j={WC_NO_MATCHING_KEY:`creating the transaction failed
2
2
  version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},M={INSUFFICIENT_FUNDS:`Insufficient funds`,INSUFFICIENT_FUNDS_WITHDRAW:`Not enough funds to withdraw`,INSUFFICIENT_FUNDS_TRANSFER:`Not enough funds to transfer`,INSUFFICIENT_FUNDS_TO_TRANSACT:`Not enough funds to transact`,INSUFFICIENT_FUNDS_GAS:`Insufficient funds for gas * price`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Insufficient TRX balance to cover transfer amount and transaction fee reserve`,INSUFFICIENT_SOL_BALANCE:`Insufficient SOL balance`},N={GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT:`Skipped shielding due to gas fee exceeding your limit.`,AUTO_SHIELD_INSUFFICIENT_GAS:`Auto-Shield skipped due to insufficient gas.`};({...j,...M,...N});var P=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),F=()=>Math.floor(Date.now()/1e3),I=class t{amount;erc20TokenAddress;mintAddress;timeStamp;nullifyingKey;spendingPublicKey;H0;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;constructor({amount:e,erc20TokenAddress:t,mintAddress:n,timeStamp:r,nullifyingKey:i,spendingPublicKey:a,randomization:o,H0:s,stealthAddress:c,encryptionKey:l,commitment:u=void 0,nullifier:d=void 0,isBlocked:f=!1}){if(this.amount=e,this.erc20TokenAddress=t,this.mintAddress=n,this.timeStamp=r??F().toString(),this.nullifyingKey=i,this.spendingPublicKey=a,this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f,s!==void 0)this.H0=s;else{let e=o??(i?A.findCorrectRandomization(P(31),i):void 0);if(this.H0=e?A.findH0(e,i):void 0,!this.H0)throw Error(`UTXO requires H0 or nullifyingKey`)}}static createFrom(e,n){return new t({...e.getConstructableParams(),nullifier:void 0,commitment:void 0,...n})}getConstructableParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,nullifyingKey:this.nullifyingKey,spendingPublicKey:this.spendingPublicKey,stealthAddress:this.stealthAddress,encryptionKey:this.encryptionKey,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getBasicUtxoParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,stealthAddress:this.stealthAddress,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getCommitment(){if(!this.commitment){let e=[this.amount,this.erc20TokenAddress,BigInt(this.getStealthAddress()),this.timeStamp];this.commitment=y(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.nullifyingKey)throw Error(`No Nullifiers if private key is not provided`);let e=this.getCommitment(),t=y(this.nullifyingKey,e);this.nullifier=y(e,t)}return this.nullifier}getStealthAddress(){if(!this.stealthAddress){if(!this.nullifyingKey)throw Error(`No stealth address in UTXO if private key is not provided`);if(!this.H0)throw Error(`No H0 point provided`);this.stealthAddress=A.getStealthAddress(this.H0,this.nullifyingKey,this.spendingPublicKey)}return this.stealthAddress}getTokenAddress(t){let n=e.r(t)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}getEncryptionKey(){if(!this.nullifyingKey){if(!this.encryptionKey)throw Error(`No encryption key provided in UTXO`);return this.encryptionKey}return A.getEncryptionKeyPair(this.nullifyingKey).publicKey}},L=()=>a.default.crypto_box_SEALBYTES+a.default.crypto_secretbox_KEYBYTES,R=e=>{let t=a.default.crypto_secretbox_NONCEBYTES,n=L(),r=0,i=e[r];r+=1;let o=e.slice(r,r+t);r+=t;let s=[];for(let t=0;t<i;t+=1)s.push(e.slice(r,r+n)),r+=n;return{nonce:o,sealedKeys:s,ciphertext:e.slice(r)}},z=(e,t,n,r)=>{let{nonce:o,sealedKeys:s,ciphertext:c}=R(e),l=a.default.crypto_box_seal_open(s[r],i.ethers.getBytes(n),i.ethers.getBytes(t)),u=a.default.crypto_secretbox_open_easy(c,o,l);return Buffer.from(u)},B=(e,t)=>{let{privateKey:n,publicKey:r}=A.getEncryptionKeyPair(t.getShieldedPrivateKey()),i=z(e,n,r,0),a=Buffer.from(i).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),s=e=>BigInt(`0x${e}`),c=e=>`0x${e}`,l=a[7]?c(a[7]):void 0,u=l?new o.PublicKey(Buffer.from(l.slice(2),`hex`)).toString():void 0;return{amount:s(a[0]),erc20TokenAddress:c(a[1]),stealthAddress:c(a[2]),nullifyingKey:t.getShieldedPrivateKey(),timeStamp:s(a[3]).toString(),H0:[s(a[4]),s(a[5])],mintAddress:u}},V=(e,t)=>new I(B(e,t)),H=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return y}});
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hinkal/common",
3
- "version": "0.3.10",
3
+ "version": "0.3.11",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -13,7 +13,8 @@ export interface BatchFilterUtxosWithNullifierPayload extends WorkerPayload<{
13
13
  type: UtxoWorkerActionType.BATCH_FILTER_UTXOS_WITH_NULLIFIER;
14
14
  }
15
15
  export interface BuildBatchProcessPayload extends WorkerPayload<{
16
- signature: string;
16
+ signature?: string;
17
+ nullifyingKey?: string;
17
18
  encryptedOutputs: EncryptedOutputWithSign[];
18
19
  chainId: number;
19
20
  }> {
@@ -22,7 +23,8 @@ export interface BuildBatchProcessPayload extends WorkerPayload<{
22
23
  export interface DecipherProcessPayload extends WorkerPayload<{
23
24
  encryptedOutputs: EncryptedOutputWithSign[];
24
25
  lastOutput: string;
25
- signature: string;
26
+ signature?: string;
27
+ nullifyingKey?: string;
26
28
  chainId: number;
27
29
  }> {
28
30
  type: UtxoWorkerActionType.DECIPHER_OUTPUTS;
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-BUIa39gN.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-BUIa39gN.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-CrSgSysd.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-CrSgSysd.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/utxoWorkerLauncher-BUIa39gN.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/utxoWorkerLauncher-CrSgSysd.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-BHzCZ9HT.js`),t=require(`./logError-CIIt1CO3.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=9,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${c}]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h,g]=r,_=BigInt(i),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=a.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.u(BigInt(s),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},d=e=>{let[t]=a.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},f=(n,r,i)=>{let{h0x:a,h0y:o,h1x:s,h1y:c}=e.r(i)?u(n):d(n),l=t.a.verifyStealthPair([a,o],[s,c],r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,H0:[s,c]}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.i(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.o.serialize()})},v=async({data:e})=>{let n=new t.a(e.signature),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.r(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.a(e.signature),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.n(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
1
+ const e=require(`./workerProxy-BHzCZ9HT.js`),t=require(`./logError-cvFNxc-0.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=9,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${c}]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h,g]=r,_=BigInt(i),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=a.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.u(BigInt(s),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},d=e=>{let[t]=a.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},f=(n,r,i)=>{let{h0x:a,h0y:o,h1x:s,h1y:c}=e.r(i)?u(n):d(n),l=t.a.verifyStealthPair([a,o],[s,c],r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,H0:[s,c]}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.i(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.o.serialize()})},v=async({data:e})=>{let n=new t.a(e.signature,e.nullifyingKey),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.r(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.a(e.signature,e.nullifyingKey),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.n(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
@@ -2,9 +2,9 @@
2
2
  const domain = 'https://wallet-prodv12.hinkal.io/workers';
3
3
 
4
4
  const WORKER_CDN_URLS = {
5
- ZKProof: domain + '/0.3.10/' + 'zkProofWorkerLauncher.js',
6
- SnarkJS: domain + '/0.3.10/' + 'snarkjsWorkerLauncher.js',
7
- UTXO: domain + '/0.3.10/' + 'utxoWorkerLauncher.js',
5
+ ZKProof: domain + '/0.3.11/' + 'zkProofWorkerLauncher.js',
6
+ SnarkJS: domain + '/0.3.11/' + 'snarkjsWorkerLauncher.js',
7
+ UTXO: domain + '/0.3.11/' + 'utxoWorkerLauncher.js',
8
8
  };
9
9
 
10
10
  // Returns a blob:// URL which points
@@ -2,9 +2,9 @@
2
2
  const domain = 'https://wallet-prodv12.hinkal.io/workers';
3
3
 
4
4
  const WORKER_CDN_URLS = {
5
- ZKProof: domain + '/0.3.10/' + 'zkProofWorkerLauncher.js',
6
- SnarkJS: domain + '/0.3.10/' + 'snarkjsWorkerLauncher.js',
7
- UTXO: domain + '/0.3.10/' + 'utxoWorkerLauncher.js',
5
+ ZKProof: domain + '/0.3.11/' + 'zkProofWorkerLauncher.js',
6
+ SnarkJS: domain + '/0.3.11/' + 'snarkjsWorkerLauncher.js',
7
+ UTXO: domain + '/0.3.11/' + 'utxoWorkerLauncher.js',
8
8
  };
9
9
 
10
10
  // Returns a blob:// URL which points
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/zkProofWorkerLauncher-BZefV9RP.js`).href:new URL(`../../../../assets/zkProofWorkerLauncher-BZefV9RP.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/zkProofWorkerLauncher-D18FtCQs.js`).href:new URL(`../../../../assets/zkProofWorkerLauncher-D18FtCQs.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/zkProofWorkerLauncher-BZefV9RP.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/zkProofWorkerLauncher-D18FtCQs.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-BHzCZ9HT.js`),t=require(`./logError-CIIt1CO3.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`);require(`ethers`),Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,postHookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`}),Array.from({length:25},()=>`0`);var a=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){n.push([]);for(let i=0;i<e[r].length;i+=1)n[r][i]=t.getSiblingHashesForVerification(BigInt(e[r][i].getCommitment())).map(e=>e.toString())}let r=[];for(let n=0;n<e.length;n+=1){r.push([]);for(let i=0;i<e[n].length;i+=1)r[n][i]=t.getSiblingSides(BigInt(e[n][i].getCommitment())).map(e=>e.toString())}return{inCommitmentSiblings:n,inCommitmentSiblingSides:r}},o=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=1]=`BUILD_IN_NULLIFIERS`,e}({}),s=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},c=class e{tree;count;index;reverseTree;static createWithData(t,n,r,i,a,o,s){return new e(a,o,s,t,n,r,i)}static create(n,r,i=t.s){return new e(n,i,r)}createReverseTree(){let e=new Map;for(let t=this.getStartIndex();t<this.getStartIndex()+this.count;t+=1n){let n=this.tree.get(t);n!==void 0&&e.set(n,t)}return e}constructor(e,t,n,r,i,a,o){this.hashFunction=e,this.levels=t,this.defaultNodeValue=n,this.tree=r??new Map,this.count=o??0n,this.index=a??2n**(t-1n),i?this.reverseTree=i:this.reverseTree=this.createReverseTree()}getStartIndex(){return 2n**(this.levels-1n)}logarithm2(e){let t=0n;for(;2n**t<e;)t+=1n;return t}bigIntMax(e,t){return e>t?e:t}forceInsert(e,t){if(t<this.getStartIndex())throw RangeError();this.tree.set(t,e),this.reverseTree.set(e,t);let n=this.index-this.getStartIndex(),r=this.logarithm2(n),i=t;for(let e=1n;e<=r;e+=1n){i/=2n;let e=this.hashFunction(this.tree.get(i*2n)||this.defaultNodeValue,this.tree.get(i*2n+1n)||this.defaultNodeValue);this.tree.set(i,e)}}insert(e,n){let r=!1;this.tree.has(n)&&(r=!0,t.t(`Editing commitment index: ${n} `)),r||(this.count+=1n),this.index=this.bigIntMax(this.index,n+1n),this.forceInsert(e,n)}remove(e){this.forceInsert(this.defaultNodeValue,e)}completenessCheck(){if(this.count!==this.index-this.getStartIndex())throw new s}getRootHash(){this.completenessCheck();for(let e=1n;e<2n**this.levels;e*=2n)if(this.tree.get(e))return this.tree.get(e);return this.defaultNodeValue}getMerkleData(){return this.completenessCheck(),new Map(this.tree)}getValue(e){return this.tree.get(e)}contains(e){return this.reverseTree.has(e)}getSiblingIndex(e){return e===1n?1n:e%2n==1n?e-1n:e+1n}getSiblingHashesForVerification(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;)n.push(this.tree.get(this.getSiblingIndex(t))??this.defaultNodeValue),t/=2n;return n.slice(0,25)}getSiblingSides(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;){let e=t%2n==0n?0n:1n;n.push(e),t/=2n}return n.slice(0,25)}toJSON(){let{tree:e,reverseTree:t,count:n,index:r}=this;return{tree:Object.fromEntries(e),reverseTree:Object.fromEntries(t),count:n.toString(),index:r.toString()}}toJSONLite(){let{tree:e,count:t,index:n}=this;return{tree:Object.fromEntries(e),count:t.toString(),index:n.toString()}}clone(){return e.createWithData(new Map(this.tree),new Map(this.reverseTree),this.index,this.count,this.hashFunction,this.levels,this.defaultNodeValue)}getIndex(){return this.index}getInsertionSiblingData(e){let t=[],n=[],r=e;for(;r!==0n;)t.push(this.tree.get(this.getSiblingIndex(r))??this.defaultNodeValue),n.push(r%2n==0n?0n:1n),r/=2n;return{siblings:t.slice(0,25),sides:n.slice(0,25)}}},l=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),u=e=>{let n=l(e.tree),r=e.reverseTree?l(e.reverseTree):void 0;return c.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.l,t.s,0n)},d=new e.t,f=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=u(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.i(e))),i);d.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},p=e=>{let{inputUtxosSerialized:n}=e.data,r=n.map(e=>e.map(e=>new t.i(e))).map(e=>e.map(e=>e.amount===0n?`0`:e.getNullifier()));d.postMessageToMainThread(r)},m=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case o.CALC_COMMITMENTS_SIBLING_AND_SIDES:f(e.payload);return;case o.BUILD_IN_NULLIFIERS:p(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(`zk proof worker message failed`,e),d.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await m(e)});
1
+ const e=require(`./workerProxy-BHzCZ9HT.js`),t=require(`./logError-cvFNxc-0.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`);require(`ethers`),Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,postHookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`}),Array.from({length:25},()=>`0`);var a=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){n.push([]);for(let i=0;i<e[r].length;i+=1)n[r][i]=t.getSiblingHashesForVerification(BigInt(e[r][i].getCommitment())).map(e=>e.toString())}let r=[];for(let n=0;n<e.length;n+=1){r.push([]);for(let i=0;i<e[n].length;i+=1)r[n][i]=t.getSiblingSides(BigInt(e[n][i].getCommitment())).map(e=>e.toString())}return{inCommitmentSiblings:n,inCommitmentSiblingSides:r}},o=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=1]=`BUILD_IN_NULLIFIERS`,e}({}),s=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},c=class e{tree;count;index;reverseTree;static createWithData(t,n,r,i,a,o,s){return new e(a,o,s,t,n,r,i)}static create(n,r,i=t.s){return new e(n,i,r)}createReverseTree(){let e=new Map;for(let t=this.getStartIndex();t<this.getStartIndex()+this.count;t+=1n){let n=this.tree.get(t);n!==void 0&&e.set(n,t)}return e}constructor(e,t,n,r,i,a,o){this.hashFunction=e,this.levels=t,this.defaultNodeValue=n,this.tree=r??new Map,this.count=o??0n,this.index=a??2n**(t-1n),i?this.reverseTree=i:this.reverseTree=this.createReverseTree()}getStartIndex(){return 2n**(this.levels-1n)}logarithm2(e){let t=0n;for(;2n**t<e;)t+=1n;return t}bigIntMax(e,t){return e>t?e:t}forceInsert(e,t){if(t<this.getStartIndex())throw RangeError();this.tree.set(t,e),this.reverseTree.set(e,t);let n=this.index-this.getStartIndex(),r=this.logarithm2(n),i=t;for(let e=1n;e<=r;e+=1n){i/=2n;let e=this.hashFunction(this.tree.get(i*2n)||this.defaultNodeValue,this.tree.get(i*2n+1n)||this.defaultNodeValue);this.tree.set(i,e)}}insert(e,n){let r=!1;this.tree.has(n)&&(r=!0,t.t(`Editing commitment index: ${n} `)),r||(this.count+=1n),this.index=this.bigIntMax(this.index,n+1n),this.forceInsert(e,n)}remove(e){this.forceInsert(this.defaultNodeValue,e)}completenessCheck(){if(this.count!==this.index-this.getStartIndex())throw new s}getRootHash(){this.completenessCheck();for(let e=1n;e<2n**this.levels;e*=2n)if(this.tree.get(e))return this.tree.get(e);return this.defaultNodeValue}getMerkleData(){return this.completenessCheck(),new Map(this.tree)}getValue(e){return this.tree.get(e)}contains(e){return this.reverseTree.has(e)}getSiblingIndex(e){return e===1n?1n:e%2n==1n?e-1n:e+1n}getSiblingHashesForVerification(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;)n.push(this.tree.get(this.getSiblingIndex(t))??this.defaultNodeValue),t/=2n;return n.slice(0,25)}getSiblingSides(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;){let e=t%2n==0n?0n:1n;n.push(e),t/=2n}return n.slice(0,25)}toJSON(){let{tree:e,reverseTree:t,count:n,index:r}=this;return{tree:Object.fromEntries(e),reverseTree:Object.fromEntries(t),count:n.toString(),index:r.toString()}}toJSONLite(){let{tree:e,count:t,index:n}=this;return{tree:Object.fromEntries(e),count:t.toString(),index:n.toString()}}clone(){return e.createWithData(new Map(this.tree),new Map(this.reverseTree),this.index,this.count,this.hashFunction,this.levels,this.defaultNodeValue)}getIndex(){return this.index}getInsertionSiblingData(e){let t=[],n=[],r=e;for(;r!==0n;)t.push(this.tree.get(this.getSiblingIndex(r))??this.defaultNodeValue),n.push(r%2n==0n?0n:1n),r/=2n;return{siblings:t.slice(0,25),sides:n.slice(0,25)}}},l=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),u=e=>{let n=l(e.tree),r=e.reverseTree?l(e.reverseTree):void 0;return c.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.l,t.s,0n)},d=new e.t,f=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=u(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.i(e))),i);d.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},p=e=>{let{inputUtxosSerialized:n}=e.data,r=n.map(e=>e.map(e=>new t.i(e))).map(e=>e.map(e=>e.amount===0n?`0`:e.getNullifier()));d.postMessageToMainThread(r)},m=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case o.CALC_COMMITMENTS_SIBLING_AND_SIDES:f(e.payload);return;case o.BUILD_IN_NULLIFIERS:p(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(`zk proof worker message failed`,e),d.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await m(e)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hinkal/common",
3
- "version": "0.3.10",
3
+ "version": "0.3.11",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/crypto/preProcessing.cjs`),t=require(`../common/src/providers/EthersProviderAdapter.cjs`),n=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const r=require(`../internal/monitorConnectedAddress.cjs`);var i=async(i,a,o)=>{await e.preProcessing();let s=new n.Hinkal(o),c=t.default();return c.initSigner?.(i),await s.initProviderAdapter(void 0,c),await r.monitorConnectedAddress(s),await a(s),await s.resetMerkle(),s},a=async(e,t)=>i(e,e=>e.initUserKeys(),t),o=async(e,t)=>i(e,e=>e.initUserKeysWithEnclaveSignature(),t),s=async(e,t,n)=>i(e,e=>e.initUserKeysWithSignature(t),n);exports.prepareEthersHinkal=a,exports.prepareEthersHinkalFromSignature=s,exports.prepareEthersHinkalWithEnclaveSignIn=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/crypto/preProcessing.cjs`),t=require(`../common/src/providers/EthersProviderAdapter.cjs`),n=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const r=require(`../internal/monitorConnectedAddress.cjs`);var i=async(i,a,o)=>{await e.preProcessing();let s=new n.Hinkal(o),c=t.default();return c.initSigner?.(i),await s.initProviderAdapter(void 0,c),await r.monitorConnectedAddress(s),await a(s),await s.resetMerkle(),s},a=async(e,t)=>i(e,e=>e.initUserKeys(),t),o=async(e,t)=>i(e,e=>e.initUserKeysWithEnclaveSignature(),t),s=async(e,t,n)=>i(e,e=>e.initUserKeysWithSignature(t),n),c=async(e,t,n)=>i(e,e=>e.initUserKeysWithNullifyingKey(t),n);exports.prepareEthersHinkal=a,exports.prepareEthersHinkalFromNullifyingKey=c,exports.prepareEthersHinkalFromSignature=s,exports.prepareEthersHinkalWithEnclaveSignIn=o;
@@ -4,3 +4,4 @@ import { Hinkal } from '../services';
4
4
  export declare const prepareEthersHinkal: (signer: Signer, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
5
5
  export declare const prepareEthersHinkalWithEnclaveSignIn: (signer: Signer, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
6
6
  export declare const prepareEthersHinkalFromSignature: (signer: Signer, signature: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
7
+ export declare const prepareEthersHinkalFromNullifyingKey: (signer: Signer, nullifyingKey: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
@@ -8,6 +8,6 @@ var i = async (i, a, o) => {
8
8
  await e();
9
9
  let s = new n(o), c = t();
10
10
  return c.initSigner?.(i), await s.initProviderAdapter(void 0, c), await r(s), await a(s), await s.resetMerkle(), s;
11
- }, a = async (e, t) => i(e, (e) => e.initUserKeys(), t), o = async (e, t) => i(e, (e) => e.initUserKeysWithEnclaveSignature(), t), s = async (e, t, n) => i(e, (e) => e.initUserKeysWithSignature(t), n);
11
+ }, a = async (e, t) => i(e, (e) => e.initUserKeys(), t), o = async (e, t) => i(e, (e) => e.initUserKeysWithEnclaveSignature(), t), s = async (e, t, n) => i(e, (e) => e.initUserKeysWithSignature(t), n), c = async (e, t, n) => i(e, (e) => e.initUserKeysWithNullifyingKey(t), n);
12
12
  //#endregion
13
- export { a as prepareEthersHinkal, s as prepareEthersHinkalFromSignature, o as prepareEthersHinkalWithEnclaveSignIn };
13
+ export { a as prepareEthersHinkal, c as prepareEthersHinkalFromNullifyingKey, s as prepareEthersHinkalFromSignature, o as prepareEthersHinkalWithEnclaveSignIn };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/crypto/preProcessing.cjs`),n=require(`../common/src/providers/SolanaProviderAdapter.cjs`),r=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const i=require(`../internal/monitorConnectedAddress.cjs`);var a=async(a,o,s,c)=>{await t.preProcessing();let l=new r.Hinkal(c),u=n.default(e.currentSolanaChainId,s);return await l.initProviderAdapter(a,u),await i.monitorConnectedAddress(l),await o(l),await l.resetMerkle(),l},o=async(e,t,n)=>a(e,e=>e.initUserKeys(),t,n),s=async(e,t,n)=>a(e,e=>e.initUserKeysWithEnclaveSignature(),t,n),c=async(e,t,n,r)=>a(e,e=>e.initUserKeysWithSignature(t),n,r);exports.prepareSolanaHinkal=o,exports.prepareSolanaHinkalFromSignature=c,exports.prepareSolanaHinkalWithEnclaveSignIn=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/crypto/preProcessing.cjs`),n=require(`../common/src/providers/SolanaProviderAdapter.cjs`),r=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const i=require(`../internal/monitorConnectedAddress.cjs`);var a=async(a,o,s,c)=>{await t.preProcessing();let l=new r.Hinkal(c),u=n.default(e.currentSolanaChainId,s);return await l.initProviderAdapter(a,u),await i.monitorConnectedAddress(l),await o(l),await l.resetMerkle(),l},o=async(e,t,n)=>a(e,e=>e.initUserKeys(),t,n),s=async(e,t,n)=>a(e,e=>e.initUserKeysWithEnclaveSignature(),t,n),c=async(e,t,n,r)=>a(e,e=>e.initUserKeysWithSignature(t),n,r),l=async(e,t,n,r)=>a(e,e=>e.initUserKeysWithNullifyingKey(t),n,r);exports.prepareSolanaHinkal=o,exports.prepareSolanaHinkalFromNullifyingKey=l,exports.prepareSolanaHinkalFromSignature=c,exports.prepareSolanaHinkalWithEnclaveSignIn=s;
@@ -4,3 +4,4 @@ import { Hinkal } from '../services';
4
4
  export declare const prepareSolanaHinkal: (connector: SolanaWallet, ethereumAddress?: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
5
5
  export declare const prepareSolanaHinkalWithEnclaveSignIn: (connector: SolanaWallet, ethereumAddress?: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
6
6
  export declare const prepareSolanaHinkalFromSignature: (connector: SolanaWallet, signature: string, ethereumAddress?: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
7
+ export declare const prepareSolanaHinkalFromNullifyingKey: (connector: SolanaWallet, nullifyingKey: string, ethereumAddress?: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
@@ -9,6 +9,6 @@ var a = async (a, o, s, c) => {
9
9
  await t();
10
10
  let l = new r(c), u = n(e, s);
11
11
  return await l.initProviderAdapter(a, u), await i(l), await o(l), await l.resetMerkle(), l;
12
- }, o = async (e, t, n) => a(e, (e) => e.initUserKeys(), t, n), s = async (e, t, n) => a(e, (e) => e.initUserKeysWithEnclaveSignature(), t, n), c = async (e, t, n, r) => a(e, (e) => e.initUserKeysWithSignature(t), n, r);
12
+ }, o = async (e, t, n) => a(e, (e) => e.initUserKeys(), t, n), s = async (e, t, n) => a(e, (e) => e.initUserKeysWithEnclaveSignature(), t, n), c = async (e, t, n, r) => a(e, (e) => e.initUserKeysWithSignature(t), n, r), l = async (e, t, n, r) => a(e, (e) => e.initUserKeysWithNullifyingKey(t), n, r);
13
13
  //#endregion
14
- export { o as prepareSolanaHinkal, c as prepareSolanaHinkalFromSignature, s as prepareSolanaHinkalWithEnclaveSignIn };
14
+ export { o as prepareSolanaHinkal, l as prepareSolanaHinkalFromNullifyingKey, c as prepareSolanaHinkalFromSignature, s as prepareSolanaHinkalWithEnclaveSignIn };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/crypto/preProcessing.cjs`),n=require(`../common/src/providers/TronProviderAdapter.cjs`),r=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const i=require(`../internal/monitorConnectedAddress.cjs`);var a=async(a,o,s)=>{await t.preProcessing();let c=new r.Hinkal(s),l=n.default(e.currentTronChainId);return await c.initProviderAdapter(a,l),await i.monitorConnectedAddress(c),await o(c),await c.resetMerkle(),c},o=async(e,t)=>a(e,e=>e.initUserKeys(),t),s=async(e,t)=>a(e,e=>e.initUserKeysWithEnclaveSignature(),t),c=async(e,t,n)=>a(e,e=>e.initUserKeysWithSignature(t),n);exports.prepareTronHinkal=o,exports.prepareTronHinkalFromSignature=c,exports.prepareTronHinkalWithEnclaveSignIn=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/crypto/preProcessing.cjs`),n=require(`../common/src/providers/TronProviderAdapter.cjs`),r=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const i=require(`../internal/monitorConnectedAddress.cjs`);var a=async(a,o,s)=>{await t.preProcessing();let c=new r.Hinkal(s),l=n.default(e.currentTronChainId);return await c.initProviderAdapter(a,l),await i.monitorConnectedAddress(c),await o(c),await c.resetMerkle(),c},o=async(e,t)=>a(e,e=>e.initUserKeys(),t),s=async(e,t)=>a(e,e=>e.initUserKeysWithEnclaveSignature(),t),c=async(e,t,n)=>a(e,e=>e.initUserKeysWithSignature(t),n),l=async(e,t,n)=>a(e,e=>e.initUserKeysWithNullifyingKey(t),n);exports.prepareTronHinkal=o,exports.prepareTronHinkalFromNullifyingKey=l,exports.prepareTronHinkalFromSignature=c,exports.prepareTronHinkalWithEnclaveSignIn=s;
@@ -4,3 +4,4 @@ import { Hinkal } from '../services';
4
4
  export declare const prepareTronHinkal: (connector: TronWeb, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
5
5
  export declare const prepareTronHinkalWithEnclaveSignIn: (connector: TronWeb, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
6
6
  export declare const prepareTronHinkalFromSignature: (connector: TronWeb, signature: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
7
+ export declare const prepareTronHinkalFromNullifyingKey: (connector: TronWeb, nullifyingKey: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
@@ -9,6 +9,6 @@ var a = async (a, o, s) => {
9
9
  await t();
10
10
  let c = new r(s), l = n(e);
11
11
  return await c.initProviderAdapter(a, l), await i(c), await o(c), await c.resetMerkle(), c;
12
- }, o = async (e, t) => a(e, (e) => e.initUserKeys(), t), s = async (e, t) => a(e, (e) => e.initUserKeysWithEnclaveSignature(), t), c = async (e, t, n) => a(e, (e) => e.initUserKeysWithSignature(t), n);
12
+ }, o = async (e, t) => a(e, (e) => e.initUserKeys(), t), s = async (e, t) => a(e, (e) => e.initUserKeysWithEnclaveSignature(), t), c = async (e, t, n) => a(e, (e) => e.initUserKeysWithSignature(t), n), l = async (e, t, n) => a(e, (e) => e.initUserKeysWithNullifyingKey(t), n);
13
13
  //#endregion
14
- export { o as prepareTronHinkal, c as prepareTronHinkalFromSignature, s as prepareTronHinkalWithEnclaveSignIn };
14
+ export { o as prepareTronHinkal, l as prepareTronHinkalFromNullifyingKey, c as prepareTronHinkalFromSignature, s as prepareTronHinkalWithEnclaveSignIn };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/crypto/preProcessing.cjs`),t=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const n=require(`../common/src/providers/WagmiProviderAdapter.cjs`),r=require(`../internal/monitorConnectedAddress.cjs`);var i=async(i,a,o,s)=>{await e.preProcessing();let c=new t.Hinkal(s),l=n.default();return l.initConfig?.(a),await c.initProviderAdapter(i,l),await r.monitorConnectedAddress(c),await o(c),await c.resetMerkle(),c},a=async(e,t,n)=>i(e,t,e=>e.initUserKeys(),n),o=async(e,t,n)=>i(e,t,e=>e.initUserKeysWithEnclaveSignature(),n),s=async(e,t,n,r)=>i(e,t,e=>e.initUserKeysWithSignature(n),r);exports.prepareWagmiHinkal=a,exports.prepareWagmiHinkalFromSignature=s,exports.prepareWagmiHinkalWithEnclaveSignIn=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/crypto/preProcessing.cjs`),t=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const n=require(`../common/src/providers/WagmiProviderAdapter.cjs`),r=require(`../internal/monitorConnectedAddress.cjs`);var i=async(i,a,o,s)=>{await e.preProcessing();let c=new t.Hinkal(s),l=n.default();return l.initConfig?.(a),await c.initProviderAdapter(i,l),await r.monitorConnectedAddress(c),await o(c),await c.resetMerkle(),c},a=async(e,t,n)=>i(e,t,e=>e.initUserKeys(),n),o=async(e,t,n)=>i(e,t,e=>e.initUserKeysWithEnclaveSignature(),n),s=async(e,t,n,r)=>i(e,t,e=>e.initUserKeysWithSignature(n),r),c=async(e,t,n,r)=>i(e,t,e=>e.initUserKeysWithNullifyingKey(n),r);exports.prepareWagmiHinkal=a,exports.prepareWagmiHinkalFromNullifyingKey=c,exports.prepareWagmiHinkalFromSignature=s,exports.prepareWagmiHinkalWithEnclaveSignIn=o;
@@ -4,3 +4,4 @@ import { Hinkal } from '../services';
4
4
  export declare const prepareWagmiHinkal: (connector: Connector, config: Config, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
5
5
  export declare const prepareWagmiHinkalWithEnclaveSignIn: (connector: Connector, config: Config, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
6
6
  export declare const prepareWagmiHinkalFromSignature: (connector: Connector, config: Config, signature: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
7
+ export declare const prepareWagmiHinkalFromNullifyingKey: (connector: Connector, config: Config, nullifyingKey: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
@@ -8,6 +8,6 @@ var i = async (i, a, o, s) => {
8
8
  await e();
9
9
  let c = new t(s), l = n();
10
10
  return l.initConfig?.(a), await c.initProviderAdapter(i, l), await r(c), await o(c), await c.resetMerkle(), c;
11
- }, a = async (e, t, n) => i(e, t, (e) => e.initUserKeys(), n), o = async (e, t, n) => i(e, t, (e) => e.initUserKeysWithEnclaveSignature(), n), s = async (e, t, n, r) => i(e, t, (e) => e.initUserKeysWithSignature(n), r);
11
+ }, a = async (e, t, n) => i(e, t, (e) => e.initUserKeys(), n), o = async (e, t, n) => i(e, t, (e) => e.initUserKeysWithEnclaveSignature(), n), s = async (e, t, n, r) => i(e, t, (e) => e.initUserKeysWithSignature(n), r), c = async (e, t, n, r) => i(e, t, (e) => e.initUserKeysWithNullifyingKey(n), r);
12
12
  //#endregion
13
- export { a as prepareWagmiHinkal, s as prepareWagmiHinkalFromSignature, o as prepareWagmiHinkalWithEnclaveSignIn };
13
+ export { a as prepareWagmiHinkal, c as prepareWagmiHinkalFromNullifyingKey, s as prepareWagmiHinkalFromSignature, o as prepareWagmiHinkalWithEnclaveSignIn };
@@ -1 +1 @@
1
- const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/types/hinkal.types.cjs`);require(`../common/src/types/index.cjs`);const n=require(`../common/src/functions/utils/erc20tokenFunctions.cjs`),r=require(`../common/src/functions/pre-transaction/getFeeStructure.cjs`),i=require(`../common/src/functions/private-wallet/emporium.helpers.cjs`),a=require(`../common/src/data-structures/private-balances/BalanceChangedHandler.cjs`);require(`../common/src/functions/index.cjs`);const o=require(`../common/src/data-structures/Hinkal/Hinkal.cjs`),s=require(`../internal/token.utils.cjs`),c=require(`../internal/swapApi.cjs`);var l=class{hinkalCommon;mappedPrivateBalancesSource;mappedPrivateBalances={};constructor(e){this.hinkalCommon=new o.Hinkal(e)}getProviderAdapter(e){return this.hinkalCommon.getProviderAdapter(e)}initProviderAdapter(e,t){return this.hinkalCommon.initProviderAdapter(e,t)}initUserKeys(e=t.LoginMessageMode.SDK){return this.hinkalCommon.initUserKeys(e)}initUserKeysWithSignature(e){return this.hinkalCommon.initUserKeysWithSignature(e)}initUserKeysFromSeedPhrases(e){return this.hinkalCommon.initUserKeysFromSeedPhrases(e)}initUserKeysWithEnclaveSignature(e=t.LoginMessageMode.SDK){return this.hinkalCommon.initUserKeysWithEnclaveSignature(e)}storeAndGetInitialSignature(e){return this.hinkalCommon.storeAndGetInitialSignature(e)}resetProviderAdapters(){return this.hinkalCommon.resetProviderAdapters()}disconnectFromConnector(){return this.hinkalCommon.disconnectFromConnector()}destroy(){return this.hinkalCommon.destroy()}signMessage(e){return this.hinkalCommon.signMessage(e)}signTypedData(e,t,n){return this.hinkalCommon.signTypedData(e,t,n)}getSupportedChains(){return this.hinkalCommon.getSupportedChains()}isSelectedNetworkSupported(e){return this.hinkalCommon.isSelectedNetworkSupported(e)}switchNetwork(t){let n=e.networkRegistry[t];if(!n)throw Error(`Network with chainId ${t} not supported`);return this.hinkalCommon.switchNetwork(n)}resetMerkle(e){return this.hinkalCommon.resetMerkle(e)}resetMerkleTreesIfNecessary(e){return this.hinkalCommon.resetMerkleTreesIfNecessary(e)}getMappedPrivateBalances(e){return e===this.mappedPrivateBalancesSource?this.mappedPrivateBalances:(this.mappedPrivateBalancesSource=e,this.mappedPrivateBalances=s.mapPrivateBalances(e),this.mappedPrivateBalances)}get privateBalancesWithUSD(){return this.getMappedPrivateBalances(this.hinkalCommon.privateBalancesWithUSD)}onPrivateBalancesWithUSDChange(e){return this.hinkalCommon.onPrivateBalancesWithUSDChange(t=>e(this.getMappedPrivateBalances(t)))}refreshBalance(e){a.balanceChangedHandler.dispatch(e)}async getTotalBalances(e,t=!1,n=!1){let r=await this.hinkalCommon.getTotalBalances(e,void 0,void 0,t,n);return new Map([...r].map(([e,t])=>[e,t.map(s.mapTokenBalance)]))}async getTotalBalance(e,t=!1,n=!1){return(await this.getTotalBalances([e],t,n)).get(e)??[]}async getStuckShieldedBalances(e,t=!1,n=!1){let r=Array.isArray(e)?e:[e],i=await this.hinkalCommon.getStuckShieldedBalances(r,void 0,void 0,t,n),a=new Map([...i].map(([e,t])=>[e,t.map(s.mapTokenBalance)]));return Array.isArray(e)?a:a.get(e)??[]}getFeeStructure(e,t,n,i,a=[],o=0n,s){return r.getFeeStructure(e,t,n,i,a,o,s)}getEvmSwapPrices(e,t,n,r){return c.getEvmSwapPrices(e,t,n,r)}getSolanaSwapPrices(e,t,n,r){return c.getSolanaSwapPrices(e,t,n,r)}getSolanaPublicKey(){return this.hinkalCommon.getSolanaPublicKey()}getEthereumAddress(){return this.hinkalCommon.getEthereumAddress()}getEthereumAddressByChain(e){return this.hinkalCommon.getEthereumAddressByChain(e)}getRecipientInfo(){return this.hinkalCommon.getRecipientInfo()}getShieldedPublicKey(){return this.hinkalCommon.userKeys.getShieldedPublicKey()}async prooflessDeposit(e,t,r,i,a){return this.hinkalCommon.prooflessDeposit(await n.resolveErc20Tokens(e,t),r,i,a)}async deposit(e,t,r,i,a){return this.hinkalCommon.deposit(await n.resolveErc20Tokens(e,t),r,i,a)}async depositSolana(e,t,r){return this.hinkalCommon.depositSolana(r,await n.resolveErc20Token(e,t))}async depositForOther(e,t,r,i,a,o){return this.hinkalCommon.depositForOther(await n.resolveErc20Tokens(e,t),r,i,a,o)}async depositSolanaForOther(e,t,r,i){return this.hinkalCommon.depositSolanaForOther(r,await n.resolveErc20Token(e,t),i)}async depositAndWithdraw(e,t,r,i,a,o,s){return this.hinkalCommon.depositAndWithdraw(await n.resolveErc20Token(e,t),r,i,a,o,void 0,void 0,void 0,s)}async depositAndBridge(e,t,r,i,a,o){return this.hinkalCommon.depositAndBridge(await n.resolveErc20Token(e,t),r,i,a,void 0,void 0,void 0,o)}async bridgePrivateToPrivate(e,t,r,i,a,o,s,c,l){let[u,d]=await Promise.all([n.resolveErc20Token(e,t),n.resolveErc20Token(r,i)]);return this.hinkalCommon.bridgePrivateToPrivate(u,d,a,o,s,c,l)}async checkSendTransactionStatus(e){return this.hinkalCommon.checkSendTransactionStatus(e)}async nearDepositAndBridge(e,t,r,i,a,o,s){return this.hinkalCommon.nearDepositAndBridge(await n.resolveErc20Token(e,t),r,i,a,o,s)}async claimUtxo(e,t,r,i,a){return this.hinkalCommon.claimUtxo(await n.resolveErc20Token(e,t),r,i,a)}async transfer(e,t,r,i,a,o){return this.hinkalCommon.transfer(await n.resolveErc20Tokens(e,t),r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return this.hinkalCommon.withdraw(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}async withdrawStuckUtxos(e,t,r){return this.hinkalCommon.withdrawStuckUtxos(await n.resolveErc20Token(e,t),r)}async swap(e,t,r,i,a,o,s){return this.hinkalCommon.swap(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}emporiumOp(e,t,n,r,a,o){return i.emporiumOp({contract:e,func:t,args:n,callDataString:r,invokeWallet:a,value:o})}async actionPrivateWallet(e,t,r,i,a,o,s){return this.hinkalCommon.actionPrivateWallet(e,await n.resolveErc20Tokens(e,t),r,i,a,[],void 0,o,s)}};exports.Hinkal=l;
1
+ const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/types/hinkal.types.cjs`);require(`../common/src/types/index.cjs`);const n=require(`../common/src/functions/utils/erc20tokenFunctions.cjs`),r=require(`../common/src/functions/pre-transaction/getFeeStructure.cjs`),i=require(`../common/src/functions/private-wallet/emporium.helpers.cjs`),a=require(`../common/src/data-structures/private-balances/BalanceChangedHandler.cjs`);require(`../common/src/functions/index.cjs`);const o=require(`../common/src/data-structures/Hinkal/Hinkal.cjs`),s=require(`../internal/token.utils.cjs`),c=require(`../internal/swapApi.cjs`);var l=class{hinkalCommon;mappedPrivateBalancesSource;mappedPrivateBalances={};constructor(e){this.hinkalCommon=new o.Hinkal(e)}getProviderAdapter(e){return this.hinkalCommon.getProviderAdapter(e)}initProviderAdapter(e,t){return this.hinkalCommon.initProviderAdapter(e,t)}initUserKeys(e=t.LoginMessageMode.SDK){return this.hinkalCommon.initUserKeys(e)}initUserKeysWithSignature(e){return this.hinkalCommon.initUserKeysWithSignature(e)}initUserKeysWithNullifyingKey(e){return this.hinkalCommon.initUserKeysWithNullifyingKey(e)}initUserKeysFromSeedPhrases(e){return this.hinkalCommon.initUserKeysFromSeedPhrases(e)}initUserKeysWithEnclaveSignature(e=t.LoginMessageMode.SDK){return this.hinkalCommon.initUserKeysWithEnclaveSignature(e)}storeAndGetInitialSignature(e){return this.hinkalCommon.storeAndGetInitialSignature(e)}resetProviderAdapters(){return this.hinkalCommon.resetProviderAdapters()}disconnectFromConnector(){return this.hinkalCommon.disconnectFromConnector()}destroy(){return this.hinkalCommon.destroy()}signMessage(e){return this.hinkalCommon.signMessage(e)}signTypedData(e,t,n){return this.hinkalCommon.signTypedData(e,t,n)}getSupportedChains(){return this.hinkalCommon.getSupportedChains()}isSelectedNetworkSupported(e){return this.hinkalCommon.isSelectedNetworkSupported(e)}switchNetwork(t){let n=e.networkRegistry[t];if(!n)throw Error(`Network with chainId ${t} not supported`);return this.hinkalCommon.switchNetwork(n)}resetMerkle(e){return this.hinkalCommon.resetMerkle(e)}resetMerkleTreesIfNecessary(e){return this.hinkalCommon.resetMerkleTreesIfNecessary(e)}getMappedPrivateBalances(e){return e===this.mappedPrivateBalancesSource?this.mappedPrivateBalances:(this.mappedPrivateBalancesSource=e,this.mappedPrivateBalances=s.mapPrivateBalances(e),this.mappedPrivateBalances)}get privateBalancesWithUSD(){return this.getMappedPrivateBalances(this.hinkalCommon.privateBalancesWithUSD)}onPrivateBalancesWithUSDChange(e){return this.hinkalCommon.onPrivateBalancesWithUSDChange(t=>e(this.getMappedPrivateBalances(t)))}refreshBalance(e){a.balanceChangedHandler.dispatch(e)}async getTotalBalances(e,t=!1,n=!1){let r=await this.hinkalCommon.getTotalBalances(e,void 0,void 0,t,n);return new Map([...r].map(([e,t])=>[e,t.map(s.mapTokenBalance)]))}async getTotalBalance(e,t=!1,n=!1){return(await this.getTotalBalances([e],t,n)).get(e)??[]}async getStuckShieldedBalances(e,t=!1,n=!1){let r=Array.isArray(e)?e:[e],i=await this.hinkalCommon.getStuckShieldedBalances(r,void 0,void 0,t,n),a=new Map([...i].map(([e,t])=>[e,t.map(s.mapTokenBalance)]));return Array.isArray(e)?a:a.get(e)??[]}getFeeStructure(e,t,n,i,a=[],o=0n,s){return r.getFeeStructure(e,t,n,i,a,o,s)}getEvmSwapPrices(e,t,n,r){return c.getEvmSwapPrices(e,t,n,r)}getSolanaSwapPrices(e,t,n,r){return c.getSolanaSwapPrices(e,t,n,r)}getSolanaPublicKey(){return this.hinkalCommon.getSolanaPublicKey()}getEthereumAddress(){return this.hinkalCommon.getEthereumAddress()}getEthereumAddressByChain(e){return this.hinkalCommon.getEthereumAddressByChain(e)}getRecipientInfo(){return this.hinkalCommon.getRecipientInfo()}getShieldedPublicKey(){return this.hinkalCommon.userKeys.getShieldedPublicKey()}getNullifyingKey(){return this.hinkalCommon.userKeys.getShieldedPrivateKey()}async prooflessDeposit(e,t,r,i,a){return this.hinkalCommon.prooflessDeposit(await n.resolveErc20Tokens(e,t),r,i,a)}async deposit(e,t,r,i,a){return this.hinkalCommon.deposit(await n.resolveErc20Tokens(e,t),r,i,a)}async depositSolana(e,t,r){return this.hinkalCommon.depositSolana(r,await n.resolveErc20Token(e,t))}async depositForOther(e,t,r,i,a,o){return this.hinkalCommon.depositForOther(await n.resolveErc20Tokens(e,t),r,i,a,o)}async depositSolanaForOther(e,t,r,i){return this.hinkalCommon.depositSolanaForOther(r,await n.resolveErc20Token(e,t),i)}async depositAndWithdraw(e,t,r,i,a,o,s){return this.hinkalCommon.depositAndWithdraw(await n.resolveErc20Token(e,t),r,i,a,o,void 0,void 0,void 0,s)}async depositAndBridge(e,t,r,i,a,o){return this.hinkalCommon.depositAndBridge(await n.resolveErc20Token(e,t),r,i,a,void 0,void 0,void 0,o)}async bridgePrivateToPrivate(e,t,r,i,a,o,s,c,l){let[u,d]=await Promise.all([n.resolveErc20Token(e,t),n.resolveErc20Token(r,i)]);return this.hinkalCommon.bridgePrivateToPrivate(u,d,a,o,s,c,l)}async checkSendTransactionStatus(e){return this.hinkalCommon.checkSendTransactionStatus(e)}async nearDepositAndBridge(e,t,r,i,a,o,s){return this.hinkalCommon.nearDepositAndBridge(await n.resolveErc20Token(e,t),r,i,a,o,s)}async claimUtxo(e,t,r,i,a){return this.hinkalCommon.claimUtxo(await n.resolveErc20Token(e,t),r,i,a)}async transfer(e,t,r,i,a,o){return this.hinkalCommon.transfer(await n.resolveErc20Tokens(e,t),r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return this.hinkalCommon.withdraw(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}async withdrawStuckUtxos(e,t,r){return this.hinkalCommon.withdrawStuckUtxos(await n.resolveErc20Token(e,t),r)}async swap(e,t,r,i,a,o,s){return this.hinkalCommon.swap(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}emporiumOp(e,t,n,r,a,o){return i.emporiumOp({contract:e,func:t,args:n,callDataString:r,invokeWallet:a,value:o})}async actionPrivateWallet(e,t,r,i,a,o,s){return this.hinkalCommon.actionPrivateWallet(e,await n.resolveErc20Tokens(e,t),r,i,a,[],void 0,o,s)}};exports.Hinkal=l;
@@ -14,6 +14,7 @@ export declare class Hinkal<ConnectorType> implements IHinkal<ConnectorType> {
14
14
  initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
15
15
  initUserKeys(mode?: LoginMessageMode): Promise<void>;
16
16
  initUserKeysWithSignature(signature: string): void;
17
+ initUserKeysWithNullifyingKey(nullifyingKey: string): void;
17
18
  initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
18
19
  initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<void>;
19
20
  storeAndGetInitialSignature(authSignature: string): Promise<string>;
@@ -45,6 +46,7 @@ export declare class Hinkal<ConnectorType> implements IHinkal<ConnectorType> {
45
46
  getEthereumAddressByChain(chainId: number): Promise<string>;
46
47
  getRecipientInfo(): string;
47
48
  getShieldedPublicKey(): string;
49
+ getNullifyingKey(): string;
48
50
  prooflessDeposit(chainId: number, erc20Addresses: string[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], recipientEncryptionKeys?: string[]): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
49
51
  deposit(chainId: number, erc20Addresses: string[], amountChanges: bigint[], preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
50
52
  depositSolana(chainId: number, erc20Address: string, amount: bigint): Promise<string>;
@@ -29,6 +29,9 @@ var f = class {
29
29
  initUserKeysWithSignature(e) {
30
30
  return this.hinkalCommon.initUserKeysWithSignature(e);
31
31
  }
32
+ initUserKeysWithNullifyingKey(e) {
33
+ return this.hinkalCommon.initUserKeysWithNullifyingKey(e);
34
+ }
32
35
  initUserKeysFromSeedPhrases(e) {
33
36
  return this.hinkalCommon.initUserKeysFromSeedPhrases(e);
34
37
  }
@@ -117,6 +120,9 @@ var f = class {
117
120
  getShieldedPublicKey() {
118
121
  return this.hinkalCommon.userKeys.getShieldedPublicKey();
119
122
  }
123
+ getNullifyingKey() {
124
+ return this.hinkalCommon.userKeys.getShieldedPrivateKey();
125
+ }
120
126
  async prooflessDeposit(e, t, n, i, a) {
121
127
  return this.hinkalCommon.prooflessDeposit(await r(e, t), n, i, a);
122
128
  }
@@ -12,6 +12,7 @@ export interface IHinkal<ConnectorType = unknown> {
12
12
  initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
13
13
  initUserKeys(mode?: LoginMessageMode): Promise<void>;
14
14
  initUserKeysWithSignature(signature: string): void;
15
+ initUserKeysWithNullifyingKey(nullifyingKey: string): void;
15
16
  initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
16
17
  initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<void>;
17
18
  storeAndGetInitialSignature(authSignature: string): Promise<string>;
@@ -43,6 +44,7 @@ export interface IHinkal<ConnectorType = unknown> {
43
44
  getEthereumAddressByChain(chainId: number): Promise<string>;
44
45
  getRecipientInfo(): string;
45
46
  getShieldedPublicKey(): string;
47
+ getNullifyingKey(): string;
46
48
  prooflessDeposit(chainId: number, erc20Addresses: string[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], recipientEncryptionKeys?: string[]): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
47
49
  deposit(chainId: number, erc20Addresses: string[], amountChanges: bigint[], preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
48
50
  depositSolana(chainId: number, erc20Address: string, amount: bigint): Promise<string>;