@zama-fhe/sdk 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +0,0 @@
1
- import{i as e,n as t,r as n,t as r}from"./relayer-C6u3eOlN.js";import{t as i}from"./encryption-CmIPBcfP.js";import{n as a}from"./assertions-BARApuMj.js";import{n as o}from"./error-B6H-mBAh.js";import{t as s}from"./hex-D_B-zoId.js";import{T as c,c as l,f as u,l as d,p as f}from"./wrappers-registry-DO0729Zi.js";import{erc20Abi as p,getAddress as m}from"viem";var h=class extends n{constructor(t,n){super(e.SigningRejected,t,n),this.name=`SigningRejectedError`}},g=class extends n{constructor(t,n){super(e.SigningFailed,t,n),this.name=`SigningFailedError`}};function _(e,t){let n=typeof e==`object`&&!!e&&`code`in e&&e.code===4001,r=e instanceof Error?e.message:String(e),i=r.toLowerCase(),a=i.includes(`user rejected`)||i.includes(`user denied`),o=`${t}: ${r}`;throw n||a?new h(o,{cause:e}):new g(o,{cause:e})}var v=class extends n{constructor(t,n){super(e.KeypairExpired,t,n),this.name=`KeypairExpiredError`}},y=class extends n{constructor(t,n){super(e.InvalidKeypair,t,n),this.name=`InvalidKeypairError`}},b=class extends n{constructor(t,n){super(e.NoCiphertext,t,n),this.name=`NoCiphertextError`}},ee=class extends n{constructor(t,n){super(e.DelegationSelfNotAllowed,t,n),this.name=`DelegationSelfNotAllowedError`}},te=class extends n{constructor(t,n){super(e.DelegationCooldown,t,n),this.name=`DelegationCooldownError`}},x=class extends n{constructor(t,n){super(e.DelegationNotFound,t,n),this.name=`DelegationNotFoundError`}},S=class extends n{constructor(t,n){super(e.DelegationExpired,t,n),this.name=`DelegationExpiredError`}},ne=class extends n{constructor(t,n){super(e.DelegationExpiryUnchanged,t,n),this.name=`DelegationExpiryUnchangedError`}},re=class extends n{constructor(t,n){super(e.DelegationDelegateEqualsContract,t,n),this.name=`DelegationDelegateEqualsContractError`}},ie=class extends n{constructor(t,n){super(e.DelegationContractIsSelf,t,n),this.name=`DelegationContractIsSelfError`}},ae=class extends n{constructor(t,n){super(e.AclPaused,t,n),this.name=`AclPausedError`}},oe=class extends n{constructor(t,n){super(e.DelegationExpirationTooSoon,t,n),this.name=`DelegationExpirationTooSoonError`}},C=class extends n{constructor(t,n){super(e.DelegationNotPropagated,t,n),this.name=`DelegationNotPropagatedError`}};function w(e,n,r=!1){if(e instanceof i||e instanceof b||e instanceof t||e instanceof C||e instanceof h||e instanceof g)return e;let a=typeof e==`object`&&e&&`statusCode`in e&&typeof e.statusCode==`number`?e.statusCode:void 0;return a===400?new b(e instanceof Error?e.message:`No ciphertext for this account`,{cause:e}):r&&a===500?new C(`Delegated decryption failed with a server error. This is most commonly caused by the delegation not having propagated to the gateway yet — after granting delegation, allow 1–2 minutes for cross-chain synchronization before retrying. If the error persists, the gateway or relayer may be experiencing an unrelated issue.`,{cause:e}):a===void 0?new i(n,{cause:e}):new t(e instanceof Error?e.message:n,a,{cause:e})}function T(e){return e instanceof h||e instanceof g||e instanceof r}const se=`0x0000000000000000000000000000000000000000000000000000000000000000`;function E(e){return e===`0x0000000000000000000000000000000000000000000000000000000000000000`||e===`0x`}function D(e){return{address:e,abi:p,functionName:`name`,args:[]}}function O(e){return{address:e,abi:p,functionName:`symbol`,args:[]}}function k(e){return{address:e,abi:p,functionName:`decimals`,args:[]}}function ce(e){return{address:e,abi:p,functionName:`totalSupply`,args:[]}}function le(e,t){return{address:e,abi:p,functionName:`balanceOf`,args:[t]}}function A(e,t,n){return{address:e,abi:p,functionName:`allowance`,args:[t,n]}}function ue(e,t,n){return{address:e,abi:p,functionName:`approve`,args:[t,n]}}const j=[{inputs:[{internalType:`address`,name:`delegate`,type:`address`},{internalType:`address`,name:`contractAddress`,type:`address`},{internalType:`uint64`,name:`expirationDate`,type:`uint64`}],name:`delegateForUserDecryption`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`delegate`,type:`address`},{internalType:`address`,name:`contractAddress`,type:`address`}],name:`revokeDelegationForUserDecryption`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`delegator`,type:`address`},{internalType:`address`,name:`delegate`,type:`address`},{internalType:`address`,name:`contractAddress`,type:`address`}],name:`getUserDecryptionDelegationExpirationDate`,outputs:[{internalType:`uint64`,name:``,type:`uint64`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`delegator`,type:`address`},{internalType:`address`,name:`delegate`,type:`address`},{internalType:`address`,name:`contractAddress`,type:`address`},{internalType:`bytes32`,name:`handle`,type:`bytes32`}],name:`isHandleDelegatedForUserDecryption`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`}];function de(e,t,n,r){return{address:e,abi:j,functionName:`delegateForUserDecryption`,args:[t,n,r]}}function fe(e,t,n){return{address:e,abi:j,functionName:`revokeDelegationForUserDecryption`,args:[t,n]}}function M(e,t,n,r){return{address:e,abi:j,functionName:`getUserDecryptionDelegationExpirationDate`,args:[t,n,r]}}function pe(e,t,n,r,i){return{address:e,abi:j,functionName:`isHandleDelegatedForUserDecryption`,args:[t,n,r,i]}}const N=2n**64n-1n,P={CredentialsLoading:`credentials:loading`,CredentialsCached:`credentials:cached`,CredentialsExpired:`credentials:expired`,CredentialsCreating:`credentials:creating`,CredentialsCreated:`credentials:created`,CredentialsRevoked:`credentials:revoked`,CredentialsPersistFailed:`credentials:persist_failed`,CredentialsAllowed:`credentials:allowed`,CredentialsCorrupted:`credentials:corrupted`,SessionExpired:`session:expired`,EncryptStart:`encrypt:start`,EncryptEnd:`encrypt:end`,EncryptError:`encrypt:error`,DecryptStart:`decrypt:start`,DecryptEnd:`decrypt:end`,DecryptError:`decrypt:error`,TransactionError:`transaction:error`,ShieldSubmitted:`shield:submitted`,TransferSubmitted:`transfer:submitted`,TransferFromSubmitted:`transferFrom:submitted`,ApproveSubmitted:`approve:submitted`,ApproveUnderlyingSubmitted:`approveUnderlying:submitted`,UnwrapSubmitted:`unwrap:submitted`,FinalizeUnwrapSubmitted:`finalizeUnwrap:submitted`,DelegationSubmitted:`delegation:submitted`,RevokeDelegationSubmitted:`revokeDelegation:submitted`,UnshieldPhase1Submitted:`unshield:phase1_submitted`,UnshieldPhase2Started:`unshield:phase2_started`,UnshieldPhase2Submitted:`unshield:phase2_submitted`};async function F(e,t=1/0){if(Number.isFinite(t)&&t<=0)throw Error(`maxConcurrency must be a positive number`);if(!Number.isFinite(t)||t>=e.length)return Promise.all(e.map(e=>e()));let n=Array.from({length:e.length}),r=0;async function i(){for(;r<e.length;){let t=r++;e[t]&&(n[t]=await e[t]())}}return await Promise.all(Array.from({length:t},i)),n}var me=class e{sdk;address;constructor(e,t){this.sdk=e,this.address=m(t)}async balanceOf(e){let t=e?m(e):await this.sdk.signer.getAddress(),n=await this.readConfidentialBalanceOf(t),r=(await this.sdk.userDecrypt([{handle:n,contractAddress:this.address}]))[n];if(r===void 0)throw new i(`Decryption returned no value for handle ${n}`);return a(r,`balanceOf: result[handle]`),r}async confidentialBalanceOf(e){let t=e?m(e):await this.sdk.signer.getAddress();return this.readConfidentialBalanceOf(t)}async isConfidential(){return this.sdk.signer.readContract(u(this.address,l))}async isWrapper(){return this.sdk.signer.readContract(u(this.address,d))}static async batchBalancesOf(t,r){let a=new Map,s=new Map;if(t.length===0)return{results:a,errors:s};await e.assertSameSdk(t).allow(t.map(e=>e.address));let c=await F(t.map(e=>async()=>{try{return{status:`fulfilled`,value:await e.balanceOf(r)}}catch(e){return{status:`rejected`,reason:e}}}),5);for(let e=0;e<t.length;e++){let r=t[e].address,l=c[e];if(l.status===`fulfilled`)a.set(r,l.value);else{let e=l.reason;if(T(e))throw e;let t=e instanceof n?e:new i(o(e).message,{cause:e});s.set(r,t)}}if(s.size===t.length)throw s.values().next().value??new i(`All token balance decryptions failed`);return{results:a,errors:s}}static async batchDecryptBalancesAs(t,n){if(t.length===0)return new Map;let{delegatorAddress:r,handles:s,owner:c,onError:l,maxConcurrency:u}=n,d=c??r,f=t[0];e.assertSameSdk(t);let p=s??await Promise.all(t.map(e=>e.readConfidentialBalanceOf(d)));if(t.length!==p.length)throw new i(`tokens.length (${t.length}) must equal handles.length (${p.length})`);let m=new Map,h=[],g=await Promise.all(t.map(async(e,t)=>{let n=p[t];return E(n)?0n:f.sdk.cache.get(d,e.address,n)}));for(let e=0;e<t.length;e++){let n=t[e],r=p[e],i=g[e];if(i!=null){a(i,`batchDecryptBalancesAs: cached`),m.set(n.address,i);continue}h.push({token:n,handle:r})}if(h.length===0)return m;await f.#e(r);let _=h.map(e=>e.token.address),v=await f.sdk.delegatedCredentials.allow(r,..._),y=[],b=[];for(let{token:e,handle:t}of h)b.push(()=>f.sdk.relayer.delegatedUserDecrypt({handles:[t],contractAddress:e.address,signedContractAddresses:v.contractAddresses,privateKey:v.privateKey,publicKey:v.publicKey,signature:v.signature,delegatorAddress:v.delegatorAddress,delegateAddress:v.delegateAddress,startTimestamp:v.startTimestamp,durationDays:v.durationDays}).then(async n=>{let r=n[t];if(r===void 0)throw new i(`Batch delegated decryption returned no value for handle ${t} on token ${e.address}`);a(r,`batchDecryptBalancesAs: result[handle]`),m.set(e.address,r),f.sdk.cache.set(d,e.address,t,r).catch(e=>{console.warn(`[zama-sdk] Failed to cache decrypted value:`,e)})}).catch(t=>{if(T(t))throw t;let n=o(t);if(l)try{m.set(e.address,l(n,e.address))}catch(t){y.push({address:e.address,error:o(t)})}else y.push({address:e.address,error:n})}));if(await F(b,u),y.length>0){let e=y.map(e=>`${e.address}: ${e.error.message}`).join(`; `);throw new i(`Batch delegated decryption failed for ${y.length} token(s): ${e}`,{cause:y[0].error})}return m}async underlyingToken(){return this.sdk.signer.readContract(c(this.address))}async allowance(e,t){let n=m(e),r=await this.sdk.signer.readContract(c(n)),i=t?m(t):await this.sdk.signer.getAddress();return this.sdk.signer.readContract(A(r,i,n))}async name(){return this.sdk.signer.readContract(D(this.address))}async symbol(){return this.sdk.signer.readContract(O(this.address))}async decimals(){return this.sdk.signer.readContract(k(this.address))}async allow(){await this.sdk.allow([this.address])}async isAllowed(){return this.sdk.credentials.isAllowed([this.address])}async revoke(...e){await this.sdk.credentials.revoke(...e)}static async allow(...t){t.length!==0&&await e.assertSameSdk(t).allow(t.map(e=>e.address))}async getAclAddress(){return this.sdk.relayer.getAclAddress()}async isDelegated(e){let t=await this.getDelegationExpiry(e);return t===0n?!1:t===N?!0:t>await this.sdk.signer.getBlockTimestamp()}async getDelegationExpiry({delegatorAddress:e,delegateAddress:t}){let n=await this.getAclAddress();return this.sdk.signer.readContract(M(n,m(e),m(t),this.address))}async#e(e){let t=await this.sdk.signer.getAddress(),n=await this.getDelegationExpiry({delegatorAddress:e,delegateAddress:t});if(n===0n)throw new x(`No active delegation from ${e} to ${t} for ${this.address}`);if(n!==N&&n<=await this.sdk.signer.getBlockTimestamp())throw new S(`Delegation from ${e} to ${t} for ${this.address} has expired`)}async readConfidentialBalanceOf(e){return await this.sdk.signer.readContract(f(this.address,e))}async decryptBalanceAs({delegatorAddress:e,owner:t}){let n=m(e),r=t?m(t):n,s=await this.readConfidentialBalanceOf(r);if(E(s))return 0n;let c=await this.sdk.cache.get(r,this.address,s);if(c!==null)return a(c,`decryptBalanceAs: cached`),c;await this.#e(n);let l=Date.now();try{this.emit({type:P.DecryptStart,handles:[s]});let e=await this.sdk.delegatedCredentials.allow(n,this.address),t=await this.sdk.relayer.delegatedUserDecrypt({handles:[s],contractAddress:this.address,signedContractAddresses:e.contractAddresses,privateKey:e.privateKey,publicKey:e.publicKey,signature:e.signature,delegatorAddress:e.delegatorAddress,delegateAddress:e.delegateAddress,startTimestamp:e.startTimestamp,durationDays:e.durationDays}),o=t[s];if(o===void 0)throw new i(`Delegated decryption returned no value for handle ${s}`);return a(o,`decryptBalanceAs: result[handle]`),this.emit({type:P.DecryptEnd,durationMs:Date.now()-l,handles:[s],result:t}),await this.sdk.cache.set(r,this.address,s,o),o}catch(e){throw this.emit({type:P.DecryptError,error:o(e),durationMs:Date.now()-l,handles:[s]}),w(e,`Failed to decrypt delegated balance`,!0)}}emit(e){this.sdk.emitEvent(e,this.address)}static assertSameSdk(e){let t=e[0].sdk;for(let n=1;n<e.length;n++)if(e[n].sdk!==t)throw new r(`All tokens in a batch operation must share the same ZamaSDK instance`);return t}};const I={ConfidentialTransfer:`0x67500e8d0ed826d2194f514dd0d8124f35648ab6e3fb5e6ed867134cffe661e9`,Wrapped:`0x4700c1726b4198077cd40320a32c45265a1910521eb0ef713dd1d8412413d7fc`,UnwrapRequested:`0x77d02d353c5629272875d11f1b34ec4c65d7430b075575b78cd2502034c469ee`,UnwrappedFinalized:`0x2d4edf3c2943002120f53dab3f8940043f34799f4a92ab90f2f81f7dd004a49e`,UnwrappedStarted:`0x3838891d4843c6d7f9f494570b6fd8843f4e3c3ddb817c1411760bd31b819806`};function L(e){return m(s(e.slice(-40)))}function R(e){return BigInt(e)}function he(e){return e}function z(e,t){let n=2+t*64,r=e.slice(n,n+64);return r.length===64?r:r.padEnd(64,`0`)}function B(e,t){return m(s(z(e,t).slice(-40)))}function V(e,t){return BigInt(`0x`+z(e,t))}function ge(e,t){return BigInt(`0x`+z(e,t))!==0n}function H(e,t){return s(z(e,t))}function U(e){return e.topics[0]!==I.ConfidentialTransfer||e.topics.length<4?null:{eventName:`ConfidentialTransfer`,from:L(e.topics[1]),to:L(e.topics[2]),encryptedAmountHandle:he(e.topics[3])}}function W(e){return e.topics[0]!==I.Wrapped||e.topics.length<2?null:{eventName:`Wrapped`,to:L(e.topics[1]),amountIn:V(e.data,0)}}function G(e){return e.topics[0]!==I.UnwrapRequested||e.topics.length<2?null:{eventName:`UnwrapRequested`,receiver:L(e.topics[1]),encryptedAmount:H(e.data,0)}}function K(e){return e.topics[0]!==I.UnwrappedFinalized||e.topics.length<2?null:{eventName:`UnwrappedFinalized`,receiver:L(e.topics[1]),encryptedAmount:H(e.data,0),cleartextAmount:V(e.data,1)}}function q(e){return e.topics[0]!==I.UnwrappedStarted||e.topics.length<4?null:{eventName:`UnwrappedStarted`,requestId:R(e.topics[1]),txId:R(e.topics[2]),to:L(e.topics[3]),returnVal:ge(e.data,0),refund:B(e.data,1),requestedAmount:H(e.data,2),burnAmount:H(e.data,3)}}function J(e){return U(e)??W(e)??G(e)??K(e)??q(e)}function _e(e){let t=[];for(let n of e){let e=J(n);e&&t.push(e)}return t}function ve(e){for(let t of e){let e=G(t);if(e)return e}return null}function ye(e){for(let t of e){let e=W(t);if(e)return e}return null}const be=[I.ConfidentialTransfer,I.Wrapped,I.UnwrapRequested,I.UnwrappedFinalized,I.UnwrappedStarted],Y={DelegatedForUserDecryption:`0x527b025d7ff06689c1ab9d32dfd7881c964cce72ce8ac5b2fe1d3be8cfda5bfc`,RevokedDelegationForUserDecryption:`0x7aca80b6b7928b9038f186e3d9922a0fc5d52c398fbf144725c142c52a5277e4`};function X(e){return e.topics[0]!==Y.DelegatedForUserDecryption||e.topics.length<3?null:{eventName:`DelegatedForUserDecryption`,delegator:L(e.topics[1]),delegate:L(e.topics[2]),contractAddress:B(e.data,0),delegationCounter:V(e.data,1),oldExpirationDate:V(e.data,2),newExpirationDate:V(e.data,3)}}function Z(e){return e.topics[0]!==Y.RevokedDelegationForUserDecryption||e.topics.length<3?null:{eventName:`RevokedDelegationForUserDecryption`,delegator:L(e.topics[1]),delegate:L(e.topics[2]),contractAddress:B(e.data,0),delegationCounter:V(e.data,1),oldExpirationDate:V(e.data,2)}}function Q(e){return X(e)??Z(e)}function xe(e){let t=[];for(let n of e){let e=Q(n);e&&t.push(e)}return t}function Se(e){for(let t of e){let e=X(t);if(e)return e}return null}function Ce(e){for(let t of e){let e=Z(t);if(e)return e}return null}const we=[Y.DelegatedForUserDecryption,Y.RevokedDelegationForUserDecryption];function Te(e,t){return e.toLowerCase()===t.toLowerCase()}function $(e,t,n){let r=t!==void 0&&Te(e,t),i=n!==void 0&&Te(e,n);return r&&i?`self`:r?`outgoing`:`incoming`}function Ee(e,t,n){switch(e.eventName){case`ConfidentialTransfer`:return De(e,t,n);case`Wrapped`:return Oe(e,t,n);case`UnwrapRequested`:return ke(e,t,n);case`UnwrappedStarted`:return Ae(e,t,n);case`UnwrappedFinalized`:return je(e,t,n);default:throw Error(`Unknown event: ${e.eventName}`)}}function De(e,t,n){return{type:`transfer`,direction:$(t,e.from,e.to),amount:{type:`encrypted`,handle:e.encryptedAmountHandle},from:e.from,to:e.to,metadata:n,rawEvent:e}}function Oe(e,t,n){return{type:`shield`,direction:$(t,void 0,e.to),amount:{type:`clear`,value:e.amountIn},to:e.to,metadata:n,rawEvent:e}}function ke(e,t,n){return{type:`unshield_requested`,direction:$(t,void 0,e.receiver),amount:{type:`encrypted`,handle:e.encryptedAmount},to:e.receiver,metadata:n,rawEvent:e}}function Ae(e,t,n){return{type:`unshield_started`,direction:$(t,void 0,e.to),amount:{type:`encrypted`,handle:e.requestedAmount},to:e.to,success:e.returnVal,metadata:n,rawEvent:e}}function je(e,t,n){return{type:`unshield_finalized`,direction:$(t,void 0,e.receiver),amount:{type:`clear`,value:e.cleartextAmount},to:e.receiver,metadata:n,rawEvent:e}}function Me(e,t){let n=[];for(let r of e){let e=J(r);if(!e)continue;let i={transactionHash:r.transactionHash,blockNumber:r.blockNumber,logIndex:r.logIndex};n.push(Ee(e,t,i))}return n}function Ne(e){let t=new Set;for(let n of e)if(n.amount.type===`encrypted`&&n.amount.decryptedValue===void 0){let e=n.amount.handle;E(e)||t.add(e)}return[...t]}function Pe(e,t){return e.map(e=>{if(e.amount.type!==`encrypted`)return e;let n=t[e.amount.handle];return n===void 0?e:(a(n,`applyDecryptedValues: value`),{...e,amount:{type:`encrypted`,handle:e.amount.handle,decryptedValue:n}})})}function Fe(e){return[...e].toSorted((e,t)=>{let n=e.metadata.blockNumber,r=t.metadata.blockNumber;if(n===void 0&&r===void 0)return 0;if(n===void 0)return-1;if(r===void 0)return 1;let i=typeof n==`bigint`?n:BigInt(n),a=typeof r==`bigint`?r:BigInt(r);if(a>i)return 1;if(a<i)return-1;let o=e.metadata.logIndex??0;return(t.metadata.logIndex??0)-o})}export{v as $,pe as A,E as B,ye as C,N as D,P as E,k as F,re as G,ae as H,ce as I,ne as J,oe as K,D as L,A as M,ue as N,de as O,le as P,y as Q,O as R,ve as S,F as T,ie as U,w as V,te as W,C as X,x as Y,ee as Z,K as _,we as a,Se as b,I as c,U as d,b as et,X as f,G as g,Z as h,Fe as i,fe as j,M as k,Q as l,_e as m,Ne as n,h as nt,Y as o,J as p,S as q,Me as r,_ as rt,be as s,Pe as t,g as tt,xe as u,q as v,me as w,Ce as x,W as y,se as z};
2
- //# sourceMappingURL=activity-dMzF5FdR.js.map
@@ -1,2 +0,0 @@
1
- import{toHex as e}from"viem";const t=[{inputs:[],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{internalType:`address`,name:`target`,type:`address`}],name:`AddressEmptyCode`,type:`error`},{inputs:[],name:`CannotReceiveEthForTokenWrap`,type:`error`},{inputs:[{internalType:`address`,name:`implementation`,type:`address`}],name:`ERC1967InvalidImplementation`,type:`error`},{inputs:[],name:`ERC1967NonPayable`,type:`error`},{inputs:[{internalType:`uint256`,name:`requestId`,type:`uint256`}],name:`ERC7984InvalidGatewayRequest`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`ERC7984InvalidSender`,type:`error`},{inputs:[],name:`ERC7984TotalSupplyOverflow`,type:`error`},{inputs:[{internalType:`address`,name:`caller`,type:`address`}],name:`ERC7984UnauthorizedCaller`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`ERC7984UnauthorizedSpender`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`user`,type:`address`}],name:`ERC7984UnauthorizedUseOfEncryptedAmount`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`}],name:`ERC7984ZeroBalance`,type:`error`},{inputs:[],name:`FailedCall`,type:`error`},{inputs:[],name:`IncorrectEthAmount`,type:`error`},{inputs:[],name:`InvalidInitialization`,type:`error`},{inputs:[],name:`InvalidKMSSignatures`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`InvalidUnwrapRequest`,type:`error`},{inputs:[],name:`NotInitializing`,type:`error`},{inputs:[{internalType:`address`,name:`owner`,type:`address`}],name:`OwnableInvalidOwner`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`OwnableUnauthorizedAccount`,type:`error`},{inputs:[],name:`ReentrancyGuardReentrantCall`,type:`error`},{inputs:[{internalType:`uint8`,name:`bits`,type:`uint8`},{internalType:`uint256`,name:`value`,type:`uint256`}],name:`SafeCastOverflowedUintDowncast`,type:`error`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`SafeERC20FailedOperation`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`SanctionedAddress`,type:`error`},{inputs:[{internalType:`bytes32`,name:`handle`,type:`bytes32`},{internalType:`address`,name:`sender`,type:`address`}],name:`SenderNotAllowedToUseHandle`,type:`error`},{inputs:[],name:`UUPSUnauthorizedCallContext`,type:`error`},{inputs:[{internalType:`bytes32`,name:`slot`,type:`bytes32`}],name:`UUPSUnsupportedProxiableUUID`,type:`error`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`address`,name:`caller`,type:`address`},{internalType:`address`,name:`unwrapInitiator`,type:`address`}],name:`UnauthorizedFinalizeUnwrapCaller`,type:`error`},{inputs:[],name:`WrapperBalanceExceedsMaxSupply`,type:`error`},{inputs:[],name:`ZamaProtocolUnsupported`,type:`error`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`requester`,type:`address`}],name:`AmountDiscloseRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`}],name:`AmountDisclosed`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`BurnInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!0,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`ConfidentialTransfer`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`version`,type:`uint64`}],name:`Initialized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`MintInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`OperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bytes32[]`,name:`handlesList`,type:`bytes32[]`},{indexed:!1,internalType:`bytes`,name:`abiEncodedCleartexts`,type:`bytes`}],name:`PublicDecryptionVerified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`oldRegulator`,type:`address`},{indexed:!0,internalType:`address`,name:`newRegulator`,type:`address`}],name:`TokenRegulatorUpdated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`TransferInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`cleartextAmount`,type:`uint64`}],name:`UnwrapFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`UnwrapRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`returnVal`,type:`bool`},{indexed:!0,internalType:`uint256`,name:`requestId`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`txId`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`address`,name:`refund`,type:`address`},{indexed:!1,internalType:`euint64`,name:`requestedAmount`,type:`bytes32`},{indexed:!1,internalType:`euint64`,name:`burnAmount`,type:`bytes32`}],name:`UnwrappedStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`implementation`,type:`address`}],name:`Upgraded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amountIn`,type:`uint256`}],name:`Wrapped`,type:`event`},{inputs:[],name:`UPGRADE_INTERFACE_VERSION`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`confidentialBalanceOf`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialProtocolId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialTotalSupply`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`contractURI`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`decimals`,outputs:[{internalType:`uint8`,name:``,type:`uint8`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`uint64`,name:`cleartextAmount`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`discloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`uint64`,name:`burntAmountCleartext`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`finalizeUnwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`string`,name:`name_`,type:`string`},{internalType:`string`,name:`symbol_`,type:`string`},{internalType:`string`,name:`contractURI_`,type:`string`},{internalType:`contract IERC20`,name:`underlying_`,type:`address`},{internalType:`address`,name:`owner_`,type:`address`}],name:`initialize`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`isOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`maxTotalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`name`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`nextTxId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:`from`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`onTransferReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`proxiableUUID`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rate`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`regulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`}],name:`requestDiscloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`requestId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newRegulator`,type:`address`}],name:`setTokenRegulator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`symbol`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`tokenRegulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`inferredTotalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`underlying`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newImplementation`,type:`address`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`upgradeToAndCall`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrap`,outputs:[],stateMutability:`nonpayable`,type:`function`}],n=[{inputs:[],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{internalType:`address`,name:`target`,type:`address`}],name:`AddressEmptyCode`,type:`error`},{inputs:[],name:`CannotReceiveEthForTokenWrap`,type:`error`},{inputs:[{internalType:`address`,name:`implementation`,type:`address`}],name:`ERC1967InvalidImplementation`,type:`error`},{inputs:[],name:`ERC1967NonPayable`,type:`error`},{inputs:[{internalType:`uint256`,name:`requestId`,type:`uint256`}],name:`ERC7984InvalidGatewayRequest`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`ERC7984InvalidSender`,type:`error`},{inputs:[],name:`ERC7984TotalSupplyOverflow`,type:`error`},{inputs:[{internalType:`address`,name:`caller`,type:`address`}],name:`ERC7984UnauthorizedCaller`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`ERC7984UnauthorizedSpender`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`user`,type:`address`}],name:`ERC7984UnauthorizedUseOfEncryptedAmount`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`}],name:`ERC7984ZeroBalance`,type:`error`},{inputs:[],name:`FailedCall`,type:`error`},{inputs:[],name:`IncorrectEthAmount`,type:`error`},{inputs:[],name:`InvalidInitialization`,type:`error`},{inputs:[],name:`InvalidKMSSignatures`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`InvalidUnwrapRequest`,type:`error`},{inputs:[],name:`NotInitializing`,type:`error`},{inputs:[{internalType:`address`,name:`owner`,type:`address`}],name:`OwnableInvalidOwner`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`OwnableUnauthorizedAccount`,type:`error`},{inputs:[],name:`ReentrancyGuardReentrantCall`,type:`error`},{inputs:[{internalType:`uint8`,name:`bits`,type:`uint8`},{internalType:`uint256`,name:`value`,type:`uint256`}],name:`SafeCastOverflowedUintDowncast`,type:`error`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`SafeERC20FailedOperation`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`SanctionedAddress`,type:`error`},{inputs:[{internalType:`bytes32`,name:`handle`,type:`bytes32`},{internalType:`address`,name:`sender`,type:`address`}],name:`SenderNotAllowedToUseHandle`,type:`error`},{inputs:[],name:`UUPSUnauthorizedCallContext`,type:`error`},{inputs:[{internalType:`bytes32`,name:`slot`,type:`bytes32`}],name:`UUPSUnsupportedProxiableUUID`,type:`error`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`address`,name:`caller`,type:`address`},{internalType:`address`,name:`unwrapInitiator`,type:`address`}],name:`UnauthorizedFinalizeUnwrapCaller`,type:`error`},{inputs:[],name:`WrapperBalanceExceedsMaxSupply`,type:`error`},{inputs:[],name:`ZamaProtocolUnsupported`,type:`error`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`requester`,type:`address`}],name:`AmountDiscloseRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`}],name:`AmountDisclosed`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`BurnInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!0,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`ConfidentialTransfer`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`version`,type:`uint64`}],name:`Initialized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`MintInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`OperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bytes32[]`,name:`handlesList`,type:`bytes32[]`},{indexed:!1,internalType:`bytes`,name:`abiEncodedCleartexts`,type:`bytes`}],name:`PublicDecryptionVerified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`oldRegulator`,type:`address`},{indexed:!0,internalType:`address`,name:`newRegulator`,type:`address`}],name:`TokenRegulatorUpdated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`TransferInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`cleartextAmount`,type:`uint64`}],name:`UnwrapFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`UnwrapRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`returnVal`,type:`bool`},{indexed:!0,internalType:`uint256`,name:`requestId`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`txId`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`address`,name:`refund`,type:`address`},{indexed:!1,internalType:`euint64`,name:`requestedAmount`,type:`bytes32`},{indexed:!1,internalType:`euint64`,name:`burnAmount`,type:`bytes32`}],name:`UnwrappedStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`implementation`,type:`address`}],name:`Upgraded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amountIn`,type:`uint256`}],name:`Wrapped`,type:`event`},{inputs:[],name:`UPGRADE_INTERFACE_VERSION`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`confidentialBalanceOf`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialProtocolId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialTotalSupply`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`contractURI`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`decimals`,outputs:[{internalType:`uint8`,name:``,type:`uint8`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`uint64`,name:`cleartextAmount`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`discloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`uint64`,name:`burntAmountCleartext`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`finalizeUnwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`string`,name:`name_`,type:`string`},{internalType:`string`,name:`symbol_`,type:`string`},{internalType:`string`,name:`contractURI_`,type:`string`},{internalType:`contract IERC20`,name:`underlying_`,type:`address`},{internalType:`address`,name:`owner_`,type:`address`}],name:`initialize`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`isOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`maxTotalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`name`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`nextTxId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:`from`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`onTransferReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`proxiableUUID`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rate`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`regulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`}],name:`requestDiscloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`requestId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newRegulator`,type:`address`}],name:`setTokenRegulator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`symbol`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`tokenRegulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`inferredTotalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`underlying`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newImplementation`,type:`address`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`upgradeToAndCall`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrap`,outputs:[],stateMutability:`nonpayable`,type:`function`}];function r(e,t,r,i){return{address:e,abi:n,functionName:`finalizeUnwrap`,args:[t,r,i]}}function i(e){return{address:e,abi:n,functionName:`underlying`,args:[]}}function a(e){return{address:e,abi:n,functionName:`inferredTotalSupply`,args:[]}}function o(e,t,r){return{address:e,abi:n,functionName:`wrap`,args:[t,r]}}function s(e,n){return{address:e,abi:t,functionName:`confidentialBalanceOf`,args:[n]}}function c(n,r,i,a){return{address:n,abi:t,functionName:`confidentialTransfer`,args:[r,e(i),e(a)]}}function l(n,r,i,a,o){return{address:n,abi:t,functionName:`confidentialTransferFrom`,args:[r,i,e(a),e(o)]}}function u(e,n,r){return{address:e,abi:t,functionName:`isOperator`,args:[n,r]}}function d(e,n,r){return{address:e,abi:t,functionName:`setOperator`,args:[n,r??Math.floor(Date.now()/1e3)+3600]}}function f(n,r,i,a,o){return{address:n,abi:t,functionName:`unwrap`,args:[r,i,e(a),e(o)]}}function p(e,n,r,i){return{address:e,abi:t,functionName:`unwrap`,args:[n,r,i]}}function m(e){return{address:e,abi:t,functionName:`confidentialTotalSupply`,args:[]}}function h(e){return a(e)}function g(e){return{address:e,abi:t,functionName:`rate`,args:[]}}const _=[{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`}],v=`0x4958f2a4`,y=`0xd04584ba`;function b(e,t){return{address:e,abi:_,functionName:`supportsInterface`,args:[t]}}function x(e){return b(e,v)}function S(e){return b(e,y)}const C=[{inputs:[],name:`getTokenConfidentialTokenPairs`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`address`,name:`confidentialTokenAddress`,type:`address`},{internalType:`bool`,name:`isValid`,type:`bool`}],internalType:`struct ConfidentialTokenWrappersRegistry.TokenWrapperPair[]`,name:``,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getTokenConfidentialTokenPairsLength`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`fromIndex`,type:`uint256`},{internalType:`uint256`,name:`toIndex`,type:`uint256`}],name:`getTokenConfidentialTokenPairsSlice`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`address`,name:`confidentialTokenAddress`,type:`address`},{internalType:`bool`,name:`isValid`,type:`bool`}],internalType:`struct ConfidentialTokenWrappersRegistry.TokenWrapperPair[]`,name:``,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`index`,type:`uint256`}],name:`getTokenConfidentialTokenPair`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`address`,name:`confidentialTokenAddress`,type:`address`},{internalType:`bool`,name:`isValid`,type:`bool`}],internalType:`struct ConfidentialTokenWrappersRegistry.TokenWrapperPair`,name:``,type:`tuple`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`tokenAddress`,type:`address`}],name:`getConfidentialTokenAddress`,outputs:[{internalType:`bool`,name:``,type:`bool`},{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`confidentialTokenAddress`,type:`address`}],name:`getTokenAddress`,outputs:[{internalType:`bool`,name:``,type:`bool`},{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`confidentialTokenAddress`,type:`address`}],name:`isConfidentialTokenValid`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`}];function w(e){return{address:e,abi:C,functionName:`getTokenConfidentialTokenPairs`,args:[]}}function T(e){return{address:e,abi:C,functionName:`getTokenConfidentialTokenPairsLength`,args:[]}}function E(e,t,n){return{address:e,abi:C,functionName:`getTokenConfidentialTokenPairsSlice`,args:[t,n]}}function D(e,t){return{address:e,abi:C,functionName:`getTokenConfidentialTokenPair`,args:[t]}}function O(e,t){return{address:e,abi:C,functionName:`getConfidentialTokenAddress`,args:[t]}}function k(e,t){return{address:e,abi:C,functionName:`getTokenAddress`,args:[t]}}function A(e,t){return{address:e,abi:C,functionName:`isConfidentialTokenValid`,args:[t]}}export{r as C,o as E,p as S,i as T,u as _,T as a,h as b,v as c,S as d,b as f,l as g,c as h,w as i,y as l,m,k as n,E as o,s as p,D as r,A as s,O as t,x as u,g as v,a as w,f as x,d as y};
2
- //# sourceMappingURL=wrappers-registry-DO0729Zi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrappers-registry-DO0729Zi.js","names":[],"sources":["../../src/abi/encrypted.abi.ts","../../src/abi/wrapper.abi.ts","../../src/contracts/wrapper.ts","../../src/contracts/encrypted.ts","../../src/abi/erc165.abi.ts","../../src/contracts/erc165.ts","../../src/contracts/wrappers-registry.ts"],"sourcesContent":["export const encryptedAbi = [\n {\n inputs: [],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n ],\n name: \"AddressEmptyCode\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"CannotReceiveEthForTokenWrap\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"implementation\",\n type: \"address\",\n },\n ],\n name: \"ERC1967InvalidImplementation\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ERC1967NonPayable\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"requestId\",\n type: \"uint256\",\n },\n ],\n name: \"ERC7984InvalidGatewayRequest\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n ],\n name: \"ERC7984InvalidReceiver\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n ],\n name: \"ERC7984InvalidReceiver\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n ],\n name: \"ERC7984InvalidSender\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ERC7984TotalSupplyOverflow\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"caller\",\n type: \"address\",\n },\n ],\n name: \"ERC7984UnauthorizedCaller\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n ],\n name: \"ERC7984UnauthorizedSpender\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"ERC7984UnauthorizedUseOfEncryptedAmount\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n ],\n name: \"ERC7984ZeroBalance\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"FailedCall\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"IncorrectEthAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidInitialization\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidKMSSignatures\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"InvalidUnwrapRequest\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"NotInitializing\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"OwnableInvalidOwner\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\",\n },\n ],\n name: \"OwnableUnauthorizedAccount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ReentrancyGuardReentrantCall\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint8\",\n name: \"bits\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n ],\n name: \"SafeCastOverflowedUintDowncast\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n ],\n name: \"SafeERC20FailedOperation\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\",\n },\n ],\n name: \"SanctionedAddress\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"handle\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n ],\n name: \"SenderNotAllowedToUseHandle\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"UUPSUnauthorizedCallContext\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"slot\",\n type: \"bytes32\",\n },\n ],\n name: \"UUPSUnsupportedProxiableUUID\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"burntAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"caller\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"unwrapInitiator\",\n type: \"address\",\n },\n ],\n name: \"UnauthorizedFinalizeUnwrapCaller\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"WrapperBalanceExceedsMaxSupply\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZamaProtocolUnsupported\",\n type: \"error\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"requester\",\n type: \"address\",\n },\n ],\n name: \"AmountDiscloseRequested\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint64\",\n name: \"amount\",\n type: \"uint64\",\n },\n ],\n name: \"AmountDisclosed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n ],\n name: \"BurnInfo\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"ConfidentialTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint64\",\n name: \"version\",\n type: \"uint64\",\n },\n ],\n name: \"Initialized\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint64\",\n name: \"amount\",\n type: \"uint64\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n ],\n name: \"MintInfo\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"operator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint48\",\n name: \"until\",\n type: \"uint48\",\n },\n ],\n name: \"OperatorSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferStarted\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32[]\",\n name: \"handlesList\",\n type: \"bytes32[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"abiEncodedCleartexts\",\n type: \"bytes\",\n },\n ],\n name: \"PublicDecryptionVerified\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"oldRegulator\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newRegulator\",\n type: \"address\",\n },\n ],\n name: \"TokenRegulatorUpdated\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n ],\n name: \"TransferInfo\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint64\",\n name: \"cleartextAmount\",\n type: \"uint64\",\n },\n ],\n name: \"UnwrapFinalized\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"UnwrapRequested\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bool\",\n name: \"returnVal\",\n type: \"bool\",\n },\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"requestId\",\n type: \"uint256\",\n },\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"requestedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"burnAmount\",\n type: \"bytes32\",\n },\n ],\n name: \"UnwrappedStarted\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"implementation\",\n type: \"address\",\n },\n ],\n name: \"Upgraded\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amountIn\",\n type: \"uint256\",\n },\n ],\n name: \"Wrapped\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"UPGRADE_INTERFACE_VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"acceptOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\",\n },\n ],\n name: \"confidentialBalanceOf\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"confidentialProtocolId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"confidentialTotalSupply\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransfer\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"confidentialTransfer\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferAndCall\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferAndCall\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferFrom\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"confidentialTransferFrom\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferFromAndCall\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferFromAndCall\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"contractURI\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"decimals\",\n outputs: [\n {\n internalType: \"uint8\",\n name: \"\",\n type: \"uint8\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint64\",\n name: \"cleartextAmount\",\n type: \"uint64\",\n },\n {\n internalType: \"bytes\",\n name: \"decryptionProof\",\n type: \"bytes\",\n },\n ],\n name: \"discloseEncryptedAmount\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"burntAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint64\",\n name: \"burntAmountCleartext\",\n type: \"uint64\",\n },\n {\n internalType: \"bytes\",\n name: \"decryptionProof\",\n type: \"bytes\",\n },\n ],\n name: \"finalizeUnwrap\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"name_\",\n type: \"string\",\n },\n {\n internalType: \"string\",\n name: \"symbol_\",\n type: \"string\",\n },\n {\n internalType: \"string\",\n name: \"contractURI_\",\n type: \"string\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"underlying_\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"owner_\",\n type: \"address\",\n },\n ],\n name: \"initialize\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n ],\n name: \"isOperator\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"maxTotalSupply\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"name\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"nextTxId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"onTransferReceived\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pendingOwner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"proxiableUUID\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"rate\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"regulator\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n ],\n name: \"requestDiscloseEncryptedAmount\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"requestId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"operator\",\n type: \"address\",\n },\n {\n internalType: \"uint48\",\n name: \"until\",\n type: \"uint48\",\n },\n ],\n name: \"setOperator\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newRegulator\",\n type: \"address\",\n },\n ],\n name: \"setTokenRegulator\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"interfaceId\",\n type: \"bytes4\",\n },\n ],\n name: \"supportsInterface\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"symbol\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenRegulator\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"inferredTotalSupply\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"underlying\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n ],\n name: \"unwrap\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"unwrap\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"unwrapCallbackData\",\n type: \"bytes\",\n },\n ],\n name: \"unwrapAndCall\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"unwrapCallbackData\",\n type: \"bytes\",\n },\n ],\n name: \"unwrapAndCall\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n ],\n name: \"unwrapWithRefund\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n ],\n name: \"unwrapWithRefund\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newImplementation\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"upgradeToAndCall\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"wrap\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n","export const wrapperAbi = [\n {\n inputs: [],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n ],\n name: \"AddressEmptyCode\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"CannotReceiveEthForTokenWrap\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"implementation\",\n type: \"address\",\n },\n ],\n name: \"ERC1967InvalidImplementation\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ERC1967NonPayable\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"requestId\",\n type: \"uint256\",\n },\n ],\n name: \"ERC7984InvalidGatewayRequest\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n ],\n name: \"ERC7984InvalidReceiver\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n ],\n name: \"ERC7984InvalidReceiver\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n ],\n name: \"ERC7984InvalidSender\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ERC7984TotalSupplyOverflow\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"caller\",\n type: \"address\",\n },\n ],\n name: \"ERC7984UnauthorizedCaller\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n ],\n name: \"ERC7984UnauthorizedSpender\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"ERC7984UnauthorizedUseOfEncryptedAmount\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n ],\n name: \"ERC7984ZeroBalance\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"FailedCall\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"IncorrectEthAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidInitialization\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidKMSSignatures\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"InvalidUnwrapRequest\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"NotInitializing\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"OwnableInvalidOwner\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\",\n },\n ],\n name: \"OwnableUnauthorizedAccount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ReentrancyGuardReentrantCall\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint8\",\n name: \"bits\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n ],\n name: \"SafeCastOverflowedUintDowncast\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n ],\n name: \"SafeERC20FailedOperation\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\",\n },\n ],\n name: \"SanctionedAddress\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"handle\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n ],\n name: \"SenderNotAllowedToUseHandle\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"UUPSUnauthorizedCallContext\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"slot\",\n type: \"bytes32\",\n },\n ],\n name: \"UUPSUnsupportedProxiableUUID\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"burntAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"caller\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"unwrapInitiator\",\n type: \"address\",\n },\n ],\n name: \"UnauthorizedFinalizeUnwrapCaller\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"WrapperBalanceExceedsMaxSupply\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZamaProtocolUnsupported\",\n type: \"error\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"requester\",\n type: \"address\",\n },\n ],\n name: \"AmountDiscloseRequested\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint64\",\n name: \"amount\",\n type: \"uint64\",\n },\n ],\n name: \"AmountDisclosed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n ],\n name: \"BurnInfo\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"ConfidentialTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint64\",\n name: \"version\",\n type: \"uint64\",\n },\n ],\n name: \"Initialized\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint64\",\n name: \"amount\",\n type: \"uint64\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n ],\n name: \"MintInfo\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"operator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint48\",\n name: \"until\",\n type: \"uint48\",\n },\n ],\n name: \"OperatorSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferStarted\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32[]\",\n name: \"handlesList\",\n type: \"bytes32[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"abiEncodedCleartexts\",\n type: \"bytes\",\n },\n ],\n name: \"PublicDecryptionVerified\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"oldRegulator\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newRegulator\",\n type: \"address\",\n },\n ],\n name: \"TokenRegulatorUpdated\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n ],\n name: \"TransferInfo\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint64\",\n name: \"cleartextAmount\",\n type: \"uint64\",\n },\n ],\n name: \"UnwrapFinalized\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"UnwrapRequested\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bool\",\n name: \"returnVal\",\n type: \"bool\",\n },\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"requestId\",\n type: \"uint256\",\n },\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"requestedAmount\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"euint64\",\n name: \"burnAmount\",\n type: \"bytes32\",\n },\n ],\n name: \"UnwrappedStarted\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"implementation\",\n type: \"address\",\n },\n ],\n name: \"Upgraded\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amountIn\",\n type: \"uint256\",\n },\n ],\n name: \"Wrapped\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"UPGRADE_INTERFACE_VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"acceptOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\",\n },\n ],\n name: \"confidentialBalanceOf\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"confidentialProtocolId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"confidentialTotalSupply\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransfer\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"confidentialTransfer\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferAndCall\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferAndCall\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferFrom\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"confidentialTransferFrom\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferFromAndCall\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"confidentialTransferFromAndCall\",\n outputs: [\n {\n internalType: \"euint64\",\n name: \"transferred\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"contractURI\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"decimals\",\n outputs: [\n {\n internalType: \"uint8\",\n name: \"\",\n type: \"uint8\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint64\",\n name: \"cleartextAmount\",\n type: \"uint64\",\n },\n {\n internalType: \"bytes\",\n name: \"decryptionProof\",\n type: \"bytes\",\n },\n ],\n name: \"discloseEncryptedAmount\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"burntAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint64\",\n name: \"burntAmountCleartext\",\n type: \"uint64\",\n },\n {\n internalType: \"bytes\",\n name: \"decryptionProof\",\n type: \"bytes\",\n },\n ],\n name: \"finalizeUnwrap\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"name_\",\n type: \"string\",\n },\n {\n internalType: \"string\",\n name: \"symbol_\",\n type: \"string\",\n },\n {\n internalType: \"string\",\n name: \"contractURI_\",\n type: \"string\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"underlying_\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"owner_\",\n type: \"address\",\n },\n ],\n name: \"initialize\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n ],\n name: \"isOperator\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"maxTotalSupply\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"name\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"nextTxId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"onTransferReceived\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pendingOwner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"proxiableUUID\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"rate\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"regulator\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"euint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n ],\n name: \"requestDiscloseEncryptedAmount\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"requestId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"operator\",\n type: \"address\",\n },\n {\n internalType: \"uint48\",\n name: \"until\",\n type: \"uint48\",\n },\n ],\n name: \"setOperator\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newRegulator\",\n type: \"address\",\n },\n ],\n name: \"setTokenRegulator\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"interfaceId\",\n type: \"bytes4\",\n },\n ],\n name: \"supportsInterface\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"symbol\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenRegulator\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"inferredTotalSupply\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"underlying\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n ],\n name: \"unwrap\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n ],\n name: \"unwrap\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"unwrapCallbackData\",\n type: \"bytes\",\n },\n ],\n name: \"unwrapAndCall\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"unwrapCallbackData\",\n type: \"bytes\",\n },\n ],\n name: \"unwrapAndCall\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"euint64\",\n name: \"amount\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n ],\n name: \"unwrapWithRefund\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"address\",\n name: \"refund\",\n type: \"address\",\n },\n ],\n name: \"unwrapWithRefund\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newImplementation\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"upgradeToAndCall\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"wrap\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n","import type { Address, Hex } from \"viem\";\nimport type { Handle } from \"../relayer/relayer-sdk.types\";\nimport { wrapperAbi } from \"../abi/wrapper.abi\";\n\n/**\n * Returns the contract config for finalizing an unwrap.\n *\n * @example\n * ```ts\n * const txHash = await signer.writeContract(\n * finalizeUnwrapContract(wrapper, burntAmount, cleartext, proof),\n * );\n * ```\n */\nexport function finalizeUnwrapContract(\n wrapper: Address,\n burntAmount: Handle,\n burntAmountCleartext: bigint,\n decryptionProof: Hex,\n) {\n return {\n address: wrapper,\n abi: wrapperAbi,\n functionName: \"finalizeUnwrap\",\n args: [burntAmount, burntAmountCleartext, decryptionProof],\n } as const;\n}\n\n/**\n * Returns the contract config to read the underlying ERC-20 token of a wrapper.\n *\n * @example\n * ```ts\n * const token = await signer.readContract(underlyingContract(wrapperAddress));\n * ```\n */\nexport function underlyingContract(wrapperAddress: Address) {\n return {\n address: wrapperAddress,\n abi: wrapperAbi,\n functionName: \"underlying\",\n args: [],\n } as const;\n}\n\n/**\n * Returns the contract config to read the inferred plaintext total supply.\n *\n * @example\n * ```ts\n * const supply = await signer.readContract(\n * inferredTotalSupplyContract(wrapperAddress),\n * );\n * ```\n */\nexport function inferredTotalSupplyContract(wrapperAddress: Address) {\n return {\n address: wrapperAddress,\n abi: wrapperAbi,\n functionName: \"inferredTotalSupply\",\n args: [],\n } as const;\n}\n\n/**\n * Returns the contract config for a wrap (shield) operation.\n *\n * @example\n * ```ts\n * const txHash = await signer.writeContract(\n * wrapContract(wrapperAddress, to, amount),\n * );\n * ```\n */\nexport function wrapContract(wrapperAddress: Address, to: Address, amount: bigint) {\n return {\n address: wrapperAddress,\n abi: wrapperAbi,\n functionName: \"wrap\",\n args: [to, amount],\n } as const;\n}\n","import type { Address } from \"viem\";\nimport { toHex } from \"viem\";\nimport { encryptedAbi } from \"../abi/encrypted.abi\";\nimport type { Handle } from \"../relayer/relayer-sdk.types\";\nimport { inferredTotalSupplyContract } from \"./wrapper\";\n\n/**\n * Returns the contract config to read an encrypted balance.\n *\n * @example\n * ```ts\n * const handle = await signer.readContract(\n * confidentialBalanceOfContract(tokenAddress, userAddress),\n * );\n * ```\n */\nexport function confidentialBalanceOfContract(tokenAddress: Address, userAddress: Address) {\n return {\n address: tokenAddress,\n abi: encryptedAbi,\n functionName: \"confidentialBalanceOf\",\n args: [userAddress],\n } as const;\n}\n\n/**\n * Returns the contract config for a confidential transfer.\n *\n * @example\n * ```ts\n * const txHash = await signer.writeContract(\n * confidentialTransferContract(tokenAddress, to, handles[0], inputProof),\n * );\n * ```\n */\nexport function confidentialTransferContract(\n encryptedErc20: Address,\n to: Address,\n handle: Uint8Array,\n inputProof: Uint8Array,\n) {\n return {\n address: encryptedErc20,\n abi: encryptedAbi,\n functionName: \"confidentialTransfer\",\n args: [to, toHex(handle), toHex(inputProof)],\n } as const;\n}\n\n/**\n * Returns the contract config for a confidential transferFrom.\n *\n * @example\n * ```ts\n * const txHash = await signer.writeContract(\n * confidentialTransferFromContract(tokenAddress, from, to, handles[0], inputProof),\n * );\n * ```\n */\nexport function confidentialTransferFromContract(\n encryptedErc20: Address,\n from: Address,\n to: Address,\n handle: Uint8Array,\n inputProof: Uint8Array,\n) {\n return {\n address: encryptedErc20,\n abi: encryptedAbi,\n functionName: \"confidentialTransferFrom\",\n args: [from, to, toHex(handle), toHex(inputProof)],\n } as const;\n}\n\n/**\n * Returns the contract config for checking operator status.\n *\n * @example\n * ```ts\n * const isApproved = await signer.readContract(\n * isOperatorContract(tokenAddress, holder, spender),\n * );\n * ```\n */\nexport function isOperatorContract(tokenAddress: Address, holder: Address, spender: Address) {\n return {\n address: tokenAddress,\n abi: encryptedAbi,\n functionName: \"isOperator\",\n args: [holder, spender],\n } as const;\n}\n\n/**\n * Returns the contract config for setting an operator.\n * Defaults timestamp to 1 hour from now.\n *\n * @example\n * ```ts\n * const txHash = await signer.writeContract(\n * setOperatorContract(tokenAddress, spender),\n * );\n * ```\n */\nexport function setOperatorContract(tokenAddress: Address, spender: Address, timestamp?: number) {\n const until = timestamp ?? Math.floor(Date.now() / 1000) + 3600;\n return {\n address: tokenAddress,\n abi: encryptedAbi,\n functionName: \"setOperator\",\n args: [spender, until],\n } as const;\n}\n\n/**\n * Returns the contract config for an unwrap with newly encrypted amount.\n *\n * @example\n * ```ts\n * const txHash = await signer.writeContract(\n * unwrapContract(encryptedErc20, from, to, handles[0], inputProof),\n * );\n * ```\n */\nexport function unwrapContract(\n encryptedErc20: Address,\n from: Address,\n to: Address,\n encryptedAmount: Uint8Array,\n inputProof: Uint8Array,\n) {\n return {\n address: encryptedErc20,\n abi: encryptedAbi,\n functionName: \"unwrap\",\n args: [from, to, toHex(encryptedAmount), toHex(inputProof)],\n } as const;\n}\n\n/**\n * Returns the contract config for an unwrap with an existing balance handle.\n *\n * @example\n * ```ts\n * const txHash = await signer.writeContract(\n * unwrapFromBalanceContract(encryptedErc20, from, to, encryptedBalance),\n * );\n * ```\n */\nexport function unwrapFromBalanceContract(\n encryptedErc20: Address,\n from: Address,\n to: Address,\n encryptedBalance: Handle,\n) {\n return {\n address: encryptedErc20,\n abi: encryptedAbi,\n functionName: \"unwrap\",\n args: [from, to, encryptedBalance],\n } as const;\n}\n\n/**\n * Returns the contract config to read the confidential (encrypted) total supply.\n *\n * @example\n * ```ts\n * const handle = await signer.readContract(\n * confidentialTotalSupplyContract(tokenAddress),\n * );\n * ```\n */\nexport function confidentialTotalSupplyContract(tokenAddress: Address) {\n return {\n address: tokenAddress,\n abi: encryptedAbi,\n functionName: \"confidentialTotalSupply\",\n args: [],\n } as const;\n}\n\n/**\n * Returns the contract config to read the inferred plaintext total supply.\n *\n * @deprecated Use {@link inferredTotalSupplyContract}. `totalSupply()` was\n * renamed to `inferredTotalSupply()` on wrapper contracts.\n *\n * @example\n * ```ts\n * const supply = await signer.readContract(\n * totalSupplyContract(wrapperAddress),\n * );\n * ```\n */\nexport function totalSupplyContract(wrapperAddress: Address) {\n return inferredTotalSupplyContract(wrapperAddress);\n}\n\n/**\n * Returns the contract config to read the wrap/unwrap conversion rate.\n *\n * @example\n * ```ts\n * const rate = await signer.readContract(rateContract(tokenAddress));\n * ```\n */\nexport function rateContract(tokenAddress: Address) {\n return {\n address: tokenAddress,\n abi: encryptedAbi,\n functionName: \"rate\",\n args: [],\n } as const;\n}\n","export const erc165Abi = [\n {\n inputs: [{ internalType: \"bytes4\", name: \"interfaceId\", type: \"bytes4\" }],\n name: \"supportsInterface\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n] as const;\n","import type { Address } from \"viem\";\nimport { erc165Abi } from \"../abi/erc165.abi\";\n\n/** ERC-165 interface ID for IERC7984 (confidential fungible token). */\nexport const ERC7984_INTERFACE_ID = \"0x4958f2a4\" as const;\n\n/** ERC-165 interface ID for IERC7984ERC20Wrapper (confidential wrapper). */\nexport const ERC7984_WRAPPER_INTERFACE_ID = \"0xd04584ba\" as const;\n\n/**\n * Returns the contract config for an ERC-165 `supportsInterface` check.\n *\n * Use with {@link ERC7984_INTERFACE_ID} to detect confidential tokens,\n * or {@link ERC7984_WRAPPER_INTERFACE_ID} to detect wrappers.\n *\n * @example\n * ```ts\n * const isConfidential = await signer.readContract(\n * supportsInterfaceContract(tokenAddress, ERC7984_INTERFACE_ID),\n * );\n * ```\n */\nexport function supportsInterfaceContract(tokenAddress: Address, interfaceId: Address) {\n return {\n address: tokenAddress,\n abi: erc165Abi,\n functionName: \"supportsInterface\",\n args: [interfaceId],\n } as const;\n}\n\n/**\n * Returns contract config to check if a token implements IERC7984 (confidential fungible token).\n *\n * @example\n * ```ts\n * const isConfidential = await signer.readContract(\n * isConfidentialTokenContract(\"0xTokenAddress\"),\n * );\n * ```\n */\nexport function isConfidentialTokenContract(tokenAddress: Address) {\n return supportsInterfaceContract(tokenAddress, ERC7984_INTERFACE_ID);\n}\n\n/**\n * Returns contract config to check if a token implements IERC7984ERC20Wrapper (confidential wrapper).\n *\n * @example\n * ```ts\n * const isWrapper = await signer.readContract(\n * isConfidentialWrapperContract(\"0xWrapperAddress\"),\n * );\n * ```\n */\nexport function isConfidentialWrapperContract(tokenAddress: Address) {\n return supportsInterfaceContract(tokenAddress, ERC7984_WRAPPER_INTERFACE_ID);\n}\n","import type { Address } from \"viem\";\n\nexport const wrappersRegistryAbi = [\n {\n inputs: [],\n name: \"getTokenConfidentialTokenPairs\",\n outputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenAddress\", type: \"address\" },\n {\n internalType: \"address\",\n name: \"confidentialTokenAddress\",\n type: \"address\",\n },\n { internalType: \"bool\", name: \"isValid\", type: \"bool\" },\n ],\n internalType: \"struct ConfidentialTokenWrappersRegistry.TokenWrapperPair[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getTokenConfidentialTokenPairsLength\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"fromIndex\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"toIndex\", type: \"uint256\" },\n ],\n name: \"getTokenConfidentialTokenPairsSlice\",\n outputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenAddress\", type: \"address\" },\n {\n internalType: \"address\",\n name: \"confidentialTokenAddress\",\n type: \"address\",\n },\n { internalType: \"bool\", name: \"isValid\", type: \"bool\" },\n ],\n internalType: \"struct ConfidentialTokenWrappersRegistry.TokenWrapperPair[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"index\", type: \"uint256\" }],\n name: \"getTokenConfidentialTokenPair\",\n outputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenAddress\", type: \"address\" },\n {\n internalType: \"address\",\n name: \"confidentialTokenAddress\",\n type: \"address\",\n },\n { internalType: \"bool\", name: \"isValid\", type: \"bool\" },\n ],\n internalType: \"struct ConfidentialTokenWrappersRegistry.TokenWrapperPair\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"tokenAddress\", type: \"address\" }],\n name: \"getConfidentialTokenAddress\",\n outputs: [\n { internalType: \"bool\", name: \"\", type: \"bool\" },\n { internalType: \"address\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"confidentialTokenAddress\",\n type: \"address\",\n },\n ],\n name: \"getTokenAddress\",\n outputs: [\n { internalType: \"bool\", name: \"\", type: \"bool\" },\n { internalType: \"address\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"confidentialTokenAddress\",\n type: \"address\",\n },\n ],\n name: \"isConfidentialTokenValid\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n] as const;\n\nexport interface TokenWrapperPair {\n readonly tokenAddress: Address;\n readonly confidentialTokenAddress: Address;\n readonly isValid: boolean;\n}\n\n/** Extended pair with on-chain metadata for both tokens. */\nexport interface TokenWrapperPairWithMetadata extends TokenWrapperPair {\n readonly underlying: {\n readonly name: string;\n readonly symbol: string;\n readonly decimals: number;\n readonly totalSupply: bigint;\n };\n readonly confidential: {\n readonly name: string;\n readonly symbol: string;\n readonly decimals: number;\n };\n}\n\n/** Paginated result set modelled after standard API pagination. */\nexport interface PaginatedResult<T> {\n readonly items: readonly T[];\n readonly total: number;\n readonly page: number;\n readonly pageSize: number;\n}\n\n/**\n * Returns the contract config to fetch all token wrapper pairs.\n *\n * @example\n * ```ts\n * const pairs = await client.readContract(\n * getTokenPairsContract(registryAddress),\n * );\n * ```\n */\nexport function getTokenPairsContract(registry: Address) {\n return {\n address: registry,\n abi: wrappersRegistryAbi,\n functionName: \"getTokenConfidentialTokenPairs\",\n args: [],\n } as const;\n}\n\n/**\n * Returns the contract config to get the number of token wrapper pairs.\n *\n * @example\n * ```ts\n * const length = await client.readContract(\n * getTokenPairsLengthContract(registryAddress),\n * );\n * ```\n */\nexport function getTokenPairsLengthContract(registry: Address) {\n return {\n address: registry,\n abi: wrappersRegistryAbi,\n functionName: \"getTokenConfidentialTokenPairsLength\",\n args: [],\n } as const;\n}\n\n/**\n * Returns the contract config to fetch a slice of token wrapper pairs.\n *\n * @example\n * ```ts\n * const pairs = await client.readContract(\n * getTokenPairsSliceContract(registryAddress, 0n, 10n),\n * );\n * ```\n */\nexport function getTokenPairsSliceContract(registry: Address, fromIndex: bigint, toIndex: bigint) {\n return {\n address: registry,\n abi: wrappersRegistryAbi,\n functionName: \"getTokenConfidentialTokenPairsSlice\",\n args: [fromIndex, toIndex],\n } as const;\n}\n\n/**\n * Returns the contract config to fetch a single token wrapper pair by index.\n *\n * @example\n * ```ts\n * const pair = await client.readContract(\n * getTokenPairContract(registryAddress, 0n),\n * );\n * ```\n */\nexport function getTokenPairContract(registry: Address, index: bigint) {\n return {\n address: registry,\n abi: wrappersRegistryAbi,\n functionName: \"getTokenConfidentialTokenPair\",\n args: [index],\n } as const;\n}\n\n/**\n * Returns the contract config to look up the confidential token for a given plain token.\n *\n * @example\n * ```ts\n * const [found, confidentialToken] = await client.readContract(\n * getConfidentialTokenAddressContract(registryAddress, tokenAddress),\n * );\n * ```\n */\nexport function getConfidentialTokenAddressContract(registry: Address, tokenAddress: Address) {\n return {\n address: registry,\n abi: wrappersRegistryAbi,\n functionName: \"getConfidentialTokenAddress\",\n args: [tokenAddress],\n } as const;\n}\n\n/**\n * Returns the contract config to look up the plain token for a given confidential token.\n *\n * @example\n * ```ts\n * const [found, token] = await client.readContract(\n * getTokenAddressContract(registryAddress, confidentialTokenAddress),\n * );\n * ```\n */\nexport function getTokenAddressContract(registry: Address, confidentialTokenAddress: Address) {\n return {\n address: registry,\n abi: wrappersRegistryAbi,\n functionName: \"getTokenAddress\",\n args: [confidentialTokenAddress],\n } as const;\n}\n\n/**\n * Returns the contract config to check if a confidential token is valid.\n *\n * @example\n * ```ts\n * const isValid = await client.readContract(\n * isConfidentialTokenValidContract(registryAddress, confidentialTokenAddress),\n * );\n * ```\n */\nexport function isConfidentialTokenValidContract(\n registry: Address,\n confidentialTokenAddress: Address,\n) {\n return {\n address: registry,\n abi: wrappersRegistryAbi,\n functionName: \"isConfidentialTokenValid\",\n args: [confidentialTokenAddress],\n } as const;\n}\n"],"mappings":"6BAAA,MAAa,EAAe,CAC1B,CACE,OAAQ,EAAE,CACV,gBAAiB,aACjB,KAAM,cACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,mBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,iBACN,KAAM,UACP,CACF,CACD,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,oBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,UACP,CACF,CACD,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,yBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,yBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,6BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,4BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,6BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,0CACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,qBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,aACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,qBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,wBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,uBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,kBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,UACP,CACF,CACD,KAAM,sBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,6BACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,UACP,CACF,CACD,KAAM,iCACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,UACP,CACF,CACD,KAAM,2BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,oBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,8BACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,8BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACF,CACD,KAAM,mCACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,iCACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,0BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,UACP,CACF,CACD,KAAM,0BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,SACd,KAAM,SACN,KAAM,SACP,CACF,CACD,KAAM,kBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,WACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,SACd,KAAM,UACN,KAAM,SACP,CACF,CACD,KAAM,cACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,SACd,KAAM,SACN,KAAM,SACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,WACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,SACd,KAAM,QACN,KAAM,SACP,CACF,CACD,KAAM,cACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,gBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,2BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,gBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,YACd,KAAM,cACN,KAAM,YACP,CACD,CACE,QAAS,GACT,aAAc,QACd,KAAM,uBACN,KAAM,QACP,CACF,CACD,KAAM,2BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,UACP,CACF,CACD,KAAM,wBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,eACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,SACd,KAAM,kBACN,KAAM,SACP,CACF,CACD,KAAM,kBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,kBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,OACd,KAAM,YACN,KAAM,OACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,aACN,KAAM,UACP,CACF,CACD,KAAM,mBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,iBACN,KAAM,UACP,CACF,CACD,KAAM,WACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,UACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,4BACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,kBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,wBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,yBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,0BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACF,CACD,KAAM,uBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,8BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,8BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACF,CACD,KAAM,2BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,2BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,kCACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,kCACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,cACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,WACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,GACN,KAAM,QACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,SACd,KAAM,kBACN,KAAM,SACP,CACD,CACE,aAAc,QACd,KAAM,kBACN,KAAM,QACP,CACF,CACD,KAAM,0BACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACD,CACE,aAAc,SACd,KAAM,uBACN,KAAM,SACP,CACD,CACE,aAAc,QACd,KAAM,kBACN,KAAM,QACP,CACF,CACD,KAAM,iBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,QACN,KAAM,SACP,CACD,CACE,aAAc,SACd,KAAM,UACN,KAAM,SACP,CACD,CACE,aAAc,SACd,KAAM,eACN,KAAM,SACP,CACD,CACE,aAAc,kBACd,KAAM,cACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,aACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,aACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,OACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,OACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,WACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,qBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,OACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,oBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACF,CACD,KAAM,iCACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACD,CACE,aAAc,SACd,KAAM,QACN,KAAM,SACP,CACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,eACN,KAAM,UACP,CACF,CACD,KAAM,oBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACP,CACF,CACD,KAAM,oBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,OACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,SACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,sBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,oBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,aACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACF,CACD,KAAM,SACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,SACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,qBACN,KAAM,QACP,CACF,CACD,KAAM,gBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,qBACN,KAAM,QACP,CACF,CACD,KAAM,gBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,oBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,gBAAiB,UACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,OACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACF,CCvmDY,EAAa,CACxB,CACE,OAAQ,EAAE,CACV,gBAAiB,aACjB,KAAM,cACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,mBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,iBACN,KAAM,UACP,CACF,CACD,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,oBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,UACP,CACF,CACD,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,yBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,yBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,6BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,4BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,6BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,0CACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,qBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,aACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,qBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,wBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,uBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,kBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,UACP,CACF,CACD,KAAM,sBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,6BACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,UACP,CACF,CACD,KAAM,iCACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,UACP,CACF,CACD,KAAM,2BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,oBACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,8BACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,8BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,+BACN,KAAM,QACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACF,CACD,KAAM,mCACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,iCACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,0BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,UACP,CACF,CACD,KAAM,0BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,SACd,KAAM,SACN,KAAM,SACP,CACF,CACD,KAAM,kBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,WACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,SACd,KAAM,UACN,KAAM,SACP,CACF,CACD,KAAM,cACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,SACd,KAAM,SACN,KAAM,SACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,WACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,SACd,KAAM,QACN,KAAM,SACP,CACF,CACD,KAAM,cACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,gBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,2BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,gBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,YACd,KAAM,cACN,KAAM,YACP,CACD,CACE,QAAS,GACT,aAAc,QACd,KAAM,uBACN,KAAM,QACP,CACF,CACD,KAAM,2BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,UACP,CACF,CACD,KAAM,wBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,eACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,SACd,KAAM,kBACN,KAAM,SACP,CACF,CACD,KAAM,kBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,kBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,OACd,KAAM,YACN,KAAM,OACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,aACN,KAAM,UACP,CACF,CACD,KAAM,mBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,iBACN,KAAM,UACP,CACF,CACD,KAAM,WACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,UACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,4BACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,kBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,wBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,yBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,0BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACF,CACD,KAAM,uBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,uBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,8BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,8BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACF,CACD,KAAM,2BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,2BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,kCACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,kCACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,cACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,WACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,GACN,KAAM,QACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,SACd,KAAM,kBACN,KAAM,SACP,CACD,CACE,aAAc,QACd,KAAM,kBACN,KAAM,QACP,CACF,CACD,KAAM,0BACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,cACN,KAAM,UACP,CACD,CACE,aAAc,SACd,KAAM,uBACN,KAAM,SACP,CACD,CACE,aAAc,QACd,KAAM,kBACN,KAAM,QACP,CACF,CACD,KAAM,iBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,QACN,KAAM,SACP,CACD,CACE,aAAc,SACd,KAAM,UACN,KAAM,SACP,CACD,CACE,aAAc,SACd,KAAM,eACN,KAAM,SACP,CACD,CACE,aAAc,kBACd,KAAM,cACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,aACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,aACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,OACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,OACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,WACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,qBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,OACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,oBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,kBACN,KAAM,UACP,CACF,CACD,KAAM,iCACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACD,CACE,aAAc,SACd,KAAM,QACN,KAAM,SACP,CACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,eACN,KAAM,UACP,CACF,CACD,KAAM,oBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACP,CACF,CACD,KAAM,oBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,OACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,SACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,SACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,sBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,KAAM,oBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,aACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACF,CACD,KAAM,SACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,SACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,qBACN,KAAM,QACP,CACF,CACD,KAAM,gBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,qBACN,KAAM,QACP,CACF,CACD,KAAM,gBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,oBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,QACP,CACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,gBAAiB,UACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,KAAM,OACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,WACP,CACF,CCzlDD,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,iBACd,KAAM,CAAC,EAAa,EAAsB,EAAgB,CAC3D,CAWH,SAAgB,EAAmB,EAAyB,CAC1D,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,aACd,KAAM,EAAE,CACT,CAaH,SAAgB,EAA4B,EAAyB,CACnE,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,sBACd,KAAM,EAAE,CACT,CAaH,SAAgB,EAAa,EAAyB,EAAa,EAAgB,CACjF,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,OACd,KAAM,CAAC,EAAI,EAAO,CACnB,CChEH,SAAgB,EAA8B,EAAuB,EAAsB,CACzF,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,wBACd,KAAM,CAAC,EAAY,CACpB,CAaH,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,uBACd,KAAM,CAAC,EAAI,EAAM,EAAO,CAAE,EAAM,EAAW,CAAC,CAC7C,CAaH,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,2BACd,KAAM,CAAC,EAAM,EAAI,EAAM,EAAO,CAAE,EAAM,EAAW,CAAC,CACnD,CAaH,SAAgB,EAAmB,EAAuB,EAAiB,EAAkB,CAC3F,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,aACd,KAAM,CAAC,EAAQ,EAAQ,CACxB,CAcH,SAAgB,EAAoB,EAAuB,EAAkB,EAAoB,CAE/F,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,cACd,KAAM,CAAC,EALK,GAAa,KAAK,MAAM,KAAK,KAAK,CAAG,IAAK,CAAG,KAKnC,CACvB,CAaH,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,SACd,KAAM,CAAC,EAAM,EAAI,EAAM,EAAgB,CAAE,EAAM,EAAW,CAAC,CAC5D,CAaH,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,SACd,KAAM,CAAC,EAAM,EAAI,EAAiB,CACnC,CAaH,SAAgB,EAAgC,EAAuB,CACrE,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,0BACd,KAAM,EAAE,CACT,CAgBH,SAAgB,EAAoB,EAAyB,CAC3D,OAAO,EAA4B,EAAe,CAWpD,SAAgB,EAAa,EAAuB,CAClD,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,OACd,KAAM,EAAE,CACT,CCrNH,MAAa,EAAY,CACvB,CACE,OAAQ,CAAC,CAAE,aAAc,SAAU,KAAM,cAAe,KAAM,SAAU,CAAC,CACzE,KAAM,oBACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,CAAC,CAC3D,gBAAiB,OACjB,KAAM,WACP,CACF,CCJY,EAAuB,aAGvB,EAA+B,aAe5C,SAAgB,EAA0B,EAAuB,EAAsB,CACrF,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,oBACd,KAAM,CAAC,EAAY,CACpB,CAaH,SAAgB,EAA4B,EAAuB,CACjE,OAAO,EAA0B,EAAc,EAAqB,CAatE,SAAgB,EAA8B,EAAuB,CACnE,OAAO,EAA0B,EAAc,EAA6B,CCtD9E,MAAa,EAAsB,CACjC,CACE,OAAQ,EAAE,CACV,KAAM,iCACN,QAAS,CACP,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,UAAW,CAClE,CACE,aAAc,UACd,KAAM,2BACN,KAAM,UACP,CACD,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,OAAQ,CACxD,CACD,aAAc,8DACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,uCACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,CAAC,CACjE,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,UAAW,CAC/D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,UAAW,CAC9D,CACD,KAAM,sCACN,QAAS,CACP,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,UAAW,CAClE,CACE,aAAc,UACd,KAAM,2BACN,KAAM,UACP,CACD,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,OAAQ,CACxD,CACD,aAAc,8DACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,UAAW,CAAC,CACrE,KAAM,gCACN,QAAS,CACP,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,UAAW,CAClE,CACE,aAAc,UACd,KAAM,2BACN,KAAM,UACP,CACD,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,OAAQ,CACxD,CACD,aAAc,4DACd,KAAM,GACN,KAAM,QACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,UAAW,CAAC,CAC5E,KAAM,8BACN,QAAS,CACP,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,CAChD,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,CACvD,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,2BACN,KAAM,UACP,CACF,CACD,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,CAChD,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,CACvD,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,2BACN,KAAM,UACP,CACF,CACD,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,CAAC,CAC3D,gBAAiB,OACjB,KAAM,WACP,CACF,CAyCD,SAAgB,EAAsB,EAAmB,CACvD,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,iCACd,KAAM,EAAE,CACT,CAaH,SAAgB,EAA4B,EAAmB,CAC7D,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,uCACd,KAAM,EAAE,CACT,CAaH,SAAgB,EAA2B,EAAmB,EAAmB,EAAiB,CAChG,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,sCACd,KAAM,CAAC,EAAW,EAAQ,CAC3B,CAaH,SAAgB,EAAqB,EAAmB,EAAe,CACrE,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,gCACd,KAAM,CAAC,EAAM,CACd,CAaH,SAAgB,EAAoC,EAAmB,EAAuB,CAC5F,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,8BACd,KAAM,CAAC,EAAa,CACrB,CAaH,SAAgB,EAAwB,EAAmB,EAAmC,CAC5F,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,kBACd,KAAM,CAAC,EAAyB,CACjC,CAaH,SAAgB,EACd,EACA,EACA,CACA,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,2BACd,KAAM,CAAC,EAAyB,CACjC"}