@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
|
+
const e=require(`./workerThreadsPatch-ndTPmqlp.js`),t=require(`./workerProxy-zOnSaekD.js`);let n=require(`buffer`),r=require(`process`);r=e.n(r);let i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.n(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.n(s);let c=require(`tweetnacl`);c=e.n(c);var l=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}},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(){if(this.poseidon)return;let{buildPoseidon:e}=await import(`circomlibjs-hinkal-fork`);this.poseidon=await e()}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=n.Buffer,globalThis.process=r.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(e){Object.entries(e).forEach(([e,n])=>{this.set(e,t.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(([e,n])=>[e,t.c(n)]))}attach(e){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...n)=>{let r=t.c(n),i=this.get(r);if(i!==void 0)return i;let a=e(...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=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),D=()=>Math.floor(Date.now()/1e3),O=class e{amount;erc20TokenAddress;mintAddress;timeStamp;tokenId;shieldedPrivateKey;randomization;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;constructor({amount:t,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=t,this.erc20TokenAddress=n,this.mintAddress=r,this.timeStamp=i??D().toString(),this.tokenId=a??0,this.shieldedPrivateKey=o,this.randomization=s??e.findCorrectRandomization(E(31),o),this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f}static createFrom(t,n){return new e({...t.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(e){let n=t.r(e)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}},k=(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}},A=(e,t)=>new O(k(e,t)),j=(...e)=>{t.a&&console.log(...e)};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 O}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return p}});
|