@hinkal/common 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/assets/snarkjsWorkerLauncher-SrStwJvX.js +1 -0
  2. package/assets/snarkjsWorkerLogic-DtIjisbE.js +132 -0
  3. package/assets/utxoWorkerLauncher-CIBeBAML.js +1 -0
  4. package/assets/utxoWorkerLogic-C8R4GSaf.js +199 -0
  5. package/assets/zkProofWorkerLauncher-DfwteloJ.js +1 -0
  6. package/assets/zkProofWorkerLogic-CY9y6rOV.js +199 -0
  7. package/common/src/constants/vite.constants.cjs +1 -1
  8. package/common/src/constants/vite.constants.mjs +23 -5
  9. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  10. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +50 -97
  11. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  12. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +90 -128
  13. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  14. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +56 -110
  15. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -0
  16. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.d.ts +3 -0
  17. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +117 -0
  18. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  19. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +2 -31
  20. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +45 -121
  21. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  22. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +41 -83
  23. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
  24. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +41 -42
  25. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  26. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +106 -125
  27. package/common/src/data-structures/IndexedDB/pay-activity-db.cjs +1 -1
  28. package/common/src/data-structures/IndexedDB/pay-activity-db.mjs +43 -1
  29. package/common/src/functions/index.cjs +1 -1
  30. package/common/src/functions/index.mjs +0 -1
  31. package/common/src/functions/pre-transaction/ensureAmountChanges.cjs +1 -1
  32. package/common/src/functions/pre-transaction/ensureAmountChanges.mjs +3 -10
  33. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  34. package/common/src/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -0
  35. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +13 -9
  36. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  37. package/common/src/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
  38. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +35 -35
  39. package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
  40. package/common/src/functions/snarkjs/constructTxEnclave.d.ts +2 -0
  41. package/common/src/functions/snarkjs/constructTxEnclave.mjs +40 -40
  42. package/common/src/functions/utils/enum.utils.cjs +1 -0
  43. package/common/src/functions/utils/enum.utils.mjs +12 -0
  44. package/common/src/functions/utils/index.cjs +1 -1
  45. package/common/src/functions/utils/index.mjs +0 -1
  46. package/common/src/types/index.cjs +1 -1
  47. package/common/src/types/index.d.ts +1 -0
  48. package/common/src/types/index.mjs +1 -0
  49. package/common/src/types/pay-activities.types.d.ts +18 -3
  50. package/common/src/types/solana-transact.types.cjs +1 -0
  51. package/common/src/types/solana-transact.types.d.ts +35 -0
  52. package/common/src/types/solana-transact.types.mjs +6 -0
  53. package/common/src/webworker/logError-Dex6ch32.js +2 -0
  54. package/common/src/webworker/package.json +5 -3
  55. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  56. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  57. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  58. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  59. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  60. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  61. package/common/src/webworker/viteWorkerURL.constant.cjs +1 -28
  62. package/common/src/webworker/viteWorkerURL.constant.mjs +13 -27
  63. package/common/src/webworker/workerProxy-BuJUMCQ4.js +1 -0
  64. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  65. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  66. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  67. package/package.json +5 -3
  68. package/common/src/webworker/logError-CxZzSALU.js +0 -2
  69. package/common/src/webworker/workerProxy-swwPYw6e.js +0 -1
@@ -12,14 +12,23 @@ export declare enum TransferVisibility {
12
12
  CONFIDENTIAL = "CONFIDENTIAL",
13
13
  PUBLIC = "PUBLIC"
14
14
  }
