@kapa123456789/sdk 0.0.14 → 0.0.15

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.
@@ -0,0 +1,2 @@
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}});
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -1,3 +1 @@
1
- const e=require(`./workerProxy-CEspdgQn.js`);let t=require(`worker_threads`),n=require(`buffer`),r=require(`process`);r=e.g(r);let i=require(`axios`);i=e.g(i);var a={};async function o(e,t,n,r){if(n||=4096*64,typeof t!=`number`&&[`w+`,`wx+`,`r`,`ax+`,`a+`].indexOf(t)<0)throw Error(`Invalid open option`);let i=await a.promises.open(e,t);return new s(i,await i.stat(),n,r,e)}var s=class{constructor(e,t,n,r,i){for(this.fileName=i,this.fd=e,this.pos=0,this.pageSize=r||256;this.pageSize<t.blksize;)this.pageSize*=2;this.totalSize=t.size,this.totalPages=Math.floor((t.size-1)/this.pageSize)+1,this.maxPagesLoaded=Math.floor(n/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1,this.avBuffs=[],this.history={}}_loadPage(e){let t=this,n=new Promise((n,r)=>{t.pendingLoads.push({page:e,resolve:n,reject:r})});return t.__statusPage(`After Load request: `,e),n}__statusPage(e,t){let n=[],r=this;if(!r.logHistory)return;n.push(`==`+e+` `+t);let i=``;for(let e=0;e<r.pendingLoads.length;e++)r.pendingLoads[e].page==t&&(i=i+` `+e);if(i&&n.push(`Pending loads:`+i),r.pages[t]!==void 0){let e=r.pages[t];n.push(`Loaded`),n.push(`pendingOps: `+e.pendingOps),e.loading&&n.push(`loading: `+e.loading),e.writing&&n.push(`writing`),e.dirty&&n.push(`dirty`)}n.push(`==`),r.history[t]||(r.history[t]=[]),r.history[t].push(n)}__printHistory(e){let t=this;t.history[e]||console.log(`Empty History `,e),console.log(`History `+e);for(let n=0;n<t.history[e].length;n++)for(let r=0;r<t.history[e][n].length;r++)console.log(`-> `+t.history[e][n][r])}_triggerLoad(){let e=this;if(e.reading||e.pendingLoads.length==0)return;let t=Object.keys(e.pages),n=[];for(let r=0;r<t.length;r++){let i=e.pages[parseInt(t[r])];i.dirty==0&&i.pendingOps==0&&!i.writing&&!i.loading&&n.push(parseInt(t[r]))}let r=e.maxPagesLoaded-t.length,i=[];for(;e.pendingLoads.length>0&&(e.pages[e.pendingLoads[0].page]!==void 0||r>0||n.length>0);){let t=e.pendingLoads.shift();if(e.pages[t.page]!==void 0){e.pages[t.page].pendingOps++;let r=n.indexOf(t.page);r>=0&&n.splice(r,1),e.pages[t.page].loading?e.pages[t.page].loading.push(t):t.resolve(),e.__statusPage(`After Load (cached): `,t.page)}else{if(r)r--;else{let t=n.shift();e.__statusPage(`Before Unload: `,t),e.avBuffs.unshift(e.pages[t]),delete e.pages[t],e.__statusPage(`After Unload: `,t)}t.page>=e.totalPages?(e.pages[t.page]=a(),t.resolve(),e.__statusPage(`After Load (new): `,t.page)):(e.reading=!0,e.pages[t.page]=a(),e.pages[t.page].loading=[t],i.push(e.fd.read(e.pages[t.page].buff,0,e.pageSize,t.page*e.pageSize).then(n=>{e.pages[t.page].size=n.bytesRead;let r=e.pages[t.page].loading;delete e.pages[t.page].loading;for(let e=0;e<r.length;e++)r[e].resolve();return e.__statusPage(`After Load (loaded): `,t.page),n},e=>{t.reject(e)})),e.__statusPage(`After Load (loading): `,t.page))}}Promise.all(i).then(()=>{e.reading=!1,e.pendingLoads.length>0&&setImmediate(e._triggerLoad.bind(e)),e._tryClose()});function a(){if(e.avBuffs.length>0){let t=e.avBuffs.shift();return t.dirty=!1,t.pendingOps=1,t.size=0,t}else return{dirty:!1,buff:new Uint8Array(e.pageSize),pendingOps:1,size:0}}}_triggerWrite(){let e=this;if(e.writing)return;let t=Object.keys(e.pages),n=[];for(let r=0;r<t.length;r++){let i=e.pages[parseInt(t[r])];i.dirty&&(i.dirty=!1,i.writing=!0,e.writing=!0,n.push(e.fd.write(i.buff,0,i.size,parseInt(t[r])*e.pageSize).then(()=>{i.writing=!1},t=>{console.log(`ERROR Writing: `+t),e.error=t,e._tryClose()})))}e.writing&&Promise.all(n).then(()=>{e.writing=!1,setImmediate(e._triggerWrite.bind(e)),e._tryClose(),e.pendingLoads.length>0&&setImmediate(e._triggerLoad.bind(e))})}_getDirtyPage(){for(let e in this.pages)if(this.pages[e].dirty)return e;return-1}async write(e,t){if(e.byteLength==0)return;let n=this;if(t===void 0&&(t=n.pos),n.pos=t+e.byteLength,n.totalSize<t+e.byteLength&&(n.totalSize=t+e.byteLength),n.pendingClose)throw Error(`Writing a closing file`);let r=Math.floor(t/n.pageSize),i=Math.floor((t+e.byteLength-1)/n.pageSize),a=[];for(let e=r;e<=i;e++)a.push(n._loadPage(e));n._triggerLoad();let o=r,s=t%n.pageSize,c=e.byteLength;for(;c>0;){await a[o-r];let t=s+c>n.pageSize?n.pageSize-s:c,i=e.slice(e.byteLength-c,e.byteLength-c+t);new Uint8Array(n.pages[o].buff.buffer,s,t).set(i),n.pages[o].dirty=!0,n.pages[o].pendingOps--,n.pages[o].size=Math.max(s+t,n.pages[o].size),o>=n.totalPages&&(n.totalPages=o+1),c-=t,o++,s=0,n.writing||setImmediate(n._triggerWrite.bind(n))}}async read(e,t){let n=this,r=new Uint8Array(e);return await n.readToBuffer(r,0,e,t),r}async readToBuffer(e,t,n,r){if(n==0)return;let i=this;if(n>i.pageSize*i.maxPagesLoaded*.8){let e=Math.floor(n*1.1);this.maxPagesLoaded=Math.floor(e/i.pageSize)+1}if(r===void 0&&(r=i.pos),i.pos=r+n,i.pendingClose)throw Error(`Reading a closing file`);let a=Math.floor(r/i.pageSize),o=Math.floor((r+n-1)/i.pageSize),s=[];for(let e=a;e<=o;e++)s.push(i._loadPage(e));i._triggerLoad();let c=a,l=r%i.pageSize,u=r+n>i.totalSize?n-(r+n-i.totalSize):n;for(;u>0;){await s[c-a],i.__statusPage(`After Await (read): `,c);let r=l+u>i.pageSize?i.pageSize-l:u,o=new Uint8Array(i.pages[c].buff.buffer,i.pages[c].buff.byteOffset+l,r);e.set(o,t+n-u),i.pages[c].pendingOps--,i.__statusPage(`After Op done: `,c),u-=r,c++,l=0,i.pendingLoads.length>0&&setImmediate(i._triggerLoad.bind(i))}this.pos=r+n}_tryClose(){let e=this;e.pendingClose&&(e.error&&e.pendingCloseReject(e.error),!(e._getDirtyPage()>=0||e.writing||e.reading||e.pendingLoads.length>0)&&e.pendingClose())}close(){let e=this;if(e.pendingClose)throw Error(`Closing the file twice`);return new Promise((t,n)=>{e.pendingClose=t,e.pendingCloseReject=n,e._tryClose()}).then(()=>{e.fd.close()},t=>{throw e.fd.close(),t})}async discard(){await this.close(),await a.promises.unlink(this.fileName)}async writeULE32(e,t){let n=this,r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e,!0),await n.write(r,t)}async writeUBE32(e,t){let n=this,r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e,!1),await n.write(r,t)}async writeULE64(e,t){let n=this,r=new Uint8Array(8),i=new DataView(r.buffer);i.setUint32(0,e&4294967295,!0),i.setUint32(4,Math.floor(e/4294967296),!0),await n.write(r,t)}async readULE32(e){let t=await this.read(4,e);return new Uint32Array(t.buffer)[0]}async readUBE32(e){let t=await this.read(4,e);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(e){let t=await this.read(8,e),n=new Uint32Array(t.buffer);return n[1]*4294967296+n[0]}async readString(e){let t=this;if(t.pendingClose)throw Error(`Reading a closing file`);let n=e===void 0?t.pos:e,r=Math.floor(n/t.pageSize),i=!1,a=``;for(;!i;){let e=t._loadPage(r);t._triggerLoad(),await e,t.__statusPage(`After Await (read): `,r);let o=n%t.pageSize,s=new Uint8Array(t.pages[r].buff.buffer,t.pages[r].buff.byteOffset+o,t.pageSize-o),c=s.findIndex(e=>e===0);i=c!==-1,i?(a+=new TextDecoder().decode(s.slice(0,c)),t.pos=r*this.pageSize+o+c+1):(a+=new TextDecoder().decode(s),t.pos=r*this.pageSize+o+s.length),t.pages[r].pendingOps--,t.__statusPage(`After Op done: `,r),n=t.pos,r++,t.pendingLoads.length>0&&setImmediate(t._triggerLoad.bind(t))}return a}};function c(e){let t=e.initialSize||1<<20,n=new m;return n.o=e,n.o.data=new Uint8Array(t),n.allocSize=t,n.totalSize=0,n.readOnly=!1,n.pos=0,n}function l(e){let t=new m;return t.o=e,t.allocSize=e.data.byteLength,t.totalSize=e.data.byteLength,t.readOnly=!0,t.pos=0,t}var u=new Uint8Array(4),d=new DataView(u.buffer),f=new Uint8Array(8),p=new DataView(f.buffer),m=class{constructor(){this.pageSize=16384}_resizeIfNeeded(e){if(e>this.allocSize){let t=Math.max(this.allocSize+(1<<20),Math.floor(this.allocSize*1.1),e),n=new Uint8Array(t);n.set(this.o.data),this.o.data=n,this.allocSize=t}}async write(e,t){let n=this;if(t===void 0&&(t=n.pos),this.readOnly)throw Error(`Writing a read only file`);this._resizeIfNeeded(t+e.byteLength),this.o.data.set(e.slice(),t),t+e.byteLength>this.totalSize&&(this.totalSize=t+e.byteLength),this.pos=t+e.byteLength}async readToBuffer(e,t,n,r){let i=this;if(r===void 0&&(r=i.pos),this.readOnly&&r+n>this.totalSize)throw Error(`Reading out of bounds`);this._resizeIfNeeded(r+n);let a=new Uint8Array(this.o.data.buffer,this.o.data.byteOffset+r,n);e.set(a,t),this.pos=r+n}async read(e,t){let n=this,r=new Uint8Array(e);return await n.readToBuffer(r,0,e,t),r}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(e,t){let n=this;d.setUint32(0,e,!0),await n.write(u,t)}async writeUBE32(e,t){let n=this;d.setUint32(0,e,!1),await n.write(u,t)}async writeULE64(e,t){let n=this;p.setUint32(0,e&4294967295,!0),p.setUint32(4,Math.floor(e/4294967296),!0),await n.write(f,t)}async readULE32(e){let t=await this.read(4,e);return new Uint32Array(t.buffer)[0]}async readUBE32(e){let t=await this.read(4,e);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(e){let t=await this.read(8,e),n=new Uint32Array(t.buffer);return n[1]*4294967296+n[0]}async readString(e){let t=this,n=e===void 0?t.pos:e;if(n>this.totalSize){if(this.readOnly)throw Error(`Reading out of bounds`);this._resizeIfNeeded(e)}let r=new Uint8Array(t.o.data.buffer,n,this.totalSize-n),i=r.findIndex(e=>e===0),a=i!==-1,o=``;return a?(o=new TextDecoder().decode(r.slice(0,i)),t.pos=n+i+1):t.pos=n,o}},h=1<<22;function g(e){let t=e.initialSize||0,n=new S;n.o=e;let r=t?Math.floor((t-1)/h)+1:0;n.o.data=[];for(let e=0;e<r-1;e++)n.o.data.push(new Uint8Array(h));return r&&n.o.data.push(new Uint8Array(t-h*(r-1))),n.totalSize=0,n.readOnly=!1,n.pos=0,n}function _(e){let t=new S;return t.o=e,t.totalSize=(e.data.length-1)*h+e.data[e.data.length-1].byteLength,t.readOnly=!0,t.pos=0,t}var v=new Uint8Array(4),y=new DataView(v.buffer),b=new Uint8Array(8),x=new DataView(b.buffer),S=class{constructor(){this.pageSize=16384}_resizeIfNeeded(e){if(e<=this.totalSize)return;if(this.readOnly)throw Error(`Reading out of file bounds`);let t=Math.floor((e-1)/h)+1;for(let n=Math.max(this.o.data.length-1,0);n<t;n++){let r=n<t-1?h:e-(t-1)*h,i=new Uint8Array(r);n==this.o.data.length-1&&i.set(this.o.data[n]),this.o.data[n]=i}this.totalSize=e}async write(e,t){let n=this;if(t===void 0&&(t=n.pos),this.readOnly)throw Error(`Writing a read only file`);this._resizeIfNeeded(t+e.byteLength);let r=Math.floor(t/h),i=t%h,a=e.byteLength;for(;a>0;){let t=i+a>h?h-i:a,o=e.slice(e.byteLength-a,e.byteLength-a+t);new Uint8Array(n.o.data[r].buffer,i,t).set(o),a-=t,r++,i=0}this.pos=t+e.byteLength}async readToBuffer(e,t,n,r){let i=this;if(r===void 0&&(r=i.pos),this.readOnly&&r+n>this.totalSize)throw Error(`Reading out of bounds`);this._resizeIfNeeded(r+n);let a=Math.floor(r/h),o=r%h,s=n;for(;s>0;){let r=o+s>h?h-o:s,c=new Uint8Array(i.o.data[a].buffer,o,r);e.set(c,t+n-s),s-=r,a++,o=0}this.pos=r+n}async read(e,t){let n=this,r=new Uint8Array(e);return await n.readToBuffer(r,0,e,t),r}close(){}async discard(){}async writeULE32(e,t){let n=this;y.setUint32(0,e,!0),await n.write(v,t)}async writeUBE32(e,t){let n=this;y.setUint32(0,e,!1),await n.write(v,t)}async writeULE64(e,t){let n=this;x.setUint32(0,e&4294967295,!0),x.setUint32(4,Math.floor(e/4294967296),!0),await n.write(b,t)}async readULE32(e){let t=await this.read(4,e);return new Uint32Array(t.buffer)[0]}async readUBE32(e){let t=await this.read(4,e);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(e){let t=await this.read(8,e),n=new Uint32Array(t.buffer);return n[1]*4294967296+n[0]}async readString(e){let t=this,n=e===void 0?t.pos:e;if(n>this.totalSize){if(this.readOnly)throw Error(`Reading out of bounds`);this._resizeIfNeeded(e)}let r=!1,i=``;for(;!r;){let e=Math.floor(n/h),a=n%h;if(t.o.data[e]===void 0)throw Error(`ERROR`);let o=Math.min(2048,t.o.data[e].length-a),s=new Uint8Array(t.o.data[e].buffer,a,o),c=s.findIndex(e=>e===0);r=c!==-1,r?(i+=new TextDecoder().decode(s.slice(0,c)),t.pos=e*h+a+c+1):(i+=new TextDecoder().decode(s),t.pos=e*h+a+s.length),n=t.pos}return i}},C=512,w=0,T=65536,E=8192;async function D(e,t,n){if(typeof e==`string`&&(e={type:`file`,fileName:e,cacheSize:t||T,pageSize:n||E}),e.type==`file`)return await o(e.fileName,C|1026,e.cacheSize,e.pageSize);if(e.type==`mem`)return c(e);if(e.type==`bigMem`)return g(e);throw Error(`Invalid FastFile type: `+e.type)}async function O(e,t,n){if(e instanceof Uint8Array&&(e={type:`mem`,data:e}),typeof e==`string`&&(e={type:`mem`,data:await fetch(e).then(function(e){return e.arrayBuffer()}).then(function(e){return new Uint8Array(e)})}),e.type==`file`)return await o(e.fileName,w,e.cacheSize,e.pageSize);if(e.type==`mem`)return await l(e);if(e.type==`bigMem`)return await _(e);throw Error(`Invalid FastFile type: `+e.type)}async function k(e,t,n,r,i){let a=await O(e),o=await a.read(4),s=``;for(let e=0;e<4;e++)s+=String.fromCharCode(o[e]);if(s!=t)throw Error(e+`: Invalid File format`);if(await a.readULE32()>n)throw Error(`Version not supported`);let c=await a.readULE32(),l=[];for(let e=0;e<c;e++){let e=await a.readULE32(),t=await a.readULE64();l[e]===void 0&&(l[e]=[]),l[e].push({p:a.pos,size:t}),a.pos+=t}return{fd:a,sections:l}}async function A(e,t,n,r,i,a){let o=await D(e,i,a),s=new Uint8Array(4);for(let e=0;e<4;e++)s[e]=t.charCodeAt(e);return await o.write(s,0),await o.writeULE32(n),await o.writeULE32(r),o}async function j(e,t){if(e.writingSection!==void 0)throw Error(`Already writing a section`);await e.writeULE32(t),e.writingSection={pSectionSize:e.pos},await e.writeULE64(0)}async function M(e){if(e.writingSection===void 0)throw Error(`Not writing a section`);let t=e.pos-e.writingSection.pSectionSize-8,n=e.pos;e.pos=e.writingSection.pSectionSize,await e.writeULE64(t),e.pos=n,delete e.writingSection}async function N(e,t,n){if(e.readingSection!==void 0)throw Error(`Already reading a section`);if(!t[n])throw Error(e.fileName+`: Missing section `+n);if(t[n].length>1)throw Error(e.fileName+`: Section Duplicated `+n);e.pos=t[n][0].p,e.readingSection=t[n][0]}async function P(e,t){if(e.readingSection===void 0)throw Error(`Not reading a section`);if(!t&&e.pos-e.readingSection.p!=e.readingSection.size)throw Error(`Invalid section size reading`);delete e.readingSection}async function F(t,n,r,i){let a=new Uint8Array(r);e.u.toRprLE(a,0,n,r),await t.write(a,i)}async function I(t,n,r){let i=await t.read(n,r);return e.u.fromRprLE(i,0,n)}async function L(t,n,r,i,a){if(i=i===void 0?0:i,a=a===void 0?n[r][0].size-i:a,i+a>n[r][0].size)throw Error(`Reading out of the range of the section`);let o;return o=a<1<<30?new Uint8Array(a):new e.l(a),await t.readToBuffer(o,0,a,n[r][0].p+i),o}e.u.e(`73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001`,16),e.u.e(`21888242871839275222246405745257275088548364400416034343698204186575808495617`);var R=e.u.e(`1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab`,16),z=e.u.e(`21888242871839275222246405745257275088696311157297823662689037894645226208583`);async function B(t,n){let r,i=n&&n.singleThread;if(e.u.eq(t,z))r=await e.p(i);else if(e.u.eq(t,R))r=await e.f(i);else throw Error(`Curve not supported: ${e.u.toString(t)}`);return r}async function ee(t,n){let r,i=n&&n.singleThread,a=o(t);if([`BN128`,`BN254`,`ALTBN128`].indexOf(a)>=0)r=await e.p(i);else if([`BLS12381`].indexOf(a)>=0)r=await e.f(i);else throw Error(`Curve not supported: ${t}`);return r;function o(e){return e.toUpperCase().match(/[A-Za-z0-9]+/g).join(``)}}var V=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},H={exports:{}},U=ne,te=class extends Error{};te.prototype.name=`AssertionError`;function ne(e,t){if(!e){var n=new te(t);throw Error.captureStackTrace&&Error.captureStackTrace(n,ne),n}}var re={exports:{}};function ie(e){return e.length}function ae(e){let t=e.byteLength,n=``;for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}function oe(e,t,n=0,r=ie(t)){let i=Math.min(r,e.byteLength-n);for(let r=0;r<i;r++)e[n+r]=t.charCodeAt(r);return i}var se={byteLength:ie,toString:ae,write:oe},W=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,G=new Uint8Array(256);for(let e=0;e<64;e++)G[W.charCodeAt(e)]=e;G[45]=62,G[95]=63;function ce(e){let t=e.length;return e.charCodeAt(t-1)===61&&t--,t>1&&e.charCodeAt(t-1)===61&&t--,t*3>>>2}function le(e){let t=e.byteLength,n=``;for(let r=0;r<t;r+=3)n+=W[e[r]>>2]+W[(e[r]&3)<<4|e[r+1]>>4]+W[(e[r+1]&15)<<2|e[r+2]>>6]+W[e[r+2]&63];return t%3==2?n=n.substring(0,n.length-1)+`=`:t%3==1&&(n=n.substring(0,n.length-2)+`==`),n}function ue(e,t,n=0,r=ce(t)){let i=Math.min(r,e.byteLength-n);for(let n=0,r=0;r<i;n+=4){let i=G[t.charCodeAt(n)],a=G[t.charCodeAt(n+1)],o=G[t.charCodeAt(n+2)],s=G[t.charCodeAt(n+3)];e[r++]=i<<2|a>>4,e[r++]=(a&15)<<4|o>>2,e[r++]=(o&3)<<6|s&63}return i}var de={byteLength:ce,toString:le,write:ue};function fe(e){return e.length>>>1}function pe(e){let t=e.byteLength;e=new DataView(e.buffer,e.byteOffset,t);let n=``,r=0;for(let i=t-t%4;r<i;r+=4)n+=e.getUint32(r).toString(16).padStart(8,`0`);for(;r<t;r++)n+=e.getUint8(r).toString(16).padStart(2,`0`);return n}function me(e,t,n=0,r=fe(t)){let i=Math.min(r,e.byteLength-n);for(let r=0;r<i;r++){let i=ge(t.charCodeAt(r*2)),a=ge(t.charCodeAt(r*2+1));if(i===void 0||a===void 0)return e.subarray(0,r);e[n+r]=i<<4|a}return i}var he={byteLength:fe,toString:pe,write:me};function ge(e){if(e>=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}function K(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n);if(i>=55296&&i<=56319&&n+1<r){let r=e.charCodeAt(n+1);if(r>=56320&&r<=57343){t+=4,n++;continue}}i<=127?t+=1:i<=2047?t+=2:t+=3}return t}var q;if(typeof TextDecoder<`u`){let e=new TextDecoder;q=function(t){return e.decode(t)}}else q=function(e){let t=e.byteLength,n=``,r=0;for(;r<t;){let i=e[r];if(i<=127){n+=String.fromCharCode(i),r++;continue}let a=0,o=0;if(i<=223?(a=1,o=i&31):i<=239?(a=2,o=i&15):i<=244&&(a=3,o=i&7),t-r-a>0){let t=0;for(;t<a;)i=e[r+t+1],o=o<<6|i&63,t+=1}else o=65533,a=t-r;n+=String.fromCodePoint(o),r+=a+1}return n};var _e;if(typeof TextEncoder<`u`){let e=new TextEncoder;_e=function(t,n,r=0,i=K(n)){let a=Math.min(i,t.byteLength-r);return e.encodeInto(n,t.subarray(r,r+a)),a}}else _e=function(e,t,n=0,r=K(t)){let i=Math.min(r,e.byteLength-n);e=e.subarray(n,n+i);let a=0,o=0;for(;a<t.length;){let n=t.codePointAt(a);if(n<=127){e[o++]=n,a++;continue}let r=0,i=0;for(n<=2047?(r=6,i=192):n<=65535?(r=12,i=224):n<=2097151&&(r=18,i=240),e[o++]=i|n>>r,r-=6;r>=0;)e[o++]=128|n>>r&63,r-=6;a+=n>=65536?2:1}return i};var ve={byteLength:K,toString:q,write:_e};function ye(e){return e.length*2}function be(e){let t=e.byteLength,n=``;for(let r=0;r<t-1;r+=2)n+=String.fromCharCode(e[r]+e[r+1]*256);return n}function xe(e,t,n=0,r=ye(t)){let i=Math.min(r,e.byteLength-n),a=i;for(let r=0;r<t.length&&!((a-=2)<0);++r){let i=t.charCodeAt(r),a=i>>8,o=i%256;e[n+r*2]=o,e[n+r*2+1]=a}return i}var Se={byteLength:ye,toString:be,write:xe};(function(e,t){let n=se,r=de,i=he,a=ve,o=Se,s=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function c(e){switch(e){case`ascii`:return n;case`base64`:return r;case`hex`:return i;case`utf8`:case`utf-8`:case void 0:return a;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return o;default:throw Error(`Unknown encoding: ${e}`)}}function l(e){return e instanceof Uint8Array}function u(e){try{return c(e),!0}catch{return!1}}function d(e,n,r){let i=new Uint8Array(e);return n!==void 0&&t.fill(i,n,0,i.byteLength,r),i}function f(e){return new Uint8Array(e)}function p(e){return new Uint8Array(e)}function m(e,t){return c(t).byteLength(e)}function h(e,t){if(e===t)return 0;let n=Math.min(e.byteLength,t.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),t=new DataView(t.buffer,t.byteOffset,t.byteLength);let r=0;for(let i=n-n%4;r<i&&e.getUint32(r,s)===t.getUint32(r,s);r+=4);for(;r<n;r++){let n=e.getUint8(r),i=t.getUint8(r);if(n<i)return-1;if(n>i)return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}function g(e,t){t===void 0&&(t=e.reduce((e,t)=>e+t.byteLength,0));let n=new Uint8Array(t),r=0;for(let t of e){if(r+t.byteLength>n.byteLength){let e=t.subarray(0,n.byteLength-r);return n.set(e,r),n}n.set(t,r),r+=t.byteLength}return n}function _(e,t,n=0,r=0,i=e.byteLength){if(i>0&&i<r||i===r||e.byteLength===0||t.byteLength===0)return 0;if(n<0)throw RangeError(`targetStart is out of range`);if(r<0||r>=e.byteLength)throw RangeError(`sourceStart is out of range`);if(i<0)throw RangeError(`sourceEnd is out of range`);n>=t.byteLength&&(n=t.byteLength),i>e.byteLength&&(i=e.byteLength),t.byteLength-n<i-r&&(i=t.length-n+r);let a=i-r;return e===t?t.copyWithin(n,r,i):t.set(e.subarray(r,i),n),a}function v(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;let n=e.byteLength;e=new DataView(e.buffer,e.byteOffset,e.byteLength),t=new DataView(t.buffer,t.byteOffset,t.byteLength);let r=0;for(let i=n-n%4;r<i;r+=4)if(e.getUint32(r,s)!==t.getUint32(r,s))return!1;for(;r<n;r++)if(e.getUint8(r)!==t.getUint8(r))return!1;return!0}function y(e,t,n,r,i){if(typeof t==`string`?typeof n==`string`?(i=n,n=0,r=e.byteLength):typeof r==`string`&&(i=r,r=e.byteLength):typeof t==`number`?t&=255:typeof t==`boolean`&&(t=+t),n<0||e.byteLength<n||e.byteLength<r)throw RangeError(`Out of range index`);if(n===void 0&&(n=0),r===void 0&&(r=e.byteLength),r<=n)return e;if(t||=0,typeof t==`number`)for(let i=n;i<r;++i)e[i]=t;else{t=l(t)?t:b(t,i);let a=t.byteLength;for(let i=0;i<r-n;++i)e[i+n]=t[i%a]}return e}function b(e,t,n){return typeof e==`string`?x(e,t):Array.isArray(e)?S(e):ArrayBuffer.isView(e)?C(e):w(e,t,n)}function x(e,t){let n=c(t),r=new Uint8Array(n.byteLength(e));return n.write(r,e,0,r.byteLength),r}function S(e){let t=new Uint8Array(e.length);return t.set(e),t}function C(e){let t=new Uint8Array(e.byteLength);return t.set(e),t}function w(e,t,n){return new Uint8Array(e,t,n)}function T(e,t,n,r){return D(e,t,n,r)!==-1}function E(e,t,n,r,i){if(e.byteLength===0)return-1;if(typeof n==`string`?(r=n,n=0):n===void 0?n=i?0:e.length-1:n<0&&(n+=e.byteLength),n>=e.byteLength){if(i)return-1;n=e.byteLength-1}else if(n<0)if(i)n=0;else return-1;if(typeof t==`string`)t=b(t,r);else if(typeof t==`number`)return t&=255,i?e.indexOf(t,n):e.lastIndexOf(t,n);if(t.byteLength===0)return-1;if(i){let r=-1;for(let i=n;i<e.byteLength;i++)if(e[i]===t[r===-1?0:i-r]){if(r===-1&&(r=i),i-r+1===t.byteLength)return r}else r!==-1&&(i-=i-r),r=-1}else{n+t.byteLength>e.byteLength&&(n=e.byteLength-t.byteLength);for(let r=n;r>=0;r--){let n=!0;for(let i=0;i<t.byteLength;i++)if(e[r+i]!==t[i]){n=!1;break}if(n)return r}}return-1}function D(e,t,n,r){return E(e,t,n,r,!0)}function O(e,t,n,r){return E(e,t,n,r,!1)}function k(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function A(e){let t=e.byteLength;if(t%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let n=0;n<t;n+=2)k(e,n,n+1);return e}function j(e){let t=e.byteLength;if(t%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let n=0;n<t;n+=4)k(e,n,n+3),k(e,n+1,n+2);return e}function M(e){let t=e.byteLength;if(t%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let n=0;n<t;n+=8)k(e,n,n+7),k(e,n+1,n+6),k(e,n+2,n+5),k(e,n+3,n+4);return e}function N(e){return e}function P(e,t,n=0,r=e.byteLength){let i=e.byteLength;return n>=i||r<=n?``:(n<0&&(n=0),r>i&&(r=i),(n!==0||r<i)&&(e=e.subarray(n,r)),c(t).toString(e))}function F(e,t,n,r,i){return n===void 0?i=`utf8`:r===void 0&&typeof n==`string`?(i=n,n=void 0):i===void 0&&typeof r==`string`&&(i=r,r=void 0),c(i).write(e,t,n,r)}function I(e,t,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat64(n,t,!0),n+8}function L(e,t,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat32(n,t,!0),n+4}function R(e,t,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(n,t,!0),n+4}function z(e,t,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setInt32(n,t,!0),n+4}function B(e,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t,!0)}function ee(e,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t,!0)}function V(e,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(t,!0)}function H(e,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getInt32(t,!0)}e.exports=t={isBuffer:l,isEncoding:u,alloc:d,allocUnsafe:f,allocUnsafeSlow:p,byteLength:m,compare:h,concat:g,copy:_,equals:v,fill:y,from:b,includes:T,indexOf:D,lastIndexOf:O,swap16:A,swap32:j,swap64:M,toBuffer:N,toString:P,write:F,writeDoubleLE:I,writeFloatLE:L,writeUInt32LE:R,writeInt32LE:z,readDoubleLE:B,readFloatLE:ee,readUInt32LE:V,readInt32LE:H}})(re,re.exports);var Ce,we;function Te(){if(we)return Ce;we=1;var e=(e,t)=>function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports},t=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})(),n=e({"wasm-binary:./blake2b.wat"(e,n){n.exports=t(`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`)}})(),r=WebAssembly.compile(n);return Ce=async e=>(await WebAssembly.instantiate(await r,e)).exports,Ce}var J=U,Ee=re.exports,Y=null,De=typeof WebAssembly<`u`&&Te()().then(e=>{Y=e}),X=64,Oe=[];H.exports=Z;var ke=H.exports.BYTES_MIN=16,Ae=H.exports.BYTES_MAX=64;H.exports.BYTES=32;var je=H.exports.KEYBYTES_MIN=16,Me=H.exports.KEYBYTES_MAX=64;H.exports.KEYBYTES=32;var Ne=H.exports.SALTBYTES=16,Pe=H.exports.PERSONALBYTES=16;function Z(e,t,n,r,i){if(!(this instanceof Z))return new Z(e,t,n,r,i);if(!Y)throw Error(`WASM not loaded. Wait for Blake2b.ready(cb)`);e||=32,i!==!0&&(J(e>=ke,`digestLength must be at least `+ke+`, was given `+e),J(e<=Ae,`digestLength must be at most `+Ae+`, was given `+e),t!=null&&(J(t instanceof Uint8Array,`key must be Uint8Array or Buffer`),J(t.length>=je,`key must be at least `+je+`, was given `+t.length),J(t.length<=Me,`key must be at least `+Me+`, was given `+t.length)),n!=null&&(J(n instanceof Uint8Array,`salt must be Uint8Array or Buffer`),J(n.length===Ne,`salt must be exactly `+Ne+`, was given `+n.length)),r!=null&&(J(r instanceof Uint8Array,`personal must be Uint8Array or Buffer`),J(r.length===Pe,`personal must be exactly `+Pe+`, was given `+r.length))),Oe.length||(Oe.push(X),X+=216),this.digestLength=e,this.finalized=!1,this.pointer=Oe.pop(),this._memory=new Uint8Array(Y.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=t?t.length:0,this._memory[2]=1,this._memory[3]=1,n&&this._memory.set(n,32),r&&this._memory.set(r,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),Y.blake2b_init(this.pointer,this.digestLength),t&&(this.update(t),this._memory.fill(0,X,X+t.length),this._memory[this.pointer+200]=128)}Z.prototype._realloc=function(e){Y.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(Y.memory.buffer)},Z.prototype.update=function(e){return J(this.finalized===!1,`Hash instance finalized`),J(e instanceof Uint8Array,`input must be Uint8Array or Buffer`),X+e.length>this._memory.length&&this._realloc(X+e.length),this._memory.set(e,X),Y.blake2b_update(this.pointer,X,X+e.length),this},Z.prototype.digest=function(e){if(J(this.finalized===!1,`Hash instance finalized`),this.finalized=!0,Oe.push(this.pointer),Y.blake2b_final(this.pointer),!e||e===`binary`)return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e==`string`)return Ee.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);J(e instanceof Uint8Array&&e.length>=this.digestLength,`input must be Uint8Array or Buffer`);for(var t=0;t<this.digestLength;t++)e[t]=this._memory[this.pointer+128+t];return e},Z.prototype.final=Z.prototype.digest,Z.WASM=Y,Z.SUPPORTED=typeof WebAssembly<`u`,Z.ready=function(e){return e||=Fe,De?De.then(()=>e(),e):e(Error(`WebAssembly not supported`))},Z.prototype.ready=Z.ready,Z.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)},Z.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function Fe(){}function Ie(e){return(e&4294901760?(e&=4294901760,16):0)|(e&4278255360?(e&=4278255360,8):0)|(e&4042322160?(e&=4042322160,4):0)|(e&3435973836?(e&=3435973836,2):0)|(e&2863311530)!=0}var Le=1,Re=2,ze=10,Be=2;async function Q(e,t,n){let r=await e.read(t.G1.F.n8*2),i=t.G1.fromRprLEM(r,0);return n?t.G1.toObject(i):i}async function Ve(e,t,n){let r=await e.read(t.G2.F.n8*2),i=t.G2.fromRprLEM(r,0);return n?t.G2.toObject(i):i}async function He(e,t,n,r){await N(e,t,1);let i=await e.readULE32();if(await P(e),i===Le)return await Ue(e,t,n,r);if(i===Re)return await We(e,t,n,r);if(i===ze)return await Ge(e,t,n,r);throw Error(`Protocol not supported: `)}async function Ue(e,t,n,r){let i={};i.protocol=`groth16`,await N(e,t,2);let a=await e.readULE32();i.n8q=a,i.q=await I(e,a);let o=await e.readULE32();return i.n8r=o,i.r=await I(e,o),i.curve=await B(i.q,r),i.nVars=await e.readULE32(),i.nPublic=await e.readULE32(),i.domainSize=await e.readULE32(),i.power=Ie(i.domainSize),i.vk_alpha_1=await Q(e,i.curve,n),i.vk_beta_1=await Q(e,i.curve,n),i.vk_beta_2=await Ve(e,i.curve,n),i.vk_gamma_2=await Ve(e,i.curve,n),i.vk_delta_1=await Q(e,i.curve,n),i.vk_delta_2=await Ve(e,i.curve,n),await P(e),i}async function We(e,t,n,r){let i={};i.protocol=`plonk`,await N(e,t,2);let a=await e.readULE32();i.n8q=a,i.q=await I(e,a);let o=await e.readULE32();return i.n8r=o,i.r=await I(e,o),i.curve=await B(i.q,r),i.nVars=await e.readULE32(),i.nPublic=await e.readULE32(),i.domainSize=await e.readULE32(),i.power=Ie(i.domainSize),i.nAdditions=await e.readULE32(),i.nConstraints=await e.readULE32(),i.k1=await e.read(o),i.k2=await e.read(o),i.Qm=await Q(e,i.curve,n),i.Ql=await Q(e,i.curve,n),i.Qr=await Q(e,i.curve,n),i.Qo=await Q(e,i.curve,n),i.Qc=await Q(e,i.curve,n),i.S1=await Q(e,i.curve,n),i.S2=await Q(e,i.curve,n),i.S3=await Q(e,i.curve,n),i.X_2=await Ve(e,i.curve,n),await P(e),i}async function Ge(e,t,n,r){let i={};i.protocol=`fflonk`,i.protocolId=ze,await N(e,t,Be);let a=await e.readULE32();i.n8q=a,i.q=await I(e,a),i.curve=await B(i.q,r);let o=await e.readULE32();return i.n8r=o,i.r=await I(e,o),i.nVars=await e.readULE32(),i.nPublic=await e.readULE32(),i.domainSize=await e.readULE32(),i.power=Ie(i.domainSize),i.nAdditions=await e.readULE32(),i.nConstraints=await e.readULE32(),i.k1=await e.read(o),i.k2=await e.read(o),i.w3=await e.read(o),i.w4=await e.read(o),i.w8=await e.read(o),i.wr=await e.read(o),i.X_2=await Ve(e,i.curve,n),i.C0=await Q(e,i.curve,n),await P(e),i}async function Ke(t,n,r){await j(t,1);let i=(Math.floor((e.u.bitLength(r)-1)/64)+1)*8;if(await t.writeULE32(i),await F(t,r,i),n.byteLength%i!=0)throw Error(`Invalid witness length`);await t.writeULE32(n.byteLength/i),await M(t),await j(t,2),await t.write(n),await M(t)}async function qe(e,t){await N(e,t,1);let n=await e.readULE32(),r=await I(e,n),i=await e.readULE32();return await P(e),{n8:n,q:r,nWitness:i}}var{stringifyBigInts:Je}=e.h;async function Ye(t,n,r,i){let{fd:a,sections:o}=await k(n,`wtns`,2),s=await qe(a,o),{fd:c,sections:l}=await k(t,`zkey`,2),u=await He(c,l,void 0,i);if(u.protocol!=`groth16`)throw Error(`zkey file is not groth16`);if(!e.u.eq(u.r,s.q))throw Error(`Curve of the witness does not match the curve of the proving key`);if(s.nWitness!=u.nVars)throw Error(`Invalid witness length. Circuit: ${u.nVars}, witness: ${s.nWitness}`);let d=u.curve,f=d.Fr,p=d.G1,m=d.G2,h=Ie(u.domainSize);r&&r.debug(`Reading Wtns`);let g=await L(a,o,2);r&&r.debug(`Reading Coeffs`);let _=await L(c,l,4);r&&r.debug(`Building ABC`);let[v,y,b]=await Xe(d,u,g,_,r),x=h==f.s?d.Fr.shift:d.Fr.w[h+1],S=await f.ifft(v,``,``,r,`IFFT_A`),C=await f.batchApplyKey(S,f.e(1),x),w=await f.fft(C,``,``,r,`FFT_A`),T=await f.ifft(y,``,``,r,`IFFT_B`),E=await f.batchApplyKey(T,f.e(1),x),D=await f.fft(E,``,``,r,`FFT_B`),O=await f.ifft(b,``,``,r,`IFFT_C`),A=await f.batchApplyKey(O,f.e(1),x),j=await f.fft(A,``,``,r,`FFT_C`);r&&r.debug(`Join ABC`);let M=await Ze(d,u,w,D,j,r),N={};r&&r.debug(`Reading A Points`);let P=await L(c,l,5);N.pi_a=await d.G1.multiExpAffine(P,g,r,`multiexp A`),r&&r.debug(`Reading B1 Points`);let F=await L(c,l,6),I=await d.G1.multiExpAffine(F,g,r,`multiexp B1`);r&&r.debug(`Reading B2 Points`);let R=await L(c,l,7);N.pi_b=await d.G2.multiExpAffine(R,g,r,`multiexp B2`),r&&r.debug(`Reading C Points`);let z=await L(c,l,8);N.pi_c=await d.G1.multiExpAffine(z,g.slice((u.nPublic+1)*d.Fr.n8),r,`multiexp C`),r&&r.debug(`Reading H Points`);let B=await L(c,l,9),ee=await d.G1.multiExpAffine(B,M,r,`multiexp H`),V=d.Fr.random(),H=d.Fr.random();N.pi_a=p.add(N.pi_a,u.vk_alpha_1),N.pi_a=p.add(N.pi_a,p.timesFr(u.vk_delta_1,V)),N.pi_b=m.add(N.pi_b,u.vk_beta_2),N.pi_b=m.add(N.pi_b,m.timesFr(u.vk_delta_2,H)),I=p.add(I,u.vk_beta_1),I=p.add(I,p.timesFr(u.vk_delta_1,H)),N.pi_c=p.add(N.pi_c,ee),N.pi_c=p.add(N.pi_c,p.timesFr(N.pi_a,H)),N.pi_c=p.add(N.pi_c,p.timesFr(I,V)),N.pi_c=p.add(N.pi_c,p.timesFr(u.vk_delta_1,f.neg(f.mul(V,H))));let U=[];for(let t=1;t<=u.nPublic;t++){let n=g.slice(t*f.n8,t*f.n8+f.n8);U.push(e.u.fromRprLE(n))}return N.pi_a=p.toObject(p.toAffine(N.pi_a)),N.pi_b=m.toObject(m.toAffine(N.pi_b)),N.pi_c=p.toObject(p.toAffine(N.pi_c)),N.protocol=`groth16`,N.curve=d.name,await c.close(),await a.close(),N=Je(N),U=Je(U),{proof:N,publicSignals:U}}async function Xe(t,n,r,i,a){let o=t.Fr.n8,s=12+n.n8r,c=(i.byteLength-4)/s,l=new e.l(n.domainSize*o),u=new e.l(n.domainSize*o),d=new e.l(n.domainSize*o),f=[l,u];for(let e=0;e<c;e++){a&&e%1e6==0&&a.debug(`QAP AB: ${e}/${c}`);let n=i.slice(4+e*s,4+e*s+s),l=new DataView(n.buffer),u=l.getUint32(0,!0),d=l.getUint32(4,!0),p=l.getUint32(8,!0),m=n.slice(12,12+o);f[u].set(t.Fr.add(f[u].slice(d*o,d*o+o),t.Fr.mul(m,r.slice(p*o,p*o+o))),d*o)}for(let e=0;e<n.domainSize;e++)a&&e%1e6==0&&a.debug(`QAP C: ${e}/${n.domainSize}`),d.set(t.Fr.mul(l.slice(e*o,e*o+o),u.slice(e*o,e*o+o)),e*o);return[l,u,d]}async function Ze(t,n,r,i,a,o){let s=1<<22,c=t.Fr.n8,l=Math.floor(r.byteLength/t.Fr.n8),u=[];for(let e=0;e<l;e+=s){o&&o.debug(`JoinABC: ${e}/${l}`);let n=Math.min(l-e,s),d=[],f=r.slice(e*c,(e+n)*c),p=i.slice(e*c,(e+n)*c),m=a.slice(e*c,(e+n)*c);d.push({cmd:`ALLOCSET`,var:0,buff:f}),d.push({cmd:`ALLOCSET`,var:1,buff:p}),d.push({cmd:`ALLOCSET`,var:2,buff:m}),d.push({cmd:`ALLOC`,var:3,len:n*c}),d.push({cmd:`CALL`,fnName:`qap_joinABC`,params:[{var:0},{var:1},{var:2},{val:n},{var:3}]}),d.push({cmd:`CALL`,fnName:`frm_batchFromMontgomery`,params:[{var:3},{val:n},{var:3}]}),d.push({cmd:`GET`,out:0,var:3,len:n*c}),u.push(t.tm.queueAction(d))}let d=await Promise.all(u),f;f=r instanceof e.l?new e.l(r.byteLength):new Uint8Array(r.byteLength);let p=0;for(let e=0;e<d.length;e++)f.set(d[e][0],p),p+=d[e][0].byteLength;return f}function Qe(e){let t=[];return n(t,e),t;function n(e,t){if(Array.isArray(t))for(let r=0;r<t.length;r++)n(e,t[r]);else e.push(t)}}function $e(e,t){let n=BigInt(e)%t;return n<0&&(n+=t),n}function et(e){let t=BigInt(2)**BigInt(64),n=BigInt(`0xCBF29CE484222325`);for(let r=0;r<e.length;r++)n^=BigInt(e[r].charCodeAt(0)),n*=BigInt(1099511628211),n%=t;let r=n.toString(16),i=16-r.length;return r=`0`.repeat(i).concat(r),r}function tt(e,t){let n=[],r=BigInt(e),i=BigInt(4294967296);for(;r;)n.unshift(Number(r%i)),r/=i;if(t){let e=t-n.length;for(;e>0;)n.unshift(0),e--}return n}async function nt(t,n){let r,i,a;n||={};let o=1,s=0,c=0,l=!1;if(t instanceof WebAssembly.Instance)r=t,l=!0;else{let l=32767;if(n.memorySize&&(l=parseInt(n.memorySize),l<0))throw Error(`Invalid memory size`);let u=!1;for(;!u;)try{a=new WebAssembly.Memory({initial:l}),u=!0}catch(e){if(l<=1)throw e;console.warn(`Could not allocate `+l*1024*64+` bytes. This may cause severe instability. Trying with `+l*1024*64/2+` bytes`),l=Math.floor(l/2)}let p=await WebAssembly.compile(t),m=``,h=``;r=await WebAssembly.instantiate(p,{env:{memory:a},runtime:{printDebug:function(e){console.log(`printDebug:`,e)},exceptionHandler:function(e){let t;throw t=e===1?`Signal not found. `:e===2?`Too many signals set. `:e===3?`Signal already set. `:e===4?`Assert Failed. `:e===5?`Not enough memory. `:e===6?`Input signal array access exceeds the size. `:`Unknown error. `,console.error(`ERROR: `,e,m),Error(t+m)},printErrorMessage:function(){m+=d()+`
2
- `},writeBufferMessage:function(){let e=d();e===`
3
- `?(console.log(h),h=``):(h!==``&&(h+=` `),h+=e)},showSharedRWMemory:function(){let t=r.exports.getFieldNumLen32(),n=new Uint32Array(t);for(let e=0;e<t;e++)n[t-1-e]=r.exports.readSharedRWMemory(e);if(o>=2&&(s>=1||c>=7)){h!==``&&(h+=` `);let t=e.u.fromArray(n,4294967296).toString();h+=t}else console.log(e.u.fromArray(n,4294967296))},error:function(e,t,r,a,o,s){let c;throw c=e===7?f(t)+` `+i.getFr(a).toString()+` != `+i.getFr(o).toString()+` `+f(s):e===9?f(t)+` `+i.getFr(a).toString()+` `+f(o):e===5&&n.sym?f(t)+` `+n.sym.labelIdx2Name[o]:f(t)+` `+r+` `+a+` `+o+` `+s,console.log(`ERROR: `,e,c),Error(c)},log:function(e){console.log(i.getFr(e).toString())},logGetSignal:function(e,t){n.logGetSignal&&n.logGetSignal(e,i.getFr(t))},logSetSignal:function(e,t){n.logSetSignal&&n.logSetSignal(e,i.getFr(t))},logStartComponent:function(e){n.logStartComponent&&n.logStartComponent(e)},logFinishComponent:function(e){n.logFinishComponent&&n.logFinishComponent(e)}}})}typeof r.exports.getVersion==`function`&&(o=r.exports.getVersion()),typeof r.exports.getMinorVersion==`function`&&(s=r.exports.getMinorVersion()),typeof r.exports.getPatchVersion==`function`&&(c=r.exports.getPatchVersion());let u=n&&(n.sanityCheck||n.logGetSignal||n.logSetSignal||n.logStartComponent||n.logFinishComponent);if(o===2)i=new it(r,u);else if(o===1){if(l)throw Error(`Loading code from WebAssembly instance is not supported for circom version 1`);i=new rt(a,r,u)}else throw Error(`Unsupported circom version: ${o}`);return i;function d(){let e=``,t=r.exports.getMessageChar();for(;t!==0;)e+=String.fromCharCode(t),t=r.exports.getMessageChar();return e}function f(e){let t=new Uint8Array(a.buffer),n=[];for(let r=0;t[e+r]>0;r++)n.push(t[e+r]);return String.fromCharCode.apply(null,n)}}var rt=class{constructor(t,n,r){this.memory=t,this.i32=new Uint32Array(t.buffer),this.instance=n,this.n32=(this.instance.exports.getFrLen()>>2)-2;let i=this.instance.exports.getPRawPrime(),a=Array(this.n32);for(let e=0;e<this.n32;e++)a[this.n32-1-e]=this.i32[(i>>2)+e];this.prime=e.u.fromArray(a,4294967296),this.Fr=new e.d(this.prime),this.mask32=e.u.fromString(`FFFFFFFF`,16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(e.u.shiftLeft(1,this.n64*64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=r}circom_version(){return 1}async _doCalculateWitness(e,t){this.instance.exports.init(this.sanityCheck||t?1:0);let n=this.allocInt(),r=this.allocFr();Object.keys(e).forEach(t=>{let i=et(t),a=parseInt(i.slice(0,8),16),o=parseInt(i.slice(8,16),16);try{this.instance.exports.getSignalOffset32(n,0,a,o)}catch{throw Error(`Signal ${t} is not an input of the circuit.`)}let s=this.getInt(n),c=Qe(e[t]);for(let e=0;e<c.length;e++)this.setFr(r,c[e]),this.instance.exports.setSignal(0,0,s+e,r)})}async calculateWitness(e,t){let n=this,r=n.i32[0],i=[];await n._doCalculateWitness(e,t);for(let e=0;e<n.NVars;e++){let t=n.instance.exports.getPWitness(e);i.push(n.getFr(t))}return n.i32[0]=r,i}async calculateBinWitness(e,t){let n=this,r=n.i32[0];await n._doCalculateWitness(e,t);let i=n.instance.exports.getWitnessBuffer();n.i32[0]=r;let a=n.memory.buffer.slice(i,i+n.NVars*n.n64*8);return new Uint8Array(a)}allocInt(){let e=this.i32[0];return this.i32[0]=e+8,e}allocFr(){let e=this.i32[0];return this.i32[0]=e+this.n32*4+8,e}getInt(e){return this.i32[e>>2]}setInt(e,t){this.i32[e>>2]=t}getFr(t){let n=this,r=t>>2;if(n.i32[r+1]&2147483648){let t=Array(n.n32);for(let e=0;e<n.n32;e++)t[n.n32-1-e]=n.i32[r+2+e];let a=n.Fr.e(e.u.fromArray(t,4294967296));return n.i32[r+1]&1073741824?i(a):a}else if(n.i32[r]&2147483648)return n.Fr.e(n.i32[r]-4294967296);else return n.Fr.e(n.i32[r]);function i(e){return n.Fr.mul(n.RInv,e)}}setFr(t,n){let r=this;n=r.Fr.e(n);let i=r.Fr.neg(r.Fr.e(`80000000`,16)),a=r.Fr.e(`7FFFFFFF`,16);if(r.Fr.geq(n,i)&&r.Fr.leq(n,a)){let a;r.Fr.geq(n,r.Fr.zero)?a=e.u.toNumber(n):(a=e.u.toNumber(r.Fr.sub(n,i)),a-=2147483648,a=4294967296+a),r.i32[t>>2]=a,r.i32[(t>>2)+1]=0;return}r.i32[t>>2]=0,r.i32[(t>>2)+1]=2147483648;let o=e.u.toArray(n,4294967296);for(let e=0;e<r.n32;e++){let n=o.length-1-e;n>=0?r.i32[(t>>2)+2+e]=o[n]:r.i32[(t>>2)+2+e]=0}}},it=class{constructor(t,n){this.instance=t,this.version=this.instance.exports.getVersion(),this.n32=this.instance.exports.getFieldNumLen32(),this.instance.exports.getRawPrime();let r=new Uint32Array(this.n32);for(let e=0;e<this.n32;e++)r[this.n32-1-e]=this.instance.exports.readSharedRWMemory(e);this.prime=e.u.fromArray(r,4294967296),this.witnessSize=this.instance.exports.getWitnessSize(),this.sanityCheck=n}circom_version(){return this.instance.exports.getVersion()}async _doCalculateWitness(e,t){this.instance.exports.init(this.sanityCheck||t?1:0);let n=Object.keys(e),r=0;if(n.forEach(t=>{let n=et(t),i=parseInt(n.slice(0,8),16),a=parseInt(n.slice(8,16),16),o=Qe(e[t]);if(typeof this.instance.exports.getInputSignalSize==`function`){let e=this.instance.exports.getInputSignalSize(i,a);if(e<0)throw Error(`Signal ${t} not found\n`);if(o.length<e)throw Error(`Not enough values for input signal ${t}\n`);if(o.length>e)throw Error(`Too many values for input signal ${t}\n`)}for(let e=0;e<o.length;e++){let t=tt($e(o[e],this.prime),this.n32);for(let e=0;e<this.n32;e++)this.instance.exports.writeSharedRWMemory(e,t[this.n32-1-e]);try{this.instance.exports.setInputSignal(i,a,e),r++}catch(e){throw Error(e)}}}),r<this.instance.exports.getInputSize())throw Error(`Not all inputs have been set. Only ${r} out of ${this.instance.exports.getInputSize()}`)}async calculateWitness(t,n){let r=[];await this._doCalculateWitness(t,n);for(let t=0;t<this.witnessSize;t++){this.instance.exports.getWitness(t);let n=new Uint32Array(this.n32);for(let e=0;e<this.n32;e++)n[this.n32-1-e]=this.instance.exports.readSharedRWMemory(e);r.push(e.u.fromArray(n,4294967296))}return r}async calculateWTNSBin(e,t){let n=new Uint32Array(this.witnessSize*this.n32+this.n32+11),r=new Uint8Array(n.buffer);await this._doCalculateWitness(e,t),r[0]=119,r[1]=116,r[2]=110,r[3]=115,n[1]=2,n[2]=2,n[3]=1;let i=this.n32*4,a=(8+i).toString(16);n[4]=parseInt(a.slice(0,8),16),n[5]=parseInt(a.slice(8,16),16),n[6]=i,this.instance.exports.getRawPrime();let o=7;for(let e=0;e<this.n32;e++)n[o+e]=this.instance.exports.readSharedRWMemory(e);o+=this.n32,n[o]=this.witnessSize,o++,n[o]=2,o++;let s=(i*this.witnessSize).toString(16);n[o]=parseInt(s.slice(0,8),16),n[o+1]=parseInt(s.slice(8,16),16),o+=2;for(let e=0;e<this.witnessSize;e++){this.instance.exports.getWitness(e);for(let e=0;e<this.n32;e++)n[o+e]=this.instance.exports.readSharedRWMemory(e);o+=this.n32}return r}},{unstringifyBigInts:at}=e.h;async function ot(e,t,n,r){let i=at(e),a=await O(t),o=await a.read(a.totalSize);await a.close();let s=await nt(o,r);if(s.circom_version()===1){let e=await s.calculateBinWitness(i),t=await A(n,`wtns`,2,2);await Ke(t,e,s.prime),await t.close()}else{let e=await D(n),t=await s.calculateWTNSBin(i);await e.write(t),await e.close()}}var{unstringifyBigInts:st}=e.h;async function ct(e,t,n,r,i,a){let o=st(e),s={type:`mem`};return await ot(o,t,s,i),await Ye(n,s,r,a)}var{unstringifyBigInts:lt}=e.h;async function ut(t,n,r,i){let a=lt(t),o=lt(r),s=lt(n),c=await ee(a.curve),l=c.G1.fromObject(a.IC[0]),u=new Uint8Array(c.G1.F.n8*2*s.length),d=new Uint8Array(c.Fr.n8*s.length);if(!ft(c,s))return i&&i.error(`Public inputs are not valid.`),!1;for(let t=0;t<s.length;t++){let n=c.G1.fromObject(a.IC[t+1]);u.set(n,t*c.G1.F.n8*2),e.u.toRprLE(d,c.Fr.n8*t,s[t],c.Fr.n8)}let f=await c.G1.multiExpAffine(u,d);f=c.G1.add(f,l);let p=c.G1.fromObject(o.pi_a),m=c.G2.fromObject(o.pi_b),h=c.G1.fromObject(o.pi_c);if(!dt(c,{pi_a:p,pi_b:m,pi_c:h}))return i&&i.error(`Proof commitments are not valid.`),!1;let g=c.G2.fromObject(a.vk_gamma_2),_=c.G2.fromObject(a.vk_delta_2),v=c.G1.fromObject(a.vk_alpha_1),y=c.G2.fromObject(a.vk_beta_2);return await c.pairingEq(c.G1.neg(p),m,f,g,h,_,v,y)?(i&&i.info(`OK!`),!0):(i&&i.error(`Invalid proof`),!1)}function dt(e,t){let n=e.G1,r=e.G2;return n.isValid(t.pi_a)&&r.isValid(t.pi_b)&&n.isValid(t.pi_c)}function ft(t,n){for(let r=0;r<n.length;r++)if(!e.u.lt(n[r],t.r))return!1;return!0}var{unstringifyBigInts:pt}=e.h;function $(e){let t=e.toString(16);for(;t.length<64;)t=`0`+t;return t=`"0x${t}"`,t}async function mt(e,t){let n=pt(e),r=pt(t),i=``;for(let e=0;e<r.length;e++)i!=``&&(i+=`,`),i+=$(r[e]);let a;return a=`[${$(n.pi_a[0])}, ${$(n.pi_a[1])}],[[${$(n.pi_b[0][1])}, ${$(n.pi_b[0][0])}],[${$(n.pi_b[1][1])}, ${$(n.pi_b[1][0])}]],[${$(n.pi_c[0])}, ${$(n.pi_c[1])}],[${i}]`,a}var ht=Object.freeze({__proto__:null,fullProve:ct,prove:Ye,verify:ut,exportSolidityCallData:mt});e.u.e(`73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001`,16),e.u.e(`21888242871839275222246405745257275088548364400416034343698204186575808495617`);var{unstringifyBigInts:gt}=e.h,{stringifyBigInts:_t}=e.h,{unstringifyBigInts:vt,stringifyBigInts:yt}=e.h,bt={exports:{}};(function(e){(function(){var t=`input is invalid type`,n=`finalize already called`,r=typeof window==`object`,i=r?window:{};i.JS_SHA3_NO_WINDOW&&(r=!1);var a=!r&&typeof self==`object`;!i.JS_SHA3_NO_NODE_JS&&typeof process==`object`&&process.versions&&process.versions.node?i=V:a&&(i=self);var o=!i.JS_SHA3_NO_COMMON_JS&&e.exports,s=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<`u`,c=`0123456789abcdef`.split(``),l=[31,7936,2031616,520093696],u=[4,1024,262144,67108864],d=[1,256,65536,16777216],f=[6,1536,393216,100663296],p=[0,8,16,24],m=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],h=[224,256,384,512],g=[128,256],_=[`hex`,`buffer`,`arrayBuffer`,`array`,`digest`],v={128:168,256:136};(i.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return Object.prototype.toString.call(e)===`[object Array]`}),s&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return typeof e==`object`&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var y=function(e,t,n){return function(r){return new P(e,t,e).update(r)[n]()}},b=function(e,t,n){return function(r,i){return new P(e,t,i).update(r)[n]()}},x=function(e,t,n){return function(t,r,i,a){return E[`cshake`+e].update(t,r,i,a)[n]()}},S=function(e,t,n){return function(t,r,i,a){return E[`kmac`+e].update(t,r,i,a)[n]()}},C=function(e,t,n,r){for(var i=0;i<_.length;++i){var a=_[i];e[a]=t(n,r,a)}return e},w=function(e,t){var n=y(e,t,`hex`);return n.create=function(){return new P(e,t,e)},n.update=function(e){return n.create().update(e)},C(n,y,e,t)},T=[{name:`keccak`,padding:d,bits:h,createMethod:w},{name:`sha3`,padding:f,bits:h,createMethod:w},{name:`shake`,padding:l,bits:g,createMethod:function(e,t){var n=b(e,t,`hex`);return n.create=function(n){return new P(e,t,n)},n.update=function(e,t){return n.create(t).update(e)},C(n,b,e,t)}},{name:`cshake`,padding:u,bits:g,createMethod:function(e,t){var n=v[e],r=x(e,t,`hex`);return r.create=function(r,i,a){return!i&&!a?E[`shake`+e].create(r):new P(e,t,r).bytepad([i,a],n)},r.update=function(e,t,n,i){return r.create(t,n,i).update(e)},C(r,x,e,t)}},{name:`kmac`,padding:u,bits:g,createMethod:function(e,t){var n=v[e],r=S(e,t,`hex`);return r.create=function(r,i,a){return new F(e,t,i).bytepad([`KMAC`,a],n).bytepad([r],n)},r.update=function(e,t,n,i){return r.create(e,n,i).update(t)},C(r,S,e,t)}}],E={},D=[],O=0;O<T.length;++O)for(var k=T[O],A=k.bits,j=0;j<A.length;++j){var M=k.name+`_`+A[j];if(D.push(M),E[M]=k.createMethod(A[j],k.padding),k.name!==`sha3`){var N=k.name+A[j];D.push(N),E[N]=E[M]}}function P(e,t,n){this.blocks=[],this.s=[],this.padding=t,this.outputBits=n,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=n>>5,this.extraBytes=(n&31)>>3;for(var r=0;r<50;++r)this.s[r]=0}P.prototype.update=function(e){if(this.finalized)throw Error(n);var r,i=typeof e;if(i!==`string`){if(i===`object`){if(e===null)throw Error(t);if(s&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!s||!ArrayBuffer.isView(e)))throw Error(t)}else throw Error(t);r=!0}for(var a=this.blocks,o=this.byteCount,c=e.length,l=this.blockCount,u=0,d=this.s,f,m;u<c;){if(this.reset)for(this.reset=!1,a[0]=this.block,f=1;f<l+1;++f)a[f]=0;if(r)for(f=this.start;u<c&&f<o;++u)a[f>>2]|=e[u]<<p[f++&3];else for(f=this.start;u<c&&f<o;++u)m=e.charCodeAt(u),m<128?a[f>>2]|=m<<p[f++&3]:m<2048?(a[f>>2]|=(192|m>>6)<<p[f++&3],a[f>>2]|=(128|m&63)<<p[f++&3]):m<55296||m>=57344?(a[f>>2]|=(224|m>>12)<<p[f++&3],a[f>>2]|=(128|m>>6&63)<<p[f++&3],a[f>>2]|=(128|m&63)<<p[f++&3]):(m=65536+((m&1023)<<10|e.charCodeAt(++u)&1023),a[f>>2]|=(240|m>>18)<<p[f++&3],a[f>>2]|=(128|m>>12&63)<<p[f++&3],a[f>>2]|=(128|m>>6&63)<<p[f++&3],a[f>>2]|=(128|m&63)<<p[f++&3]);if(this.lastByteIndex=f,f>=o){for(this.start=f-o,this.block=a[l],f=0;f<l;++f)d[f]^=a[f];I(d),this.reset=!0}else this.start=f}return this},P.prototype.encode=function(e,t){var n=e&255,r=1,i=[n];for(e>>=8,n=e&255;n>0;)i.unshift(n),e>>=8,n=e&255,++r;return t?i.push(r):i.unshift(r),this.update(i),i.length},P.prototype.encodeString=function(e){var n,r=typeof e;if(r!==`string`){if(r===`object`){if(e===null)throw Error(t);if(s&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!s||!ArrayBuffer.isView(e)))throw Error(t)}else throw Error(t);n=!0}var i=0,a=e.length;if(n)i=a;else for(var o=0;o<e.length;++o){var c=e.charCodeAt(o);c<128?i+=1:c<2048?i+=2:c<55296||c>=57344?i+=3:(c=65536+((c&1023)<<10|e.charCodeAt(++o)&1023),i+=4)}return i+=this.encode(i*8),this.update(e),i},P.prototype.bytepad=function(e,t){for(var n=this.encode(t),r=0;r<e.length;++r)n+=this.encodeString(e[r]);var i=t-n%t,a=[];return a.length=i,this.update(a),this},P.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex,n=this.blockCount,r=this.s;if(e[t>>2]|=this.padding[t&3],this.lastByteIndex===this.byteCount)for(e[0]=e[n],t=1;t<n+1;++t)e[t]=0;for(e[n-1]|=2147483648,t=0;t<n;++t)r[t]^=e[t];I(r)}},P.prototype.toString=P.prototype.hex=function(){this.finalize();for(var e=this.blockCount,t=this.s,n=this.outputBlocks,r=this.extraBytes,i=0,a=0,o=``,s;a<n;){for(i=0;i<e&&a<n;++i,++a)s=t[i],o+=c[s>>4&15]+c[s&15]+c[s>>12&15]+c[s>>8&15]+c[s>>20&15]+c[s>>16&15]+c[s>>28&15]+c[s>>24&15];a%e===0&&(I(t),i=0)}return r&&(s=t[i],o+=c[s>>4&15]+c[s&15],r>1&&(o+=c[s>>12&15]+c[s>>8&15]),r>2&&(o+=c[s>>20&15]+c[s>>16&15])),o},P.prototype.arrayBuffer=function(){this.finalize();for(var e=this.blockCount,t=this.s,n=this.outputBlocks,r=this.extraBytes,i=0,a=0,o=this.outputBits>>3,s=r?new ArrayBuffer(n+1<<2):new ArrayBuffer(o),c=new Uint32Array(s);a<n;){for(i=0;i<e&&a<n;++i,++a)c[a]=t[i];a%e===0&&I(t)}return r&&(c[i]=t[i],s=s.slice(0,o)),s},P.prototype.buffer=P.prototype.arrayBuffer,P.prototype.digest=P.prototype.array=function(){this.finalize();for(var e=this.blockCount,t=this.s,n=this.outputBlocks,r=this.extraBytes,i=0,a=0,o=[],s,c;a<n;){for(i=0;i<e&&a<n;++i,++a)s=a<<2,c=t[i],o[s]=c&255,o[s+1]=c>>8&255,o[s+2]=c>>16&255,o[s+3]=c>>24&255;a%e===0&&I(t)}return r&&(s=a<<2,c=t[i],o[s]=c&255,r>1&&(o[s+1]=c>>8&255),r>2&&(o[s+2]=c>>16&255)),o};function F(e,t,n){P.call(this,e,t,n)}F.prototype=new P,F.prototype.finalize=function(){return this.encode(this.outputBits,!0),P.prototype.finalize.call(this)};var I=function(e){var t,n,r,i,a,o,s,c,l,u,d,f,p,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,ee,V,H,U,te,ne,re,ie,ae,oe,se,W,G,ce,le,ue,de,fe,pe,me,he,ge,K,q;for(r=0;r<48;r+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],a=e[1]^e[11]^e[21]^e[31]^e[41],o=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],u=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],f=e[8]^e[18]^e[28]^e[38]^e[48],p=e[9]^e[19]^e[29]^e[39]^e[49],t=f^(o<<1|s>>>31),n=p^(s<<1|o>>>31),e[0]^=t,e[1]^=n,e[10]^=t,e[11]^=n,e[20]^=t,e[21]^=n,e[30]^=t,e[31]^=n,e[40]^=t,e[41]^=n,t=i^(c<<1|l>>>31),n=a^(l<<1|c>>>31),e[2]^=t,e[3]^=n,e[12]^=t,e[13]^=n,e[22]^=t,e[23]^=n,e[32]^=t,e[33]^=n,e[42]^=t,e[43]^=n,t=o^(u<<1|d>>>31),n=s^(d<<1|u>>>31),e[4]^=t,e[5]^=n,e[14]^=t,e[15]^=n,e[24]^=t,e[25]^=n,e[34]^=t,e[35]^=n,e[44]^=t,e[45]^=n,t=c^(f<<1|p>>>31),n=l^(p<<1|f>>>31),e[6]^=t,e[7]^=n,e[16]^=t,e[17]^=n,e[26]^=t,e[27]^=n,e[36]^=t,e[37]^=n,e[46]^=t,e[47]^=n,t=u^(i<<1|a>>>31),n=d^(a<<1|i>>>31),e[8]^=t,e[9]^=n,e[18]^=t,e[19]^=n,e[28]^=t,e[29]^=n,e[38]^=t,e[39]^=n,e[48]^=t,e[49]^=n,h=e[0],g=e[1],re=e[11]<<4|e[10]>>>28,ie=e[10]<<4|e[11]>>>28,k=e[20]<<3|e[21]>>>29,A=e[21]<<3|e[20]>>>29,he=e[31]<<9|e[30]>>>23,ge=e[30]<<9|e[31]>>>23,H=e[40]<<18|e[41]>>>14,U=e[41]<<18|e[40]>>>14,F=e[2]<<1|e[3]>>>31,I=e[3]<<1|e[2]>>>31,_=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,ae=e[22]<<10|e[23]>>>22,oe=e[23]<<10|e[22]>>>22,j=e[33]<<13|e[32]>>>19,M=e[32]<<13|e[33]>>>19,K=e[42]<<2|e[43]>>>30,q=e[43]<<2|e[42]>>>30,le=e[5]<<30|e[4]>>>2,ue=e[4]<<30|e[5]>>>2,L=e[14]<<6|e[15]>>>26,R=e[15]<<6|e[14]>>>26,y=e[25]<<11|e[24]>>>21,b=e[24]<<11|e[25]>>>21,se=e[34]<<15|e[35]>>>17,W=e[35]<<15|e[34]>>>17,N=e[45]<<29|e[44]>>>3,P=e[44]<<29|e[45]>>>3,T=e[6]<<28|e[7]>>>4,E=e[7]<<28|e[6]>>>4,de=e[17]<<23|e[16]>>>9,fe=e[16]<<23|e[17]>>>9,z=e[26]<<25|e[27]>>>7,B=e[27]<<25|e[26]>>>7,x=e[36]<<21|e[37]>>>11,S=e[37]<<21|e[36]>>>11,G=e[47]<<24|e[46]>>>8,ce=e[46]<<24|e[47]>>>8,te=e[8]<<27|e[9]>>>5,ne=e[9]<<27|e[8]>>>5,D=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,pe=e[29]<<7|e[28]>>>25,me=e[28]<<7|e[29]>>>25,ee=e[38]<<8|e[39]>>>24,V=e[39]<<8|e[38]>>>24,C=e[48]<<14|e[49]>>>18,w=e[49]<<14|e[48]>>>18,e[0]=h^~_&y,e[1]=g^~v&b,e[10]=T^~D&k,e[11]=E^~O&A,e[20]=F^~L&z,e[21]=I^~R&B,e[30]=te^~re&ae,e[31]=ne^~ie&oe,e[40]=le^~de&pe,e[41]=ue^~fe&me,e[2]=_^~y&x,e[3]=v^~b&S,e[12]=D^~k&j,e[13]=O^~A&M,e[22]=L^~z&ee,e[23]=R^~B&V,e[32]=re^~ae&se,e[33]=ie^~oe&W,e[42]=de^~pe&he,e[43]=fe^~me&ge,e[4]=y^~x&C,e[5]=b^~S&w,e[14]=k^~j&N,e[15]=A^~M&P,e[24]=z^~ee&H,e[25]=B^~V&U,e[34]=ae^~se&G,e[35]=oe^~W&ce,e[44]=pe^~he&K,e[45]=me^~ge&q,e[6]=x^~C&h,e[7]=S^~w&g,e[16]=j^~N&T,e[17]=M^~P&E,e[26]=ee^~H&F,e[27]=V^~U&I,e[36]=se^~G&te,e[37]=W^~ce&ne,e[46]=he^~K&le,e[47]=ge^~q&ue,e[8]=C^~h&_,e[9]=w^~g&v,e[18]=N^~T&D,e[19]=P^~E&O,e[28]=H^~F&L,e[29]=U^~I&R,e[38]=G^~te&re,e[39]=ce^~ne&ie,e[48]=K^~le&de,e[49]=q^~ue&fe,e[0]^=m[r],e[1]^=m[r+1]};if(o)e.exports=E;else for(O=0;O<D.length;++O)i[D[O]]=E[D[O]]})()})(bt);var{keccak256:xt}=bt.exports,{stringifyBigInts:St}=e.h,{unstringifyBigInts:Ct}=e.h,{unstringifyBigInts:wt}=e.h,{unstringifyBigInts:Tt}=e.h,{stringifyBigInts:Et}=e.h,{unstringifyBigInts:Dt}=e.h,{unstringifyBigInts:Ot}=e.h,{unstringifyBigInts:kt}=e.h,At=new class{axiosInstance;constructor(){this.axiosInstance=i.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},jt={setHttpClient:e=>{At=e},get:(e,t)=>At.get(e,t),post:(e,t,n)=>At.post(e,t,n),put:(e,t,n)=>At.put(e,t,n),patch:(e,t,n)=>At.patch(e,t,n),delete:(e,t)=>At.delete(e,t)},Mt=new e.t,Nt=async e=>new Uint8Array(await jt.get(e,{responseType:`arraybuffer`})),Pt=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:i,chainId:a}=t.payload.data,{hostLocation:{origin:o},constants:{isDevelopment:s,chains:{chainIds:c}}}=t.metadata,l=r,u=i,d,f,p=l.startsWith(`https://`);if(e.i&&!p){e.o?(l=`libs/hardhat/test/circuits/${r}`,u=`libs/hardhat/test/circuits/${i}`):!e.o&&s&&(a===e.n.solanaLocalnet?(l=`tests/circuits/${r}`,u=`tests/circuits/${i}`):(l=`test/circuits/${r}`,u=`test/circuits/${i}`));let t=require(`path`);l=t.resolve(l),u=t.resolve(u)}e.i&&p?(d=await Nt(l),f=await Nt(u)):(a===c.localhost||a===e.n.solanaLocalnet||a===c.tronLocalnet)&&!e.i&&(l=`${o}/${r}`,u=`${o}/${i}`);let{proof:m,publicSignals:h}=await ht.fullProve(n,d??l,f??u,void 0,void 0,e.i?{singleThread:!0}:void 0),g=await ht.exportSolidityCallData(m,h),_=JSON.parse(`[${g}]`);Mt.postMessageToMainThread({zkCallData:_,proof:m,publicSignals:h})}catch(e){console.error(e),Mt.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,t.parentPort.on(`message`,async e=>{await Pt(e)});
1
+ const e=require(`./workerProxy-36ykh-KW.js`);let t=require(`worker_threads`),n=require(`buffer`),r=require(`process`);r=e.l(r);let i=require(`snarkjs`);i=e.l(i);let a=require(`axios`);a=e.l(a);var o=new class{axiosInstance;constructor(){this.axiosInstance=a.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},s={setHttpClient:e=>{o=e},get:(e,t)=>o.get(e,t),post:(e,t,n)=>o.post(e,t,n),put:(e,t,n)=>o.put(e,t,n),patch:(e,t,n)=>o.patch(e,t,n),delete:(e,t)=>o.delete(e,t)},c=new e.t,l=async e=>new Uint8Array(await s.get(e,{responseType:`arraybuffer`})),u=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:a,chainId:o}=t.payload.data,{hostLocation:{origin:s},constants:{isDevelopment:u,chains:{chainIds:d}}}=t.metadata,f=r,p=a,m,h,g=f.startsWith(`https://`);if(e.i&&!g){e.o?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.o&&u&&(o===e.n.solanaLocalnet?(f=`tests/circuits/${r}`,p=`tests/circuits/${a}`):(f=`test/circuits/${r}`,p=`test/circuits/${a}`));let t=require(`path`);f=t.resolve(f),p=t.resolve(p)}e.i&&g?(m=await l(f),h=await l(p)):(o===d.localhost||o===e.n.solanaLocalnet||o===d.tronLocalnet)&&!e.i&&(f=`${s}/${r}`,p=`${s}/${a}`);let{proof:_,publicSignals:v}=await i.groth16.fullProve(n,m??f,h??p,void 0,void 0,e.i?{singleThread:!0}:void 0),y=await i.groth16.exportSolidityCallData(_,v),b=JSON.parse(`[${y}]`);c.postMessageToMainThread({zkCallData:b,proof:_,publicSignals:v})}catch(e){console.error(e),c.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,t.parentPort.on(`message`,async e=>{await u(e)});
@@ -1 +1 @@
1
- const e=require(`./workerProxy-CEspdgQn.js`),t=require(`./logError-DdWQYd9m.js`);let n=require(`worker_threads`),r=require(`buffer`),i=require(`process`);i=e.g(i);let a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=8,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[8]`],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]=r,g=BigInt(i),_=BigInt(d),v=a.ethers.toBeHex(BigInt(f)),y=BigInt(p),b=BigInt(m),x=BigInt(h).toString(),S=Array.from(a.ethers.getBytes(s)),C=Array.from(a.ethers.getBytes(u)),w=new o.PublicKey(Uint8Array.from([...S.slice(16),...C.slice(16)])).toBase58();return{amount:g,erc20TokenAddress:t.d(BigInt(s),BigInt(u)),mintAddress:w,randomization:_,stealthAddress:v,H0:y,H1:b,timeStamp:x}},d=e=>{let t=a.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],randomization:BigInt(t[2][0]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][1])),H0:BigInt(t[2][2]),H1:BigInt(t[2][3]),timeStamp:BigInt(t[3]).toString(),tokenId:Number(t[4])}},f=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,tokenId:0,randomization:a,shieldedPrivateKey:n,stealthAddress:o}}let{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,shieldedPrivateKey:n,stealthAddress:l}},p=(n,r,i)=>{let{randomization:a,H0:o,H1:s}=e.r(i)?u(n):d(n),c=t.a.checkSignature(a,o,s,r);if(!c)throw Error(`UTXO doesn't belong to user`);return 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.s.serialize(),stealthAddressCache: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):f(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{p(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.l();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=i.default,globalThis.Buffer=r.Buffer,n.parentPort.on(`message`,async e=>{await b(e)});
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);let a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=8,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[8]`],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]=r,g=BigInt(i),_=BigInt(d),v=a.ethers.toBeHex(BigInt(f)),y=BigInt(p),b=BigInt(m),x=BigInt(h).toString(),S=Array.from(a.ethers.getBytes(s)),C=Array.from(a.ethers.getBytes(u)),w=new o.PublicKey(Uint8Array.from([...S.slice(16),...C.slice(16)])).toBase58();return{amount:g,erc20TokenAddress:t.d(BigInt(s),BigInt(u)),mintAddress:w,randomization:_,stealthAddress:v,H0:y,H1:b,timeStamp:x}},d=e=>{let t=a.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],randomization:BigInt(t[2][0]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][1])),H0:BigInt(t[2][2]),H1:BigInt(t[2][3]),timeStamp:BigInt(t[3]).toString(),tokenId:Number(t[4])}},f=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,tokenId:0,randomization:a,shieldedPrivateKey:n,stealthAddress:o}}let{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,shieldedPrivateKey:n,stealthAddress:l}},p=(n,r,i)=>{let{randomization:a,H0:o,H1:s}=e.r(i)?u(n):d(n),c=t.a.checkSignature(a,o,s,r);if(!c)throw Error(`UTXO doesn't belong to user`);return 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.s.serialize(),stealthAddressCache: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):f(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{p(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.l();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=i.default,globalThis.Buffer=r.Buffer,n.parentPort.on(`message`,async e=>{await b(e)});