UNPKG

@clerk/clerk-js

Version:
1 lines 2.75 kB
"use strict";(globalThis.rspackChunk_clerk_clerk_js=globalThis.rspackChunk_clerk_clerk_js||[]).push([[129],{3992(e,a,t){t.d(a,{offchainLookup:()=>g,offchainLookupSignature:()=>w});var s=t(4547),r=t(9312),n=t(4866),o=t(9034);class c extends n.C{constructor({callbackSelector:e,cause:a,data:t,extraData:s,sender:r,urls:n}){super(a.shortMessage||"An error occurred while fetching for an offchain result.",{cause:a,metaMessages:[...a.metaMessages||[],a.metaMessages?.length?"":[],"Offchain Gateway Call:",n&&[" Gateway URL(s):",...n.map(e=>` ${(0,o.I)(e)}`)],` Sender: ${r}`,` Data: ${t}`,` Callback selector: ${e}`,` Extra data: ${s}`].flat(),name:"OffchainLookupError"})}}class i extends n.C{constructor({result:e,url:a}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${(0,o.I)(a)}`,`Response: ${(0,r.A)(e)}`],name:"OffchainLookupResponseMalformedError"})}}class d extends n.C{constructor({sender:e,to:a}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${a}`,`OffchainLookup sender address: ${e}`],name:"OffchainLookupSenderMismatchError"})}}var l=t(1958),u=t(6769),p=t(2968),f=t(5544),h=t(9284),y=t(7443),m=t(5701);let w="0x556f1830",k={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function g(e,{blockNumber:a,blockTag:t,data:r,to:n}){let{args:o}=(0,u.W)({data:r,abi:[k]}),[i,l,y,w,b]=o,{ccipRead:O}=e,x=O&&"function"==typeof O?.request?O.request:C;try{if(!(0,f.h)(n,i))throw new d({sender:i,to:n});let r=l.includes(m.J)?await (0,m.X)({data:y,ccipRequest:x}):await x({data:y,sender:i,urls:l}),{data:o}=await (0,s.T)(e,{blockNumber:a,blockTag:t,data:(0,h.xW)([w,(0,p.h)([{type:"bytes"},{type:"bytes"}],[r,b])]),to:n});return o}catch(e){throw new c({callbackSelector:w,cause:e,data:r,extraData:b,sender:i,urls:l})}}async function C({data:e,sender:a,urls:t}){let s=Error("An unknown error occurred.");for(let n=0;n<t.length;n++){let o=t[n],c=o.includes("{data}")?"GET":"POST",d="POST"===c?{data:e,sender:a}:void 0,u="POST"===c?{"Content-Type":"application/json"}:{};try{let t,n=await fetch(o.replace("{sender}",a.toLowerCase()).replace("{data}",e),{body:JSON.stringify(d),headers:u,method:c});if(t=n.headers.get("Content-Type")?.startsWith("application/json")?(await n.json()).data:await n.text(),!n.ok){s=new l.Ci({body:d,details:t?.error?(0,r.A)(t.error):n.statusText,headers:n.headers,status:n.status,url:o});continue}if(!(0,y.q)(t)){s=new i({result:t,url:o});continue}return t}catch(e){s=new l.Ci({body:d,details:e.message,url:o})}}throw s}}}]);