15
+ export interface PayActivityTokenAmount {
16
+ token: ERC20Token;
17
+ amount: string;
18
+ amountInDollar: string;
19
+ }
20
+ export interface PayActivityLeg {
21
+ recipientAddress: string;
22
+ token: ERC20Token;
23
+ amount: bigint;
24
+ tokenPriceDollar: number;
25
+ }
15
26
  export interface PayActivityAddRequest {
16
27
  activityType: PayActivityTypes;
17
28
  status: PayActivityStatus;
18
29
  to: string;
19
30
  from: string;
20
- amount: string;
21
- amountInDollar: string;
22
- token: ERC20Token;
31
+ tokens: PayActivityTokenAmount[];
23
32
  sentFrom: TransferVisibility;
24
33
  sentTo: TransferVisibility;
25
34
  txHash: string;
@@ -33,3 +42,9 @@ export interface PayActivity extends PayActivityAddRequest {
33
42
  export interface PayActivityClient extends PayActivityAddRequest {
34
43
  timestamp: string;
35
44
  }
45
+ export interface StoredPayActivity extends Omit<PayActivity, 'tokens'> {
46
+ tokens?: PayActivityTokenAmount[];
47
+ token?: ERC20Token;
48
+ amount?: string;
49
+ amountInDollar?: string;
50
+ }
@@ -0,0 +1 @@
1
+ var e=function(e){return e.Relayer=`relayer`,e.ProofOnly=`proofOnly`,e}({});exports.SolanaSubmitMode=e;
@@ -0,0 +1,35 @@
1
+ import { UserKeys } from '../data-structures/crypto-keys/keys';
2
+ import { Utxo } from '../data-structures/utxo/Utxo';
3
+ import { AdminDataType } from './admin.types';
4
+ import { CommitmentValidationDataType } from './circom-data.types';
5
+ import { PrepareSolanaTxParams } from './remote-tx-build.types';
6
+ import { SolanaArgs } from './solana.types';
7
+ export declare enum SolanaSubmitMode {
8
+ Relayer = "relayer",
9
+ ProofOnly = "proofOnly"
10
+ }
11
+ export interface SolanaTransactNotes {
12
+ inputNullifiers: string[];
13
+ outCommitments: string[];
14
+ encryptedOutputs: string[];
15
+ }
16
+ export interface SolanaTransactProof {
17
+ args: SolanaArgs;
18
+ commitmentValidationData?: CommitmentValidationDataType;
19
+ notes?: SolanaTransactNotes;
20
+ }
21
+ export interface SolanaRelayerSubmit {
22
+ mode: SolanaSubmitMode.Relayer;
23
+ adminData?: AdminDataType;
24
+ }
25
+ export interface SolanaProofOnlySubmit {
26
+ mode: SolanaSubmitMode.ProofOnly;
27
+ }
28
+ export type SolanaTransactSubmit = SolanaRelayerSubmit | SolanaProofOnlySubmit;
29
+ export interface HinkalSolanaTransactParams extends Omit<PrepareSolanaTxParams, 'inputCommitments'> {
30
+ submit: SolanaTransactSubmit;
31
+ inputUtxos?: Utxo[][];
32
+ userKeys?: UserKeys;
33
+ onTxSubmitLocally?: (notes: SolanaTransactNotes) => void;
34
+ }
35
+ export type SolanaTransactResult = string | SolanaTransactProof;
@@ -0,0 +1,6 @@
1
+ //#region libs/shared/common/src/types/solana-transact.types.ts
2
+ var e = /* @__PURE__ */ function(e) {
3
+ return e.Relayer = "relayer", e.ProofOnly = "proofOnly", e;
4
+ }({});
5
+ //#endregion
6
+ export { e as SolanaSubmitMode };
@@ -0,0 +1,2 @@
1
+ const e=require(`./workerProxy-BuJUMCQ4.js`);let t=require(`buffer`),n=require(`process`);n=e.u(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.u(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.u(s);let c=require(`tweetnacl`);c=e.u(c);let l=require(`tronweb`);var u=new class{babyjub=void 0;async init(){this.babyjub||=e.o?(0,r.buildBabyJubRN)():await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},d=()=>u.getJub(),f=new class{eddsa=void 0;async init(){this.eddsa||=e.o?await(0,r.buildEddsaRN)():await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},p=()=>f.getEddsa();function m(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var h=new class{poseidon=void 0;async init(){this.poseidon||=e.o?(0,r.buildPoseidonRN)():await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function g(...e){let t=h.getPoseidon();return m(t.F.toString(t(e)))}var _=(...e)=>{let t=h.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},v=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([a.default.ready,h.init(),u.init(),...e?[]:[f.init()]])};`${`00`.repeat(20)}`;var y=21888242871839275222246405745257275088548364400416034343698204186575808495617n,b=y/2n,x=2n**250n,S=200n,C=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}deleteInMemory(e){this.inMemoryCache.delete(e)}mergeWithSerialized(t){Object.entries(t).forEach(([t,n])=>{this.set(t,e.c(n))})}},w=class extends C{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.l(n)]))}attach(t){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...n)=>{let r=e.l(n),i=this.get(r);if(i!==void 0)return i;let a=t(...n);return this.set(r,a),a}}},T=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>b},E=e=>T(e)?1n:0n,D=new w,O=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===l.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(_(this.signature));this.nullifyingKey=i.ethers.toBeHex(e%x)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>i.ethers.keccak256(this.getShieldedPrivateKey());getShieldedPublicKey=()=>(this.requireKeyMaterial(),_(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=p(),t=d(),n=_(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=d(),n=p(),r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),a=t.F.e(e),o=n.signPoseidon(r,a);return{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=_(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=_(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${s.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=_(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=o.Keypair.fromSeed(n);return s.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new o.PublicKey(t).toBytes();return c.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPair=D.attach((e,t)=>{let n=d(),r=n.mulPointEscalar(n.Base8,e),i=n.mulPointEscalar(r,BigInt(t));return{H0:[BigInt(n.F.toString(r[0])),BigInt(n.F.toString(r[1]))],H1:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]}});static getH1FromH0=(e,t)=>{let n=d(),r=[n.F.e(e[0]),n.F.e(e[1])],i=n.mulPointEscalar(r,BigInt(t));return[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddress=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return _(2n*E(e[0])+E(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t),r,i,a=0n;do r=e*10n**a%y,i=r*n%y,a+=1n;while(i>=2n**250n||r>=2n**250n);return r}static getH0FromRandomization=e=>{let t=d(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(i.ethers.keccak256(e)));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),_(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),_(this.getAccessKey(),this.getShieldedPublicKey()))},k={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`},A={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`},j={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.`};({...k,...A,...j});var M=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),N=()=>Math.floor(Date.now()/1e3),P=class t{amount;erc20TokenAddress;mintAddress;timeStamp;nullifyingKey;spendingPublicKey;H0;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;constructor({amount:e,erc20TokenAddress:t,mintAddress:n,timeStamp:r,nullifyingKey:i,spendingPublicKey:a,randomization:o,H0:s,stealthAddress:c,encryptionKey:l,commitment:u=void 0,nullifier:d=void 0,isBlocked:f=!1}){if(this.amount=e,this.erc20TokenAddress=t,this.mintAddress=n,this.timeStamp=r??N().toString(),this.nullifyingKey=i,this.spendingPublicKey=a,this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f,s!==void 0)this.H0=s;else{let e=o??(i?O.findCorrectRandomization(M(31),i):void 0);if(this.H0=e?O.findH0(e,i):void 0,!this.H0)throw Error(`UTXO requires H0 or nullifyingKey`)}}static createFrom(e,n){return new t({...e.getConstructableParams(),nullifier:void 0,commitment:void 0,...n})}getConstructableParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,nullifyingKey:this.nullifyingKey,spendingPublicKey:this.spendingPublicKey,stealthAddress:this.stealthAddress,encryptionKey:this.encryptionKey,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getBasicUtxoParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,stealthAddress:this.stealthAddress,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getCommitment(){if(!this.commitment){let e=[this.amount,this.erc20TokenAddress,BigInt(this.getStealthAddress()),this.timeStamp];this.commitment=_(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.nullifyingKey)throw Error(`No Nullifiers if private key is not provided`);let e=this.getCommitment(),t=_(this.nullifyingKey,e);this.nullifier=_(e,t)}return this.nullifier}getStealthAddress(){if(!this.stealthAddress){if(!this.nullifyingKey)throw Error(`No stealth address in UTXO if private key is not provided`);if(!this.H0)throw Error(`No H0 point provided`);this.stealthAddress=O.getStealthAddress(this.H0,this.nullifyingKey,this.spendingPublicKey)}return this.stealthAddress}getTokenAddress(t){let n=e.r(t)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}getEncryptionKey(){if(!this.nullifyingKey){if(!this.encryptionKey)throw Error(`No encryption key provided in UTXO`);return this.encryptionKey}return O.getEncryptionKeyPair(this.nullifyingKey).publicKey}},F=()=>a.default.crypto_box_SEALBYTES+a.default.crypto_secretbox_KEYBYTES,I=e=>{let t=a.default.crypto_secretbox_NONCEBYTES,n=F(),r=0,i=e[r];r+=1;let o=e.slice(r,r+t);r+=t;let s=[];for(let t=0;t<i;t+=1)s.push(e.slice(r,r+n)),r+=n;return{nonce:o,sealedKeys:s,ciphertext:e.slice(r)}},L=(e,t,n,r)=>{let{nonce:o,sealedKeys:s,ciphertext:c}=I(e),l=a.default.crypto_box_seal_open(s[r],i.ethers.getBytes(n),i.ethers.getBytes(t)),u=a.default.crypto_secretbox_open_easy(c,o,l);return Buffer.from(u)},R=(e,t)=>{let{privateKey:n,publicKey:r}=O.getEncryptionKeyPair(t.getShieldedPrivateKey()),i=L(e,n,r,0),a=Buffer.from(i).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),s=e=>BigInt(`0x${e}`),c=e=>`0x${e}`,l=a[7]?c(a[7]):void 0,u=l?new o.PublicKey(Buffer.from(l.slice(2),`hex`)).toString():void 0;return{amount:s(a[0]),erc20TokenAddress:c(a[1]),stealthAddress:c(a[2]),nullifyingKey:t.getShieldedPrivateKey(),timeStamp:s(a[3]).toString(),H0:[s(a[4]),s(a[5])],mintAddress:u}},z=(e,t)=>new P(R(e,t)),B=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return _}});
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hinkal/common",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -82,9 +82,10 @@
82
82
  },
83
83
  "dependencies": {
84
84
  "@coral-xyz/anchor": "^0.32.1",
85
+ "@noble/curves": "^1.9.7",
85
86
  "@solana/spl-token": "^0.4.15",
87
+ "@solana/wallet-adapter-base": "^0.9.27",
86
88
  "@solana/web3.js": "^1.98.4",
87
- "@solana/wallet-adapter-react": "^0.15.39",
88
89
  "axios": "^1.19.0",
89
90
  "async-mutex": "^0.5.0",
90
91
  "bs58": "^6.0.0",
@@ -100,8 +101,9 @@
100
101
  "tweetnacl": "^1.0.3",
101
102
  "process": "0.11.10",
102
103
  "ua-parser-js": "^1.0.37",
103
- "uuid": "^9.0.1",
104
104
  "node-forge": "^1.4.0",
105
+ "bfj": "7.0.2",
106
+ "bigint-buffer": "npm:@trufflesuite/bigint-buffer@^1.1.10",
105
107
  "tronweb": "^6.4.0"
106
108
  },
107
109
  "peerDependencies": {
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/snarkjsWorkerLauncher-C9_GD7S7.js`).href:new URL(`../../../../assets/snarkjsWorkerLauncher-C9_GD7S7.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/snarkjsWorkerLauncher-SrStwJvX.js`).href:new URL(`../../../../assets/snarkjsWorkerLauncher-SrStwJvX.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/snarkjsWorkerLauncher-C9_GD7S7.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/snarkjsWorkerLauncher-SrStwJvX.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-swwPYw6e.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`worker_threads`),i=require(`snarkjs`);i=e.c(i);let a=require(`axios`);a=e.c(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.s?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.s&&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);let n=require(`fs`);m=await n.promises.readFile(f),h=await n.promises.readFile(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=n.default,globalThis.Buffer=t.Buffer,r.parentPort.on(`message`,async e=>{await u(e)});
1
+ const e=require(`./workerProxy-BuJUMCQ4.js`);let t=require(`buffer`),n=require(`process`);n=e.u(n);let r=require(`worker_threads`),i=require(`snarkjs`);i=e.u(i);let a=require(`axios`);a=e.u(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.s?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.s&&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);let n=require(`fs`);m=await n.promises.readFile(f),h=await n.promises.readFile(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=n.default,globalThis.Buffer=t.Buffer,r.parentPort.on(`message`,async e=>{await u(e)});
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-Bpu7FkYA.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-Bpu7FkYA.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-CIBeBAML.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-CIBeBAML.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/utxoWorkerLauncher-Bpu7FkYA.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/utxoWorkerLauncher-CIBeBAML.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-swwPYw6e.js`),t=require(`./logError-CxZzSALU.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=9,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${c}]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h,g]=r,_=BigInt(i),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=a.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.u(BigInt(s),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},d=e=>{let[t]=a.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},f=(n,r,i)=>{let{h0x:a,h0y:o,h1x:s,h1y:c}=e.r(i)?u(n):d(n),l=t.a.verifyStealthPair([a,o],[s,c],r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,H0:[s,c]}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.i(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.o.serialize()})},v=async({data:e})=>{let n=new t.a(e.signature),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.r(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.a(e.signature),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.n(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
1
+ const e=require(`./workerProxy-BuJUMCQ4.js`),t=require(`./logError-Dex6ch32.js`);let n=require(`buffer`),r=require(`process`);r=e.u(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=9,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${c}]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h,g]=r,_=BigInt(i),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=a.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.u(BigInt(s),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},d=e=>{let[t]=a.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},f=(n,r,i)=>{let{h0x:a,h0y:o,h1x:s,h1y:c}=e.r(i)?u(n):d(n),l=t.a.verifyStealthPair([a,o],[s,c],r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,H0:[s,c]}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.i(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.o.serialize()})},v=async({data:e})=>{let n=new t.a(e.signature),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.r(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.a(e.signature),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.n(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
@@ -1,28 +1 @@
1
-
2
- const domain = 'https://wallet-prodv12.hinkal.io/workers';
3
-
4
- const WORKER_CDN_URLS = {
5
- ZKProof: domain + '/0.3.4/' + 'zkProofWorkerLauncher.js',
6
- SnarkJS: domain + '/0.3.4/' + 'snarkjsWorkerLauncher.js',
7
- UTXO: domain + '/0.3.4/' + 'utxoWorkerLauncher.js',
8
- };
9
-
10
- // Returns a blob:// URL which points
11
- // to a javascript file which will call
12
- // importScripts with the given URL
13
- async function getWorkerURL(url) {
14
- const contentRes = await fetch(url);
15
- const content = await contentRes.text()
16
-
17
- return URL.createObjectURL(new Blob([content], { type: "application/javascript" }));
18
- }
19
-
20
- var e = /* @__PURE__ */ ((r) => (r.ZKProof = "ZKProof", r.SnarkJS = "SnarkJS", r.UTXO = "UTXO", r))(e || {});
21
-
22
- const n = async () => ({
23
- [e.ZKProof]: await getWorkerURL(WORKER_CDN_URLS.ZKProof),
24
- [e.SnarkJS]: await getWorkerURL(WORKER_CDN_URLS.SnarkJS),
25
- [e.UTXO]: await getWorkerURL(WORKER_CDN_URLS.UTXO),
26
- });
27
- exports.getWorkerViteURL = n;
28
- exports.WORKER_CDN_URLS = WORKER_CDN_URLS;
1
+ const e=require(`./worker.registry.cjs`),t=require(`./zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs`),n=require(`./snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs`),r=require(`./utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs`);require(`./viteWorkerURL.constant.fallback.cjs`);var i=async()=>({[e.WorkerVariant.ZKProof]:t.default,[e.WorkerVariant.SnarkJS]:n.default,[e.WorkerVariant.UTXO]:r.default});exports.getWorkerViteURL=i;
@@ -1,27 +1,13 @@
1
-
2
- const domain = 'https://wallet-prodv12.hinkal.io/workers';
3
-
4
- const WORKER_CDN_URLS = {
5
- ZKProof: domain + '/0.3.4/' + 'zkProofWorkerLauncher.js',
6
- SnarkJS: domain + '/0.3.4/' + 'snarkjsWorkerLauncher.js',
7
- UTXO: domain + '/0.3.4/' + 'utxoWorkerLauncher.js',
8
- };
9
-
10
- // Returns a blob:// URL which points
11
- // to a javascript file which will call
12
- // importScripts with the given URL
13
- async function getWorkerURL(url) {
14
- const contentRes = await fetch(url);
15
- const content = await contentRes.text()
16
-
17
- return URL.createObjectURL(new Blob([content], { type: "application/javascript" }));
18
- }
19
-
20
- var e = /* @__PURE__ */ ((r) => (r.ZKProof = "ZKProof", r.SnarkJS = "SnarkJS", r.UTXO = "UTXO", r))(e || {});
21
-
22
- const n = async () => ({
23
- [e.ZKProof]: await getWorkerURL(WORKER_CDN_URLS.ZKProof),
24
- [e.SnarkJS]: await getWorkerURL(WORKER_CDN_URLS.SnarkJS),
25
- [e.UTXO]: await getWorkerURL(WORKER_CDN_URLS.UTXO),
26
- });
27
- export { n as getWorkerViteURL, WORKER_CDN_URLS };
1
+ import { WorkerVariant as e } from "./worker.registry.mjs";
2
+ import t from "./zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs";
3
+ import n from "./snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs";
4
+ import r from "./utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs";
5
+ import "./viteWorkerURL.constant.fallback.mjs";
6
+ //#region libs/shared/common/src/webworker/viteWorkerURL.constant.ts
7
+ var i = async () => ({
8
+ [e.ZKProof]: t,
9
+ [e.SnarkJS]: n,
10
+ [e.UTXO]: r
11
+ });
12
+ //#endregion
13
+ export { i as getWorkerViteURL };
@@ -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(`ethers`);var l=(e,t=null,n)=>JSON.stringify(e,(e,n)=>{let r=typeof t==`function`?t(e,n):n;return typeof r==`bigint`?r.toString():r},n),u=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),d=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t);function ee(e,t){return Object.values(e).includes(t)}function f(e,t,n=!1){if(ee(e,t))return t;let r=`Value ${l(t)} is not a valid member of enum ${l(e)}.`;if(n)throw Error(r)}var p=function(e){return e.DEVELOPMENT=`development`,e.PLAYGROUND=`playground`,e.PRODUCTION=`production`,e.STAGING=`staging`,e}({}),m={[p.DEVELOPMENT]:[`localhost`,`192.`,`127.`],[p.PLAYGROUND]:[`playground`],[p.STAGING]:[`working`,`staging`]},h=typeof process<`u`&&process?.release?.name===`node`,te=typeof process<`u`&&process.versions!=null&&process.versions.node!=null,g=typeof __webpack_require__<`u`;typeof window<`u`&&window?.location?.protocol;function _(e,t){return t.some(t=>e.includes(t))}var ne=()=>(require(`dotenv`).config({path:`DOTENV_OVERRIDE`in process.env?process.env.DOTENV_OVERRIDE:void 0}),process.env.DEPLOYMENT_MODE?.startsWith(`production`)?p.PRODUCTION:f(p,process.env.DEPLOYMENT_MODE)||p.DEVELOPMENT),v=(()=>{if(!h&&typeof window>`u`)return;if(h)return ne();if(window?.location?.protocol===`chrome-extension:`)return f(p,WALLET_DEPLOYMENT_MODE)||p.STAGING;let e=window?.location?.host;return e?_(e,m[p.DEVELOPMENT])?p.DEVELOPMENT:_(e,m[p.PLAYGROUND])?p.PLAYGROUND:_(e,m[p.STAGING])?p.STAGING:p.PRODUCTION:p.PRODUCTION})(),y=v===p.DEVELOPMENT,b=v===p.PLAYGROUND,x=v===p.STAGING||y||b,re=typeof navigator<`u`&&navigator.product===`ReactNative`,ie=x||h&&v===p.PRODUCTION,S=function(e){return e.Wallet=`wallet`,e.Pay=`pay`,e.Dashboard=`dashboard`,e.Bridge=`bridge`,e}({}),C=function(e){return e.Mainnet=`Mainnet`,e.Testnet=`Testnet`,e.Local=`Local`,e}({}),ae={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x74F3D85bf47E354BDede5759522f278eD48C48fD`,hinkalWrapperAddress:`0x2AE2C150c7CFE6662d13Ba9d8f8C1E9b271fEEc1`,emporiumAddress:`0x3f868DA5A511C36473A8B4e0851b1aA36d9a19D0`,hinkalWalletAddress:`0x4a2b15BCAb735c097758cc41522BbCd41897175A`,lifiExternalActionInstanceAddress:`0x8e151d0Cc6400038c932C00c382ba3814A5a1F96`},oe={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x2B02B49878A23b90F7a823994626eCdcc11fef6C`,hinkalWrapperAddress:`0x0fAb8C78cC588D2dc2B96971685747FC980c08fb`,emporiumAddress:`0x0AEcD18E04FB5263155476059fDcAA41a8efF0F9`,hinkalWalletAddress:`0xb34e79F356aBd059DF1B1ef0A136Db65f6659e49`,lifiExternalActionInstanceAddress:`0xb032AACD69641a71c052e58d29dE6900A32dfAec`},se={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x62Af1392aF5376c76d4437598C3E925E66fB03F5`,hinkalWrapperAddress:`0x6998fE93f3a3AbDb31df1922EB91BC282F42aa1d`,emporiumAddress:`0x795884e56c58D4fF1B26Eb1494F39FcfB38917a1`,hinkalWalletAddress:`0xB24043ebDC72ddC1923ec749cFBDFbEfF3FC82f6`,lifiExternalActionInstanceAddress:`0x834528321Ffa675a865d260776f09f21BB7D64C6`},ce={hinkalAddress:`0xfc6f822A982F987AfC1DE65d0b9BAaC68888024a`,hinkalHelperAddress:`0x91a065E81e28dBf62FCBD7020D2bFaC07FB0b47d`,hinkalWrapperAddress:`0x4EEC778F7aA8cfEE40aB438D3B847DF59D0621BE`,emporiumAddress:`0xD7eF077523B61C9704Bf3361A39b0eEfd3Ea2d56`,hinkalWalletAddress:`0xd1D8D4Eec685DF5A9595E7A9Ec8073945CCDC57a`,lifiExternalActionInstanceAddress:`0x6A58F4e36C885fA1e3EA4Eb0B5BE81f7a06c6457`},le={hinkalAddress:`0x5395d371491b87F656280Ca29b584185Bdc83580`,hinkalHelperAddress:`0xb66469a26C737aCA04128AfEb2AA9be2034f5E76`,hinkalWrapperAddress:`0x4360b2416c77e3a02a0d28Bc1Eed341CB6885f73`,emporiumAddress:`0x9B234163a3b6d315d402e48262Fb411316d7a1F7`,hinkalWalletAddress:`0xFd40a90A71Af2ad674AC38a605c3A8e87582fdC9`},w={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x4C877A7d7CED0181d70c6c3C759981F3ea51f5f6`,hinkalWrapperAddress:`0xeA179De69AcFcDD1Da5437E70339450bB96Ea5FE`,emporiumAddress:`0x658a7a12A45f59F9c2bB7a5d5A3bb733d9155d24`,hinkalWalletAddress:`0x95Da9777f9fb8d8500592E351676Aa9B560E5956`,lifiExternalActionInstanceAddress:`0xE96E04Cb3C1601dc170eb3374d3B9088019A41A4`},T={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0xf629A958edB2bEb2F32DDC3DFDef80364FEe49a9`,hinkalWrapperAddress:`0xEa1765Cc8d3aEB2A3bf5365a7Fa8451597CA9153`,emporiumAddress:`0xf66D101962E20cb49c4934F9fbb43eb7ef75F4cC`,hinkalWalletAddress:`0x2Be66fdF3F0F1A93dce0450074ecb77c44CdC42B`,lifiExternalActionInstanceAddress:`0x4e384B3e7Ae050580F148Dedfa80C2cb4Ac01217`},E={hinkalAddress:`0x13b65FA5375af51A12762499602bE7B92afB8CD6`,hinkalHelperAddress:`0x6D5DFa6Ec97bF1Da5396033F305dFA8575c1f5a7`,emporiumAddress:`0x23A64eF68de98C6Cf01e3A5202d47a3bcee6f920`,hinkalWalletFactoryAddress:`0xD0b3FF7e99dcD6058362c7B0894DBB34723D1bfA`,hinkalWalletBeaconAddress:`0x85f525996478fe87e265dfdb99e6C3ebE2D6E876`},D={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x9F8C8D60d5093523c702FFBc7035DCb9537271dC`,hinkalWrapperAddress:`0xC39A087096430Dd12d288227d7dA749D8Db8c669`,emporiumAddress:`0x70F48817aaE2Bb9dD042D4Ea46ECfe1C168ed3e0`,hinkalWalletAddress:`0x987F7979617361e002E91071978be99D10abeB80`,lifiExternalActionInstanceAddress:`0x93113974Dd1A8F5C1a7974C9d5E753b0bD0b9261`},O={hinkalAddress:`0x1858c7E127877430EbEc27D112F319C7091add33`,hinkalHelperAddress:`0x83927CF3049DEA065dB50e6B08aA5A136b70C95b`,depositOnChainUtxosExternalActionAddress:`0xFA3164c6beA5c21d86E14348854d51B08032da2A`,hinkalWrapperAddress:`0x74aFF37065ae1044158A3535248402Ff8FcF90e9`},k={hinkalAddress:`8LLNFE62Lr9rJLvmPsTsFttrcmwYrEykZwvpyYDW4Nc2`,originalDeployer:`8xzyYDbvfpqYEGekNsm6KDyNXJybTLJhBWBQwabsZN49`},A={hinkalAddress:`0x9046b44155bbf6aa991e86cc30451c4c1c73eb74`,hinkalHelperAddress:`0x4ca5f085914836d11f591769e71a018128759d92`},j={hinkalAddress:`0x2bf3af0ffb6f0b8cdc649d11c91953f700733b17`,hinkalHelperAddress:`0xef3b0c95e5a235ac8d5d4545eee02cf41b572459`},M={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x4d1D5E41ae21E30444F277750518c8a8b942A893`,hinkalWrapperAddress:`0x0B790C436B7A277f24A7f43D74c44db1a56f2A36`,emporiumAddress:`0x94bF69507085a33028Aa111046B85cA1b6846aA3`,hinkalWalletAddress:`0xd05B85a7C2fA4d99C48145eF25e87C2a68826B70`,lifiExternalActionInstanceAddress:`0x4031137A209130b4cf0D161D0BFC1c39049d49B3`},N=e=>JSON.parse(new c.ethers.Interface(e).formatJson()),P=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,N(t)])),F={hinkalABI:`constructor(tuple(uint128 levels, address poseidon2, address poseidon4) constructorArgs, address _hinkalHelper, address _hinkalHelperManager).event BlockedUtxosCreated().event BufferReleased(address approvalTarget, address tokenAddress, uint256 inHinkalAddress).event ExternalActionRegistered(address externalActionAddress).event NewBufferEntry(address approvalTarget, address tokenAddress, uint256 amount, uint256 inHinkalAddress).event NewCommitment(uint256 commitment, int256 index, bytes encryptedOutput).event NewTransaction(address sender, uint256 timestamp, address erc20TokenAddress, int256 publicAmount).event NewUtxo(uint256 amount, address erc20Address, uint256 randomization, uint256 stealthAddress, uint256 timeStamp).event Nullified(uint256 nullifier).event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner).event OwnershipTransferred(address indexed previousOwner, address indexed newOwner).event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole).event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender).event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender).event VerifierRegistered(uint256 verifierId, address verifierAddress).event VerifierRemoved(uint256 verifierId).function DEFAULT_ADMIN_ROLE() view returns (bytes32).function HINKAL_HELPER_MANAGER() view returns (bytes32).function acceptOwnership().function buildVerifierId(tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, uint256 externalActionId) pure returns (uint256).function externalActionMap(uint256) view returns (address).function getRoleAdmin(bytes32 role) view returns (bytes32).function getRootHash() view returns (uint256).function grantRole(bytes32 role, address account).function hasRole(bytes32 role, address account) view returns (bool).function hash2(uint256 a, uint256 b) view returns (uint256 poseidonHash).function hash4(uint256 a0, uint256 a1, uint256 a2, uint256 a3) view returns (uint256 poseidonHash).function hinkalHelper() view returns (address).function logarithm2(uint256 x) pure returns (uint256 y).function m_index() view returns (uint256).function nullifiers(uint256) view returns (bool).function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) pure returns (bytes4).function onERC1155Received(address, address, uint256, uint256, bytes) pure returns (bytes4).function onERC721Received(address, address, uint256, bytes) pure returns (bytes4).function owner() view returns (address).function pendingOwner() view returns (address).function poseidon2() view returns (address).function poseidon4() view returns (address).function prooflessDeposit(address[] erc20Addresses, uint256[] amounts, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress)[] stealthAddressStructures, bytes[] onChainEncryptedOutputs, bool createBlockedUtxos, string orderId) payable.function registerExternalAction(uint256 externalActionId, address externalActionAddress).function registerVerifiers(uint256[] verifierIds, address[] verifierAddresses).function removeVerifier(uint256 verifierId).function renounceOwnership() view.function renounceRole(bytes32 role, address account).function revokeRole(bytes32 role, address account).function rootHashExists(uint256 _root, uint256 _rootIndex) view returns (bool).function roots(uint256) view returns (uint256).function setHinkalHelper(address _hinkalHelper).function supportsInterface(bytes4 interfaceId) view returns (bool).function transact(uint256[2] a, uint256[2][2] b, uint256[2] c, tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, bytes onChainEncryptedOutput, bool[] onChainCreation, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress) stealthAddressStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData) circomData) payable.function transferOwnership(address newOwner).function tree(uint256) view returns (uint256).function verifierMap(uint256) view returns (address)`.split(`.`),hinkalHelperABI:[`constructor(address[] _initialRelays)`,`event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)`,`event RelayAdded(address relayAddress)`,`event RelayRemoved(address relayAddress)`,`function MAX_AMOUNT() view returns (int256)`,`function addRelay(address _relayAddress)`,`function calculateRelayFee(uint256 balance, uint256 flatFee, uint256 variableRate) pure returns (uint256 relayFee)`,`function getRelayStore() view returns (address[])`,`function hinkalAddress() view returns (address)`,`function isRelayInList(address relayAddress) view returns (bool)`,`function owner() view returns (address)`,`function performHinkalChecks(tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, bytes onChainEncryptedOutput, bool[] onChainCreation, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress) stealthAddressStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData) circomData, tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, address sender) view returns (uint256[])`,`function performProoflessDepositChecks(address[] erc20Addresses, uint256[] amounts, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress)[] stealthAddressStructures, bytes[] onChainEncryptedOutputs) view`,`function performSideEffects(tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, bytes onChainEncryptedOutput, bool[] onChainCreation, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress) stealthAddressStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData))`,`function relayList(address) view returns (bool)`,`function relayStore(uint256) view returns (address)`,`function removeRelay(address _relayAddress)`,`function renounceOwnership()`,`function setHinkalAddress(address _hinkalAddress)`,`function transferOwnership(address newOwner)`],hinkalWrapperABI:[`constructor(address _hinkal)`,`event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)`,`event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)`,`function acceptOwnership()`,`function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) pure returns (bytes4)`,`function onERC1155Received(address, address, uint256, uint256, bytes) pure returns (bytes4)`,`function onERC721Received(address, address, uint256, bytes) pure returns (bytes4)`,`function owner() view returns (address)`,`function pendingOwner() view returns (address)`,`function prooflessDeposit(address[] erc20Addresses, uint256[] amounts, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress)[] stealthAddressStructures, bytes[] onChainEncryptedOutputs, bool createBlockedUtxos, tuple(address feeRecipient, address feeToken, uint256 feeAmount) feeStructure, string orderId) payable`,`function renounceOwnership() view`,`function setHinkalAddress(address _hinkal)`,`function supportsInterface(bytes4 _interfaceId) view returns (bool)`,`function transferOwnership(address newOwner)`]},I={hinkalIdl:JSON.parse(`{"address":"8LLNFE62Lr9rJLvmPsTsFttrcmwYrEykZwvpyYDW4Nc2","metadata":{"name":"hinkal","version":"0.1.0","spec":"0.1.0","description":"Created with Anchor"},"instructions":[{"name":"accept_ownership","discriminator":[172,23,43,13,238,213,85,150],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}}],"args":[]},{"name":"close_nullifier","discriminator":[162,69,214,3,121,155,58,219],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"nullifier_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,110,117,108,108,105,102,105,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"nullifier"}]}},{"name":"storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"nullifier","type":{"array":["u8",32]}}]},{"name":"init_nullifier","discriminator":[187,124,88,139,111,232,162,236],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"nullifier_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,110,117,108,108,105,102,105,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"nullifier"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"nullifier","type":{"array":["u8",32]}}]},{"name":"initialize","discriminator":[175,175,109,31,13,152,155,237],"accounts":[{"name":"original_deployer","writable":true,"signer":true},{"name":"storage_vault","docs":["zero-length PDA owned by the system program that only stores lamports"],"writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"multi_payment_deposit","discriminator":[70,64,60,132,3,67,69,74],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amounts","type":{"vec":"u64"}},{"name":"stealth_address_structure","type":{"vec":{"defined":{"name":"StealthAddressStructure"}}}},{"name":"encrypted_blobs","type":{"vec":"bytes"}},{"name":"create_blocked_utxos","type":"bool"}]},{"name":"proofless_deposit","discriminator":[238,63,30,216,109,36,109,123],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amount","type":"u64"},{"name":"stealth_address_structure","type":{"defined":{"name":"StealthAddressStructure"}}},{"name":"encrypted_blob","type":"bytes"},{"name":"create_blocked_utxos","type":"bool"}]},{"name":"store_encrypted_outputs","discriminator":[119,158,243,225,12,25,29,85],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"encrypted_outputs_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"encrypted_output","type":"bytes"},{"name":"on_chain_encrypted_output","type":"bytes"},{"name":"output_index","type":"u8"},{"name":"output_count","type":"u8"}]},{"name":"store_instructions","discriminator":[74,235,173,153,203,64,250,122],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"instructions_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"instructions","type":{"vec":{"defined":{"name":"SolanaInstructionData"}}}}]},{"name":"store_proof_part1","discriminator":[174,144,197,114,7,196,154,191],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"proof_account_part1","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"proof_a_arr","type":{"array":["u8",64]}},{"name":"proof_b_arr","type":{"array":["u8",128]}},{"name":"proof_c_arr","type":{"array":["u8",64]}},{"name":"public_signals_part1","type":{"vec":{"array":["u8",32]}}}]},{"name":"store_proof_part2","discriminator":[32,225,73,0,60,163,213,158],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"proof_account_part2","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"public_signals_part2","type":{"vec":{"array":["u8",32]}}}]},{"name":"swap2","discriminator":[65,75,63,76,235,91,91,136],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"swapper_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,115,119,97,112,112,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"swapper_account_additional_seed"}]}},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint_from","optional":true},{"name":"mint_to","optional":true},{"name":"signer_to_ata","writable":true,"optional":true},{"name":"storage_vault_from_ata","writable":true,"optional":true},{"name":"storage_vault_to_ata","writable":true,"optional":true},{"name":"swapper_account_from_ata","writable":true,"optional":true},{"name":"swapper_account_to_ata","writable":true,"optional":true},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"instructions_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority","pda":{"seeds":[{"kind":"const","value":[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{"name":"program"}],"args":[{"name":"id","type":"u32"},{"name":"swapper_account_additional_seed","type":{"array":["u8",32]}},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"variable_rate","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"swap6","discriminator":[99,72,77,24,113,171,250,215],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"swapper_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,115,119,97,112,112,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"swapper_account_additional_seed"}]}},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint_from","optional":true},{"name":"mint_to","optional":true},{"name":"signer_to_ata","writable":true,"optional":true},{"name":"storage_vault_from_ata","writable":true,"optional":true},{"name":"storage_vault_to_ata","writable":true,"optional":true},{"name":"swapper_account_from_ata","writable":true,"optional":true},{"name":"swapper_account_to_ata","writable":true,"optional":true},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"seventh_nullifier","writable":true,"optional":true},{"name":"eighth_nullifier","writable":true,"optional":true},{"name":"nineth_nullifier","writable":true,"optional":true},{"name":"tenth_nullifier","writable":true,"optional":true},{"name":"eleventh_nullifier","writable":true,"optional":true},{"name":"twelveth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"instructions_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority","pda":{"seeds":[{"kind":"const","value":[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{"name":"program"}],"args":[{"name":"id","type":"u32"},{"name":"swapper_account_additional_seed","type":{"array":["u8",32]}},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"variable_rate","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transact2","discriminator":[147,170,237,9,83,181,181,81],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"recipient","writable":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"recipient_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"recipient"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"forbid_deposit","type":"bool"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transact6","discriminator":[141,202,39,130,160,18,56,118],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"recipient","writable":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"recipient_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"recipient"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"forbid_deposit","type":"bool"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transfer2","discriminator":[27,140,248,82,105,169,171,143],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transfer6","discriminator":[181,146,34,243,187,199,220,67],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transfer_ownership","discriminator":[65,177,215,73,53,45,99,47],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}}],"args":[{"name":"new_owner","type":"pubkey"}]},{"name":"update_relayer_status","discriminator":[247,180,15,221,102,66,142,253],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"relayer"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"status","type":"bool"}]}],"accounts":[{"name":"EncryptedOutputsAccount","discriminator":[38,153,140,49,115,38,136,21]},{"name":"InstructionsAccount","discriminator":[158,246,131,222,29,159,202,65]},{"name":"Merkle","discriminator":[55,52,102,252,195,69,204,210]},{"name":"NullifierAccount","discriminator":[250,31,238,177,213,98,48,172]},{"name":"ProofAccountPart1","discriminator":[227,231,205,87,22,154,112,114]},{"name":"ProofAccountPart2","discriminator":[84,185,22,128,59,14,111,158]},{"name":"StorageAccount","discriminator":[41,48,231,194,22,77,205,235]}],"events":[{"name":"BlockedUtxosCreated","discriminator":[64,214,216,215,75,156,106,107]},{"name":"NewCommitment","discriminator":[78,21,75,243,5,132,204,67]},{"name":"Nullified","discriminator":[124,69,200,64,75,203,121,17]},{"name":"OwnershipAccepted","discriminator":[60,223,46,198,226,73,39,18]},{"name":"OwnershipTransferred","discriminator":[172,61,205,183,250,50,38,98]},{"name":"RelayerStatusUpdated","discriminator":[47,132,241,182,171,89,127,242]}],"errors":[{"code":6000,"name":"InvalidMintConfiguration","msg":"Invalid combination of mint accounts supplied for swap."},{"code":6001,"name":"MissingMintFrom","msg":"Missing mint account for source leg."},{"code":6002,"name":"MissingMintTo","msg":"Missing mint account for destination leg."},{"code":6003,"name":"IdenticalTokenMints","msg":"Source and destination token mints cannot be identical."},{"code":6004,"name":"MissingStorageSourceAta","msg":"Missing storage vault source token ATA."},{"code":6005,"name":"MissingStorageDestinationAta","msg":"Missing storage vault destination token ATA."},{"code":6006,"name":"MissingSwapperSourceAta","msg":"Missing swapper account source token ATA."},{"code":6007,"name":"MissingSwapperDestinationAta","msg":"Missing swapper account destination token ATA."},{"code":6008,"name":"ReceivedAmountLowerThanExpected","msg":"Received amount lower than expected"},{"code":6009,"name":"ExpectedNegativeInputAmount","msg":"Expected negative input amount"},{"code":6010,"name":"ExpectedPositiveOutputAmount","msg":"Expected positive output amount"},{"code":6011,"name":"UnexpectedOnchainCreation","msg":"Unexpected onchain creation values specified"},{"code":6012,"name":"UnexpectedDimensions","msg":"Unexpected dimensions"},{"code":6013,"name":"ValueLargerThanCircomP","msg":"Value larger than circom P"},{"code":6014,"name":"UnsafeArithmetic","msg":"Unsafe arithmetic"},{"code":6015,"name":"FeeCalculationOverflow","msg":"Fee calculation overflow"},{"code":6016,"name":"InvalidPublicSignalsSize","msg":"Invalid public signals size for proof verification"},{"code":6017,"name":"UnsupportedDimensions","msg":"Unsupported dimensions for proof verification"},{"code":6018,"name":"NullifierAlreadyUsed","msg":"Cannot close a nullifier account that has already been used"},{"code":6019,"name":"Unauthorized","msg":"Unauthorized"},{"code":6020,"name":"CalldataHashMismatch","msg":"Calldata hash mismatch"},{"code":6021,"name":"SignedMessageHashMismatch","msg":"Signed message hash mismatch"},{"code":6022,"name":"RootHashDoesNotExist","msg":"Root hash doesn't exist"},{"code":6023,"name":"InvalidAmountChange","msg":"Invalid amount change"},{"code":6024,"name":"RelayerNotWhitelisted","msg":"Relayer account not whitelisted"},{"code":6025,"name":"ExpectedMintAddressZero","msg":"Expected mint address to be zero"},{"code":6026,"name":"ExpectedMintAddressNotZero","msg":"Expected mint address not to be zero"},{"code":6027,"name":"UnsupportedDimensionsError","msg":"Unsupported dimensions"},{"code":6028,"name":"InNullifiersLengthMismatch","msg":"In nullifiers length mismatch"},{"code":6029,"name":"InNullifierMismatch","msg":"In nullifier mismatch"},{"code":6030,"name":"PoseidonHashFailed","msg":"Poseidon hash failed"},{"code":6031,"name":"NullifierUsed","msg":"Nullifier used"},{"code":6032,"name":"NullifierNotZeroButAccountNotSpecified","msg":"Nullifier not zero, but account not specified"},{"code":6033,"name":"NullifierAccountsListLengthMustBeEven","msg":"Nullifier accounts list length must be even"},{"code":6034,"name":"OnChainCreationLengthMismatch","msg":"On chain creation length mismatch"},{"code":6035,"name":"EncryptedOutputsLengthMismatch","msg":"Encrypted outputs length mismatch"},{"code":6036,"name":"MissingOnChainEncryptedOutput","msg":"Missing encrypted output for on-chain commitment"},{"code":6037,"name":"EncryptedOutputTooLarge","msg":"Encrypted output byte length exceeds on-chain limit"},{"code":6038,"name":"EncryptedOutputsCountTooLarge","msg":"Too many encrypted outputs for on-chain account"},{"code":6039,"name":"EncryptedOutputIndexOutOfBounds","msg":"Encrypted output index out of bounds"},{"code":6040,"name":"ProofVerificationFailed","msg":"Proof verification failed"},{"code":6041,"name":"UnexpectedValue","msg":"Unexpected value"},{"code":6042,"name":"ATAValidationFailed","msg":"Associate token account validation failed"},{"code":6043,"name":"BalanceDiffMismatch","msg":"Balance Diff Should be equal to sum of onchain and offchain created commitments"},{"code":6044,"name":"ZeroRandomizationForbidden","msg":"Randomization cannot be zero"},{"code":6045,"name":"RemainingAccountSignerForbidden","msg":"Ramaining account signer forbidden"},{"code":6046,"name":"DepositForbidden","msg":"Deposit forbidden"},{"code":6047,"name":"SwapperAccountAdditionalSeedMismatch","msg":"Swapper account additional seed mismatch"},{"code":6048,"name":"InvalidVersion","msg":"Invalid Version"},{"code":6049,"name":"SelfCPIForbidden","msg":"Self-CPI forbidden"},{"code":6050,"name":"InvalidNullifierPDA","msg":"Invalid nullifier pda"},{"code":6051,"name":"DuplicateNullifier","msg":"Duplicate nullifier in proof"}],"types":[{"name":"BlockedUtxosCreated","type":{"kind":"struct","fields":[]}},{"name":"Dimensions","type":{"kind":"struct","fields":[{"name":"token_number","type":"u8"},{"name":"nullifier_amount","type":"u8"},{"name":"output_amount","type":"u8"}]}},{"name":"EncryptedOutputsAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"encrypted_outputs","type":{"vec":"bytes"}},{"name":"on_chain_encrypted_output","type":"bytes"}]}},{"name":"InstructionsAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"instructions","type":{"vec":{"defined":{"name":"SolanaInstructionData"}}}}]}},{"name":"Merkle","serialization":"bytemuck","repr":{"kind":"c"},"type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"tree_levels","type":{"array":[{"array":["u8",32]},200]}},{"name":"m_index","type":{"array":["u8",32]}},{"name":"levels","type":{"array":["u8",16]}},{"name":"minimum_index","type":{"array":["u8",32]}}]}},{"name":"NewCommitment","type":{"kind":"struct","fields":[{"name":"commitment","type":{"array":["u8",32]}},{"name":"index","type":{"array":["u8",32]}},{"name":"encrypted_output","type":"bytes"},{"name":"on_chain_data","type":{"array":[{"array":["u8",32]},9]}}]}},{"name":"Nullified","type":{"kind":"struct","fields":[{"name":"nullifier","type":{"array":["u8",32]}}]}},{"name":"NullifierAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"is_used","type":"bool"}]}},{"name":"OwnershipAccepted","type":{"kind":"struct","fields":[{"name":"previous_owner","type":"pubkey"},{"name":"new_owner","type":"pubkey"}]}},{"name":"OwnershipTransferred","type":{"kind":"struct","fields":[{"name":"previous_owner","type":"pubkey"},{"name":"new_pending_owner","type":"pubkey"}]}},{"name":"ProofAccountPart1","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"proof_a_arr","type":{"array":["u8",64]}},{"name":"proof_b_arr","type":{"array":["u8",128]}},{"name":"proof_c_arr","type":{"array":["u8",64]}},{"name":"public_signals_part1","type":{"vec":{"array":["u8",32]}}}]}},{"name":"ProofAccountPart2","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"public_signals_part2","type":{"vec":{"array":["u8",32]}}}]}},{"name":"RelayerStatusUpdated","type":{"kind":"struct","fields":[{"name":"relayer","type":"pubkey"},{"name":"status","type":"bool"}]}},{"name":"SolanaInstructionData","type":{"kind":"struct","fields":[{"name":"account_indexes","type":"bytes"},{"name":"data","type":"bytes"},{"name":"program_index","type":"u8"}]}},{"name":"StealthAddressStructure","type":{"kind":"struct","fields":[{"name":"h0_x","type":{"array":["u8",32]}},{"name":"h0_y","type":{"array":["u8",32]}},{"name":"h1_x","type":{"array":["u8",32]}},{"name":"h1_y","type":{"array":["u8",32]}},{"name":"stealth_address","type":{"array":["u8",32]}}]}},{"name":"StorageAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"whitelisted_relayers","type":{"vec":"pubkey"}},{"name":"owner","type":"pubkey"},{"name":"pending_owner","type":"pubkey"}]}}]}`)},L={hinkalABI:`constructor(tuple(uint128 levels) constructorArgs, address _hinkalHelper, address _hinkalHelperManager).event BlockedUtxosCreated().event ExternalActionRegistered(address externalActionAddress).event NewCommitment(uint256 commitment, int256 index, bytes encryptedOutput).event Nullified(uint256 nullifier).event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner).event OwnershipTransferred(address indexed previousOwner, address indexed newOwner).event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole).event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender).event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender).event VerifierRegistered(address verifierAddress).event VerifierRemoved(address verifierAddress).function DEFAULT_ADMIN_ROLE() view returns (bytes32).function HINKAL_HELPER_MANAGER() view returns (bytes32).function acceptOwnership().function buildVerifierId(tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, uint256 externalActionId) pure returns (uint256).function externalActionMap(uint256) view returns (address).function getRoleAdmin(bytes32 role) view returns (bytes32).function getRootHash() view returns (uint256).function grantRole(bytes32 role, address account).function hasRole(bytes32 role, address account) view returns (bool).function hinkalHelper() view returns (address).function m_index() view returns (uint256).function nullifiers(uint256) view returns (bool).function owner() view returns (address).function pendingOwner() view returns (address).function registerExternalAction(uint256 externalActionId, address externalActionAddress).function registerVerifiers(address[] verifierAddresses).function removeVerifier(address verifier).function renounceOwnership() view.function renounceRole(bytes32 role, address account).function revokeRole(bytes32 role, address account).function rootHashExists(uint256 _root, uint256 _rootIndex) view returns (bool).function roots(uint256) view returns (uint256).function setHinkalHelper(address _hinkalHelper).function supportsInterface(bytes4 interfaceId) view returns (bool).function transact(tuple(uint8 v, bytes32 r, bytes32 s) proofSignature, uint256[2] a, uint256[2][2] b, uint256[2] c, tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256 newRootHash, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData, uint256 insertedLeafIndex, bool createBlockedUtxos) circomData) payable.function transferOwnership(address newOwner).function verifierMap(address) view returns (bool)`.split(`.`),hinkalHelperABI:[`constructor(address[] _initialRelays)`,`event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)`,`event RelayAdded(address relayAddress)`,`event RelayRemoved(address relayAddress)`,`function MAX_AMOUNT() view returns (int256)`,`function addRelay(address _relayAddress)`,`function calculateRelayFee(uint256 balance, uint256 flatFee, uint256 variableRate) pure returns (uint256 relayFee)`,`function getRelayStore() view returns (address[])`,`function hinkalAddress() view returns (address)`,`function isRelayInList(address relayAddress) view returns (bool)`,`function owner() view returns (address)`,`function performHinkalChecks(tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256 newRootHash, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData, uint256 insertedLeafIndex, bool createBlockedUtxos) circomData, tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, address sender) view returns (uint256[])`,`function relayList(address) view returns (bool)`,`function relayStore(uint256) view returns (address)`,`function removeRelay(address _relayAddress)`,`function renounceOwnership()`,`function setHinkalAddress(address _hinkalAddress)`,`function transferOwnership(address newOwner)`]},R=e=>({...F,...e}),z=e=>({...P(L),...e}),B=e=>({...I,...e}),V=R(ae),H=R(oe),U=R(se),W=R(ce),ue=R(le),de=R(w),fe=R(T),pe=R(E),me=R(D),he=R(O),ge=R(M),_e=z(A),ve=z(j),G=B(k),K={polygon:137,arbMainnet:42161,ethMainnet:1,optimism:10,optimismTest:1010,base:8453,localhost:31337,arcTestnet:5042002,sepoliaTestnet:11155111,solanaMainnet:501,solanaLocalnet:102,tronNile:3448148188,tronLocalnet:103,tronMainnet:728126428,tempo:4217,bnbMainnet:56,avalanche:43114,cronos:25,monad:143,plasma:9745,ink:57073,hyperEvm:999};K.ethMainnet;var q=x?`X4IiEZsSzGOrJq8tzq7Y3`:`XzUgeU8YiIIzkD7j2GWnTsFUck7wGgK9`,ye={[K.ethMainnet]:{name:`Ethereum`,chainId:K.ethMainnet,rpcUrl:`https://rpc.ankr.com/eth`,fetchRpcUrl:`https://eth-mainnet.g.alchemy.com/v2/${q}`,wsRpcUrl:`wss://eth-mainnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:U,priority:1,maxPageSize:9e5},[K.arbMainnet]:{name:`Arbitrum`,chainId:K.arbMainnet,rpcUrl:`https://endpoints.omniatech.io/v1/arbitrum/one/public`,fetchRpcUrl:`https://arb-mainnet.g.alchemy.com/v2/${q}`,wsRpcUrl:`wss://arb-mainnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:V,priority:2,maxPageSize:5e5},[K.optimism]:{name:`Optimism`,chainId:K.optimism,rpcUrl:`https://optimism-mainnet.infura.io/v3/c26b99456bb6464bb498926ff5162903`,fetchRpcUrl:`https://opt-mainnet.g.alchemy.com/v2/${q}`,wsRpcUrl:`wss://opt-mainnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:W,priority:3,maxPageSize:9e5},[K.optimismTest]:{name:`Optimism Test`,chainId:K.optimismTest,rpcUrl:`https://optimism-mainnet.infura.io/v3/c26b99456bb6464bb498926ff5162903`,fetchRpcUrl:`https://opt-mainnet.g.alchemy.com/v2/${q}`,wsRpcUrl:`wss://opt-mainnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:ue,priority:3,maxPageSize:9e5},[K.polygon]:{name:`Polygon`,chainId:K.polygon,rpcUrl:`https://polygon-rpc.com`,fetchRpcUrl:`https://polygon-mainnet.g.alchemy.com/v2/${q}`,wsRpcUrl:`wss://polygon-mainnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:de,priority:4,maxPageSize:9e5},[K.base]:{name:`Base`,chainId:K.base,rpcUrl:`https://mainnet.base.org/`,fetchRpcUrl:`https://base-mainnet.g.alchemy.com/v2/${q}`,wsRpcUrl:`wss://base-mainnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:fe,priority:7,maxPageSize:5e5},[K.arcTestnet]:{name:`Arc Testnet`,chainId:K.arcTestnet,rpcUrl:`https://arc-testnet.g.alchemy.com/v2/${q}`,fetchRpcUrl:`https://arc-testnet.g.alchemy.com/v2/${q}`,wsRpcUrl:`wss://arc-testnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:me,priority:8,maxPageSize:9999},[K.solanaMainnet]:{name:`Solana`,chainId:K.solanaMainnet,rpcUrl:`https://api.mainnet-beta.solana.com`,fetchRpcUrl:`https://mainnet.helius-rpc.com/?api-key=54ad9ec9-dad6-41de-b961-e3e8ea7a7188`,supported:!0,contractData:G,priority:8},[K.solanaLocalnet]:{name:`Solana Localnet`,chainId:K.solanaLocalnet,rpcUrl:`http://127.0.0.1:8899`,fetchRpcUrl:`http://127.0.0.1:8899`,supported:!0,contractData:G,priority:9},[K.tronNile]:{name:`Tron Nile`,chainId:K.tronNile,rpcUrl:`https://tron-testnet.g.alchemy.com/v2/${q}`,fetchRpcUrl:`https://tron-testnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:_e,priority:9,maxPageSize:5e5},[K.tronMainnet]:{name:`Tron`,chainId:K.tronMainnet,rpcUrl:`https://tron-mainnet.g.alchemy.com/v2/${q}`,fetchRpcUrl:`https://tron-mainnet.g.alchemy.com/v2/${q}`,supported:!0,priority:10,contractData:ve,maxPageSize:5e5},[K.sepoliaTestnet]:{name:`Sepolia Testnet`,chainId:K.sepoliaTestnet,rpcUrl:`https://eth-sepolia.g.alchemy.com/v2/${q}`,fetchRpcUrl:`https://eth-sepolia.g.alchemy.com/v2/${q}`,supported:!0,priority:11,contractData:he,maxPageSize:9e5},[K.tempo]:{name:`Tempo`,chainId:K.tempo,rpcUrl:`https://rpc.tempo.xyz`,fetchRpcUrl:`https://rpc.tempo.xyz`,supported:!0,priority:12,contractData:ge,maxPageSize:9999},[K.bnbMainnet]:{name:`BNB Chain`,chainId:K.bnbMainnet,rpcUrl:`https://bnb-mainnet.g.alchemy.com/v2/${q}`,fetchRpcUrl:`https://bnb-mainnet.g.alchemy.com/v2/${q}`,wsRpcUrl:`wss://bnb-mainnet.g.alchemy.com/v2/${q}`,supported:!0,contractData:H,priority:13,maxPageSize:9e5},[K.avalanche]:{name:`Avalanche`,chainId:K.avalanche,rpcUrl:`https://api.avax.network/ext/bc/C/rpc`,fetchRpcUrl:`https://api.avax.network/ext/bc/C/rpc`,supported:!1,contractData:{},priority:14},[K.cronos]:{name:`Cronos`,chainId:K.cronos,rpcUrl:`https://evm.cronos.org`,fetchRpcUrl:`https://evm.cronos.org`,supported:!1,contractData:{},priority:15},[K.monad]:{name:`Monad`,chainId:K.monad,rpcUrl:`https://rpc.monad.xyz`,fetchRpcUrl:`https://rpc.monad.xyz`,supported:!1,contractData:{},priority:16},[K.plasma]:{name:`Plasma`,chainId:K.plasma,rpcUrl:`https://rpc.plasma.to`,fetchRpcUrl:`https://rpc.plasma.to`,supported:!1,contractData:{},priority:17},[K.ink]:{name:`Ink`,chainId:K.ink,rpcUrl:`https://rpc-gel.inkonchain.com`,fetchRpcUrl:`https://rpc-gel.inkonchain.com`,supported:!1,contractData:{},priority:18},[K.hyperEvm]:{name:`HyperEVM`,chainId:K.hyperEvm,rpcUrl:`https://rpc.hyperliquid.xyz/evm`,fetchRpcUrl:`https://rpc.hyperliquid.xyz/evm`,supported:!1,contractData:{},priority:19}},be={name:`Localhost`,chainId:K.localhost,rpcUrl:`http://127.0.0.1:8545`,fetchRpcUrl:`http://127.0.0.1:8545`,supported:!0,contractData:pe,priority:7};y&&(ye[K.localhost]=be),C.Mainnet,K.polygon,K.arbMainnet,K.ethMainnet,K.bnbMainnet,K.optimism,K.base,K.tronMainnet,K.tempo,K.solanaMainnet,K.avalanche,K.cronos,K.monad,K.plasma,K.ink,K.hyperEvm,C.Testnet,x?(K.arcTestnet,K.tronNile,K.sepoliaTestnet,K.optimismTest):(K.arcTestnet,K.sepoliaTestnet),C.Local,K.localhost,K.solanaLocalnet,K.tronLocalnet;var xe=[K.tronNile,K.tronMainnet,K.tronLocalnet],Se=[K.solanaMainnet,K.solanaLocalnet],J=e=>Se.includes(e),Y=e=>xe.includes(e),X=e=>e===K.sepoliaTestnet,Z=e=>e===K.tempo,Ce=e=>e===K.arcTestnet,we=x?K.tronNile:K.tronMainnet,Te=K.solanaMainnet,Q=[K.ethMainnet,K.base,K.polygon,K.arbMainnet,K.bnbMainnet,K.arcTestnet,Te,K.tronMainnet,K.tronNile,K.tempo],Ee=[...Q.filter(e=>!Y(e)),we];Q.filter(e=>!Y(e)&&!X(e)&&!Z(e)&&!Ce(e));var De=[K.sepoliaTestnet];Ee.filter(e=>!De.includes(e));var $=Q.filter(e=>e!==K.arcTestnet&&!X(e)&&!(Y(e)&&e!==K.tronMainnet)),Oe=[K.avalanche,K.cronos,K.monad,K.plasma,K.ink,K.hyperEvm];[...$,...Oe],Q.filter(e=>!J(e)&&!Y(e)),$.filter(e=>!J(e)&&!Y(e)),S.Wallet,S.Pay,S.Bridge,S.Dashboard,K.arcTestnet,K.arcTestnet,K.sepoliaTestnet;var ke=class{isNode=!1;onmessage=null;onerror=null;_eventEmitter;get eventEmitter(){if(this._eventEmitter)return this._eventEmitter;if(this.isNode){let e=require(`events`);this._eventEmitter=new e}else this._eventEmitter=new EventTarget;return this._eventEmitter}constructor(){this.isNode=typeof process<`u`&&process.versions!=null&&process.versions.node!=null}terminate(){}postMessage(e){this.isNode?this.eventEmitter.emit(`message`,e):postMessage(e)}postMessageToMainThread(e){this.isNode?this.parentPort.postMessage(e):postMessage(e)}postErrorToMainThread(e){this.isNode?this.parentPort.postMessage({error:e}):postMessage(e)}get parentPort(){return require(`worker_threads`).parentPort}};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return s}});
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/zkProofWorkerLauncher-CVUMSoXF.js`).href:new URL(`../../../../assets/zkProofWorkerLauncher-CVUMSoXF.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/zkProofWorkerLauncher-DfwteloJ.js`).href:new URL(`../../../../assets/zkProofWorkerLauncher-DfwteloJ.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/zkProofWorkerLauncher-CVUMSoXF.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/zkProofWorkerLauncher-DfwteloJ.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-swwPYw6e.js`),t=require(`./logError-CxZzSALU.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`);require(`ethers`),Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,postHookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`}),Array.from({length:25},()=>`0`);var a=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){n.push([]);for(let i=0;i<e[r].length;i+=1)n[r][i]=t.getSiblingHashesForVerification(BigInt(e[r][i].getCommitment())).map(e=>e.toString())}let r=[];for(let n=0;n<e.length;n+=1){r.push([]);for(let i=0;i<e[n].length;i+=1)r[n][i]=t.getSiblingSides(BigInt(e[n][i].getCommitment())).map(e=>e.toString())}return{inCommitmentSiblings:n,inCommitmentSiblingSides:r}},o=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=1]=`BUILD_IN_NULLIFIERS`,e}({}),s=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},c=class e{tree;count;index;reverseTree;static createWithData(t,n,r,i,a,o,s){return new e(a,o,s,t,n,r,i)}static create(n,r,i=t.s){return new e(n,i,r)}createReverseTree(){let e=new Map;for(let t=this.getStartIndex();t<this.getStartIndex()+this.count;t+=1n){let n=this.tree.get(t);n!==void 0&&e.set(n,t)}return e}constructor(e,t,n,r,i,a,o){this.hashFunction=e,this.levels=t,this.defaultNodeValue=n,this.tree=r??new Map,this.count=o??0n,this.index=a??2n**(t-1n),i?this.reverseTree=i:this.reverseTree=this.createReverseTree()}getStartIndex(){return 2n**(this.levels-1n)}logarithm2(e){let t=0n;for(;2n**t<e;)t+=1n;return t}bigIntMax(e,t){return e>t?e:t}forceInsert(e,t){if(t<this.getStartIndex())throw RangeError();this.tree.set(t,e),this.reverseTree.set(e,t);let n=this.index-this.getStartIndex(),r=this.logarithm2(n),i=t;for(let e=1n;e<=r;e+=1n){i/=2n;let e=this.hashFunction(this.tree.get(i*2n)||this.defaultNodeValue,this.tree.get(i*2n+1n)||this.defaultNodeValue);this.tree.set(i,e)}}insert(e,n){let r=!1;this.tree.has(n)&&(r=!0,t.t(`Editing commitment index: ${n} `)),r||(this.count+=1n),this.index=this.bigIntMax(this.index,n+1n),this.forceInsert(e,n)}remove(e){this.forceInsert(this.defaultNodeValue,e)}completenessCheck(){if(this.count!==this.index-this.getStartIndex())throw new s}getRootHash(){this.completenessCheck();for(let e=1n;e<2n**this.levels;e*=2n)if(this.tree.get(e))return this.tree.get(e);return this.defaultNodeValue}getMerkleData(){return this.completenessCheck(),new Map(this.tree)}getValue(e){return this.tree.get(e)}getSiblingIndex(e){return e===1n?1n:e%2n==1n?e-1n:e+1n}getSiblingHashesForVerification(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;)n.push(this.tree.get(this.getSiblingIndex(t))??this.defaultNodeValue),t/=2n;return n.slice(0,25)}getSiblingSides(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;){let e=t%2n==0n?0n:1n;n.push(e),t/=2n}return n.slice(0,25)}toJSON(){let{tree:e,reverseTree:t,count:n,index:r}=this;return{tree:Object.fromEntries(e),reverseTree:Object.fromEntries(t),count:n.toString(),index:r.toString()}}toJSONLite(){let{tree:e,count:t,index:n}=this;return{tree:Object.fromEntries(e),count:t.toString(),index:n.toString()}}clone(){return e.createWithData(new Map(this.tree),new Map(this.reverseTree),this.index,this.count,this.hashFunction,this.levels,this.defaultNodeValue)}getIndex(){return this.index}getInsertionSiblingData(e){let t=[],n=[],r=e;for(;r!==0n;)t.push(this.tree.get(this.getSiblingIndex(r))??this.defaultNodeValue),n.push(r%2n==0n?0n:1n),r/=2n;return{siblings:t.slice(0,25),sides:n.slice(0,25)}}},l=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),u=e=>{let n=l(e.tree),r=e.reverseTree?l(e.reverseTree):void 0;return c.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.l,t.s,0n)},d=new e.t,f=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=u(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.i(e))),i);d.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},p=e=>{let{inputUtxosSerialized:n}=e.data,r=n.map(e=>e.map(e=>new t.i(e))).map(e=>e.map(e=>e.amount===0n?`0`:e.getNullifier()));d.postMessageToMainThread(r)},m=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case o.CALC_COMMITMENTS_SIBLING_AND_SIDES:f(e.payload);return;case o.BUILD_IN_NULLIFIERS:p(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(`zk proof worker message failed`,e),d.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await m(e)});
1
+ const e=require(`./workerProxy-BuJUMCQ4.js`),t=require(`./logError-Dex6ch32.js`);let n=require(`buffer`),r=require(`process`);r=e.u(r);let i=require(`worker_threads`);require(`ethers`),Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,postHookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`}),Array.from({length:25},()=>`0`);var a=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){n.push([]);for(let i=0;i<e[r].length;i+=1)n[r][i]=t.getSiblingHashesForVerification(BigInt(e[r][i].getCommitment())).map(e=>e.toString())}let r=[];for(let n=0;n<e.length;n+=1){r.push([]);for(let i=0;i<e[n].length;i+=1)r[n][i]=t.getSiblingSides(BigInt(e[n][i].getCommitment())).map(e=>e.toString())}return{inCommitmentSiblings:n,inCommitmentSiblingSides:r}},o=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=1]=`BUILD_IN_NULLIFIERS`,e}({}),s=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},c=class e{tree;count;index;reverseTree;static createWithData(t,n,r,i,a,o,s){return new e(a,o,s,t,n,r,i)}static create(n,r,i=t.s){return new e(n,i,r)}createReverseTree(){let e=new Map;for(let t=this.getStartIndex();t<this.getStartIndex()+this.count;t+=1n){let n=this.tree.get(t);n!==void 0&&e.set(n,t)}return e}constructor(e,t,n,r,i,a,o){this.hashFunction=e,this.levels=t,this.defaultNodeValue=n,this.tree=r??new Map,this.count=o??0n,this.index=a??2n**(t-1n),i?this.reverseTree=i:this.reverseTree=this.createReverseTree()}getStartIndex(){return 2n**(this.levels-1n)}logarithm2(e){let t=0n;for(;2n**t<e;)t+=1n;return t}bigIntMax(e,t){return e>t?e:t}forceInsert(e,t){if(t<this.getStartIndex())throw RangeError();this.tree.set(t,e),this.reverseTree.set(e,t);let n=this.index-this.getStartIndex(),r=this.logarithm2(n),i=t;for(let e=1n;e<=r;e+=1n){i/=2n;let e=this.hashFunction(this.tree.get(i*2n)||this.defaultNodeValue,this.tree.get(i*2n+1n)||this.defaultNodeValue);this.tree.set(i,e)}}insert(e,n){let r=!1;this.tree.has(n)&&(r=!0,t.t(`Editing commitment index: ${n} `)),r||(this.count+=1n),this.index=this.bigIntMax(this.index,n+1n),this.forceInsert(e,n)}remove(e){this.forceInsert(this.defaultNodeValue,e)}completenessCheck(){if(this.count!==this.index-this.getStartIndex())throw new s}getRootHash(){this.completenessCheck();for(let e=1n;e<2n**this.levels;e*=2n)if(this.tree.get(e))return this.tree.get(e);return this.defaultNodeValue}getMerkleData(){return this.completenessCheck(),new Map(this.tree)}getValue(e){return this.tree.get(e)}getSiblingIndex(e){return e===1n?1n:e%2n==1n?e-1n:e+1n}getSiblingHashesForVerification(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;)n.push(this.tree.get(this.getSiblingIndex(t))??this.defaultNodeValue),t/=2n;return n.slice(0,25)}getSiblingSides(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;){let e=t%2n==0n?0n:1n;n.push(e),t/=2n}return n.slice(0,25)}toJSON(){let{tree:e,reverseTree:t,count:n,index:r}=this;return{tree:Object.fromEntries(e),reverseTree:Object.fromEntries(t),count:n.toString(),index:r.toString()}}toJSONLite(){let{tree:e,count:t,index:n}=this;return{tree:Object.fromEntries(e),count:t.toString(),index:n.toString()}}clone(){return e.createWithData(new Map(this.tree),new Map(this.reverseTree),this.index,this.count,this.hashFunction,this.levels,this.defaultNodeValue)}getIndex(){return this.index}getInsertionSiblingData(e){let t=[],n=[],r=e;for(;r!==0n;)t.push(this.tree.get(this.getSiblingIndex(r))??this.defaultNodeValue),n.push(r%2n==0n?0n:1n),r/=2n;return{siblings:t.slice(0,25),sides:n.slice(0,25)}}},l=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),u=e=>{let n=l(e.tree),r=e.reverseTree?l(e.reverseTree):void 0;return c.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.l,t.s,0n)},d=new e.t,f=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=u(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.i(e))),i);d.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},p=e=>{let{inputUtxosSerialized:n}=e.data,r=n.map(e=>e.map(e=>new t.i(e))).map(e=>e.map(e=>e.amount===0n?`0`:e.getNullifier()));d.postMessageToMainThread(r)},m=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case o.CALC_COMMITMENTS_SIBLING_AND_SIDES:f(e.payload);return;case o.BUILD_IN_NULLIFIERS:p(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(`zk proof worker message failed`,e),d.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await m(e)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hinkal/common",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -82,9 +82,10 @@
82
82
  },
83
83
  "dependencies": {
84
84
  "@coral-xyz/anchor": "^0.32.1",
85
+ "@noble/curves": "^1.9.7",
85
86
  "@solana/spl-token": "^0.4.15",
87
+ "@solana/wallet-adapter-base": "^0.9.27",
86
88
  "@solana/web3.js": "^1.98.4",
87
- "@solana/wallet-adapter-react": "^0.15.39",
88
89
  "axios": "^1.19.0",
89
90
  "async-mutex": "^0.5.0",
90
91
  "bs58": "^6.0.0",
@@ -100,8 +101,9 @@
100
101
  "tweetnacl": "^1.0.3",
101
102
  "process": "0.11.10",
102
103
  "ua-parser-js": "^1.0.37",
103
- "uuid": "^9.0.1",
104
104
  "node-forge": "^1.4.0",
105
+ "bfj": "7.0.2",
106
+ "bigint-buffer": "npm:@trufflesuite/bigint-buffer@^1.1.10",
105
107
  "tronweb": "^6.4.0"
106
108
  },
107
109
  "peerDependencies": {
@@ -1,2 +0,0 @@
1
- const e=require(`./workerProxy-swwPYw6e.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.c(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.c(s);let c=require(`tweetnacl`);c=e.c(c);let l=require(`tronweb`);var u=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),d=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t),f=new class{babyjub=void 0;async init(){this.babyjub||=e.o?(0,r.buildBabyJubRN)():await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},p=()=>f.getJub(),m=new class{eddsa=void 0;async init(){this.eddsa||=e.o?await(0,r.buildEddsaRN)():await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},h=()=>m.getEddsa();function g(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var _=new class{poseidon=void 0;async init(){this.poseidon||=e.o?(0,r.buildPoseidonRN)():await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function v(...e){let t=_.getPoseidon();return g(t.F.toString(t(e)))}var y=(...e)=>{let t=_.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},b=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([a.default.ready,_.init(),f.init(),...e?[]:[m.init()]])};`${`00`.repeat(20)}`;var x=21888242871839275222246405745257275088548364400416034343698204186575808495617n,S=x/2n,C=2n**250n,w=200n,T=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}deleteInMemory(e){this.inMemoryCache.delete(e)}mergeWithSerialized(e){Object.entries(e).forEach(([e,t])=>{this.set(e,d(t))})}},E=class extends T{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([e,t])=>[e,u(t)]))}attach(e){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...t)=>{let n=u(t),r=this.get(n);if(r!==void 0)return r;let i=e(...t);return this.set(n,i),i}}},D=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>S},O=e=>D(e)?1n:0n,k=new E,A=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===l.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(y(this.signature));this.nullifyingKey=i.ethers.toBeHex(e%C)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>i.ethers.keccak256(this.getShieldedPrivateKey());getShieldedPublicKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=h(),t=p(),n=y(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=p(),n=h(),r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),a=t.F.e(e),o=n.signPoseidon(r,a);return{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${s.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=o.Keypair.fromSeed(n);return s.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new o.PublicKey(t).toBytes();return c.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPair=k.attach((e,t)=>{let n=p(),r=n.mulPointEscalar(n.Base8,e),i=n.mulPointEscalar(r,BigInt(t));return{H0:[BigInt(n.F.toString(r[0])),BigInt(n.F.toString(r[1]))],H1:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]}});static getH1FromH0=(e,t)=>{let n=p(),r=[n.F.e(e[0]),n.F.e(e[1])],i=n.mulPointEscalar(r,BigInt(t));return[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddress=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return y(2n*O(e[0])+O(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t),r,i,a=0n;do r=e*10n**a%x,i=r*n%x,a+=1n;while(i>=2n**250n||r>=2n**250n);return r}static getH0FromRandomization=e=>{let t=p(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(i.ethers.keccak256(e)));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),y(this.getAccessKey(),this.getShieldedPublicKey()))},j={WC_NO_MATCHING_KEY:`creating the transaction failed
2
- version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},M={INSUFFICIENT_FUNDS:`Insufficient funds`,INSUFFICIENT_FUNDS_WITHDRAW:`Not enough funds to withdraw`,INSUFFICIENT_FUNDS_TRANSFER:`Not enough funds to transfer`,INSUFFICIENT_FUNDS_TO_TRANSACT:`Not enough funds to transact`,INSUFFICIENT_FUNDS_GAS:`Insufficient funds for gas * price`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Insufficient TRX balance to cover transfer amount and transaction fee reserve`,INSUFFICIENT_SOL_BALANCE:`Insufficient SOL balance`},N={GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT:`Skipped shielding due to gas fee exceeding your limit.`,AUTO_SHIELD_INSUFFICIENT_GAS:`Auto-Shield skipped due to insufficient gas.`};({...j,...M,...N});var P=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),F=()=>Math.floor(Date.now()/1e3),I=class t{amount;erc20TokenAddress;mintAddress;timeStamp;nullifyingKey;spendingPublicKey;H0;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;constructor({amount:e,erc20TokenAddress:t,mintAddress:n,timeStamp:r,nullifyingKey:i,spendingPublicKey:a,randomization:o,H0:s,stealthAddress:c,encryptionKey:l,commitment:u=void 0,nullifier:d=void 0,isBlocked:f=!1}){if(this.amount=e,this.erc20TokenAddress=t,this.mintAddress=n,this.timeStamp=r??F().toString(),this.nullifyingKey=i,this.spendingPublicKey=a,this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f,s!==void 0)this.H0=s;else{let e=o??(i?A.findCorrectRandomization(P(31),i):void 0);if(this.H0=e?A.findH0(e,i):void 0,!this.H0)throw Error(`UTXO requires H0 or nullifyingKey`)}}static createFrom(e,n){return new t({...e.getConstructableParams(),nullifier:void 0,commitment:void 0,...n})}getConstructableParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,nullifyingKey:this.nullifyingKey,spendingPublicKey:this.spendingPublicKey,stealthAddress:this.stealthAddress,encryptionKey:this.encryptionKey,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getBasicUtxoParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,stealthAddress:this.stealthAddress,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getCommitment(){if(!this.commitment){let e=[this.amount,this.erc20TokenAddress,BigInt(this.getStealthAddress()),this.timeStamp];this.commitment=y(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.nullifyingKey)throw Error(`No Nullifiers if private key is not provided`);let e=this.getCommitment(),t=y(this.nullifyingKey,e);this.nullifier=y(e,t)}return this.nullifier}getStealthAddress(){if(!this.stealthAddress){if(!this.nullifyingKey)throw Error(`No stealth address in UTXO if private key is not provided`);if(!this.H0)throw Error(`No H0 point provided`);this.stealthAddress=A.getStealthAddress(this.H0,this.nullifyingKey,this.spendingPublicKey)}return this.stealthAddress}getTokenAddress(t){let n=e.r(t)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}getEncryptionKey(){if(!this.nullifyingKey){if(!this.encryptionKey)throw Error(`No encryption key provided in UTXO`);return this.encryptionKey}return A.getEncryptionKeyPair(this.nullifyingKey).publicKey}},L=()=>a.default.crypto_box_SEALBYTES+a.default.crypto_secretbox_KEYBYTES,R=e=>{let t=a.default.crypto_secretbox_NONCEBYTES,n=L(),r=0,i=e[r];r+=1;let o=e.slice(r,r+t);r+=t;let s=[];for(let t=0;t<i;t+=1)s.push(e.slice(r,r+n)),r+=n;return{nonce:o,sealedKeys:s,ciphertext:e.slice(r)}},z=(e,t,n,r)=>{let{nonce:o,sealedKeys:s,ciphertext:c}=R(e),l=a.default.crypto_box_seal_open(s[r],i.ethers.getBytes(n),i.ethers.getBytes(t)),u=a.default.crypto_secretbox_open_easy(c,o,l);return Buffer.from(u)},B=(e,t)=>{let{privateKey:n,publicKey:r}=A.getEncryptionKeyPair(t.getShieldedPrivateKey()),i=z(e,n,r,0),a=Buffer.from(i).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),s=e=>BigInt(`0x${e}`),c=e=>`0x${e}`,l=a[7]?c(a[7]):void 0,u=l?new o.PublicKey(Buffer.from(l.slice(2),`hex`)).toString():void 0;return{amount:s(a[0]),erc20TokenAddress:c(a[1]),stealthAddress:c(a[2]),nullifyingKey:t.getShieldedPrivateKey(),timeStamp:s(a[3]).toString(),H0:[s(a[4]),s(a[5])],mintAddress:u}},V=(e,t)=>new I(B(e,t)),H=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return y}});