@kapa123456789/sdk 0.0.37 → 0.0.40
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.
- package/common/src/webworker/logError-eAC3f213.js +1 -0
- package/common/src/webworker/package.json +1 -1
- package/common/src/webworker/snarkjsWorkerNode.cjs +3 -3
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/workerFactory.cjs +1 -1
- package/common/src/webworker/workerFactory.mjs +7 -2
- package/common/src/webworker/workerProxy-zOnSaekD.js +1 -0
- package/common/src/webworker/workerThreadsPatch-ndTPmqlp.js +1 -0
- package/common/src/webworker/workerThreadsPatch.cjs +1 -0
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/package.json +1 -1
- package/common/src/webworker/logError-FeCdVeea.js +0 -1
- package/common/src/webworker/workerProxy-5NFtWSKK.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`worker_threads`);c=s(c);var l=()=>{if(!(c.workerData!==void 0&&c.workerData!==null))try{Object.defineProperty(c,`workerData`,{value:{mod:__filename,name:``,type:`commonjs`},writable:!0,configurable:!0})}catch{}};l(),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./workerThreadsPatch-ndTPmqlp.js`);exports.applyWorkerThreadsPatch=e.t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./
|
|
1
|
+
const e=require(`./workerThreadsPatch-ndTPmqlp.js`),t=require(`./logError-eAC3f213.js`),n=require(`./workerProxy-zOnSaekD.js`);let r=require(`worker_threads`),i=require(`buffer`),a=require(`process`);a=e.n(a),require(`ethers`);var o=(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}},s=(e,t)=>({accessTokenSiblings:t.getSiblingHashesForVerification(BigInt(e)).map(e=>e.toString()),accessTokenSiblingSides:t.getSiblingSides(BigInt(e)).map(e=>e.toString())}),c=(e,t)=>s(e,t),l=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}({}),u=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},d=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 u}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}},f=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),p=e=>{let n=f(e.tree),r=e.reverseTree?f(e.reverseTree):void 0;return d.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.u,t.c,0n)},m=new n.t,h=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=p(r),{inCommitmentSiblings:a,inCommitmentSiblingSides:s}=o(n.map(e=>e.map(e=>new t.i(e))),i);m.postMessageToMainThread({inCommitmentSiblings:a,inCommitmentSiblingSides:s})},g=e=>{let{accessKey:t,merkleTreeAccessTokenSerialized:n}=e.data,{accessTokenSiblings:r,accessTokenSiblingSides:i}=c(t,p(n));m.postMessageToMainThread({accessTokenSiblings:r,accessTokenSiblingSides:i})},_=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()));m.postMessageToMainThread(r)},v=async e=>{try{await t.l();let{type:n}=e.payload;switch(n){case l.CALC_COMMITMENTS_SIBLING_AND_SIDES:h(e.payload);return;case l.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES:g(e.payload);return;case l.BUILD_IN_NULLIFIERS:_(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(e),m.postErrorToMainThread(e)}};e.t(),globalThis.process=a.default,globalThis.Buffer=i.Buffer,r.parentPort.on(`message`,async e=>{await v(e)});
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`./workerProxy-5NFtWSKK.js`);let t=require(`buffer`),n=require(`process`);n=e.u(n);let r=require(`ethers`),i=require(`libsodium-wrappers`);i=e.u(i);let a=require(`@solana/web3.js`),o=require(`bs58`);o=e.u(o);let s=require(`tweetnacl`);s=e.u(s);var c=new class{babyjub=void 0;async init(){if(this.babyjub)return;let{buildBabyjub:e}=await import(`circomlibjs-hinkal-fork`);this.babyjub=await e()}getJub(){return this.babyjub}},l=()=>c.getJub();function u(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var d=new class{poseidon=void 0;async init(){if(this.poseidon)return;let{buildPoseidon:e}=await import(`circomlibjs-hinkal-fork`);this.poseidon=await e()}getPoseidon(){return this.poseidon}};function f(...e){let t=d.getPoseidon();return u(t.F.toString(t(e)))}var p=(...e)=>{let t=d.getPoseidon();return r.ethers.toBeHex(t.F.toString(t([...e])))},m=async()=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([i.default.ready,d.init(),c.init()])};`${`00`.repeat(20)}`;var h=21888242871839275222246405745257275088548364400416034343698204186575808495617n,g=h/2n,_=200n;`${`00`.repeat(32)}`;var v=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))})}},y=class extends v{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}}},b=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>g},x=e=>b(e)?1n:0n,S=new y,C=new y,w=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(),r.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),i=r.ethers.getBytes(this.signature),o=new a.PublicKey(t).toBytes();return s.default.sign.detached.verify(n,i,o)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.shieldedPrivateKey||=r.ethers.keccak256(this.signature),this.shieldedPrivateKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),p(this.getShieldedPrivateKey()));getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=p(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return r.ethers.keccak256(r.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new r.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),a.Keypair.fromSeed(r.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getAccessKey=()=>(this.requireKeyMaterial(),p(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=p(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return r.ethers.keccak256(r.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=r.ethers.getBytes(t),i=a.Keypair.fromSeed(n);return o.default.encode(i.secretKey)};getWalletSalt=e=>(this.requireKeyMaterial(),p(this.getShieldedPublicKey(),this.getShieldedPrivateKey(),e));getInHinkalAddress=e=>{this.requireKeyMaterial();let t=p(this.getShieldedPrivateKey(),e);return BigInt(t)};getBackendToken=()=>(this.requireKeyMaterial(),p(this.getAccessKey(),this.getShieldedPublicKey()));static getRandomizedStealthPair=S.attach((e,t)=>{let n=l(),r=e*(BigInt(t)%h)%h,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*x(e[0]));return{h0:i,h1:a}};static getStealthAddress=C.attach((e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPair(e,t);return p(2n*x(n[0])+x(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=i.default.crypto_box_seed_keypair(r.ethers.getBytes(e));return{privateKey:r.ethers.hexlify(t.privateKey),publicKey:r.ethers.hexlify(t.publicKey)}}},T=e=>BigInt(r.ethers.hexlify(r.ethers.randomBytes(e))),E=()=>Math.floor(Date.now()/1e3),D=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??E().toString(),this.tokenId=a??0,this.shieldedPrivateKey=o,this.randomization=s??t.findCorrectRandomization(T(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=p(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.shieldedPrivateKey)throw Error(`No Nullifiers if private key is not provided`);let e=p(this.shieldedPrivateKey,this.getCommitment());this.nullifier=p(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=w.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 w.getEncryptionKeyPair(this.shieldedPrivateKey).publicKey}static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t)%h,r,i,a=0n;do r=e*10n**a%h,i=r*n%h,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}},O=(e,t)=>{let{publicKey:n,privateKey:o}=w.getEncryptionKeyPair(t.getShieldedPrivateKey()),s=i.default.crypto_box_seal_open(e,r.ethers.getBytes(n),r.ethers.getBytes(o)),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 a.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}},k=(e,t)=>new D(O(e,t)),A=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return f}});
|