@zama-fhe/sdk 3.7.0-beta.7 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/base-signer.cjs +1 -1
- package/dist/cjs/base-signer.cjs.map +1 -1
- package/dist/cjs/erc165.cjs +1 -1
- package/dist/cjs/erc165.cjs.map +1 -1
- package/dist/cjs/fhevm-relayer.cjs +1 -1
- package/dist/cjs/fhevm-relayer.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/telemetry.cjs +1 -1
- package/dist/cjs/telemetry.cjs.map +1 -1
- package/dist/cjs/token.cjs +1 -1
- package/dist/cjs/token.cjs.map +1 -1
- package/dist/cjs/vaults/index.cjs +1 -1
- package/dist/cjs/web/index.cjs +1 -1
- package/dist/cjs/wrapped-token.cjs +1 -1
- package/dist/esm/base-signer-b1ff2VPI.js +2 -0
- package/dist/esm/base-signer-b1ff2VPI.js.map +1 -0
- package/dist/esm/cleartext/index.js +1 -1
- package/dist/esm/{cleartext-BLXvNZte.js → cleartext-CiE1gO7Y.js} +2 -2
- package/dist/esm/{cleartext-BLXvNZte.js.map → cleartext-CiE1gO7Y.js.map} +1 -1
- package/dist/esm/erc165-BAd2z3ay.js +2 -0
- package/dist/esm/erc165-BAd2z3ay.js.map +1 -0
- package/dist/esm/ethers/index.js +1 -1
- package/dist/esm/fhevm-relayer-DXLb4mIw.js +8 -0
- package/dist/esm/{fhevm-relayer-DhaBR8Kb.js.map → fhevm-relayer-DXLb4mIw.js.map} +1 -1
- package/dist/esm/{index-DHMs4ZRb.d.ts → index-BKMce5ya.d.ts} +2 -2
- package/dist/esm/{decryption-q0ODuDDS.d.ts → index-CpQK8U4F.d.ts} +2 -6
- package/dist/esm/index.d.ts +3 -4
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node/index.js +1 -1
- package/dist/esm/query/index.d.ts +2 -3
- package/dist/esm/query/index.js +1 -1
- package/dist/esm/telemetry-Dll0Swdj.js +2 -0
- package/dist/esm/{telemetry-XTn27hkl.js.map → telemetry-Dll0Swdj.js.map} +1 -1
- package/dist/esm/token-CTvEGQmH.js +2 -0
- package/dist/esm/token-CTvEGQmH.js.map +1 -0
- package/dist/esm/vaults/index.d.ts +1 -2
- package/dist/esm/vaults/index.js +1 -1
- package/dist/esm/viem/index.js +1 -1
- package/dist/esm/web/index.d.ts +16 -1
- package/dist/esm/web/index.js +1 -1
- package/dist/esm/wrapped-token-IDUEFpZx.js +2 -0
- package/dist/esm/{wrapped-token-3usJd0oi.js.map → wrapped-token-IDUEFpZx.js.map} +1 -1
- package/package.json +1 -15
- package/dist/cjs/fatal-batch.cjs +0 -2
- package/dist/cjs/fatal-batch.cjs.map +0 -1
- package/dist/cjs/internal/index.cjs +0 -2
- package/dist/cjs/internal/index.cjs.map +0 -1
- package/dist/cjs/signing.cjs +0 -2
- package/dist/cjs/signing.cjs.map +0 -1
- package/dist/esm/base-signer-CNHZZnr2.js +0 -2
- package/dist/esm/base-signer-CNHZZnr2.js.map +0 -1
- package/dist/esm/encrypt-worker-client-CKTlhAGI.d.ts +0 -19
- package/dist/esm/erc165-B8gx2luK.js +0 -2
- package/dist/esm/erc165-B8gx2luK.js.map +0 -1
- package/dist/esm/fatal-batch-BiiS7KdS.js +0 -2
- package/dist/esm/fatal-batch-BiiS7KdS.js.map +0 -1
- package/dist/esm/fhevm-relayer-DhaBR8Kb.js +0 -8
- package/dist/esm/index-B09m_e9L.d.ts +0 -1
- package/dist/esm/internal/index.d.ts +0 -26
- package/dist/esm/internal/index.js +0 -2
- package/dist/esm/internal/index.js.map +0 -1
- package/dist/esm/signing-C6nbPCyd.js +0 -2
- package/dist/esm/signing-C6nbPCyd.js.map +0 -1
- package/dist/esm/telemetry-XTn27hkl.js +0 -2
- package/dist/esm/token-g6sinwTx.js +0 -2
- package/dist/esm/token-g6sinwTx.js.map +0 -1
- package/dist/esm/wrapped-token-3usJd0oi.js +0 -2
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{S as e,i as t,r as n}from"./relayer-C3jVhqSK.js";import{r,t as i}from"./encryption-6AVd-82z.js";import{A as a,D as o,E as s,F as c,H as l,L as u,M as ee,O as te,P as d,c as f,j as p,k as ne,l as m,o as re,u as h,x as g}from"./erc165-B8gx2luK.js";import{a as _,d as v,f as ie,l as ae,m as y,o as b,t as oe}from"./token-g6sinwTx.js";import{r as x,t as se}from"./primitives-Cym-3HKa.js";import{getAddress as S,keccak256 as C,toBytes as w,zeroAddress as ce}from"viem";import{z as T}from"zod/mini";function E(e){if(!(e instanceof Error))return null;let t=e.cause;if(typeof t!=`object`||!t||!(`data`in t))return null;let{data:n}=t;return typeof n!=`object`||!n||!(`errorName`in n)?null:typeof n.errorName==`string`?n.errorName:null}var D=class extends n{unwrapTxHash;unwrapRequestId;constructor(e,n,r){super(t.UnshieldAlreadyFinalized,e,r),this.name=`UnshieldAlreadyFinalizedError`,this.unwrapTxHash=n.unwrapTxHash,this.unwrapRequestId=n.unwrapRequestId}};const O=`InvalidUnwrapRequest`,k=C(w(`${O}(bytes32)`)).slice(0,10);function A(e){for(let t=e;t instanceof Error;t=t.cause)if(E(t)===O||t.message.includes(O)||t.message.includes(k))return!0;return!1}const j=[{type:`function`,name:`allowance`,inputs:[{name:`owner`,type:`address`,internalType:`address`},{name:`spender`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`approve`,inputs:[{name:`spender`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`approveAndCall`,inputs:[{name:`spender`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`approveAndCall`,inputs:[{name:`spender`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`},{name:`data`,type:`bytes`,internalType:`bytes`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`balanceOf`,inputs:[{name:`account`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`,internalType:`bytes4`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`totalSupply`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`transfer`,inputs:[{name:`to`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`transferAndCall`,inputs:[{name:`to`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`transferAndCall`,inputs:[{name:`to`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`},{name:`data`,type:`bytes`,internalType:`bytes`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`transferFrom`,inputs:[{name:`from`,type:`address`,internalType:`address`},{name:`to`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`transferFromAndCall`,inputs:[{name:`from`,type:`address`,internalType:`address`},{name:`to`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`},{name:`data`,type:`bytes`,internalType:`bytes`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`transferFromAndCall`,inputs:[{name:`from`,type:`address`,internalType:`address`},{name:`to`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`event`,name:`Approval`,inputs:[{name:`owner`,type:`address`,indexed:!0,internalType:`address`},{name:`spender`,type:`address`,indexed:!0,internalType:`address`},{name:`value`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Transfer`,inputs:[{name:`from`,type:`address`,indexed:!0,internalType:`address`},{name:`to`,type:`address`,indexed:!0,internalType:`address`},{name:`value`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1}];function M(e,t,n,r=`0x`){return{address:e,abi:j,functionName:`transferAndCall`,args:[t,n,r]}}function N(e){return e.startsWith(`0x`)?e:`0x${e}`}function P(e){return C(w(e))}function F(e){return S(N(e.slice(-40)))}function I(e){return e}function L(e,t){let n=2+t*64,r=e.slice(n,n+64);return r.length===64?r:r.padEnd(64,`0`)}function R(e,t){return S(N(L(e,t).slice(-40)))}function z(e,t){return BigInt(`0x`+L(e,t))}function B(e,t){return N(L(e,t))}const V={ConfidentialTransfer:P(`ConfidentialTransfer(address,address,bytes32)`),Wrap:P(`Wrap(address,uint256,bytes32)`),UnwrapRequested:P(`UnwrapRequested(address,bytes32,bytes32)`),UnwrapFinalized:P(`UnwrapFinalized(address,bytes32,bytes32,uint64)`)};function H(e){return e.topics[0]!==V.ConfidentialTransfer||e.topics.length<4?null:{eventName:`ConfidentialTransfer`,from:F(e.topics[1]),to:F(e.topics[2]),encryptedAmount:I(e.topics[3])}}function U(e){return e.topics[0]!==V.Wrap||e.topics.length<2?null:{eventName:`Wrap`,to:F(e.topics[1]),roundedAmount:z(e.data,0),encryptedWrappedAmount:B(e.data,1)}}function W(e){return e.topics[0]!==V.UnwrapRequested||e.topics.length<3?null:{eventName:`UnwrapRequested`,receiver:F(e.topics[1]),unwrapRequestId:I(e.topics[2]),encryptedAmount:B(e.data,0)}}function G(e){return e.topics[0]!==V.UnwrapFinalized||e.topics.length<3?null:{eventName:`UnwrapFinalized`,receiver:F(e.topics[1]),unwrapRequestId:I(e.topics[2]),encryptedAmount:B(e.data,0),cleartextAmount:z(e.data,1)}}function K(e){return H(e)??U(e)??W(e)??G(e)}function le(e){let t=[];for(let n of e){let e=K(n);e&&t.push(e)}return t}function q(e){for(let t of e){let e=W(t);if(e)return e}return null}function ue(e){for(let t of e){let e=U(t);if(e)return e}return null}const de=[V.ConfidentialTransfer,V.Wrap,V.UnwrapRequested,V.UnwrapFinalized],J={DelegatedForUserDecryption:P(`DelegatedForUserDecryption(address,address,address,uint64,uint64,uint64)`),RevokedDelegationForUserDecryption:P(`RevokedDelegationForUserDecryption(address,address,address,uint64,uint64)`)};function Y(e){return e.topics[0]!==J.DelegatedForUserDecryption||e.topics.length<3?null:{eventName:`DelegatedForUserDecryption`,delegator:F(e.topics[1]),delegate:F(e.topics[2]),contractAddress:R(e.data,0),delegationCounter:z(e.data,1),oldExpirationDate:z(e.data,2),newExpirationDate:z(e.data,3)}}function X(e){return e.topics[0]!==J.RevokedDelegationForUserDecryption||e.topics.length<3?null:{eventName:`RevokedDelegationForUserDecryption`,delegator:F(e.topics[1]),delegate:F(e.topics[2]),contractAddress:R(e.data,0),delegationCounter:z(e.data,1),oldExpirationDate:z(e.data,2)}}function Z(e){return Y(e)??X(e)}function fe(e){let t=[];for(let n of e){let e=Z(n);e&&t.push(e)}return t}function pe(e){for(let t of e){let e=Y(t);if(e)return e}return null}function Q(e){for(let t of e){let e=X(t);if(e)return e}return null}const me=[J.DelegatedForUserDecryption,J.RevokedDelegationForUserDecryption];function $(e){return`zama:pending-unshield:${se(e)}`}const he=T.union([T.pipe(x,T.transform(e=>({unwrapTxHash:e}))),T.pipe(T.object({version:T.literal(1),unwrapTxHash:x,unwrapRequestId:T.optional(x)}),T.transform(({unwrapTxHash:e,unwrapRequestId:t})=>({unwrapTxHash:e,unwrapRequestId:t})))]);async function ge(e,t,n,r){if(r===void 0){await e.set($(t),n);return}await e.set($(t),{version:1,unwrapTxHash:n,unwrapRequestId:r})}async function _e(e,t){let n=$(t),r=await e.get(n);if(r==null)return null;let i=he.safeParse(r);return i.success?i.data:(await e.delete(n),null)}async function ve(e,t){await e.delete($(t))}var ye=class extends oe{#e;#t=null;#n=null;#r(e){try{return d(this.sdk.signer,`WrappedToken.sdk.signer`),this.sdk.signer}catch(t){throw new u(e,{cause:t})}}async underlying(){return this.#f()}async isPayable(){if(this.#n!==null)return this.#n;try{let e=await this.#f();this.#n=await this.sdk.provider.readContract(re(e))}catch{this.#n=!1}return this.#n}async allowance(e){let t=await this.#f();return this.sdk.provider.readContract(f(t,S(e),this.address))}async shield(t,r){let i=await _(`shield`,this.sdk.signer,this.sdk.provider),a=await this.isPayable(),o=await this.#f(),s=S(i.address),c;try{c=await this.sdk.provider.readContract(h(o,s))}catch(t){throw t instanceof n?t:new v(`Could not read ERC-20 balance for shield validation (token: ${o})`,{cause:e(t)})}if(c<t)throw new y(`Insufficient ERC-20 balance: requested ${t}, available ${c} (token: ${o})`,{requested:t,available:c,token:o});return a?this.#i(t,o,s,r):this.#a(t,s,r)}async#i(e,t,n,r){this.#r(`shield`);let i=r?.to?S(r.to):n,a=i===n?`0x`:i;return this.submitTransaction({operation:`shield:transferAndCall`,config:M(t,this.address,e,a),onSubmitted:r?.onShieldSubmitted})}async wrap(t,r){this.#r(`wrap`);let i=await _(`wrap`,this.sdk.signer,this.sdk.provider),o=await this.#f(),s=S(i.address),c;try{c=await this.sdk.provider.readContract(h(o,s))}catch(t){throw t instanceof n?t:new v(`Could not read ERC-20 balance for wrap validation (token: ${o})`,{cause:e(t)})}if(c<t)throw new y(`Insufficient ERC-20 balance: requested ${t}, available ${c} (token: ${o})`,{requested:t,available:c,token:o});let l;try{l=await this.sdk.provider.readContract(f(o,s,this.address))}catch(t){throw t instanceof n?t:new v(`Could not read ERC-20 allowance for wrap validation (token: ${o})`,{cause:e(t)})}if(l<t)throw new ie(`Insufficient allowance for wrap: requested ${t}, approved ${l}. Call approveUnderlying() first (token: ${o}).`,{requested:t,available:l,token:o});let u=r?.to?S(r.to):s;return this.submitTransaction({operation:`wrap`,config:a(this.address,u,t),onSubmitted:r?.onWrapSubmitted})}async#a(e,t,n){this.#r(`shield`);let r=n?.approvalStrategy??`exact`;r!==`skip`&&await this.#m(e,r===`max`,n);let i=n?.to?S(n.to):t;return this.submitTransaction({operation:`shield:approveAndWrap`,config:a(this.address,i,e),onSubmitted:n?.onShieldSubmitted})}async approveUnderlying(e){this.#r(`approveUnderlying`);let t=await _(`approveUnderlying`,this.sdk.signer,this.sdk.provider),n=await this.#f(),r=S(t.address),i=e??2n**256n-1n;return i>0n&&await this.sdk.provider.readContract(f(n,r,this.address))>0n&&await this.submitTransaction({operation:`approveUnderlying:reset`,config:m(n,this.address,0n)}),this.submitTransaction({operation:`approveUnderlying`,config:m(n,this.address,i)})}async unshield(e,t){let{skipBalanceCheck:n=!1,onUnwrapSubmitted:r,onFinalizing:i,onFinalizeSubmitted:a}=t??{};n||await this.assertConfidentialBalance(e,`unshield`);let o={onFinalizing:i,onFinalizeSubmitted:a},s=crypto.randomUUID(),c=await this.#o(e,`unshield`);return p(`unshield: onUnwrapSubmitted`,()=>r?.(c.txHash),this.sdk.logger),this.#p(c.unwrapRequestId,c.txHash,s,o,`unshield`)}async unshieldAll(e){let t=crypto.randomUUID(),n=await this.unwrapAll();return p(`unshieldAll: onUnwrapSubmitted`,()=>e?.onUnwrapSubmitted?.(n.txHash),this.sdk.logger),this.#p(n.unwrapRequestId,n.txHash,t,e,`unshield-all`)}async resumeUnshield(e,t){let r;try{r=await this.sdk.provider.waitForTransactionReceipt(e)}catch(e){throw e instanceof n?e:new l(`Failed to get unwrap receipt`,{cause:e})}let i=this.#c(r.logs);if(await this.#l(i))throw await this.#d(`resumeUnshield`),new D(`Nothing to resume: the unwrap request was already finalized on-chain and the funds were delivered.`,{unwrapTxHash:e,unwrapRequestId:i});return this.#p(i,e,crypto.randomUUID(),t,`resume-unshield`)}async getPendingUnshield(){let e=await _e(this.sdk.storage,this.address);return e?await this.#u(e)?(await this.#d(`getPendingUnshield`),null):e.unwrapTxHash:null}async unwrap(e){return this.#o(e,`unwrap`)}async#o(e,t){this.#r(`unwrap`);let n=S((await _(`unwrap`,this.sdk.signer,this.sdk.provider)).address),{encryptedValues:i,inputProof:a}=await this.sdk.encrypt({values:[{value:e,type:`euint64`}],contractAddress:this.address,userAddress:n},{operation:t}),[s]=i;if(!s)throw new r(`Encryption returned no encrypted values`);let c=await this.submitTransaction({operation:`unwrap`,config:o(this.address,n,n,s,a)});return{...c,unwrapRequestId:this.#c(c.receipt.logs)}}async unwrapAll(){this.#r(`unwrapAll`);let e=S((await _(`unwrapAll`,this.sdk.signer,this.sdk.provider)).address),t=await this.readConfidentialBalanceOf(e);if(ae(t))throw new i(`Cannot unshield: balance is zero`);let n=await this.submitTransaction({operation:`unwrapAll`,config:te(this.address,e,e,t)});return{...n,unwrapRequestId:this.#c(n.receipt.logs)}}async finalizeUnwrap(e){return this.#s(e,`finalize-unwrap`)}async#s(e,t){this.#r(`finalizeUnwrap`),await b(`finalizeUnwrap`,this.sdk.signer,this.sdk.provider);let n=await this.sdk.decryption.decryptPublicValues([e],{operation:t}),r=n.clearValues[e];return ee(r,`finalizeUnwrap: clearValue`),this.submitTransaction({operation:`finalizeUnwrap`,config:g(this.address,e,r,n.decryptionProof)})}#c(e){let t=q(e.filter(e=>e.address===void 0||S(e.address)===this.address));if(!t)throw new l(`No UnwrapRequested event from this wrapper found in the unwrap receipt`);return t.unwrapRequestId}async#l(e){try{return await this.sdk.provider.readContract(ne(this.address,e))===ce}catch{return!1}}async#u(e){let t=e.unwrapRequestId;if(t===void 0)try{let n=await this.sdk.provider.waitForTransactionReceipt(e.unwrapTxHash);t=this.#c(n.logs)}catch{return!1}return this.#l(t)}async#d(e){await p(`${e}: clearPendingUnshield`,()=>ve(this.sdk.storage,this.address),this.sdk.logger)}async#f(){return this.#e===void 0?(this.#t||=this.sdk.provider.readContract(s(this.address)).then(e=>(this.#e=e,this.#t=null,e)).catch(e=>{throw this.#t=null,e}),this.#t):this.#e}async#p(e,t,n,r,i){this.emit({type:c.UnshieldPhase1Submitted,txHash:t,operationId:n}),await p(`unshield: savePendingUnshield`,()=>ge(this.sdk.storage,this.address,t,e),this.sdk.logger),this.emit({type:c.UnshieldPhase2Started,operationId:n}),p(`unshield: onFinalizing`,()=>r?.onFinalizing?.(),this.sdk.logger);let a;try{a=await this.#s(e,i)}catch(n){throw A(n)?(await this.#d(`unshield`),new D(`The unwrap request was finalized concurrently — the funds were already delivered.`,{unwrapTxHash:t,unwrapRequestId:e},{cause:n})):n}return this.emit({type:c.UnshieldPhase2Submitted,txHash:a.txHash,operationId:n}),p(`unshield: onFinalizeSubmitted`,()=>r?.onFinalizeSubmitted?.(a.txHash),this.sdk.logger),await this.#d(`unshield`),a}async#m(e,t,n){this.#r(`approveUnderlying`);let r=await this.#f(),i=S((await _(`approveUnderlying`,this.sdk.signer,this.sdk.provider)).address),a=await this.sdk.provider.readContract(f(r,i,this.address));if(a>=e)return;a>0n&&await this.submitTransaction({operation:`approveUnderlying:reset`,config:m(r,this.address,0n)});let o=t?2n**256n-1n:e;await this.submitTransaction({operation:`approveUnderlying`,config:m(r,this.address,o),onSubmitted:n?.onApprovalSubmitted})}};export{M as C,B as S,E as T,Q as _,V as a,P as b,H as c,le as d,X as f,pe as g,U as h,de as i,Y as l,W as m,me as n,Z as o,G as p,J as r,fe as s,ye as t,K as u,q as v,D as w,F as x,ue as y};
|
|
2
|
-
//# sourceMappingURL=wrapped-token-3usJd0oi.js.map
|