@kapa123456789/sdk 0.0.3 → 0.0.5

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(`./workerProxy-36ykh-KW.js`),t=require(`./logError-D6lww9H-.js`);let n=require(`worker_threads`),r=require(`buffer`),i=require(`process`);i=e.l(i),require(`ethers`),Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,hookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`});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=(e,t)=>({accessTokenSiblings:t.getSiblingHashesForVerification(BigInt(e)).map(e=>e.toString()),accessTokenSiblingSides:t.getSiblingSides(BigInt(e)).map(e=>e.toString())}),s=(e,t)=>o(e,t),c=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES=1]=`CALC_ACCESS_TOKEN_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=2]=`BUILD_IN_NULLIFIERS`,e}({}),l=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},u=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.c){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 l}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)}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}},d=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),f=e=>{let n=d(e.tree),r=e.reverseTree?d(e.reverseTree):void 0;return u.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.u,t.c,0n)},p=new e.t,m=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=f(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.i(e))),i);p.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},h=e=>{let{accessKey:t,merkleTreeAccessTokenSerialized:n}=e.data,{accessTokenSiblings:r,accessTokenSiblingSides:i}=s(t,f(n));p.postMessageToMainThread({accessTokenSiblings:r,accessTokenSiblingSides:i})},g=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()));p.postMessageToMainThread(r)},_=async e=>{try{await t.l();let{type:n}=e.payload;switch(n){case c.CALC_COMMITMENTS_SIBLING_AND_SIDES:m(e.payload);return;case c.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES:h(e.payload);return;case c.BUILD_IN_NULLIFIERS:g(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(e),p.postErrorToMainThread(e)}};globalThis.process=i.default,globalThis.Buffer=r.Buffer,n.parentPort.on(`message`,async e=>{await _(e)});
1
+ const e=require(`./workerProxy-DPSmXOIl.js`),t=require(`./logError-COJpTdjC.js`);let n=require(`worker_threads`),r=require(`buffer`);var i=e.x(e.g());Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,hookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`});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=(e,t)=>({accessTokenSiblings:t.getSiblingHashesForVerification(BigInt(e)).map(e=>e.toString()),accessTokenSiblingSides:t.getSiblingSides(BigInt(e)).map(e=>e.toString())}),s=(e,t)=>o(e,t),c=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES=1]=`CALC_ACCESS_TOKEN_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=2]=`BUILD_IN_NULLIFIERS`,e}({}),l=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},u=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.c){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 l}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)}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}},d=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),f=e=>{let n=d(e.tree),r=e.reverseTree?d(e.reverseTree):void 0;return u.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.d,t.c,0n)},p=new e.t,m=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=f(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.i(e))),i);p.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},h=e=>{let{accessKey:t,merkleTreeAccessTokenSerialized:n}=e.data,{accessTokenSiblings:r,accessTokenSiblingSides:i}=s(t,f(n));p.postMessageToMainThread({accessTokenSiblings:r,accessTokenSiblingSides:i})},g=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()));p.postMessageToMainThread(r)},_=async e=>{try{await t.u();let{type:n}=e.payload;switch(n){case c.CALC_COMMITMENTS_SIBLING_AND_SIDES:m(e.payload);return;case c.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES:h(e.payload);return;case c.BUILD_IN_NULLIFIERS:g(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(e),p.postErrorToMainThread(e)}};globalThis.process=i.default,globalThis.Buffer=r.Buffer,n.parentPort.on(`message`,async e=>{await _(e)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -1,2 +0,0 @@
1
- const e=require(`./workerProxy-36ykh-KW.js`);let t=require(`buffer`),n=require(`process`);n=e.l(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.l(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.l(s);let c=require(`tweetnacl`);c=e.l(c);var l=new class{babyjub=void 0;async init(){this.babyjub||=await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},u=()=>l.getJub();function d(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var f=new class{poseidon=void 0;async init(){this.poseidon||=await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function p(...e){let t=f.getPoseidon();return d(t.F.toString(t(e)))}var m=(...e)=>{let t=f.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},h=async()=>{(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,f.init(),l.init()])};`${`00`.repeat(20)}`;var g=21888242871839275222246405745257275088548364400416034343698204186575808495617n,_=g/2n,v=200n;`${`00`.repeat(32)}`;var y=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)}mergeWithSerialized(t){Object.entries(t).forEach(([t,n])=>{this.set(t,e.s(n))})}},b=class extends y{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([t,n])=>[t,e.c(n)]))}attach(t){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...n)=>{let r=e.c(n),i=this.get(r);if(i!==void 0)return i;let a=t(...n);return this.set(r,a),a}}},x=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>_},S=e=>x(e)?1n:0n,C=new b,w=new b,T=class{signature;shieldedPrivateKey;constructor(e,t){this.signature=e,this.shieldedPrivateKey=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.shieldedPrivateKey)throw Error(`No signature or shielded private key provided`)}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)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.shieldedPrivateKey||=i.ethers.keccak256(this.signature),this.shieldedPrivateKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),m(this.getShieldedPrivateKey()));getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=m(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new i.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getAccessKey=()=>(this.requireKeyMaterial(),m(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=m(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)};getWalletSalt=e=>(this.requireKeyMaterial(),m(this.getShieldedPublicKey(),this.getShieldedPrivateKey(),e));getInHinkalAddress=e=>{this.requireKeyMaterial();let t=m(this.getShieldedPrivateKey(),e);return BigInt(t)};getBackendToken=()=>(this.requireKeyMaterial(),m(this.getAccessKey(),this.getShieldedPublicKey()));static getRandomizedStealthPair=C.attach((e,t)=>{let n=u(),r=e*(BigInt(t)%g)%g,i=n.mulPointEscalar(n.Base8,e),a=n.mulPointEscalar(n.Base8,r);return{H0:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))],H1:[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]}});static getStealthAddressCompressedPoints=(e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPair(e,t),[i,a]=[n,r].map(e=>BigInt(e[1])+2n**255n*S(e[0]));return{h0:i,h1:a}};static getStealthAddress=w.attach((e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPair(e,t);return m(2n*S(n[0])+S(r[0]),n[1],r[1])});static getStealthAddressWithEKey=(e,t)=>({stealthAddress:this.getStealthAddress(e,t),encryptionKey:this.getEncryptionKeyPair(t).publicKey});static checkSignature=(e,t,n,r)=>{let{h0:i,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===i&&n===a};static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(e));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}}},E={CANNOT_CERTIFY_FOR_PAST_WEEK:`Certification for the past week is not available`,CYCLICAL_REFERRALS_FORBIDDEN:`Cyclical referrals are forbidden`,USER_IS_UNRANKED:`Please certify transactions to see rank`},D={WC_NO_MATCHING_KEY:`creating the transaction failed
2
- version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},O={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`},k={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.`};({...E,...D,...O,...k});var A=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),j=()=>Math.floor(Date.now()/1e3),M=class t{amount;erc20TokenAddress;mintAddress;timeStamp;tokenId;shieldedPrivateKey;randomization;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;constructor({amount:e,erc20TokenAddress:n,mintAddress:r,timeStamp:i,tokenId:a,shieldedPrivateKey:o,randomization:s,stealthAddress:c,encryptionKey:l,commitment:u=void 0,nullifier:d=void 0,isBlocked:f=!1}){this.amount=e,this.erc20TokenAddress=n,this.mintAddress=r,this.timeStamp=i??j().toString(),this.tokenId=a??0,this.shieldedPrivateKey=o,this.randomization=s??t.findCorrectRandomization(A(31),o),this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f}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,shieldedPrivateKey:this.shieldedPrivateKey,randomization:this.randomization,stealthAddress:this.stealthAddress,encryptionKey:this.encryptionKey,tokenId:this.tokenId,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked}}getBasicUtxoParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,randomization:this.randomization,stealthAddress:this.stealthAddress,tokenId:this.tokenId,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked}}getCommitment(){if(!this.commitment){let e=[this.amount,this.erc20TokenAddress,BigInt(this.getStealthAddress()),this.timeStamp];this.tokenId>0&&e.push(this.tokenId.toString()),this.commitment=m(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.shieldedPrivateKey)throw Error(`No Nullifiers if private key is not provided`);let e=m(this.shieldedPrivateKey,this.getCommitment());this.nullifier=m(this.commitment,e)}return this.nullifier}getStealthAddress(){if(!this.stealthAddress){if(!this.shieldedPrivateKey)throw Error(`No stealth address in UTXO if private key is not provided`);let e=T.getStealthAddress(this.randomization,this.shieldedPrivateKey);this.stealthAddress=e}return this.stealthAddress}getEncryptionKey(){if(!this.shieldedPrivateKey){if(!this.encryptionKey)throw Error(`No encryption key provided in UTXO`);return this.encryptionKey}return T.getEncryptionKeyPair(this.shieldedPrivateKey).publicKey}static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t)%g,r,i,a=0n;do r=e*10n**a%g,i=r*n%g,a+=1n;while(i>=2n**253n||r>=2n**253n);return r}getTokenAddress(t){let n=e.r(t)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}},N=(e,t)=>{let{publicKey:n,privateKey:r}=T.getEncryptionKeyPair(t.getShieldedPrivateKey()),s=a.default.crypto_box_seal_open(e,i.ethers.getBytes(n),i.ethers.getBytes(r)),c=Buffer.from(s).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0).map((e,t)=>{let n;return[0,2,4,5].includes(t)?n=BigInt(`0x${e}`):[1,3,6].includes(t)&&(n=`0x${e}`),n}),l=typeof c[6]==`string`?c[6]:void 0,u=l?new o.PublicKey(Buffer.from(l.slice(2),`hex`)).toString():void 0;return{amount:c[0],erc20TokenAddress:c[1],randomization:c[2],stealthAddress:c[3],shieldedPrivateKey:t.getShieldedPrivateKey(),timeStamp:c[4].toString(),tokenId:c[5]?Number(c[5]):0,mintAddress:u}},P=(e,t)=>new M(N(e,t)),F=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return p}});