@origintrail-official/dkg-node-ui 10.0.2 → 10.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/chain-cursor-stores.d.ts +45 -0
  2. package/dist/chain-cursor-stores.d.ts.map +1 -0
  3. package/dist/chain-cursor-stores.js +107 -0
  4. package/dist/chain-cursor-stores.js.map +1 -0
  5. package/dist/chat-memory.d.ts +0 -17
  6. package/dist/chat-memory.d.ts.map +1 -1
  7. package/dist/chat-memory.js +6 -33
  8. package/dist/chat-memory.js.map +1 -1
  9. package/dist/db.d.ts +15 -0
  10. package/dist/db.d.ts.map +1 -1
  11. package/dist/db.js +40 -1
  12. package/dist/db.js.map +1 -1
  13. package/dist/index.d.ts +2 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/notifications-scope.d.ts +19 -0
  18. package/dist/notifications-scope.d.ts.map +1 -1
  19. package/dist/notifications-scope.js +34 -2
  20. package/dist/notifications-scope.js.map +1 -1
  21. package/dist-ui/assets/{3d-force-graph-CcVMtgO4.js → 3d-force-graph-DRDhpplH.js} +1 -1
  22. package/dist-ui/assets/AgentHub-DdUAxJoy.js +1 -0
  23. package/dist-ui/assets/AgentProfilePage-yI8fA4vv.js +1 -0
  24. package/dist-ui/assets/ApproveWalletsModal-9w2edv7e.js +57 -0
  25. package/dist-ui/assets/ConvictionDetailView-CcQMya-y.js +2 -0
  26. package/dist-ui/assets/Network-DpAKVzwi.js +1 -0
  27. package/dist-ui/assets/OnChainProvenanceCard-DMOm3jLz.js +1 -0
  28. package/dist-ui/assets/{Operations-CCMDENBd.js → Operations-DKJFp6hM.js} +1 -1
  29. package/dist-ui/assets/PublishingConviction-1CPHxNwp.js +2 -0
  30. package/dist-ui/assets/Settings-DaYMlGHD.js +1 -0
  31. package/dist-ui/assets/ccip-hCQYqfNz.js +1 -0
  32. package/dist-ui/assets/{index-BrxEjqsW.js → index-Bh_8bMB0.js} +3 -3
  33. package/dist-ui/assets/{index-W4n8cdTA.js → index-CVwCoJrM.js} +10 -10
  34. package/dist-ui/assets/index-D5UiTYlY.css +1 -0
  35. package/dist-ui/assets/index-DGpnb_b1.js +1661 -0
  36. package/dist-ui/assets/{jsonld-32FQRO67-CbN9NJJW.js → jsonld-32FQRO67-C3B_LjZ-.js} +2 -2
  37. package/dist-ui/assets/{jsonld-DkQdPwg5.js → jsonld-CoPRWQuM.js} +1 -1
  38. package/dist-ui/assets/{renderer-3d-2EVDZII7-CTUExXUn.js → renderer-3d-2EVDZII7-Bx6o7Gge.js} +2 -2
  39. package/dist-ui/index.html +2 -2
  40. package/package.json +5 -3
  41. package/dist-ui/assets/Admin-DNNaF7rz.js +0 -45
  42. package/dist-ui/assets/AgentHub-eWb_Tns6.js +0 -1
  43. package/dist-ui/assets/AgentProfilePage-D2T_V6PG.js +0 -1
  44. package/dist-ui/assets/Network-C6MDsv2e.js +0 -1
  45. package/dist-ui/assets/OnChainProvenanceCard-BbrU7jzL.js +0 -1
  46. package/dist-ui/assets/Settings-WaFKYtwQ.js +0 -1
  47. package/dist-ui/assets/ccip-CDdHldzo.js +0 -1
  48. package/dist-ui/assets/formatTrac-BTy0WudH.js +0 -1
  49. package/dist-ui/assets/index-2Gzrk1k3.js +0 -1661
  50. package/dist-ui/assets/index-CmliV5st.css +0 -1
@@ -0,0 +1,57 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ccip-hCQYqfNz.js","assets/index-DGpnb_b1.js","assets/index-D5UiTYlY.css"])))=>i.map(i=>d[i]);
2
+ var Sd=Object.defineProperty;var Id=(e,t,n)=>t in e?Sd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ct=(e,t,n)=>Id(e,typeof t!="symbol"?t+"":t,n);import{l as Ri,ad as h,C as Bd,d as jd,ap as D,av as Oi,a1 as ls,aN as te,ac as Dr,e as Sa,W as Rd,c as Od,_ as Mi,ai as Co,ah as Md,h as Fd,o as St,am as Fi,ao as zd,al as Ld,aj as _d,m as Ud,z as It,Q as No,ak as Dd,a7 as Hd,a4 as qd,ae as Gd,aF as Wd,aB as Vd,aD as Tr,aI as xn,Z as fs,H as _s,a8 as Zd,n as zi}from"./index-DGpnb_b1.js";/**
3
+ * @license lucide-react v1.14.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */const Kd=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],Yd=Ri("power",Kd);/**
8
+ * @license lucide-react v1.14.0 - ISC
9
+ *
10
+ * This source code is licensed under the ISC license.
11
+ * See the LICENSE file in the root directory of this source tree.
12
+ */const Jd=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Xd=Ri("refresh-cw",Jd);function Li(e=1200){const[t,n]=D.useState(!1),r=D.useRef(null);D.useEffect(()=>()=>{r.current&&clearTimeout(r.current)},[]);const s=D.useCallback(o=>{var a;(a=navigator.clipboard)==null||a.writeText(o).then(()=>{n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),e)}).catch(()=>{})},[e]);return{copied:t,copy:s}}function ko({value:e,label:t="Copy",className:n=""}){const{copied:r,copy:s}=Li(),o=r?"Copied":t;return h.jsxs(h.Fragment,{children:[h.jsx("button",{type:"button",className:["v10-pca-copy-btn",n].filter(Boolean).join(" "),onClick:()=>s(e),"aria-label":o,title:o,children:r?h.jsx(Bd,{size:13,"aria-hidden":"true"}):h.jsx(jd,{size:13,"aria-hidden":"true"})}),h.jsx("span",{className:"v10-pca-copy-announce","aria-live":"polite",children:r?"Copied":""})]})}const Qd={healthy:{glyph:"✓",label:"Healthy",toneClass:"badge-success",hint:"Active, solvent, and not expiring soon."},expiring:{glyph:"⏳",label:"Expiring soon",toneClass:"badge-warn",hint:"The lock period ends soon — top-up does NOT extend it; renew to keep the discount."},expired:{glyph:"✕",label:"Expired",toneClass:"badge-error",hint:"The lock period has ended — publishes no longer get this discount. Renew to continue."},insolvent:{glyph:"⚠",label:"Insolvent",toneClass:"badge-error",hint:"The spendable buffer is depleted — publishes will quietly pay the direct cost. Top up."},swept:{glyph:"⊘",label:"Fully swept",toneClass:"badge",hint:"Every epoch budget has been swept to the staker reward pool."},"cap-near":{glyph:"⚠",label:"Cap near 100",toneClass:"badge-warn",hint:"Approaching the 100 approved-publishing-wallet cap."}};function Uy({state:e,label:t,className:n=""}){const r=Qd[e],s=t??r.label,o=[...new Set(["badge",r.toneClass,"v10-pca-health-chip",n])].filter(Boolean).join(" ");return h.jsxs("span",{className:o,"data-testid":"pca-health-chip","data-health":e,title:r.hint,children:[h.jsx("span",{className:"v10-pca-health-glyph","aria-hidden":"true",children:r.glyph}),h.jsx("span",{className:"v10-pca-health-label",children:s})]})}function $n({address:e,status:t,statusTone:n="neutral",gas:r,trailing:s,className:o=""}){const a=typeof t=="string"?t:void 0,i=a?`${e}, ${a}`:e;return h.jsxs("div",{className:["v10-pca-wallet-row",o].filter(Boolean).join(" "),role:"group","aria-label":i,children:[h.jsx("span",{className:"v10-pca-wallet-addr",title:e,children:Oi(e)}),h.jsx(ko,{value:e,label:`Copy address ${e}`}),t!=null&&h.jsx("span",{className:"v10-pca-wallet-status","data-tone":n,children:t}),r!=null&&h.jsx("span",{className:"v10-pca-wallet-gas",children:r}),s!=null&&h.jsx("span",{className:"v10-pca-wallet-trailing",children:s})]})}const el=h.jsxs(h.Fragment,{children:["Paste the ",h.jsx("strong",{children:"operational wallet address"})," — the address that signs its publish transactions (on-chain ",h.jsx("code",{children:"msg.sender"}),"). ",h.jsx("strong",{children:"NOT"})," its peerId."," ",h.jsx("strong",{children:"NOT"})," its admin wallet. ",h.jsx("strong",{children:"NOT"})," a content-author identity. The other operator gets these from ",h.jsx("code",{children:"dkg wallet"}),", or from their node's"," ",h.jsx("em",{children:"Get added to a PCA"})," panel."]});function tl({value:e,onChange:t,mode:n="single",label:r="Operational wallet (the address that signs publishes)",cruxNote:s=el,placeholder:o,error:a,disabled:i=!1,rows:c=5,id:d,testId:u,className:l=""}){const f=D.useId(),b=d??`pca-addr-${f}`,p=`${b}-help`,m=`${b}-error`,g=[a?m:null,p].filter(Boolean).join(" ")||void 0,y=n==="bulk"?"0x… (one per line)":"0x…";return h.jsxs("div",{className:["v10-pca-address-crux",l].filter(Boolean).join(" "),children:[h.jsx("label",{className:"v10-form-label",htmlFor:b,children:r}),s!=null&&h.jsx("p",{className:"v10-pca-crux-note",children:s}),n==="bulk"?h.jsx("textarea",{id:b,"data-testid":u,className:"v10-form-textarea",value:e,onChange:E=>t(E.target.value),placeholder:o??y,disabled:i,rows:c,"aria-describedby":g,"aria-invalid":a?!0:void 0,spellCheck:!1}):h.jsx("input",{id:b,"data-testid":u,type:"text",className:"v10-form-input",value:e,onChange:E=>t(E.target.value),placeholder:o??y,disabled:i,"aria-describedby":g,"aria-invalid":a?!0:void 0,spellCheck:!1,autoComplete:"off"}),h.jsxs("p",{id:p,className:"v10-pca-crux-help",children:[h.jsx("abbr",{title:"On-chain authorization to publish under this account — unrelated to the ERC-20 token approve() that grants a spending allowance.",children:"“Approve”"})," ","is on-chain authorization to publish under this account — unrelated to ERC-20 token"," ",h.jsx("code",{children:"approve()"}),". The wallet owner doesn't sign anything."]}),a!=null&&h.jsx("p",{id:m,className:"v10-pca-crux-error",role:"alert",children:a})]})}const Us=[{minTrac:0,bps:0,tracLabel:"< 25,000 TRAC",pctLabel:"0%"},{minTrac:25e3,bps:1e3,tracLabel:"25,000 TRAC",pctLabel:"10%"},{minTrac:5e4,bps:2e3,tracLabel:"50,000 TRAC",pctLabel:"20%"},{minTrac:1e5,bps:3e3,tracLabel:"100,000 TRAC",pctLabel:"30%"},{minTrac:25e4,bps:4e3,tracLabel:"250,000 TRAC",pctLabel:"40%"},{minTrac:5e5,bps:5e3,tracLabel:"500,000 TRAC",pctLabel:"50%"},{minTrac:1e6,bps:7500,tracLabel:"1,000,000+ TRAC",pctLabel:"75%"}];function _i(e){const t=typeof e=="number"&&Number.isFinite(e)?e:0;let n=Us[0];for(const r of Us)t>=r.minTrac&&(n=r);return n}function nl({committedTrac:e,caption:t="Discount tier for the entered commitment.",className:n=""}){const r=e==null?null:_i(e);return h.jsxs("div",{className:["v10-pca-tier-ladder",n].filter(Boolean).join(" "),"data-testid":"pca-tier-ladder",children:[h.jsx("ul",{className:"v10-pca-tier-list",role:"list",children:Us.map(s=>{const o=r!=null&&r.minTrac===s.minTrac;return h.jsxs("li",{className:["v10-pca-tier-row",o?"active":""].filter(Boolean).join(" "),"data-bps":s.bps,...o?{"aria-current":"true"}:{},children:[h.jsx("span",{className:"v10-pca-tier-trac",children:s.tracLabel}),h.jsx("span",{className:"v10-pca-tier-pct",children:s.pctLabel})]},s.minTrac)})}),t!=null&&h.jsx("p",{className:"v10-pca-tier-caption",children:t})]})}function rl({wallets:e=[],accountId:t,role:n="edge",className:r=""}){const{copied:s,copy:o}=Li(),a=e.join(`
13
+ `);return h.jsxs("div",{className:["v10-pca-handshake",r].filter(Boolean).join(" "),children:[h.jsxs("section",{className:"v10-pca-handshake-half","data-emphasis":n==="edge"?"true":"false",children:[h.jsxs("header",{className:"v10-pca-handshake-head",children:[h.jsx("span",{className:"v10-pca-handshake-title",children:"Operational wallets"}),h.jsx("span",{className:"v10-pca-handshake-sub",children:"The edge node shares these; the PCA owner approves them."})]}),e.length===0?h.jsx("p",{className:"v10-pca-handshake-empty",children:"No operational wallets detected on this node."}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"v10-pca-handshake-wallets",children:e.map(i=>h.jsx($n,{address:i},i))}),h.jsx("button",{type:"button",className:"v10-pca-handshake-copyall",onClick:()=>o(a),"aria-label":s?"Copied all wallets":"Copy all wallet addresses",children:s?"Copied":"Copy all"})]})]}),h.jsxs("section",{className:"v10-pca-handshake-half","data-emphasis":n==="core"?"true":"false",children:[h.jsxs("header",{className:"v10-pca-handshake-head",children:[h.jsx("span",{className:"v10-pca-handshake-title",children:"PCA ID from owner"}),h.jsx("span",{className:"v10-pca-handshake-sub",children:"The PCA owner sends this back after approving the wallets."})]}),t?h.jsxs("div",{className:"v10-pca-handshake-account",children:[h.jsxs("span",{className:"v10-pca-handshake-account-id",children:["PCA #",t]}),h.jsx(ko,{value:t,label:`Copy account id ${t}`})]}):h.jsx("p",{className:"v10-pca-handshake-empty",children:"Pending - enter it once the PCA owner confirms the approval."})]})]})}const sl=50;function ol({nodes:e,loading:t,error:n,onRetry:r,value:s,onChange:o,ownIdentityId:a,role:i,required:c=!1}){const[d,u]=D.useState(""),[l,f]=D.useState(!1),[b,p]=D.useState(-1),[m,g]=D.useState(""),[y,E]=D.useState(null),w=D.useId(),v=D.useMemo(()=>{const k=d.trim().toLowerCase();return k?e.filter(B=>B.nodeId.toLowerCase().includes(k)||B.identityId.toLowerCase().includes(k)):e},[e,d]),x=v.slice(0,sl),P=v.length>x.length,A=k=>{o(k.identityId),u(""),f(!1),p(-1),E(null)},N=k=>{k.key==="ArrowDown"?(k.preventDefault(),f(!0),p(B=>Math.min(B+1,x.length-1))):k.key==="ArrowUp"?(k.preventDefault(),f(!0),p(B=>Math.max(B-1,0))):k.key==="Enter"?l&&b>=0&&x[b]&&(k.preventDefault(),A(x[b])):k.key==="Escape"&&l&&(k.stopPropagation(),f(!1),p(-1))},T=()=>{const k=m.trim().replace(/^#/,"");if(!k)return;const B=e.find(R=>R.identityId===k||R.nodeId.toLowerCase()===k.toLowerCase());if(!B){E("Not a staked sharding-table node.");return}A(B),g("")},O=s?e.find(k=>k.identityId===s):void 0,$=s!==""&&a!=null&&s===a,M=s!==""&&(a==null||s!==a),j=i==="edge"||a==null,F=O?ls(O.stake):null,C=s!==""?`Selected node #${s}${F?` · ${F} TRAC staked`:""}${$?" · this node":""}`:null,S=C?`${w}-selected`:void 0;return h.jsxs("div",{className:"v10-pca-node-picker","data-testid":"pca-primary-node-picker",children:[h.jsx("p",{className:"v10-pca-create-hint",children:"Primary node = where reward weight goes. It’s separate from which wallets publish and from your discount."}),t?h.jsx("p",{className:"v10-pca-create-hint",role:"status",children:"Loading staked nodes…"}):n?h.jsxs("div",{className:"v10-modal-warning",role:"alert","data-testid":"pca-primary-node-error",children:["Couldn’t load the staked-node list — a primary node is required to create."," ",h.jsx("button",{type:"button",className:"v10-pca-card-btn","data-testid":"pca-primary-node-retry",onClick:r,children:"Retry"}),s!==""&&h.jsxs("p",{className:"v10-pca-create-hint","data-testid":"pca-primary-node-error-selected",children:["Using node #",s,$?" (this node)":""," for now — Retry to pick another."]})]}):e.length===0?h.jsx("p",{className:"v10-pca-create-hint",role:"status",children:"No staked nodes found."}):h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:["v10-pca-node-picker-combo",C?"has-selection":""].filter(Boolean).join(" "),children:[h.jsx("input",{type:"text",role:"combobox","aria-expanded":l,"aria-controls":l?w:void 0,"aria-autocomplete":"list","aria-label":"Search staked nodes","aria-describedby":S,"aria-required":c,"aria-invalid":c&&s==="","aria-activedescendant":l&&b>=0&&x[b]?`${w}-opt-${x[b].identityId}`:void 0,className:"v10-form-input","data-testid":"pca-primary-node-search",value:d,placeholder:C??"Search staked nodes by id…",autoComplete:"off",onFocus:()=>f(!0),onChange:k=>{u(k.target.value),f(!0),p(-1)},onKeyDown:N}),l&&h.jsxs("ul",{role:"listbox",id:w,"aria-label":"Staked sharding-table nodes",className:"v10-pca-node-picker-list",children:[x.map((k,B)=>{const R=k.identityId===s,z=a!=null&&k.identityId===a;return h.jsxs("li",{id:`${w}-opt-${k.identityId}`,role:"option","aria-selected":R,"data-testid":"pca-primary-node-option",className:["v10-pca-node-picker-option",B===b?"active":"",R?"selected":""].filter(Boolean).join(" "),"aria-label":`Node ${k.identityId}, peer ${k.nodeId}, stake ${ls(k.stake)} TRAC${z?", this node":""}`,onMouseDown:U=>{U.preventDefault(),A(k)},children:[h.jsxs("span",{className:"v10-pca-node-picker-id",children:["#",k.identityId]}),h.jsx("span",{className:"v10-pca-node-picker-peer",title:k.nodeId,children:k.nodeId}),h.jsx("span",{className:"badge",title:"Node labels are not verified — match on id",children:"unverified"}),h.jsxs("span",{className:"v10-pca-node-picker-stake",children:[ls(k.stake)," TRAC staked"]}),z&&h.jsx("span",{className:"v10-pca-node-picker-own",children:"✓ this node"})]},k.identityId)}),P&&h.jsxs("li",{role:"presentation",className:"v10-pca-node-picker-more",children:["showing ",x.length," of ",v.length," — refine your search"]})]})]}),C&&h.jsxs("div",{className:"v10-pca-node-picker-selected","data-testid":"pca-primary-node-selected",id:S,role:"status",children:[h.jsx("span",{children:"Selected primary node"}),h.jsxs("strong",{children:["Node #",s,F?` · ${F} TRAC staked`:"",$?" · this node":""]})]}),h.jsxs("div",{className:"v10-pca-node-picker-paste",children:[h.jsx("input",{type:"text",className:"v10-form-input","data-testid":"pca-primary-node-paste",value:m,placeholder:"…or paste a node id","aria-label":"Paste a node id",autoComplete:"off",onChange:k=>{g(k.target.value),E(null)},onKeyDown:k=>{k.key==="Enter"&&(k.preventDefault(),T())}}),h.jsx("button",{type:"button",className:"v10-pca-card-btn","data-testid":"pca-primary-node-paste-use",onClick:T,children:"Use"}),y&&h.jsx("p",{className:"v10-pca-crux-error",role:"alert","data-testid":"pca-primary-node-paste-error",children:y})]}),j?h.jsx("p",{className:"v10-pca-create-hint","data-testid":"pca-primary-node-donation",children:"You get the discount; the reward weight from this account accrues to the node you pick — not to you."}):M&&h.jsxs("p",{className:"v10-pca-create-warn",role:"status","data-testid":"pca-primary-node-heads-up",children:["Reward weight will go to node #",s," instead of this node."]})]})]})}function al(e){return(e==null?void 0:e.trim())||"browser wallet"}function il({className:e=""}){const t=te(g=>g.address),n=te(g=>g.providerInfo),r=te(g=>g.chainId),s=te(g=>g.expectedChainId),o=te(g=>Dr(g)),a=te(g=>g.disconnect),i=te(g=>g.switchToExpectedChain),[c,d]=D.useState(!1),[u,l]=D.useState(null);if(!t)return null;const f=al(n==null?void 0:n.name),p=`Connected wallet ${t} via ${f}; ${o?"wrong network":"connected"}`,m=async()=>{d(!0),l(null);try{await i()}catch(g){l((g==null?void 0:g.message)??"Could not switch wallet network.")}finally{d(!1)}};return h.jsxs("div",{className:["v10-pca-wallet-pill-wrap",e].filter(Boolean).join(" "),children:[h.jsxs("div",{className:"v10-pca-wallet-pill","data-state":o?"wrong-network":"connected",role:"group","aria-label":p,children:[h.jsx("span",{className:"v10-pca-wallet-pill-main",title:t,children:Oi(t)}),h.jsxs("span",{className:"v10-pca-wallet-pill-provider",children:["via ",f]}),o?h.jsx("span",{className:"badge badge-warn v10-pca-wallet-pill-network",role:"alert",children:"wrong network"}):h.jsx("span",{className:"badge badge-success",children:"connected"}),h.jsxs("button",{type:"button",className:"v10-pca-wallet-pill-btn",onClick:a,title:"Disconnect this wallet before switching to another wallet",children:[h.jsx(Yd,{size:13,"aria-hidden":"true"}),h.jsx("span",{children:"Disconnect"})]})]}),o&&h.jsxs("div",{className:"v10-pca-wallet-pill-sub",children:[h.jsxs("span",{children:["Connected chain ",r??"-","; node expects ",s??"-","."]}),h.jsxs("button",{type:"button",className:"v10-pca-wallet-pill-link",onClick:m,disabled:c,children:[h.jsx(Xd,{size:12,"aria-hidden":"true"}),h.jsx("span",{children:c?"Switching...":"Switch"})]})]}),u&&h.jsx("p",{className:"v10-pca-wallet-error",role:"alert",children:u})]})}function Ia(e){var t;return((t=e.info.name)==null?void 0:t.trim())||e.info.rdns||"Browser wallet"}function Ba(e){return e.info.uuid||`${e.info.rdns}:${e.info.name}`}function cl({className:e=""}){const t=te(m=>m.discovered),n=te(m=>m.unsupported),r=te(m=>m.address),s=te(m=>m.initWallet),o=te(m=>m.connect),[a,i]=D.useState(!1),[c,d]=D.useState(null),[u,l]=D.useState(null);D.useEffect(()=>{s()},[s]);const f=D.useMemo(()=>n.map(m=>Ia(m)).join(", "),[n]);if(r)return h.jsxs("div",{className:["v10-pca-wallet-connect",e].filter(Boolean).join(" "),children:[h.jsx(il,{}),h.jsx("p",{className:"v10-pca-wallet-note",children:"One active wallet in v1. Disconnect to switch accounts or providers."})]});const b=async m=>{const g=Ba(m);d(g),l(null);try{await o(m),i(!1)}catch(y){l((y==null?void 0:y.message)??"Wallet connection failed.")}finally{d(null)}},p=()=>{if(t.length===1){b(t[0]);return}i(m=>!m)};return h.jsxs("div",{className:["v10-pca-wallet-connect",e].filter(Boolean).join(" "),children:[h.jsxs("button",{type:"button",className:"v10-pca-wallet-connect-btn","data-testid":"pca-wallet-connect",onClick:p,"aria-expanded":a,children:[c?h.jsx(Sa,{size:14,"aria-hidden":"true"}):h.jsx(Rd,{size:14,"aria-hidden":"true"}),h.jsx("span",{children:c?"Connecting...":"Connect wallet"}),t.length!==1&&h.jsx(Od,{size:14,"aria-hidden":"true"})]}),h.jsx("p",{className:"v10-pca-wallet-note",children:"Hardware wallet recommended. If your provider uses a device, verify the amount and contract on the device. Hot publishing wallets can publish without prompts; their spend is bounded by the per-epoch allowance, not the committed TRAC."}),h.jsx("p",{className:"v10-pca-wallet-note",children:"Provider names are self-reported and display-only."}),a&&h.jsx("div",{className:"v10-pca-wallet-picker",role:"menu","aria-label":"Wallet providers",children:t.length>0?t.map(m=>{const g=Ba(m);return h.jsxs("button",{type:"button",className:"v10-pca-wallet-provider",role:"menuitem",onClick:()=>void b(m),disabled:c!=null,children:[m.info.icon&&h.jsx("img",{src:m.info.icon,alt:"","aria-hidden":"true",className:"v10-pca-wallet-provider-icon"}),h.jsx("span",{children:Ia(m)}),c===g&&h.jsx(Sa,{size:13,"aria-hidden":"true"})]},g)}):h.jsx("p",{className:"v10-pca-wallet-picker-empty",children:"No supported injected wallet detected. Use a browser wallet that can connect to your hardware wallet."})}),f&&h.jsxs("p",{className:"v10-pca-wallet-note",role:"status",children:["Unsupported provider detected: ",f,"."]}),u&&h.jsx("p",{className:"v10-pca-wallet-error",role:"alert",children:u})]})}function ul(e){return e==="confirmed"?"OK":e==="submitted"?"TX":e==="failed"?"ERR":e==="aborted"?"STOP":e==="active"?"...":"-"}function Ui({steps:e,currentLabel:t,blockExplorerUrl:n}){const r=e.some(s=>s.state==="failed"||s.state==="aborted");return h.jsxs("div",{className:"v10-pca-device-progress",role:r?"alert":"status","aria-live":r?"assertive":"polite",children:[h.jsx("p",{className:"v10-pca-device-progress-title",children:t??"Confirm on your device"}),h.jsx("p",{className:"v10-pca-device-progress-note",children:"Verify the amount and contract address on the device before approving."}),h.jsx("ol",{className:"v10-pca-device-progress-list",children:e.map(s=>{const o=s.txHash&&n?`${n.replace(/\/$/,"")}/tx/${s.txHash}`:null;return h.jsxs("li",{className:"v10-pca-device-progress-row","data-state":s.state,children:[h.jsx("span",{className:"v10-pca-device-progress-glyph",children:ul(s.state)}),h.jsx("span",{children:s.label}),s.txHash&&(o?h.jsx("a",{href:o,target:"_blank",rel:"noreferrer",className:"v10-pca-device-progress-tx",children:"tx"}):h.jsx("code",{className:"v10-pca-device-progress-tx",children:s.txHash})),s.error&&h.jsx("span",{className:"v10-pca-device-progress-error",children:s.error})]},s.id)})})]})}const dl="1.2.3";let we=class Ds extends Error{constructor(t,n={}){var a;const r=n.cause instanceof Ds?n.cause.details:(a=n.cause)!=null&&a.message?n.cause.message:n.details,s=n.cause instanceof Ds&&n.cause.docsPath||n.docsPath,o=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...s?[`Docs: https://abitype.dev${s}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${dl}`].join(`
14
+ `);super(o),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=s,this.metaMessages=n.metaMessages,this.shortMessage=t}};function dt(e,t){const n=e.exec(t);return n==null?void 0:n.groups}const Di=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Hi=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,qi=/^\(.+?\).*?$/,ja=/^tuple(?<array>(\[(\d*)\])*)$/;function Hs(e){let t=e.type;if(ja.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let s=0;s<n;s++){const o=e.components[s];t+=Hs(o),s<n-1&&(t+=", ")}const r=dt(ja,e.type);return t+=`)${(r==null?void 0:r.array)||""}`,Hs({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Kt(e){let t="";const n=e.length;for(let r=0;r<n;r++){const s=e[r];t+=Hs(s),r!==n-1&&(t+=", ")}return t}function $r(e){var t;return e.type==="function"?`function ${e.name}(${Kt(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${(t=e.outputs)!=null&&t.length?` returns (${Kt(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Kt(e.inputs)})`:e.type==="error"?`error ${e.name}(${Kt(e.inputs)})`:e.type==="constructor"?`constructor(${Kt(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const Gi=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function ll(e){return Gi.test(e)}function fl(e){return dt(Gi,e)}const Wi=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function hl(e){return Wi.test(e)}function pl(e){return dt(Wi,e)}const Vi=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function bl(e){return Vi.test(e)}function ml(e){return dt(Vi,e)}const Zi=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Hr(e){return Zi.test(e)}function yl(e){return dt(Zi,e)}const Ki=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function gl(e){return Ki.test(e)}function wl(e){return dt(Ki,e)}const Yi=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function vl(e){return Yi.test(e)}function xl(e){return dt(Yi,e)}const Al=/^receive\(\) external payable$/;function Pl(e){return Al.test(e)}const Ra=new Set(["memory","indexed","storage","calldata"]),El=new Set(["indexed"]),qs=new Set(["calldata","memory","storage"]);class Cl extends we{constructor({signature:t}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}}class Nl extends we{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class kl extends we{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class Tl extends we{constructor({params:t}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}}class $l extends we{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class Sl extends we{constructor({param:t,name:n}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${n}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class Il extends we{constructor({param:t,type:n,modifier:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${r}" not allowed${n?` in "${n}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class Bl extends we{constructor({param:t,type:n,modifier:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${r}" not allowed${n?` in "${n}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class jl extends we{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class ln extends we{constructor({signature:t,type:n}){super(`Invalid ${n} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class Rl extends we{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class Ol extends we{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class Ml extends we{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class Fl extends we{constructor({current:t,depth:n}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${n>0?"opening":"closing"} parentheses.`],details:`Depth "${n}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}function zl(e,t,n){let r="";if(n)for(const s of Object.entries(n)){if(!s)continue;let o="";for(const a of s[1])o+=`[${a.type}${a.name?`:${a.name}`:""}]`;r+=`(${s[0]}{${o}})`}return t?`${t}:${e}${r}`:`${e}${r}`}const hs=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Gs(e,t={}){if(bl(e))return Ll(e,t);if(hl(e))return _l(e,t);if(ll(e))return Ul(e,t);if(gl(e))return Dl(e,t);if(vl(e))return Hl(e);if(Pl(e))return{type:"receive",stateMutability:"payable"};throw new Rl({signature:e})}function Ll(e,t={}){const n=ml(e);if(!n)throw new ln({signature:e,type:"function"});const r=Ce(n.parameters),s=[],o=r.length;for(let i=0;i<o;i++)s.push(at(r[i],{modifiers:qs,structs:t,type:"function"}));const a=[];if(n.returns){const i=Ce(n.returns),c=i.length;for(let d=0;d<c;d++)a.push(at(i[d],{modifiers:qs,structs:t,type:"function"}))}return{name:n.name,type:"function",stateMutability:n.stateMutability??"nonpayable",inputs:s,outputs:a}}function _l(e,t={}){const n=pl(e);if(!n)throw new ln({signature:e,type:"event"});const r=Ce(n.parameters),s=[],o=r.length;for(let a=0;a<o;a++)s.push(at(r[a],{modifiers:El,structs:t,type:"event"}));return{name:n.name,type:"event",inputs:s}}function Ul(e,t={}){const n=fl(e);if(!n)throw new ln({signature:e,type:"error"});const r=Ce(n.parameters),s=[],o=r.length;for(let a=0;a<o;a++)s.push(at(r[a],{structs:t,type:"error"}));return{name:n.name,type:"error",inputs:s}}function Dl(e,t={}){const n=wl(e);if(!n)throw new ln({signature:e,type:"constructor"});const r=Ce(n.parameters),s=[],o=r.length;for(let a=0;a<o;a++)s.push(at(r[a],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:n.stateMutability??"nonpayable",inputs:s}}function Hl(e){const t=xl(e);if(!t)throw new ln({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}const ql=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Gl=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Wl=/^u?int$/;function at(e,t){var l,f;const n=zl(e,t==null?void 0:t.type,t==null?void 0:t.structs);if(hs.has(n))return hs.get(n);const r=qi.test(e),s=dt(r?Gl:ql,e);if(!s)throw new $l({param:e});if(s.name&&Zl(s.name))throw new Sl({param:e,name:s.name});const o=s.name?{name:s.name}:{},a=s.modifier==="indexed"?{indexed:!0}:{},i=(t==null?void 0:t.structs)??{};let c,d={};if(r){c="tuple";const b=Ce(s.type),p=[],m=b.length;for(let g=0;g<m;g++)p.push(at(b[g],{structs:i}));d={components:p}}else if(s.type in i)c="tuple",d={components:i[s.type]};else if(Wl.test(s.type))c=`${s.type}256`;else if(s.type==="address payable")c="address";else if(c=s.type,(t==null?void 0:t.type)!=="struct"&&!Ji(c))throw new kl({type:c});if(s.modifier){if(!((f=(l=t==null?void 0:t.modifiers)==null?void 0:l.has)!=null&&f.call(l,s.modifier)))throw new Il({param:e,type:t==null?void 0:t.type,modifier:s.modifier});if(qs.has(s.modifier)&&!Kl(c,!!s.array))throw new Bl({param:e,type:t==null?void 0:t.type,modifier:s.modifier})}const u={type:`${c}${s.array??""}`,...o,...a,...d};return hs.set(n,u),u}function Ce(e,t=[],n="",r=0){const s=e.trim().length;for(let o=0;o<s;o++){const a=e[o],i=e.slice(o+1);switch(a){case",":return r===0?Ce(i,[...t,n.trim()]):Ce(i,t,`${n}${a}`,r);case"(":return Ce(i,t,`${n}${a}`,r+1);case")":return Ce(i,t,`${n}${a}`,r-1);default:return Ce(i,t,`${n}${a}`,r)}}if(n==="")return t;if(r!==0)throw new Fl({current:n,depth:r});return t.push(n.trim()),t}function Ji(e){return e==="address"||e==="bool"||e==="function"||e==="string"||Di.test(e)||Hi.test(e)}const Vl=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function Zl(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||Di.test(e)||Hi.test(e)||Vl.test(e)}function Kl(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}function To(e){const t={},n=e.length;for(let a=0;a<n;a++){const i=e[a];if(!Hr(i))continue;const c=yl(i);if(!c)throw new ln({signature:i,type:"struct"});const d=c.properties.split(";"),u=[],l=d.length;for(let f=0;f<l;f++){const p=d[f].trim();if(!p)continue;const m=at(p,{type:"struct"});u.push(m)}if(!u.length)throw new Ol({signature:i});t[c.name]=u}const r={},s=Object.entries(t),o=s.length;for(let a=0;a<o;a++){const[i,c]=s[a];r[i]=Xi(c,t)}return r}const Yl=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function Xi(e=[],t={},n=new Set){const r=[],s=e.length;for(let o=0;o<s;o++){const a=e[o];if(qi.test(a.type))r.push(a);else{const c=dt(Yl,a.type);if(!(c!=null&&c.type))throw new jl({abiParameter:a});const{array:d,type:u}=c;if(u in t){if(n.has(u))throw new Ml({type:u});r.push({...a,type:`tuple${d??""}`,components:Xi(t[u],t,new Set([...n,u]))})}else if(Ji(u))r.push(a);else throw new Nl({type:u})}}return r}function Qi(e){const t=To(e),n=[],r=e.length;for(let s=0;s<r;s++){const o=e[s];Hr(o)||n.push(Gs(o,t))}return n}function Oa(e){let t;if(typeof e=="string")t=Gs(e);else{const n=To(e),r=e.length;for(let s=0;s<r;s++){const o=e[s];if(!Hr(o)){t=Gs(o,n);break}}}if(!t)throw new Cl({signature:e});return t}function Ma(e){const t=[];if(typeof e=="string"){const n=Ce(e),r=n.length;for(let s=0;s<r;s++)t.push(at(n[s],{modifiers:Ra}))}else{const n=To(e),r=e.length;for(let s=0;s<r;s++){const o=e[s];if(Hr(o))continue;const a=Ce(o),i=a.length;for(let c=0;c<i;c++)t.push(at(a[c],{modifiers:Ra,structs:n}))}}if(t.length===0)throw new Tl({params:e});return t}function L(e,t,n){const r=e[t.name];if(typeof r=="function")return r;const s=e[n];return typeof s=="function"?s:o=>t(e,o)}function Me(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new lf(e.type);return`${e.name}(${qr(e.inputs,{includeName:t})})`}function qr(e,{includeName:t=!1}={}){return e?e.map(n=>Jl(n,{includeName:t})).join(t?", ":","):""}function Jl(e,{includeName:t}){return e.type.startsWith("tuple")?`(${qr(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}function Ve(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function ne(e){return Ve(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const ec="2.53.1";let An={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${ec}`},I=class Ws extends Error{constructor(t,n={}){var i;const r=(()=>{var c;return n.cause instanceof Ws?n.cause.details:(c=n.cause)!=null&&c.message?n.cause.message:n.details})(),s=n.cause instanceof Ws&&n.cause.docsPath||n.docsPath,o=(i=An.getDocsUrl)==null?void 0:i.call(An,{...n,docsPath:s}),a=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...o?[`Docs: ${o}`]:[],...r?[`Details: ${r}`]:[],...An.version?[`Version: ${An.version}`]:[]].join(`
15
+ `);super(a,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=s,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=ec}walk(t){return tc(this,t)}};function tc(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?tc(e.cause,t):t?null:e}class Xl extends I{constructor({docsPath:t}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(`
16
+ `),{docsPath:t,name:"AbiConstructorNotFoundError"})}}class Fa extends I{constructor({docsPath:t}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(`
17
+ `),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}}class nc extends I{constructor({data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for given parameters.`].join(`
18
+ `),{metaMessages:[`Params: (${qr(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t,this.params=n,this.size=r}}class er extends I{constructor({cause:t}={}){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError",cause:t})}}class Ql extends I{constructor({expectedLength:t,givenLength:n,type:r}){super([`ABI encoding array length mismatch for type ${r}.`,`Expected length: ${t}`,`Given length: ${n}`].join(`
19
+ `),{name:"AbiEncodingArrayLengthMismatchError"})}}class ef extends I{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${ne(n)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class tf extends I{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${n}`].join(`
20
+ `),{name:"AbiEncodingLengthMismatchError"})}}class nf extends I{constructor(t,{docsPath:n}){super([`Arguments (\`args\`) were provided to "${t}", but "${t}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(`
21
+ `),{docsPath:n,name:"AbiErrorInputsNotFoundError"})}}class za extends I{constructor(t,{docsPath:n}={}){super([`Error ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(`
22
+ `),{docsPath:n,name:"AbiErrorNotFoundError"})}}class rc extends I{constructor(t,{docsPath:n,cause:r}){super([`Encoded error signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${t}.`].join(`
23
+ `),{docsPath:n,name:"AbiErrorSignatureNotFoundError",cause:r}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}}class rf extends I{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}}class sf extends I{constructor(t,{docsPath:n}){super([`Encoded event signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://4byte.sourcify.dev/?q=${t}.`].join(`
24
+ `),{docsPath:n,name:"AbiEventSignatureNotFoundError"})}}class La extends I{constructor(t,{docsPath:n}={}){super([`Event ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(`
25
+ `),{docsPath:n,name:"AbiEventNotFoundError"})}}class tn extends I{constructor(t,{docsPath:n}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
26
+ `),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class sc extends I{constructor(t,{docsPath:n}){super([`Function "${t}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(`
27
+ `),{docsPath:n,name:"AbiFunctionOutputsNotFoundError"})}}class of extends I{constructor(t,{docsPath:n}){super([`Encoded function signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://4byte.sourcify.dev/?q=${t}.`].join(`
28
+ `),{docsPath:n,name:"AbiFunctionSignatureNotFoundError"})}}class af extends I{constructor(t,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${Me(t.abiItem)}\`, and`,`\`${n.type}\` in \`${Me(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}let cf=class extends I{constructor({expectedSize:t,givenSize:n}){super(`Expected bytes${t}, got bytes${n}.`,{name:"BytesSizeMismatchError"})}};class Sr extends I{constructor({abiItem:t,data:n,params:r,size:s}){super([`Data size of ${s} bytes is too small for non-indexed event parameters.`].join(`
29
+ `),{metaMessages:[`Params: (${qr(r,{includeName:!0})})`,`Data: ${n} (${s} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t,this.data=n,this.params=r,this.size=s}}class $o extends I{constructor({abiItem:t,param:n}){super([`Expected a topic for indexed event parameter${n.name?` "${n.name}"`:""} on event "${Me(t,{includeName:!0})}".`].join(`
30
+ `),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}}class uf extends I{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
31
+ `),{docsPath:n,name:"InvalidAbiEncodingType"})}}class df extends I{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
32
+ `),{docsPath:n,name:"InvalidAbiDecodingType"})}}let oc=class extends I{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
33
+ `),{name:"InvalidArrayError"})}};class lf extends I{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
34
+ `),{name:"InvalidDefinitionTypeError"})}}class ff extends I{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}let ac=class extends I{constructor({offset:t,position:n,size:r}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${r}).`,{name:"SliceOffsetOutOfBoundsError"})}},ic=class extends I{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}};class _a extends I{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} is expected to be ${n} ${r} long, but is ${t} ${r} long.`,{name:"InvalidBytesLengthError"})}}function fn(e,{dir:t,size:n=32}={}){return typeof e=="string"?mt(e,{dir:t,size:n}):hf(e,{dir:t,size:n})}function mt(e,{dir:t,size:n=32}={}){if(n===null)return e;const r=e.replace("0x","");if(r.length>n*2)throw new ic({size:Math.ceil(r.length/2),targetSize:n,type:"hex"});return`0x${r[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function hf(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new ic({size:e.length,targetSize:n,type:"bytes"});const r=new Uint8Array(n);for(let s=0;s<n;s++){const o=t==="right";r[o?s:n-s-1]=e[o?s:e.length-s-1]}return r}let So=class extends I{constructor({max:t,min:n,signed:r,size:s,value:o}){super(`Number "${o}" is not in safe ${s?`${s*8}-bit ${r?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}},pf=class extends I{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}};class bf extends I{constructor(t){super(`Hex value "${t}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}}let mf=class extends I{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}};function nt(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,r=0;for(let s=0;s<n.length-1&&n[t==="left"?s:n.length-s-1].toString()==="0";s++)r++;return n=t==="left"?n.slice(r):n.slice(0,n.length-r),typeof e=="string"?(n.length===1&&t==="right"&&(n=`${n}0`),`0x${n.length%2===1?`0${n}`:n}`):n}function Ue(e,{size:t}){if(ne(e)>t)throw new mf({givenSize:ne(e),maxSize:t})}function ke(e,t={}){const{signed:n}=t;t.size&&Ue(e,{size:t.size});const r=BigInt(e);if(!n)return r;const s=(e.length-2)/2,o=(1n<<BigInt(s)*8n-1n)-1n;return r<=o?r:r-BigInt(`0x${"f".padStart(s*2,"f")}`)-1n}function yf(e,t={}){let n=e;if(t.size&&(Ue(n,{size:t.size}),n=nt(n)),nt(n)==="0x00")return!1;if(nt(n)==="0x01")return!0;throw new bf(n)}function Fe(e,t={}){const n=ke(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new So({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:t.signed,size:t.size,value:`${n}n`});return r}const gf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function it(e,t={}){return typeof e=="number"||typeof e=="bigint"?H(e,t):typeof e=="string"?Sn(e,t):typeof e=="boolean"?cc(e,t):ae(e,t)}function cc(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(Ue(n,{size:t.size}),fn(n,{size:t.size})):n}function ae(e,t={}){let n="";for(let s=0;s<e.length;s++)n+=gf[e[s]];const r=`0x${n}`;return typeof t.size=="number"?(Ue(r,{size:t.size}),fn(r,{dir:"right",size:t.size})):r}function H(e,t={}){const{signed:n,size:r}=t,s=BigInt(e);let o;r?n?o=(1n<<BigInt(r)*8n-1n)-1n:o=2n**(BigInt(r)*8n)-1n:typeof e=="number"&&(o=BigInt(Number.MAX_SAFE_INTEGER));const a=typeof o=="bigint"&&n?-o-1n:0;if(o&&s>o||s<a){const c=typeof e=="bigint"?"n":"";throw new So({max:o?`${o}${c}`:void 0,min:`${a}${c}`,signed:n,size:r,value:`${e}${c}`})}const i=`0x${(n&&s<0?(1n<<BigInt(r*8))+BigInt(s):s).toString(16)}`;return r?fn(i,{size:r}):i}const wf=new TextEncoder;function Sn(e,t={}){const n=wf.encode(e);return ae(n,t)}const vf=new TextEncoder;function hn(e,t={}){return typeof e=="number"||typeof e=="bigint"?Af(e,t):typeof e=="boolean"?xf(e,t):Ve(e)?Ze(e,t):Bt(e,t)}function xf(e,t={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(Ue(n,{size:t.size}),fn(n,{size:t.size})):n}const Je={zero:48,nine:57,A:65,F:70,a:97,f:102};function Ua(e){if(e>=Je.zero&&e<=Je.nine)return e-Je.zero;if(e>=Je.A&&e<=Je.F)return e-(Je.A-10);if(e>=Je.a&&e<=Je.f)return e-(Je.a-10)}function Ze(e,t={}){let n=e;t.size&&(Ue(n,{size:t.size}),n=fn(n,{dir:"right",size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);const s=r.length/2,o=new Uint8Array(s);for(let a=0,i=0;a<s;a++){const c=Ua(r.charCodeAt(i++)),d=Ua(r.charCodeAt(i++));if(c===void 0||d===void 0)throw new I(`Invalid byte sequence ("${r[i-2]}${r[i-1]}" in "${r}").`);o[a]=c*16+d}return o}function Af(e,t){const n=H(e,t);return Ze(n)}function Bt(e,t={}){const n=vf.encode(e);return typeof t.size=="number"?(Ue(n,{size:t.size}),fn(n,{dir:"right",size:t.size})):n}const br=BigInt(2**32-1),Da=BigInt(32);function Pf(e,t=!1){return t?{h:Number(e&br),l:Number(e>>Da&br)}:{h:Number(e>>Da&br)|0,l:Number(e&br)|0}}function Ef(e,t=!1){const n=e.length;let r=new Uint32Array(n),s=new Uint32Array(n);for(let o=0;o<n;o++){const{h:a,l:i}=Pf(e[o],t);[r[o],s[o]]=[a,i]}return[r,s]}const Cf=(e,t,n)=>e<<n|t>>>32-n,Nf=(e,t,n)=>t<<n|e>>>32-n,kf=(e,t,n)=>t<<n-32|e>>>64-n,Tf=(e,t,n)=>e<<n-32|t>>>64-n,Vt=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function $f(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function In(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Ot(e,...t){if(!$f(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Sf(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");In(e.outputLen),In(e.blockLen)}function nn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function uc(e,t){Ot(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function If(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function rn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ps(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ge(e,t){return e<<32-t|e>>>t}const Bf=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function jf(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Rf(e){for(let t=0;t<e.length;t++)e[t]=jf(e[t]);return e}const Ha=Bf?e=>e:Rf;function Of(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Gr(e){return typeof e=="string"&&(e=Of(e)),Ot(e),e}function Mf(...e){let t=0;for(let r=0;r<e.length;r++){const s=e[r];Ot(s),t+=s.length}const n=new Uint8Array(t);for(let r=0,s=0;r<e.length;r++){const o=e[r];n.set(o,s),s+=o.length}return n}class Io{}function dc(e){const t=r=>e().update(Gr(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Ff(e=32){if(Vt&&typeof Vt.getRandomValues=="function")return Vt.getRandomValues(new Uint8Array(e));if(Vt&&typeof Vt.randomBytes=="function")return Uint8Array.from(Vt.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const zf=BigInt(0),Pn=BigInt(1),Lf=BigInt(2),_f=BigInt(7),Uf=BigInt(256),Df=BigInt(113),lc=[],fc=[],hc=[];for(let e=0,t=Pn,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],lc.push(2*(5*r+n)),fc.push((e+1)*(e+2)/2%64);let s=zf;for(let o=0;o<7;o++)t=(t<<Pn^(t>>_f)*Df)%Uf,t&Lf&&(s^=Pn<<(Pn<<BigInt(o))-Pn);hc.push(s)}const pc=Ef(hc,!0),Hf=pc[0],qf=pc[1],qa=(e,t,n)=>n>32?kf(e,t,n):Cf(e,t,n),Ga=(e,t,n)=>n>32?Tf(e,t,n):Nf(e,t,n);function Gf(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let a=0;a<10;a++)n[a]=e[a]^e[a+10]^e[a+20]^e[a+30]^e[a+40];for(let a=0;a<10;a+=2){const i=(a+8)%10,c=(a+2)%10,d=n[c],u=n[c+1],l=qa(d,u,1)^n[i],f=Ga(d,u,1)^n[i+1];for(let b=0;b<50;b+=10)e[a+b]^=l,e[a+b+1]^=f}let s=e[2],o=e[3];for(let a=0;a<24;a++){const i=fc[a],c=qa(s,o,i),d=Ga(s,o,i),u=lc[a];s=e[u],o=e[u+1],e[u]=c,e[u+1]=d}for(let a=0;a<50;a+=10){for(let i=0;i<10;i++)n[i]=e[a+i];for(let i=0;i<10;i++)e[a+i]^=~n[(i+2)%10]&n[(i+4)%10]}e[0]^=Hf[r],e[1]^=qf[r]}rn(n)}class Bo extends Io{constructor(t,n,r,s=!1,o=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=o,In(r),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=If(this.state)}clone(){return this._cloneInto()}keccak(){Ha(this.state32),Gf(this.state32,this.rounds),Ha(this.state32),this.posOut=0,this.pos=0}update(t){nn(this),t=Gr(t),Ot(t);const{blockLen:n,state:r}=this,s=t.length;for(let o=0;o<s;){const a=Math.min(n-this.pos,s-o);for(let i=0;i<a;i++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:s}=this;t[r]^=n,(n&128)!==0&&r===s-1&&this.keccak(),t[s-1]^=128,this.keccak()}writeInto(t){nn(this,!1),Ot(t),this.finish();const n=this.state,{blockLen:r}=this;for(let s=0,o=t.length;s<o;){this.posOut>=r&&this.keccak();const a=Math.min(r-this.posOut,o-s);t.set(n.subarray(this.posOut,this.posOut+a),s),this.posOut+=a,s+=a}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return In(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(uc(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,rn(this.state)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:s,rounds:o,enableXOF:a}=this;return t||(t=new Bo(n,r,s,a,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=s,t.enableXOF=a,t.destroyed=this.destroyed,t}}const Wf=(e,t,n)=>dc(()=>new Bo(t,e,n)),bc=Wf(1,136,256/8);function ce(e,t){const n=t||"hex",r=bc(Ve(e,{strict:!1})?hn(e):e);return n==="bytes"?r:it(r)}const Vf=e=>ce(hn(e));function Zf(e){return Vf(e)}function Kf(e){let t=!0,n="",r=0,s="",o=!1;for(let a=0;a<e.length;a++){const i=e[a];if(["(",")",","].includes(i)&&(t=!0),i==="("&&r++,i===")"&&r--,!!t){if(r===0){if(i===" "&&["event","function",""].includes(s))s="";else if(s+=i,i===")"){o=!0;break}continue}if(i===" "){e[a-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}s+=i,n+=i}}if(!o)throw new I("Unable to normalize signature.");return s}const Yf=e=>{const t=typeof e=="string"?e:$r(e);return Kf(t)};function mc(e){return Zf(Yf(e))}const Wr=mc;let gt=class extends I{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}},pn=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&(super.delete(t),super.set(t,n)),n}set(t,n){if(super.has(t)&&super.delete(t),super.set(t,n),this.maxSize&&this.size>this.maxSize){const r=super.keys().next().value;r!==void 0&&super.delete(r)}return this}};const bs=new pn(8192);function tr(e,t){if(bs.has(`${e}.${t}`))return bs.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),r=ce(Bt(n),"bytes"),s=n.split("");for(let a=0;a<40;a+=2)r[a>>1]>>4>=8&&s[a]&&(s[a]=s[a].toUpperCase()),(r[a>>1]&15)>=8&&s[a+1]&&(s[a+1]=s[a+1].toUpperCase());const o=`0x${s.join("")}`;return bs.set(`${e}.${t}`,o),o}function Mt(e,t){if(!Be(e,{strict:!1}))throw new gt({address:e});return tr(e,t)}const Jf=/^0x[a-fA-F0-9]{40}$/,ms=new pn(8192);function Be(e,t){const{strict:n=!0}=t??{},r=`${e}.${n}`;if(ms.has(r))return ms.get(r);const s=Jf.test(e)?e.toLowerCase()===e?!0:n?tr(e)===e:!0:!1;return ms.set(r,s),s}function de(e){return typeof e[0]=="string"?bn(e):Xf(e)}function Xf(e){let t=0;for(const s of e)t+=s.length;const n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.length;return n}function bn(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}function Ft(e,t,n,{strict:r}={}){return Ve(e,{strict:!1})?Vs(e,t,n,{strict:r}):wc(e,t,n,{strict:r})}function yc(e,t){if(typeof t=="number"&&t>0&&t>ne(e)-1)throw new ac({offset:t,position:"start",size:ne(e)})}function gc(e,t,n){if(typeof t=="number"&&typeof n=="number"&&ne(e)!==n-t)throw new ac({offset:n,position:"end",size:ne(e)})}function wc(e,t,n,{strict:r}={}){yc(e,t);const s=e.slice(t,n);return r&&gc(s,t,n),s}function Vs(e,t,n,{strict:r}={}){yc(e,t);const s=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return r&&gc(s,t,n),s}const Qf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,vc=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function qt(e,t){if(e.length!==t.length)throw new tf({expectedLength:e.length,givenLength:t.length});const n=e0({params:e,values:t}),r=Ro(n);return r.length===0?"0x":r}function e0({params:e,values:t}){const n=[];for(let r=0;r<e.length;r++)n.push(jo({param:e[r],value:t[r]}));return n}function jo({param:e,value:t}){const n=Oo(e.type);if(n){const[r,s]=n;return n0(t,{length:r,param:{...e,type:s}})}if(e.type==="tuple")return i0(t,{param:e});if(e.type==="address")return t0(t);if(e.type==="bool")return s0(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const r=e.type.startsWith("int"),[,,s="256"]=vc.exec(e.type)??[];return o0(t,{signed:r,size:Number(s)})}if(e.type.startsWith("bytes"))return r0(t,{param:e});if(e.type==="string")return a0(t);throw new uf(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Ro(e){let t=0;for(let o=0;o<e.length;o++){const{dynamic:a,encoded:i}=e[o];a?t+=32:t+=ne(i)}const n=[],r=[];let s=0;for(let o=0;o<e.length;o++){const{dynamic:a,encoded:i}=e[o];a?(n.push(H(t+s,{size:32})),r.push(i),s+=ne(i)):n.push(i)}return de([...n,...r])}function t0(e){if(!Be(e))throw new gt({address:e});return{dynamic:!1,encoded:mt(e.toLowerCase())}}function n0(e,{length:t,param:n}){const r=t===null;if(!Array.isArray(e))throw new oc(e);if(!r&&e.length!==t)throw new Ql({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let s=!1;const o=[];for(let a=0;a<e.length;a++){const i=jo({param:n,value:e[a]});i.dynamic&&(s=!0),o.push(i)}if(r||s){const a=Ro(o);if(r){const i=H(o.length,{size:32});return{dynamic:!0,encoded:o.length>0?de([i,a]):i}}if(s)return{dynamic:!0,encoded:a}}return{dynamic:!1,encoded:de(o.map(({encoded:a})=>a))}}function r0(e,{param:t}){const[,n]=t.type.split("bytes"),r=ne(e);if(!n){let s=e;return r%32!==0&&(s=mt(s,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:de([mt(H(r,{size:32})),s])}}if(r!==Number.parseInt(n,10))throw new ef({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:mt(e,{dir:"right"})}}function s0(e){if(typeof e!="boolean")throw new I(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:mt(cc(e))}}function o0(e,{signed:t,size:n=256}){if(typeof n=="number"){const r=2n**(BigInt(n)-(t?1n:0n))-1n,s=t?-r-1n:0n;if(e>r||e<s)throw new So({max:r.toString(),min:s.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:H(e,{size:32,signed:t})}}function a0(e){const t=Sn(e),n=Math.ceil(ne(t)/32),r=[];for(let s=0;s<n;s++)r.push(mt(Ft(t,s*32,(s+1)*32),{dir:"right"}));return{dynamic:!0,encoded:de([mt(H(ne(t),{size:32})),...r])}}function i0(e,{param:t}){let n=!1;const r=[];for(let s=0;s<t.components.length;s++){const o=t.components[s],a=Array.isArray(e)?s:o.name,i=jo({param:o,value:e[a]});r.push(i),i.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Ro(r):de(r.map(({encoded:s})=>s))}}function Oo(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const nr=e=>Ft(mc(e),0,4);function Gt(e){const{abi:t,args:n=[],name:r}=e,s=Ve(r,{strict:!1}),o=t.filter(i=>s?i.type==="function"?nr(i)===r:i.type==="event"?Wr(i)===r:!1:"name"in i&&i.name===r);if(o.length===0)return;if(o.length===1)return o[0];let a;for(const i of o){if(!("inputs"in i))continue;if(!n||n.length===0){if(!i.inputs||i.inputs.length===0)return i;continue}if(!i.inputs||i.inputs.length===0||i.inputs.length!==n.length)continue;if(n.every((d,u)=>{const l="inputs"in i&&i.inputs[u];return l?Zs(d,l):!1})){if(a&&"inputs"in a&&a.inputs){const d=xc(i.inputs,a.inputs,n);if(d)throw new af({abiItem:i,type:d[0]},{abiItem:a,type:d[1]})}a=i}}return a||o[0]}function Zs(e,t){const n=typeof e,r=t.type;switch(r){case"address":return Be(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return r==="tuple"&&"components"in t?Object.values(t.components).every((s,o)=>n==="object"&&Zs(Object.values(e)[o],s)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(e)&&e.every(s=>Zs(s,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function xc(e,t,n){for(const r in e){const s=e[r],o=t[r];if(s.type==="tuple"&&o.type==="tuple"&&"components"in s&&"components"in o)return xc(s.components,o.components,n[r]);const a=[s.type,o.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?Be(n[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?Be(n[r],{strict:!1}):!1)return a}}const Wa="/docs/contract/encodeEventTopics";function rr(e){var c;const{abi:t,eventName:n,args:r}=e;let s=t[0];if(n){const d=Gt({abi:t,name:n});if(!d)throw new La(n,{docsPath:Wa});s=d}if(s.type!=="event")throw new La(void 0,{docsPath:Wa});let o=[];if(r&&"inputs"in s){const d=(c=s.inputs)==null?void 0:c.filter(l=>"indexed"in l&&l.indexed),u=Array.isArray(r)?r:Object.values(r).length>0?(d==null?void 0:d.map(l=>r[l.name]))??[]:[];u.length>0&&(o=(d==null?void 0:d.map((l,f)=>Array.isArray(u[f])?u[f].map((b,p)=>Va({param:l,value:u[f][p]})):typeof u[f]<"u"&&u[f]!==null?Va({param:l,value:u[f]}):null))??[])}if(s.anonymous)return o;const a=Me(s);return[Wr(a),...o]}function Va({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return ce(hn(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new ff(e.type);return qt([e],[t])}function Vr(e,{method:t}){var r,s;const n={};return e.transport.type==="fallback"&&((s=(r=e.transport).onResponse)==null||s.call(r,({method:o,response:a,status:i,transport:c})=>{i==="success"&&t===o&&(n[a]=c.request)})),(o=>n[o]||e.request)}async function Ac(e,t){const{address:n,abi:r,args:s,eventName:o,fromBlock:a,strict:i,toBlock:c}=t,d=Vr(e,{method:"eth_newFilter"}),u=o?rr({abi:r,args:s,eventName:o}):void 0,l=await e.request({method:"eth_newFilter",params:[{address:n,fromBlock:typeof a=="bigint"?H(a):a,toBlock:typeof c=="bigint"?H(c):c,topics:u}]});return{abi:r,args:s,eventName:o,id:l,request:d(l),strict:!!i,type:"event"}}function re(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}const Za="/docs/contract/encodeFunctionData";function c0(e){const{abi:t,args:n,functionName:r}=e;let s=t[0];if(r){const o=Gt({abi:t,args:n,name:r});if(!o)throw new tn(r,{docsPath:Za});s=o}if(s.type!=="function")throw new tn(void 0,{docsPath:Za});return{abi:[s],functionName:nr(Me(s))}}function ve(e){const{args:t}=e,{abi:n,functionName:r}=(()=>{var i;return e.abi.length===1&&((i=e.functionName)!=null&&i.startsWith("0x"))?e:c0(e)})(),s=n[0],o=r,a="inputs"in s&&s.inputs?qt(s.inputs,t??[]):void 0;return bn([o,a??"0x"])}const u0={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},Pc={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},d0={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};let Ka=class extends I{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},Ec=class extends I{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},l0=class extends I{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}};const f0={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new l0({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ec({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ka({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Ka({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Mo(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(f0);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function h0(e,t={}){typeof t.size<"u"&&Ue(e,{size:t.size});const n=ae(e,t);return ke(n,t)}function p0(e,t={}){let n=e;if(typeof t.size<"u"&&(Ue(n,{size:t.size}),n=nt(n)),n.length>1||n[0]>1)throw new pf(n);return!!n[0]}function rt(e,t={}){typeof t.size<"u"&&Ue(e,{size:t.size});const n=ae(e,t);return Fe(n,t)}function b0(e,t={}){let n=e;return typeof t.size<"u"&&(Ue(n,{size:t.size}),n=nt(n,{dir:"right"})),new TextDecoder().decode(n)}function sr(e,t){const n=typeof t=="string"?Ze(t):t,r=Mo(n);if(ne(n)===0&&e.length>0)throw new er;if(ne(t)&&ne(t)<32)throw new nc({data:typeof t=="string"?t:ae(t),params:e,size:ne(t)});let s=0;const o=[];for(let a=0;a<e.length;++a){const i=e[a];r.setPosition(s);const[c,d]=Xt(r,i,{staticPosition:0});s+=d,o.push(c)}return o}function Xt(e,t,{staticPosition:n}){const r=Oo(t.type);if(r){const[s,o]=r;return y0(e,{...t,type:o},{length:s,staticPosition:n})}if(t.type==="tuple")return x0(e,t,{staticPosition:n});if(t.type==="address")return m0(e);if(t.type==="bool")return g0(e);if(t.type.startsWith("bytes"))return w0(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return v0(e,t);if(t.type==="string")return A0(e,{staticPosition:n});throw new df(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const Ya=32,Ks=32;function m0(e){const t=e.readBytes(32);return[tr(ae(wc(t,-20))),32]}function y0(e,t,{length:n,staticPosition:r}){if(!n){const a=rt(e.readBytes(Ks)),i=r+a,c=i+Ya;e.setPosition(i);const d=rt(e.readBytes(Ya)),u=Bn(t);let l=0;const f=[];for(let b=0;b<d;++b){e.setPosition(c+(u?b*32:l));const[p,m]=Xt(e,t,{staticPosition:c});l+=m,f.push(p)}return e.setPosition(r+32),[f,32]}if(Bn(t)){const a=rt(e.readBytes(Ks)),i=r+a,c=[];for(let d=0;d<n;++d){e.setPosition(i+d*32);const[u]=Xt(e,t,{staticPosition:i});c.push(u)}return e.setPosition(r+32),[c,32]}let s=0;const o=[];for(let a=0;a<n;++a){const[i,c]=Xt(e,t,{staticPosition:r+s});s+=c,o.push(i)}return[o,s]}function g0(e){return[p0(e.readBytes(32),{size:32}),32]}function w0(e,t,{staticPosition:n}){const[r,s]=t.type.split("bytes");if(!s){const a=rt(e.readBytes(32));e.setPosition(n+a);const i=rt(e.readBytes(32));if(i===0)return e.setPosition(n+32),["0x",32];const c=e.readBytes(i);return e.setPosition(n+32),[ae(c),32]}return[ae(e.readBytes(Number.parseInt(s,10),32)),32]}function v0(e,t){const n=t.type.startsWith("int"),r=Number.parseInt(t.type.split("int")[1]||"256",10),s=e.readBytes(32);return[r>48?h0(s,{signed:n}):rt(s,{signed:n}),32]}function x0(e,t,{staticPosition:n}){const r=t.components.length===0||t.components.some(({name:a})=>!a),s=r?[]:{};let o=0;if(Bn(t)){const a=rt(e.readBytes(Ks)),i=n+a;for(let c=0;c<t.components.length;++c){const d=t.components[c];e.setPosition(i+o);const[u,l]=Xt(e,d,{staticPosition:i});o+=l,s[r?c:d==null?void 0:d.name]=u}return e.setPosition(n+32),[s,32]}for(let a=0;a<t.components.length;++a){const i=t.components[a],[c,d]=Xt(e,i,{staticPosition:n});s[r?a:i==null?void 0:i.name]=c,o+=d}return[s,o]}function A0(e,{staticPosition:t}){const n=rt(e.readBytes(32)),r=t+n;e.setPosition(r);const s=rt(e.readBytes(32));if(s===0)return e.setPosition(t+32),["",32];const o=e.readBytes(s,32),a=b0(nt(o));return e.setPosition(t+32),[a,32]}function Bn(e){var r;const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return(r=e.components)==null?void 0:r.some(Bn);const n=Oo(e.type);return!!(n&&Bn({...e,type:n[1]}))}function P0(e){const{abi:t,data:n,cause:r}=e,s=Ft(n,0,4);if(s==="0x")throw new er({cause:r});const a=[...t||[],Pc,d0].find(i=>i.type==="error"&&s===nr(Me(i)));if(!a)throw new rc(s,{docsPath:"/docs/contract/decodeErrorResult",cause:r});return{abiItem:a,args:"inputs"in a&&a.inputs&&a.inputs.length>0?sr(a.inputs,Ft(n,4)):void 0,errorName:a.name}}const oe=(e,t,n)=>JSON.stringify(e,(r,s)=>typeof s=="bigint"?s.toString():s,n);function Cc({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${n?e.name:""}(${e.inputs.map((s,o)=>`${r&&s.name?`${s.name}: `:""}${typeof t[o]=="object"?oe(t[o]):t[o]}`).join(", ")})`}const E0={gwei:9,wei:18},C0={ether:-9,wei:9};function Fo(e,t){let n=e.toString();const r=n.startsWith("-");r&&(n=n.slice(1)),n=n.padStart(t,"0");let[s,o]=[n.slice(0,n.length-t),n.slice(n.length-t)];return o=o.replace(/(0+)$/,""),`${r?"-":""}${s||"0"}${o?`.${o}`:""}`}function zo(e,t="wei"){return Fo(e,E0[t])}function ge(e,t="wei"){return Fo(e,C0[t])}class N0 extends I{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}}class k0 extends I{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function Ja(e){return e.reduce((t,{slot:n,value:r})=>`${t} ${n}: ${r}
35
+ `,"")}function T0(e){return e.reduce((t,{address:n,...r})=>{let s=`${t} ${n}:
36
+ `;return r.nonce&&(s+=` nonce: ${r.nonce}
37
+ `),r.balance&&(s+=` balance: ${r.balance}
38
+ `),r.code&&(s+=` code: ${r.code}
39
+ `),r.state&&(s+=` state:
40
+ `,s+=Ja(r.state)),r.stateDiff&&(s+=` stateDiff:
41
+ `,s+=Ja(r.stateDiff)),s},` State Override:
42
+ `).slice(0,-1)}function or(e){const t=Object.entries(e).map(([r,s])=>s===void 0||s===!1?null:[r,s]).filter(Boolean),n=t.reduce((r,[s])=>Math.max(r,s.length),0);return t.map(([r,s])=>` ${`${r}:`.padEnd(n+1)} ${s}`).join(`
43
+ `)}class $0 extends I{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",or(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class S0 extends I{constructor(t,{account:n,docsPath:r,chain:s,data:o,gas:a,gasPrice:i,maxFeePerGas:c,maxPriorityFeePerGas:d,nonce:u,to:l,value:f}){var p;const b=or({chain:s&&`${s==null?void 0:s.name} (id: ${s==null?void 0:s.id})`,from:n==null?void 0:n.address,to:l,value:typeof f<"u"&&`${zo(f)} ${((p=s==null?void 0:s.nativeCurrency)==null?void 0:p.symbol)||"ETH"}`,data:o,gas:a,gasPrice:typeof i<"u"&&`${ge(i)} gwei`,maxFeePerGas:typeof c<"u"&&`${ge(c)} gwei`,maxPriorityFeePerGas:typeof d<"u"&&`${ge(d)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",b].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class Nc extends I{constructor({blockHash:t,blockNumber:n,blockTag:r,hash:s,index:o}){let a="Transaction";r&&o!==void 0&&(a=`Transaction at block time "${r}" at index "${o}"`),t&&o!==void 0&&(a=`Transaction at block hash "${t}" at index "${o}"`),n&&o!==void 0&&(a=`Transaction at block number "${n}" at index "${o}"`),s&&(a=`Transaction with hash "${s}"`),super(`${a} could not be found.`,{name:"TransactionNotFoundError"})}}class kc extends I{constructor({hash:t}){super(`Transaction receipt with hash "${t}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class Ys extends I{constructor({receipt:t}){super(`Transaction with hash "${t.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=t}}class I0 extends I{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}const B0=e=>e;function wt(e){if(e!=null&&e.reason)return e.reason;if(typeof DOMException=="function")return new DOMException("This operation was aborted","AbortError");const t=new Error("This operation was aborted");return t.name="AbortError",t}function mn(e){return typeof e=="object"&&e!==null&&"name"in e&&e.name==="AbortError"}const Lo=e=>{try{const t=new URL(e);return!t.username&&!t.password?e:(t.username="",t.password="",t.toString())}catch{return e}};class Tc extends I{constructor(t,{account:n,docsPath:r,chain:s,data:o,gas:a,gasPrice:i,maxFeePerGas:c,maxPriorityFeePerGas:d,nonce:u,to:l,value:f,stateOverride:b}){var g;const p=n?re(n):void 0;let m=or({from:p==null?void 0:p.address,to:l,value:typeof f<"u"&&`${zo(f)} ${((g=s==null?void 0:s.nativeCurrency)==null?void 0:g.symbol)||"ETH"}`,data:o,gas:a,gasPrice:typeof i<"u"&&`${ge(i)} gwei`,maxFeePerGas:typeof c<"u"&&`${ge(c)} gwei`,maxPriorityFeePerGas:typeof d<"u"&&`${ge(d)} gwei`,nonce:u});b&&(m+=`
44
+ ${T0(b)}`),super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",m].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class $c extends I{constructor(t,{abi:n,args:r,contractAddress:s,docsPath:o,functionName:a,sender:i}){const c=Gt({abi:n,args:r,name:a}),d=c?Cc({abiItem:c,args:r,includeFunctionName:!1,includeName:!1}):void 0,u=c?Me(c,{includeName:!0}):void 0,l=or({address:s&&B0(s),function:u,args:d&&d!=="()"&&`${[...Array((a==null?void 0:a.length)??0).keys()].map(()=>" ").join("")}${d}`,sender:i});super(t.shortMessage||`An unknown error occurred while executing the contract function "${a}".`,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],l&&"Contract Call:",l].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=n,this.args=r,this.cause=t,this.contractAddress=s,this.functionName=a,this.sender=i}}class Ir extends I{constructor({abi:t,data:n,functionName:r,message:s,cause:o}){let a,i,c,d;if(n&&n!=="0x")try{i=P0({abi:t,data:n,cause:o});const{abiItem:l,errorName:f,args:b}=i;if(f==="Error")d=b[0];else if(f==="Panic"){const[p]=b;d=u0[p]}else{const p=l?Me(l,{includeName:!0}):void 0,m=l&&b?Cc({abiItem:l,args:b,includeFunctionName:!1,includeName:!1}):void 0;c=[p?`Error: ${p}`:"",m&&m!=="()"?` ${[...Array((f==null?void 0:f.length)??0).keys()].map(()=>" ").join("")}${m}`:""]}}catch(l){a=l}else s&&(d=s);let u;a instanceof rc&&(u=a.signature,c=[`Unable to decode signature "${u}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${u}.`]),super(d&&d!=="execution reverted"||u?[`The contract function "${r}" reverted with the following ${u?"signature":"reason"}:`,d||u].join(`
45
+ `):`The contract function "${r}" reverted.`,{cause:a??o,metaMessages:c,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=i,this.raw=n,this.reason=d,this.signature=u}}class j0 extends I{constructor({functionName:t,cause:n}){super(`The contract function "${t}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${t}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError",cause:n})}}class R0 extends I{constructor({factory:t}){super(`Deployment for counterfactual contract call failed${t?` for factory "${t}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}}class Zr extends I{constructor({data:t,message:n}){super(n||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}class Nn extends I{constructor({body:t,cause:n,details:r,headers:s,status:o,url:a}){super("HTTP request failed.",{cause:n,details:r,metaMessages:[o&&`Status: ${o}`,`URL: ${Lo(a)}`,t&&`Request body: ${oe(t)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=t,this.headers=s,this.status=o,this.url=a}}class _o extends I{constructor({body:t,error:n,url:r}){super("RPC Request failed.",{cause:n,details:n.message,metaMessages:[`URL: ${Lo(r)}`,`Request body: ${oe(t)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=n.code,this.data=n.data,this.url=r}}class Xa extends I{constructor({body:t,url:n}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Lo(n)}`,`Request body: ${oe(t)}`],name:"TimeoutError"}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=n}}const O0=-1;class xe extends I{constructor(t,{code:n,docsPath:r,metaMessages:s,name:o,shortMessage:a}){super(a,{cause:t,docsPath:r,metaMessages:s||(t==null?void 0:t.metaMessages),name:o||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=o||t.name,this.code=t instanceof _o?t.code:n??O0}}class Ae extends xe{constructor(t,n){super(t,n),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=n.data}}class jn extends xe{constructor(t){super(t,{code:jn.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(jn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class Rn extends xe{constructor(t){super(t,{code:Rn.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(Rn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class On extends xe{constructor(t,{method:n}={}){super(t,{code:On.code,name:"MethodNotFoundRpcError",shortMessage:`The method${n?` "${n}"`:""} does not exist / is not available.`})}}Object.defineProperty(On,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class Mn extends xe{constructor(t){super(t,{code:Mn.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
46
+ `)})}}Object.defineProperty(Mn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class zt extends xe{constructor(t){super(t,{code:zt.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(zt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class vt extends xe{constructor(t){super(t,{code:vt.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
47
+ `)})}}Object.defineProperty(vt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class Fn extends xe{constructor(t){super(t,{code:Fn.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(Fn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class zn extends xe{constructor(t){super(t,{code:zn.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(zn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class sn extends xe{constructor(t){super(t,{code:sn.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(sn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class kt extends xe{constructor(t,{method:n}={}){super(t,{code:kt.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${n?` "${n}"`:""} is not supported.`})}}Object.defineProperty(kt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class on extends xe{constructor(t){super(t,{code:on.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(on,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class Ln extends xe{constructor(t){super(t,{code:Ln.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(Ln,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class yt extends Ae{constructor(t){super(t,{code:yt.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(yt,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class _n extends Ae{constructor(t){super(t,{code:_n.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(_n,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class Un extends Ae{constructor(t,{method:n}={}){super(t,{code:Un.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${n?` " ${n}"`:""}.`})}}Object.defineProperty(Un,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class Dn extends Ae{constructor(t){super(t,{code:Dn.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(Dn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class Hn extends Ae{constructor(t){super(t,{code:Hn.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(Hn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class qn extends Ae{constructor(t){super(t,{code:qn.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(qn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class an extends Ae{constructor(t){super(t,{code:an.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(an,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class Gn extends Ae{constructor(t){super(t,{code:Gn.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(Gn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class Wn extends Ae{constructor(t){super(t,{code:Wn.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(Wn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class Vn extends Ae{constructor(t){super(t,{code:Vn.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(Vn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class Zn extends Ae{constructor(t){super(t,{code:Zn.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(Zn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class Kn extends Ae{constructor(t){super(t,{code:Kn.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(Kn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class cn extends Ae{constructor(t){super(t,{code:cn.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(cn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class un extends Ae{constructor(t){super(t,{code:un.code,name:"WalletConnectSessionSettlementError",shortMessage:"WalletConnect session settlement failed."})}}Object.defineProperty(un,"code",{enumerable:!0,configurable:!0,writable:!0,value:7e3});class M0 extends xe{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const F0=3;function Lt(e,{abi:t,address:n,args:r,docsPath:s,functionName:o,sender:a}){const i=e instanceof Zr?e:e instanceof I?e.walk(p=>"data"in p)||e.walk():{},{code:c,data:d,details:u,message:l,shortMessage:f}=i,b=e instanceof er?new j0({functionName:o,cause:e}):[F0,zt.code].includes(c)&&(d||u||l||f)||c===vt.code&&u==="execution reverted"&&d?new Ir({abi:t,data:typeof d=="object"?d.data:d,functionName:o,message:i instanceof _o?u:f??l,cause:e}):e;return new $c(b,{abi:t,args:r,contractAddress:n,docsPath:s,functionName:o,sender:a})}function z0(e){const t=ce(`0x${e.substring(4)}`).substring(26);return tr(`0x${t}`)}async function L0({hash:e,signature:t}){const n=Ve(e)?e:it(e),{secp256k1:r}=await Mi(async()=>{const{secp256k1:a}=await Promise.resolve().then(()=>x1);return{secp256k1:a}},void 0);return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){const{r:d,s:u,v:l,yParity:f}=t,b=Number(f??l),p=Qa(b);return new r.Signature(ke(d),ke(u)).addRecoveryBit(p)}const a=Ve(t)?t:it(t);if(ne(a)!==65)throw new Error("invalid signature length");const i=Fe(`0x${a.slice(130)}`),c=Qa(i);return r.Signature.fromCompact(a.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Qa(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function Js({hash:e,signature:t}){return z0(await L0({hash:e,signature:t}))}function _0(e,t="hex"){const n=Sc(e),r=Mo(new Uint8Array(n.length));return n.encode(r),t==="hex"?ae(r.bytes):r.bytes}function Sc(e){return Array.isArray(e)?U0(e.map(t=>Sc(t))):D0(e)}function U0(e){const t=e.reduce((s,o)=>s+o.length,0),n=Ic(t);return{length:t<=55?1+t:1+n+t,encode(s){t<=55?s.pushByte(192+t):(s.pushByte(247+n),n===1?s.pushUint8(t):n===2?s.pushUint16(t):n===3?s.pushUint24(t):s.pushUint32(t));for(const{encode:o}of e)o(s)}}}function D0(e){const t=typeof e=="string"?Ze(e):e,n=Ic(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(s){t.length===1&&t[0]<128?s.pushBytes(t):t.length<=55?(s.pushByte(128+t.length),s.pushBytes(t)):(s.pushByte(183+n),n===1?s.pushUint8(t.length):n===2?s.pushUint16(t.length):n===3?s.pushUint24(t.length):s.pushUint32(t.length),s.pushBytes(t))}}}function Ic(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new I("Length is too large.")}function H0(e){const{chainId:t,nonce:n,to:r}=e,s=e.contractAddress??e.address,o=ce(bn(["0x05",_0([t?H(t):"0x",s,n?H(n):"0x"])]));return r==="bytes"?Ze(o):o}async function Kr(e){const{authorization:t,signature:n}=e;return Js({hash:H0(t),signature:n??t})}class q0 extends I{constructor(t,{account:n,docsPath:r,chain:s,data:o,gas:a,gasPrice:i,maxFeePerGas:c,maxPriorityFeePerGas:d,nonce:u,to:l,value:f}){var p;const b=or({from:n==null?void 0:n.address,to:l,value:typeof f<"u"&&`${zo(f)} ${((p=s==null?void 0:s.nativeCurrency)==null?void 0:p.symbol)||"ETH"}`,data:o,gas:a,gasPrice:typeof i<"u"&&`${ge(i)} gwei`,maxFeePerGas:typeof c<"u"&&`${ge(c)} gwei`,maxPriorityFeePerGas:typeof d<"u"&&`${ge(d)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",b].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class Tt extends I{constructor({cause:t,message:n}={}){var s;const r=(s=n==null?void 0:n.replace("execution reverted: ",""))==null?void 0:s.replace("execution reverted","");super(`Execution reverted ${r?`with reason: ${r}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(Tt,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(Tt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class Br extends I{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${ge(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(Br,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Xs extends I{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${ge(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Xs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class Qs extends I{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Qs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class eo extends I{constructor({cause:t,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
48
+ `),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(eo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class to extends I{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}}Object.defineProperty(to,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class no extends I{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
49
+ `),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(no,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class ro extends I{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(ro,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class so extends I{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(so,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class oo extends I{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(oo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class jr extends I{constructor({cause:t,maxPriorityFeePerGas:n,maxFeePerGas:r}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${ge(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${r?` = ${ge(r)} gwei`:""}).`].join(`
50
+ `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(jr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class ar extends I{constructor({cause:t}){super(`An error occurred while executing: ${t==null?void 0:t.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}function Yr(e,t){const n=(e.details||"").toLowerCase(),r=e instanceof I?e.walk(s=>(s==null?void 0:s.code)===Tt.code):e;return r instanceof I?new Tt({cause:e,message:r.details}):Tt.nodeMessage.test(n)?new Tt({cause:e,message:e.details}):Br.nodeMessage.test(n)?new Br({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):Xs.nodeMessage.test(n)?new Xs({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):Qs.nodeMessage.test(n)?new Qs({cause:e,nonce:t==null?void 0:t.nonce}):eo.nodeMessage.test(n)?new eo({cause:e,nonce:t==null?void 0:t.nonce}):to.nodeMessage.test(n)?new to({cause:e,nonce:t==null?void 0:t.nonce}):no.nodeMessage.test(n)?new no({cause:e}):ro.nodeMessage.test(n)?new ro({cause:e,gas:t==null?void 0:t.gas}):so.nodeMessage.test(n)?new so({cause:e,gas:t==null?void 0:t.gas}):oo.nodeMessage.test(n)?new oo({cause:e}):jr.nodeMessage.test(n)?new jr({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas,maxPriorityFeePerGas:t==null?void 0:t.maxPriorityFeePerGas}):new ar({cause:e})}function G0(e,{docsPath:t,...n}){const r=(()=>{const s=Yr(e,n);return s instanceof ar?e:s})();return new q0(r,{docsPath:t,...n})}function yn(e,{format:t}){if(!t)return{};const n={};function r(o){const a=Object.keys(o);for(const i of a)i in e&&(n[i]=e[i]),o[i]&&typeof o[i]=="object"&&!Array.isArray(o[i])&&r(o[i])}const s=t(e||{});return r(s),n}const W0={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function At(e,t){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=V0(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(r=>ae(r)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=H(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=H(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=H(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=H(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=H(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=H(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=W0[e.type]),typeof e.value<"u"&&(n.value=H(e.value)),n}function V0(e){return e.map(t=>({address:t.address,r:t.r?H(BigInt(t.r)):t.r,s:t.s?H(BigInt(t.s)):t.s,chainId:H(t.chainId),nonce:H(t.nonce),...typeof t.yParity<"u"?{yParity:H(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:H(t.v)}:{}}))}function ei(e){if(!(!e||e.length===0))return e.reduce((t,{slot:n,value:r})=>{if(n.length!==66)throw new _a({size:n.length,targetSize:66,type:"hex"});if(r.length!==66)throw new _a({size:r.length,targetSize:66,type:"hex"});return t[n]=r,t},{})}function Z0(e){const{balance:t,nonce:n,state:r,stateDiff:s,code:o}=e,a={};if(o!==void 0&&(a.code=o),t!==void 0&&(a.balance=H(t)),n!==void 0&&(a.nonce=H(n)),r!==void 0&&(a.state=ei(r)),s!==void 0){if(a.state)throw new k0;a.stateDiff=ei(s)}return a}function Uo(e){if(!e)return;const t={};for(const{address:n,...r}of e){if(!Be(n,{strict:!1}))throw new gt({address:n});if(t[n])throw new N0({address:n});t[n]=Z0(r)}return t}const K0=2n**256n-1n;function lt(e){const{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:s}=e,o=t?re(t):void 0;if(o&&!Be(o.address))throw new gt({address:o.address});if(s&&!Be(s))throw new gt({address:s});if(n&&n>K0)throw new Br({maxFeePerGas:n});if(r&&n&&r>n)throw new jr({maxFeePerGas:n,maxPriorityFeePerGas:r})}class Bc extends I{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Do extends I{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class Y0 extends I{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${ge(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Ho extends I{constructor({blockHash:t,blockNumber:n}){let r="Block";t&&(r=`Block at hash "${t}"`),n&&(r=`Block at number "${n}"`),super(`${r} could not be found.`,{name:"BlockNotFoundError"})}}const jc={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function qo(e,t){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Fe(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Fe(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?jc[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=J0(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}function J0(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function Rc(e,t){const n=(e.transactions??[]).map(r=>typeof r=="string"?r:qo(r));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}async function Oe(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",includeTransactions:s}={}){var d,u,l;const o=s??!1,a=n!==void 0?H(n):void 0;let i=null;if(t?i=await e.request({method:"eth_getBlockByHash",params:[t,o]},{dedupe:!0}):i=await e.request({method:"eth_getBlockByNumber",params:[a||r,o]},{dedupe:!!a}),!i)throw new Ho({blockHash:t,blockNumber:n});return(((l=(u=(d=e.chain)==null?void 0:d.formatters)==null?void 0:u.block)==null?void 0:l.format)||Rc)(i,"getBlock")}async function Go(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function X0(e,t){return Oc(e,t)}async function Oc(e,t){var o,a;const{block:n,chain:r=e.chain,request:s}=t||{};try{const i=((o=r==null?void 0:r.fees)==null?void 0:o.maxPriorityFeePerGas)??((a=r==null?void 0:r.fees)==null?void 0:a.defaultPriorityFee);if(typeof i=="function"){const d=n||await L(e,Oe,"getBlock")({}),u=await i({block:d,client:e,request:s});if(u===null)throw new Error;return u}if(typeof i<"u")return i;const c=await e.request({method:"eth_maxPriorityFeePerGas"});return ke(c)}catch{const[i,c]=await Promise.all([n?Promise.resolve(n):L(e,Oe,"getBlock")({}),L(e,Go,"getGasPrice")({})]);if(typeof i.baseFeePerGas!="bigint")throw new Do;const d=c-i.baseFeePerGas;return d<0n?0n:d}}async function Q0(e,t){return ao(e,t)}async function ao(e,t){var f,b;const{block:n,chain:r=e.chain,request:s,type:o="eip1559"}=t||{},a=await(async()=>{var p,m;return typeof((p=r==null?void 0:r.fees)==null?void 0:p.baseFeeMultiplier)=="function"?r.fees.baseFeeMultiplier({block:n,client:e,request:s}):((m=r==null?void 0:r.fees)==null?void 0:m.baseFeeMultiplier)??1.2})();if(a<1)throw new Bc;const c=10**(((f=a.toString().split(".")[1])==null?void 0:f.length)??0),d=p=>p*BigInt(Math.ceil(a*c))/BigInt(c),u=n||await L(e,Oe,"getBlock")({});if(typeof((b=r==null?void 0:r.fees)==null?void 0:b.estimateFeesPerGas)=="function"){const p=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:d,request:s,type:o});if(p!==null)return p}if(o==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new Do;const p=typeof(s==null?void 0:s.maxPriorityFeePerGas)=="bigint"?s.maxPriorityFeePerGas:await Oc(e,{block:u,chain:r,request:s}),m=d(u.baseFeePerGas);return{maxFeePerGas:(s==null?void 0:s.maxFeePerGas)??m+p,maxPriorityFeePerGas:p}}return{gasPrice:(s==null?void 0:s.gasPrice)??d(await L(e,Go,"getGasPrice")({}))}}function Wt(e){const{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:s}=e;if(s!==void 0&&!t)throw new I("`requireCanonical` can only be provided when `blockHash` is set.");return t?s?{blockHash:t,requireCanonical:s}:{blockHash:t}:typeof n=="bigint"?H(n):r??"latest"}async function Wo(e,{address:t,blockHash:n,blockNumber:r,blockTag:s="latest",requireCanonical:o}){const a=Wt({blockHash:n,blockNumber:r,blockTag:s,requireCanonical:o}),i=await e.request({method:"eth_getTransactionCount",params:[t,a]},{dedupe:typeof r=="bigint"||n!==void 0});return Fe(i)}function Mc(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),r=typeof e.blobs[0]=="string"?e.blobs.map(o=>Ze(o)):e.blobs,s=[];for(const o of r)s.push(Uint8Array.from(t.blobToKzgCommitment(o)));return n==="bytes"?s:s.map(o=>ae(o))}function Fc(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),r=typeof e.blobs[0]=="string"?e.blobs.map(a=>Ze(a)):e.blobs,s=typeof e.commitments[0]=="string"?e.commitments.map(a=>Ze(a)):e.commitments,o=[];for(let a=0;a<r.length;a++){const i=r[a],c=s[a];o.push(Uint8Array.from(t.computeBlobKzgProof(i,c)))}return n==="bytes"?o:o.map(a=>ae(a))}function eh(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const s=BigInt(32),o=BigInt(4294967295),a=Number(n>>s&o),i=Number(n&o),c=r?4:0,d=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+d,i,r)}function th(e,t,n){return e&t^~e&n}function nh(e,t,n){return e&t^e&n^t&n}class rh extends Io{constructor(t,n,r,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(t),this.view=ps(this.buffer)}update(t){nn(this),t=Gr(t),Ot(t);const{view:n,buffer:r,blockLen:s}=this,o=t.length;for(let a=0;a<o;){const i=Math.min(s-this.pos,o-a);if(i===s){const c=ps(t);for(;s<=o-a;a+=s)this.process(c,a);continue}r.set(t.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){nn(this),uc(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:o}=this;let{pos:a}=this;n[a++]=128,rn(this.buffer.subarray(a)),this.padOffset>s-a&&(this.process(r,0),a=0);for(let l=a;l<s;l++)n[l]=0;eh(r,s-8,BigInt(this.length*8),o),this.process(r,0);const i=ps(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const d=c/4,u=this.get();if(d>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<d;l++)i.setUint32(4*l,u[l],o)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:o,destroyed:a,pos:i}=this;return t.destroyed=a,t.finished=o,t.length=s,t.pos=i,s%n&&t.buffer.set(r),t}clone(){return this._cloneInto()}}const pt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),sh=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),bt=new Uint32Array(64);class oh extends rh{constructor(t=32){super(64,t,8,!1),this.A=pt[0]|0,this.B=pt[1]|0,this.C=pt[2]|0,this.D=pt[3]|0,this.E=pt[4]|0,this.F=pt[5]|0,this.G=pt[6]|0,this.H=pt[7]|0}get(){const{A:t,B:n,C:r,D:s,E:o,F:a,G:i,H:c}=this;return[t,n,r,s,o,a,i,c]}set(t,n,r,s,o,a,i,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=o|0,this.F=a|0,this.G=i|0,this.H=c|0}process(t,n){for(let l=0;l<16;l++,n+=4)bt[l]=t.getUint32(n,!1);for(let l=16;l<64;l++){const f=bt[l-15],b=bt[l-2],p=Ge(f,7)^Ge(f,18)^f>>>3,m=Ge(b,17)^Ge(b,19)^b>>>10;bt[l]=m+bt[l-7]+p+bt[l-16]|0}let{A:r,B:s,C:o,D:a,E:i,F:c,G:d,H:u}=this;for(let l=0;l<64;l++){const f=Ge(i,6)^Ge(i,11)^Ge(i,25),b=u+f+th(i,c,d)+sh[l]+bt[l]|0,m=(Ge(r,2)^Ge(r,13)^Ge(r,22))+nh(r,s,o)|0;u=d,d=c,c=i,i=a+b|0,a=o,o=s,s=r,r=b+m|0}r=r+this.A|0,s=s+this.B|0,o=o+this.C|0,a=a+this.D|0,i=i+this.E|0,c=c+this.F|0,d=d+this.G|0,u=u+this.H|0,this.set(r,s,o,a,i,c,d,u)}roundClean(){rn(bt)}destroy(){this.set(0,0,0,0,0,0,0,0),rn(this.buffer)}}const zc=dc(()=>new oh),ah=zc;function ih(e,t){return ah(Ve(e,{strict:!1})?hn(e):e)}function ch(e){const{commitment:t,version:n=1}=e,r=e.to??(typeof t=="string"?"hex":"bytes"),s=ih(t);return s.set([n],0),r==="bytes"?s:ae(s)}function uh(e){const{commitments:t,version:n}=e,r=e.to,s=[];for(const o of t)s.push(ch({commitment:o,to:r,version:n}));return s}const ti=6,Lc=32,Vo=4096,_c=Lc*Vo,ni=_c*ti-1-1*Vo*ti;class dh extends I{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class lh extends I{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}function fh(e){const t=typeof e.data=="string"?Ze(e.data):e.data,n=ne(t);if(!n)throw new lh;if(n>ni)throw new dh({maxSize:ni,size:n});const r=[];let s=!0,o=0;for(;s;){const a=Mo(new Uint8Array(_c));let i=0;for(;i<Vo;){const c=t.slice(o,o+(Lc-1));if(a.pushByte(0),a.pushBytes(c),c.length<31){a.pushByte(128),s=!1;break}i++,o+=31}r.push(a)}return r.map(a=>ae(a.bytes))}function hh(e){const{data:t,kzg:n,to:r}=e,s=e.blobs??fh({data:t}),o=e.commitments??Mc({blobs:s,kzg:n,to:r}),a=e.proofs??Fc({blobs:s,commitments:o,kzg:n,to:r}),i=[];for(let c=0;c<s.length;c++)i.push({blob:s[c],commitment:o[c],proof:a[c]});return i}function ph(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new $0({transaction:e})}function Jr(e,{docsPath:t,...n}){const r=(()=>{const s=Yr(e,n);return s instanceof ar?e:s})();return new S0(r,{docsPath:t,...n})}async function Ke(e){const t=await e.request({method:"eth_chainId"},{dedupe:!0});return Fe(t)}async function Zo(e,t){var N,T,O,$,M;const{account:n=e.account,accessList:r,authorizationList:s,chain:o=e.chain,blobVersionedHashes:a,blobs:i,data:c,gas:d,gasPrice:u,maxFeePerBlobGas:l,maxFeePerGas:f,maxPriorityFeePerGas:b,nonce:p,nonceManager:m,to:g,type:y,value:E,...w}=t,v=await(async()=>{if(!n||!m||typeof p<"u")return p;const j=re(n),F=o?o.id:await L(e,Ke,"getChainId")({});return await m.consume({address:j.address,chainId:F,client:e})})();lt(t);const x=(T=(N=o==null?void 0:o.formatters)==null?void 0:N.transactionRequest)==null?void 0:T.format,A=(x||At)({...yn(w,{format:x}),account:n?re(n):void 0,accessList:r,authorizationList:s,blobs:i,blobVersionedHashes:a,data:c,gas:d,gasPrice:u,maxFeePerBlobGas:l,maxFeePerGas:f,maxPriorityFeePerGas:b,nonce:v,to:g,type:y,value:E},"fillTransaction");try{const j=await e.request({method:"eth_fillTransaction",params:[A]}),C=((($=(O=o==null?void 0:o.formatters)==null?void 0:O.transaction)==null?void 0:$.format)||qo)(j.tx);delete C.blockHash,delete C.blockNumber,delete C.r,delete C.s,delete C.transactionIndex,delete C.v,delete C.yParity,C.data=C.input,C.gas&&(C.gas=t.gas??C.gas),C.gasPrice&&(C.gasPrice=t.gasPrice??C.gasPrice),C.maxFeePerBlobGas&&(C.maxFeePerBlobGas=t.maxFeePerBlobGas??C.maxFeePerBlobGas),C.maxFeePerGas&&(C.maxFeePerGas=t.maxFeePerGas??C.maxFeePerGas),C.maxPriorityFeePerGas&&(C.maxPriorityFeePerGas=t.maxPriorityFeePerGas??C.maxPriorityFeePerGas),typeof C.nonce<"u"&&(C.nonce=t.nonce??C.nonce);const S=await(async()=>{var z,U;if(typeof((z=o==null?void 0:o.fees)==null?void 0:z.baseFeeMultiplier)=="function"){const V=await L(e,Oe,"getBlock")({});return o.fees.baseFeeMultiplier({block:V,client:e,request:t})}return((U=o==null?void 0:o.fees)==null?void 0:U.baseFeeMultiplier)??1.2})();if(S<1)throw new Bc;const B=10**(((M=S.toString().split(".")[1])==null?void 0:M.length)??0),R=z=>z*BigInt(Math.ceil(S*B))/BigInt(B);return C.feePayerSignature||(C.maxFeePerGas&&!t.maxFeePerGas&&(C.maxFeePerGas=R(C.maxFeePerGas)),C.gasPrice&&!t.gasPrice&&(C.gasPrice=R(C.gasPrice))),{raw:j.raw,transaction:{from:A.from,...C},...j.capabilities?{capabilities:j.capabilities}:{}}}catch(j){throw Jr(j,{...t,chain:e.chain})}}const Ko=["blobVersionedHashes","chainId","fees","gas","nonce","type"],ri=new Map,ys=new pn(128);async function ir(e,t){var v,x,P;let n=t;n.account??(n.account=e.account),n.parameters??(n.parameters=Ko);const{account:r,chain:s=e.chain,nonceManager:o,parameters:a}=n,i=(()=>{if(typeof(s==null?void 0:s.prepareTransactionRequest)=="function")return{fn:s.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(s==null?void 0:s.prepareTransactionRequest))return{fn:s.prepareTransactionRequest[0],runAt:s.prepareTransactionRequest[1].runAt}})();let c;async function d(){return c||(typeof n.chainId<"u"?n.chainId:s?s.id:(c=await L(e,Ke,"getChainId")({}),c))}const u=r&&re(r);let l=n.nonce;if(a.includes("nonce")&&typeof l>"u"&&u&&o){const A=await d();l=await o.consume({address:u.address,chainId:A,client:e})}i!=null&&i.fn&&((v=i.runAt)!=null&&v.includes("beforeFillTransaction"))&&(n=await i.fn({...n,chain:s},{client:e,phase:"beforeFillTransaction"}),l??(l=n.nonce));const b=((a.includes("blobVersionedHashes")||a.includes("sidecars"))&&n.kzg&&n.blobs||ys.get(e.uid)===!1||!["fees","gas"].some(N=>a.includes(N))?!1:!!(a.includes("chainId")&&typeof n.chainId!="number"||a.includes("nonce")&&typeof l!="number"||a.includes("fees")&&typeof n.gasPrice!="bigint"&&(typeof n.maxFeePerGas!="bigint"||typeof n.maxPriorityFeePerGas!="bigint")||a.includes("gas")&&typeof n.gas!="bigint"))?await L(e,Zo,"fillTransaction")({...n,nonce:l}).then(A=>{const{chainId:N,from:T,gas:O,gasPrice:$,nonce:M,maxFeePerBlobGas:j,maxFeePerGas:F,maxPriorityFeePerGas:C,type:S,...k}=A.transaction;return ys.set(e.uid,!0),{...n,...T?{from:T}:{},...S&&!n.type?{type:S}:{},...typeof N<"u"?{chainId:N}:{},...typeof O<"u"?{gas:O}:{},...typeof $<"u"?{gasPrice:$}:{},...typeof M<"u"?{nonce:M}:{},...typeof j<"u"&&n.type!=="legacy"&&n.type!=="eip2930"?{maxFeePerBlobGas:j}:{},...typeof F<"u"&&n.type!=="legacy"&&n.type!=="eip2930"?{maxFeePerGas:F}:{},...typeof C<"u"&&n.type!=="legacy"&&n.type!=="eip2930"?{maxPriorityFeePerGas:C}:{},..."nonceKey"in k&&typeof k.nonceKey<"u"?{nonceKey:k.nonceKey}:{},..."keyAuthorization"in k&&typeof k.keyAuthorization<"u"&&k.keyAuthorization!==null&&!("keyAuthorization"in n)?{keyAuthorization:k.keyAuthorization}:{},..."feePayerSignature"in k&&typeof k.feePayerSignature<"u"&&k.feePayerSignature!==null?{feePayerSignature:k.feePayerSignature}:{},..."feeToken"in k&&typeof k.feeToken<"u"&&k.feeToken!==null&&!("feeToken"in n)?{feeToken:k.feeToken}:{},...A.capabilities?{_capabilities:A.capabilities}:{}}}).catch(A=>{var $,M;const N=A;if(N.name!=="TransactionExecutionError")return n;if(($=N.walk)==null?void 0:$.call(N,j=>j.name==="ExecutionRevertedError"))throw A;return((M=N.walk)==null?void 0:M.call(N,j=>{var C;const F=j;return F.name==="MethodNotFoundRpcError"||F.name==="MethodNotSupportedRpcError"||((C=F.message)==null?void 0:C.includes("eth_fillTransaction is not available"))}))&&ys.set(e.uid,!1),n}):n;l??(l=b.nonce),n={...b,...u?{from:u==null?void 0:u.address}:{},...typeof l<"u"?{nonce:l}:{}};const{blobs:p,gas:m,kzg:g,type:y}=n;i!=null&&i.fn&&((x=i.runAt)!=null&&x.includes("beforeFillParameters"))&&(n=await i.fn({...n,chain:s},{client:e,phase:"beforeFillParameters"}));let E;async function w(){return E||(E=await L(e,Oe,"getBlock")({blockTag:"latest"}),E)}if(a.includes("nonce")&&typeof l>"u"&&u&&!o&&(n.nonce=await L(e,Wo,"getTransactionCount")({address:u.address,blockTag:"pending"})),(a.includes("blobVersionedHashes")||a.includes("sidecars"))&&p&&g){const A=Mc({blobs:p,kzg:g});if(a.includes("blobVersionedHashes")){const N=uh({commitments:A,to:"hex"});n.blobVersionedHashes=N}if(a.includes("sidecars")){const N=Fc({blobs:p,commitments:A,kzg:g}),T=hh({blobs:p,commitments:A,proofs:N,to:"hex"});n.sidecars=T}}if(a.includes("chainId")&&(n.chainId=await d()),(a.includes("fees")||a.includes("type"))&&typeof y>"u")try{n.type=ph(n)}catch{let A=ri.get(e.uid);if(typeof A>"u"){const N=await w();A=typeof(N==null?void 0:N.baseFeePerGas)=="bigint",ri.set(e.uid,A)}n.type=A?"eip1559":"legacy"}if(a.includes("fees"))if(n.type!=="legacy"&&n.type!=="eip2930"){if(typeof n.maxFeePerGas>"u"||typeof n.maxPriorityFeePerGas>"u"){const A=await w(),{maxFeePerGas:N,maxPriorityFeePerGas:T}=await ao(e,{block:A,chain:s,request:n});if(typeof n.maxPriorityFeePerGas>"u"&&n.maxFeePerGas&&n.maxFeePerGas<T)throw new Y0({maxPriorityFeePerGas:T});n.maxPriorityFeePerGas=T,n.maxFeePerGas=N}}else{if(typeof n.maxFeePerGas<"u"||typeof n.maxPriorityFeePerGas<"u")throw new Do;if(typeof n.gasPrice>"u"){const A=await w(),{gasPrice:N}=await ao(e,{block:A,chain:s,request:n,type:"legacy"});n.gasPrice=N}}return a.includes("gas")&&typeof m>"u"&&(n.gas=await L(e,Yo,"estimateGas")({...n,account:u,prepare:(u==null?void 0:u.type)==="local"?[]:["blobVersionedHashes"]})),i!=null&&i.fn&&((P=i.runAt)!=null&&P.includes("afterFillParameters"))&&(n=await i.fn({...n,chain:s},{client:e,phase:"afterFillParameters"})),lt(n),delete n.parameters,n}async function Yo(e,t){var a,i,c;const{account:n=e.account,prepare:r=!0}=t,s=n?re(n):void 0,o=(()=>{if(Array.isArray(r))return r;if((s==null?void 0:s.type)!=="local")return["blobVersionedHashes"]})();try{const d=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Kr({authorization:t.authorizationList[0]}).catch(()=>{throw new I("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:u,authorizationList:l,blobs:f,blobVersionedHashes:b,blockNumber:p,blockTag:m,data:g,gas:y,gasPrice:E,maxFeePerBlobGas:w,maxFeePerGas:v,maxPriorityFeePerGas:x,nonce:P,value:A,stateOverride:N,...T}=r?await ir(e,{...t,parameters:o,to:d}):t;if(y&&t.gas!==y)return y;const $=(typeof p=="bigint"?H(p):void 0)||m,M=Uo(N);lt(t);const j=(c=(i=(a=e.chain)==null?void 0:a.formatters)==null?void 0:i.transactionRequest)==null?void 0:c.format,C=(j||At)({...yn(T,{format:j}),account:s,accessList:u,authorizationList:l,blobs:f,blobVersionedHashes:b,data:g,gasPrice:E,maxFeePerBlobGas:w,maxFeePerGas:v,maxPriorityFeePerGas:x,nonce:P,to:d,value:A},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:M?[C,$??e.experimental_blockTag??"latest",M]:$?[C,$]:[C]}))}catch(d){throw G0(d,{...t,account:s,chain:e.chain})}}async function bh(e,t){var d;const{abi:n,address:r,args:s,functionName:o,dataSuffix:a=typeof e.dataSuffix=="string"?e.dataSuffix:(d=e.dataSuffix)==null?void 0:d.value,...i}=t,c=ve({abi:n,args:s,functionName:o});try{return await L(e,Yo,"estimateGas")({data:`${c}${a?a.replace("0x",""):""}`,to:r,...i})}catch(u){const l=i.account?re(i.account):void 0;throw Lt(u,{abi:n,address:r,args:s,docsPath:"/docs/contract/estimateContractGas",functionName:o,sender:l==null?void 0:l.address})}}function _t(e,t){if(!Be(e,{strict:!1}))throw new gt({address:e});if(!Be(t,{strict:!1}))throw new gt({address:t});return e.toLowerCase()===t.toLowerCase()}function Ye(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}const si="/docs/contract/decodeEventLog";function Rr(e){const{abi:t,data:n,strict:r,topics:s}=e,o=r??!0,[a,...i]=s;if(!a)throw new rf({docsPath:si});const c=t.find(y=>y.type==="event"&&a===Wr(Me(y)));if(!(c&&"name"in c)||c.type!=="event")throw new sf(a,{docsPath:si});const{name:d,inputs:u}=c,l=u==null?void 0:u.some(y=>!("name"in y&&y.name)),f=l?[]:{},b=u.map((y,E)=>[y,E]).filter(([y])=>"indexed"in y&&y.indexed),p=[];for(let y=0;y<b.length;y++){const[E,w]=b[y],v=i[y];if(!v){if(o)throw new $o({abiItem:c,param:E});p.push([E,w]);continue}f[l?w:E.name||w]=mh({param:E,value:v})}const m=u.filter(y=>!("indexed"in y&&y.indexed)),g=o?m:[...p.map(([y])=>y),...m];if(g.length>0){if(n&&n!=="0x")try{const y=sr(g,n);if(y){let E=0;if(!o)for(const[w,v]of p)f[l?v:w.name||v]=y[E++];if(l)for(let w=0;w<u.length;w++)f[w]===void 0&&E<y.length&&(f[w]=y[E++]);else for(let w=0;w<m.length;w++)f[m[w].name]=y[E++]}}catch(y){if(o)throw y instanceof nc||y instanceof Ec?new Sr({abiItem:c,data:n,params:g,size:ne(n)}):y}else if(o)throw new Sr({abiItem:c,data:"0x",params:g,size:0})}return{eventName:d,args:Object.values(f).length>0?f:void 0}}function mh({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(sr([e],t)||[])[0]}function Jo(e){const{abi:t,args:n,logs:r,strict:s=!0}=e,o=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),a=t.filter(i=>i.type==="event").map(i=>({abi:i,selector:Wr(i)}));return r.map(i=>{var f;const c=typeof i.blockNumber=="string"?Ye(i):i,d=a.filter(b=>c.topics[0]===b.selector);if(d.length===0)return null;let u,l;for(const b of d)try{u=Rr({...c,abi:[b.abi],strict:!0}),l=b;break}catch{}if(!u&&!s){l=d[0];try{u=Rr({data:c.data,topics:c.topics,abi:[l.abi],strict:!1})}catch{const b=(f=l.abi.inputs)==null?void 0:f.some(p=>!("name"in p&&p.name));return{...c,args:b?[]:{},eventName:l.abi.name}}}return!u||!l||o&&!o.includes(u.eventName)||!yh({args:u.args,inputs:l.abi.inputs,matchArgs:n})?null:{...u,...c}}).filter(Boolean)}function yh(e){const{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function s(o,a,i){try{return o.type==="address"?_t(a,i):o.type==="string"||o.type==="bytes"?ce(hn(a))===i:a===i}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((o,a)=>{if(o==null)return!0;const i=n[a];return i?(Array.isArray(o)?o:[o]).some(d=>s(i,d,t[a])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof r=="object"&&!Array.isArray(r)?Object.entries(r).every(([o,a])=>{if(a==null)return!0;const i=n.find(d=>d.name===o);return i?(Array.isArray(a)?a:[a]).some(d=>s(i,d,t[o])):!1}):!1}async function Xo(e,{address:t,blockHash:n,fromBlock:r,toBlock:s,event:o,events:a,args:i,strict:c}={}){const d=c??!1,u=a??(o?[o]:void 0);let l=[];u&&(l=[u.flatMap(m=>rr({abi:[m],eventName:m.name,args:a?void 0:i}))],o&&(l=l[0]));let f;n?f=await e.request({method:"eth_getLogs",params:[{address:t,topics:l,blockHash:n}]}):f=await e.request({method:"eth_getLogs",params:[{address:t,topics:l,fromBlock:typeof r=="bigint"?H(r):r,toBlock:typeof s=="bigint"?H(s):s}]});const b=f.map(p=>Ye(p));return u?Jo({abi:u,args:i,logs:b,strict:d}):b}async function Uc(e,t){const{abi:n,address:r,args:s,blockHash:o,eventName:a,fromBlock:i,toBlock:c,strict:d}=t,u=a?Gt({abi:n,name:a}):void 0,l=u?void 0:n.filter(f=>f.type==="event");return L(e,Xo,"getLogs")({address:r,args:s,blockHash:o,event:u,events:l,fromBlock:i,toBlock:c,strict:d})}const gs="/docs/contract/decodeFunctionResult";function Pt(e){const{abi:t,args:n,functionName:r,data:s}=e;let o=t[0];if(r){const i=Gt({abi:t,args:n,name:r});if(!i)throw new tn(r,{docsPath:gs});o=i}if(o.type!=="function")throw new tn(void 0,{docsPath:gs});if(!o.outputs)throw new sc(o.name,{docsPath:gs});const a=sr(o.outputs,s);if(a&&a.length>1)return a;if(a&&a.length===1)return a[0]}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Qo=BigInt(0),io=BigInt(1);function cr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ea(e){if(!cr(e))throw new Error("Uint8Array expected")}function Yn(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function mr(e){const t=e.toString(16);return t.length&1?"0"+t:t}function Dc(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Qo:BigInt("0x"+e)}const Hc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",gh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Jn(e){if(ea(e),Hc)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=gh[e[n]];return t}const Xe={_0:48,_9:57,A:65,F:70,a:97,f:102};function oi(e){if(e>=Xe._0&&e<=Xe._9)return e-Xe._0;if(e>=Xe.A&&e<=Xe.F)return e-(Xe.A-10);if(e>=Xe.a&&e<=Xe.f)return e-(Xe.a-10)}function Or(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Hc)return Uint8Array.fromHex(e);const t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let s=0,o=0;s<n;s++,o+=2){const a=oi(e.charCodeAt(o)),i=oi(e.charCodeAt(o+1));if(a===void 0||i===void 0){const c=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}r[s]=a*16+i}return r}function jt(e){return Dc(Jn(e))}function qc(e){return ea(e),Dc(Jn(Uint8Array.from(e).reverse()))}function ur(e,t){return Or(e.toString(16).padStart(t*2,"0"))}function Gc(e,t){return ur(e,t).reverse()}function Ie(e,t,n){let r;if(typeof t=="string")try{r=Or(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if(cr(t))r=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");const s=r.length;if(typeof n=="number"&&s!==n)throw new Error(e+" of length "+n+" expected, got "+s);return r}function Mr(...e){let t=0;for(let r=0;r<e.length;r++){const s=e[r];ea(s),t+=s.length}const n=new Uint8Array(t);for(let r=0,s=0;r<e.length;r++){const o=e[r];n.set(o,s),s+=o.length}return n}const ws=e=>typeof e=="bigint"&&Qo<=e;function ta(e,t,n){return ws(e)&&ws(t)&&ws(n)&&t<=e&&e<n}function Qt(e,t,n,r){if(!ta(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}function wh(e){let t;for(t=0;e>Qo;e>>=io,t+=1);return t}const Xr=e=>(io<<BigInt(e))-io,vs=e=>new Uint8Array(e),ai=e=>Uint8Array.from(e);function vh(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=vs(e),s=vs(e),o=0;const a=()=>{r.fill(1),s.fill(0),o=0},i=(...l)=>n(s,r,...l),c=(l=vs(0))=>{s=i(ai([0]),l),r=i(),l.length!==0&&(s=i(ai([1]),l),r=i())},d=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0;const f=[];for(;l<t;){r=i();const b=r.slice();f.push(b),l+=r.length}return Mr(...f)};return(l,f)=>{a(),c(l);let b;for(;!(b=f(d()));)c();return a(),b}}const xh={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||cr(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Qr(e,t,n={}){const r=(s,o,a)=>{const i=xh[o];if(typeof i!="function")throw new Error("invalid validator function");const c=e[s];if(!(a&&c===void 0)&&!i(c,e))throw new Error("param "+String(s)+" is invalid. Expected "+o+", got "+c)};for(const[s,o]of Object.entries(t))r(s,o,!1);for(const[s,o]of Object.entries(n))r(s,o,!0);return e}function ii(e){const t=new WeakMap;return(n,...r)=>{const s=t.get(n);if(s!==void 0)return s;const o=e(n,...r);return t.set(n,o),o}}const Ah="0.1.1";function Ph(){return Ah}class q extends Error{static setStaticOptions(t){q.prototype.docsOrigin=t.docsOrigin,q.prototype.showVersion=t.showVersion,q.prototype.version=t.version}constructor(t,n={}){const r=(()=>{var u;if(n.cause instanceof q){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&"details"in n.cause&&typeof n.cause.details=="string"?n.cause.details:(u=n.cause)!=null&&u.message?n.cause.message:n.details})(),s=n.cause instanceof q&&n.cause.docsPath||n.docsPath,o=n.docsOrigin??q.prototype.docsOrigin,a=`${o}${s??""}`,i=!!(n.version??q.prototype.showVersion),c=n.version??q.prototype.version,d=[t||"An error occurred.",...n.metaMessages?["",...n.metaMessages]:[],...r||s||i?["",r?`Details: ${r}`:void 0,s?`See: ${a}`:void 0,i?`Version: ${c}`:void 0]:[]].filter(u=>typeof u=="string").join(`
51
+ `);super(d,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=n.cause,this.details=r,this.docs=a,this.docsOrigin=o,this.docsPath=s,this.shortMessage=t,this.showVersion=i,this.version=c}walk(t){return Wc(this,t)}}Object.defineProperty(q,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${Ph()}`}});q.setStaticOptions(q.defaultStaticOptions);function Wc(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?Wc(e.cause,t):t?null:e}function dr(e,t){if(Yt(e)>t)throw new _h({givenSize:Yt(e),maxSize:t})}const Qe={zero:48,nine:57,A:65,F:70,a:97,f:102};function ci(e){if(e>=Qe.zero&&e<=Qe.nine)return e-Qe.zero;if(e>=Qe.A&&e<=Qe.F)return e-(Qe.A-10);if(e>=Qe.a&&e<=Qe.f)return e-(Qe.a-10)}function Eh(e,t={}){const{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new Uh({size:e.length,targetSize:r,type:"Bytes"});const s=new Uint8Array(r);for(let o=0;o<r;o++){const a=n==="right";s[a?o:r-o-1]=e[a?o:e.length-o-1]}return s}function Vc(e,t={}){const{dir:n="left"}=t;let r=e,s=0;for(let o=0;o<r.length-1&&r[n==="left"?o:r.length-o-1].toString()==="0";o++)s++;return r=n==="left"?r.slice(s):r.slice(0,r.length-s),r}function es(e,t){if(Te(e)>t)throw new Vh({givenSize:Te(e),maxSize:t})}function Ch(e,t){if(typeof t=="number"&&t>0&&t>Te(e)-1)throw new nu({offset:t,position:"start",size:Te(e)})}function Nh(e,t,n){if(typeof t=="number"&&typeof n=="number"&&Te(e)!==n-t)throw new nu({offset:n,position:"end",size:Te(e)})}function Zc(e,t={}){const{dir:n,size:r=32}=t;if(r===0)return e;const s=e.replace("0x","");if(s.length>r*2)throw new Zh({size:Math.ceil(s.length/2),targetSize:r,type:"Hex"});return`0x${s[n==="right"?"padEnd":"padStart"](r*2,"0")}`}const kh="#__bigint";function Kc(e,t,n){return JSON.stringify(e,(r,s)=>typeof s=="bigint"?s.toString()+kh:s,n)}const Th=new TextDecoder,$h=new TextEncoder;function Sh(e){return e instanceof Uint8Array?e:typeof e=="string"?Yc(e):Ih(e)}function Ih(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Yc(e,t={}){const{size:n}=t;let r=e;n&&(es(e,n),r=Dt(e,n));let s=r.slice(2);s.length%2&&(s=`0${s}`);const o=s.length/2,a=new Uint8Array(o);for(let i=0,c=0;i<o;i++){const d=ci(s.charCodeAt(c++)),u=ci(s.charCodeAt(c++));if(d===void 0||u===void 0)throw new q(`Invalid byte sequence ("${s[c-2]}${s[c-1]}" in "${s}").`);a[i]=d<<4|u}return a}function Bh(e,t={}){const{size:n}=t,r=$h.encode(e);return typeof n=="number"?(dr(r,n),jh(r,n)):r}function jh(e,t){return Eh(e,{dir:"right",size:t})}function Yt(e){return e.length}function Rh(e,t,n,r={}){const{strict:s}=r;return e.slice(t,n)}function Oh(e,t={}){const{size:n}=t;typeof n<"u"&&dr(e,n);const r=Le(e,t);return Qc(r,t)}function Mh(e,t={}){const{size:n}=t;let r=e;if(typeof n<"u"&&(dr(r,n),r=Jc(r)),r.length>1||r[0]>1)throw new Lh(r);return!!r[0]}function st(e,t={}){const{size:n}=t;typeof n<"u"&&dr(e,n);const r=Le(e,t);return eu(r,t)}function Fh(e,t={}){const{size:n}=t;let r=e;return typeof n<"u"&&(dr(r,n),r=zh(r)),Th.decode(r)}function Jc(e){return Vc(e,{dir:"left"})}function zh(e){return Vc(e,{dir:"right"})}class Lh extends q{constructor(t){super(`Bytes value \`${t}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}}let _h=class extends q{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed \`${n}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},Uh=class extends q{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}};const Dh=new TextEncoder,Hh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function qh(e,t={}){const{strict:n=!1}=t;if(!e)throw new ui(e);if(typeof e!="string")throw new ui(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e))throw new di(e);if(!e.startsWith("0x"))throw new di(e)}function ze(...e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}function Gh(e){return e instanceof Uint8Array?Le(e):Array.isArray(e)?Le(new Uint8Array(e)):e}function Xc(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(es(n,t.size),Ut(n,t.size)):n}function Le(e,t={}){let n="";for(let s=0;s<e.length;s++)n+=Hh[e[s]];const r=`0x${n}`;return typeof t.size=="number"?(es(r,t.size),Dt(r,t.size)):r}function he(e,t={}){const{signed:n,size:r}=t,s=BigInt(e);let o;r?n?o=(1n<<BigInt(r)*8n-1n)-1n:o=2n**(BigInt(r)*8n)-1n:typeof e=="number"&&(o=BigInt(Number.MAX_SAFE_INTEGER));const a=typeof o=="bigint"&&n?-o-1n:0;if(o&&s>o||s<a){const d=typeof e=="bigint"?"n":"";throw new tu({max:o?`${o}${d}`:void 0,min:`${a}${d}`,signed:n,size:r,value:`${e}${d}`})}const c=`0x${(n&&s<0?BigInt.asUintN(r*8,BigInt(s)):s).toString(16)}`;return r?Ut(c,r):c}function na(e,t={}){return Le(Dh.encode(e),t)}function Ut(e,t){return Zc(e,{dir:"left",size:t})}function Dt(e,t){return Zc(e,{dir:"right",size:t})}function We(e,t,n,r={}){const{strict:s}=r;Ch(e,t);const o=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return s&&Nh(o,t,n),o}function Te(e){return Math.ceil((e.length-2)/2)}function Qc(e,t={}){const{signed:n}=t;t.size&&es(e,t.size);const r=BigInt(e);if(!n)return r;const s=(e.length-2)/2,o=(1n<<BigInt(s)*8n)-1n,a=o>>1n;return r<=a?r:r-o-1n}function eu(e,t={}){const{signed:n,size:r}=t;return Number(!n&&!r?e:Qc(e,t))}function Wh(e,t={}){const{strict:n=!1}=t;try{return qh(e,{strict:n}),!0}catch{return!1}}class tu extends q{constructor({max:t,min:n,signed:r,size:s,value:o}){super(`Number \`${o}\` is not in safe${s?` ${s*8}-bit`:""}${r?" signed":" unsigned"} integer range ${t?`(\`${n}\` to \`${t}\`)`:`(above \`${n}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class ui extends q{constructor(t){super(`Value \`${typeof t=="object"?Kc(t):t}\` of type \`${typeof t}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class di extends q{constructor(t){super(`Value \`${t}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class Vh extends q{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed \`${n}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class nu extends q{constructor({offset:t,position:n,size:r}){super(`Slice ${n==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class Zh extends q{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function Kh(e){return{address:e.address,amount:he(e.amount),index:he(e.index),validatorIndex:he(e.validatorIndex)}}function ru(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:he(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:he(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:he(e.gasLimit)},...typeof e.number=="bigint"&&{number:he(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:he(e.prevRandao)},...typeof e.time=="bigint"&&{time:he(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Kh)}}}const dn=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],co=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],su=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],ou=[...su,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],Yh=[...su,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],li=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],au=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],iu=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],fi=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}],cu=[{type:"event",name:"Approval",inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"event",name:"Transfer",inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"function",name:"allowance",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"balanceOf",stateMutability:"view",inputs:[{name:"account",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"decimals",stateMutability:"view",inputs:[],outputs:[{type:"uint8"}]},{type:"function",name:"name",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"symbol",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"totalSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]},{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],Jh="0x82ad56cb",uu="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Xh="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",Qh="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",ra="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class uo extends I{constructor({blockNumber:t,chain:n,contract:r}){super(`Chain "${n.name}" does not support contract "${r.name}".`,{metaMessages:["This could be due to any of the following:",...t&&r.blockCreated&&r.blockCreated>t?[`- The contract "${r.name}" was not deployed until block ${r.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${r.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class ep extends I{constructor({chain:t,currentChainId:n}){super(`The current chain of the wallet (id: ${n}) does not match the target chain for the transaction (id: ${t.id} – ${t.name}).`,{metaMessages:[`Current Chain ID: ${n}`,`Expected Chain ID: ${t.id} – ${t.name}`],name:"ChainMismatchError"})}}class tp extends I{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
52
+ `),{name:"ChainNotFoundError"})}}class du extends I{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}const xs="/docs/contract/encodeDeployData";function ts(e){const{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;const s=t.find(a=>"type"in a&&a.type==="constructor");if(!s)throw new Xl({docsPath:xs});if(!("inputs"in s))throw new Fa({docsPath:xs});if(!s.inputs||s.inputs.length===0)throw new Fa({docsPath:xs});const o=qt(s.inputs,n);return bn([r,o])}function gn({blockNumber:e,chain:t,contract:n}){var s;const r=(s=t==null?void 0:t.contracts)==null?void 0:s[n];if(!r)throw new uo({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new uo({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}function lu(e,{docsPath:t,...n}){const r=(()=>{const s=Yr(e,n);return s instanceof ar?e:s})();return new Tc(r,{docsPath:t,...n})}function sa(){let e=()=>{},t=()=>{};return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}const As=new Map;function fu({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:s}){const o=async()=>{const u=c();a();const l=u.map(({args:f})=>f);l.length!==0&&e(l).then(f=>{s&&Array.isArray(f)&&f.sort(s);for(let b=0;b<u.length;b++){const{resolve:p}=u[b];p==null||p([f[b],f])}}).catch(f=>{for(let b=0;b<u.length;b++){const{reject:p}=u[b];p==null||p(f)}})},a=()=>As.delete(t),i=()=>c().map(({args:u})=>u),c=()=>As.get(t)||[],d=u=>As.set(t,[...c(),u]);return{flush:a,async schedule(u){const{promise:l,resolve:f,reject:b}=sa();return(n==null?void 0:n([...i(),u]))&&o(),c().length>0?(d({args:u,resolve:f,reject:b}),l):(d({args:u,resolve:f,reject:b}),setTimeout(o,r),l)}}}async function lr(e,t){var S,k,B,R,z,U;const{account:n=e.account,authorizationList:r,batch:s=!!((S=e.batch)!=null&&S.multicall),blockHash:o,blockNumber:a,blockTag:i=e.experimental_blockTag??"latest",requireCanonical:c,accessList:d,blobs:u,blockOverrides:l,code:f,data:b,factory:p,factoryData:m,gas:g,gasPrice:y,maxFeePerBlobGas:E,maxFeePerGas:w,maxPriorityFeePerGas:v,nonce:x,requestOptions:P,to:A,value:N,stateOverride:T,...O}=t,$=n?re(n):void 0;if(f&&(p||m))throw new I("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(f&&A)throw new I("Cannot provide both `code` & `to` as parameters.");const M=f&&b,j=p&&m&&A&&b,F=M||j,C=M?pu({code:f,data:b}):j?ip({data:b,factory:p,factoryData:m,to:A}):b;try{lt(t);const V=Wt({blockHash:o,blockNumber:a,blockTag:i,requireCanonical:c}),W=l?ru(l):void 0,G=Uo(T),Y=(R=(B=(k=e.chain)==null?void 0:k.formatters)==null?void 0:B.transactionRequest)==null?void 0:R.format,Q=(Y||At)({...yn(O,{format:Y}),accessList:d,account:$,authorizationList:r,blobs:u,data:C,gas:g,gasPrice:y,maxFeePerBlobGas:E,maxFeePerGas:w,maxPriorityFeePerGas:v,nonce:x,to:F?void 0:A,value:N},"call");if(s&&np({request:Q})&&!W&&o===void 0)try{const{deployless:K=!1}=typeof((z=e.batch)==null?void 0:z.multicall)=="object"?e.batch.multicall:{},Pe=hu(e,{blockNumber:a,deployless:K});if(!Pe||!ap(G,Pe))return await op(e,{...Q,blockHash:o,blockNumber:a,blockTag:i,multicallAddress:Pe,requestOptions:P,requireCanonical:c,rpcStateOverride:G})}catch(K){if(!(K instanceof du)&&!(K instanceof uo))throw K}const De=(()=>{const K=[Q,V];return G&&W?[...K,G,W]:G?[...K,G]:W?[...K,{},W]:K})(),ue=await e.request({method:"eth_call",params:De},P);return ue==="0x"?{data:void 0}:{data:ue}}catch(V){if((U=P==null?void 0:P.signal)!=null&&U.aborted)throw wt(P.signal);if(mn(V))throw V;const W=cp(V),{offchainLookup:G,offchainLookupSignature:Y}=await Mi(async()=>{const{offchainLookup:J,offchainLookupSignature:Q}=await import("./ccip-hCQYqfNz.js");return{offchainLookup:J,offchainLookupSignature:Q}},__vite__mapDeps([0,1,2]));if(e.ccipRead!==!1&&(W==null?void 0:W.slice(0,10))===Y&&A)return{data:await G(e,{data:W,requestOptions:P,to:A})};throw F&&(W==null?void 0:W.slice(0,10))==="0x101bb98d"?new R0({factory:p}):lu(V,{...t,account:$,chain:e.chain})}}function np({request:e}){const{data:t,to:n,...r}=e;return!(!t||t.startsWith(Jh)||!n||Object.values(r).filter(s=>typeof s<"u").length>0)}let rp=0;const hi=new WeakMap;function sp(e){if(!e)return"default";const t=hi.get(e);if(t!==void 0)return t;const n=rp++;return hi.set(e,n),n}async function op(e,t){var x;const{batchSize:n=1024,deployless:r=!1,wait:s=0}=typeof((x=e.batch)==null?void 0:x.multicall)=="object"?e.batch.multicall:{},{blockHash:o,blockNumber:a,blockTag:i=e.experimental_blockTag??"latest",requireCanonical:c,data:d,multicallAddress:u,requestOptions:l,rpcStateOverride:f,to:b}=t,p=u!==void 0?u:hu(e,{blockNumber:a,deployless:r}),m=Wt({blockHash:o,blockNumber:a,blockTag:i,requireCanonical:c}),g=typeof m=="string"?m:JSON.stringify(m),y=f?`.${JSON.stringify(f)}`:"",{schedule:E}=fu({id:`${e.uid}.${g}.${sp(l)}${y}`,wait:s,shouldSplitBatch(P){return P.reduce((N,{data:T})=>N+(T.length-2),0)>n*2},fn:async P=>{const A=P.map($=>({allowFailure:!0,callData:$.data,target:$.to})),N=ve({abi:dn,args:[A],functionName:"aggregate3"}),T={...p===null?{data:pu({code:ra,data:N})}:{to:p,data:N}},O=await e.request({method:"eth_call",params:f?[T,m,f]:[T,m]},l);return Pt({abi:dn,args:[A],functionName:"aggregate3",data:O||"0x"})}}),[{returnData:w,success:v}]=await E({data:d,to:b});if(!v)throw new Zr({data:w});return w==="0x"?{data:void 0}:{data:w}}function hu(e,t){const{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return gn({blockNumber:n,chain:e.chain,contract:"multicall3"});throw new du}function ap(e,t){return e?Object.keys(e).some(n=>_t(n,t)):!1}function pu(e){const{code:t,data:n}=e;return ts({abi:Qi(["constructor(bytes, bytes)"]),bytecode:uu,args:[t,n]})}function ip(e){const{data:t,factory:n,factoryData:r,to:s}=e;return ts({abi:Qi(["constructor(address, bytes, address, bytes)"]),bytecode:Xh,args:[s,t,n,r]})}function cp(e){var n;if(!(e instanceof I))return;const t=e.walk();return typeof(t==null?void 0:t.data)=="object"?(n=t.data)==null?void 0:n.data:t.data}async function _e(e,t){const{abi:n,address:r,args:s,functionName:o,...a}=t,i=ve({abi:n,args:s,functionName:o});try{const{data:c}=await L(e,lr,"call")({...a,data:i,to:r});return Pt({abi:n,args:s,functionName:o,data:c||"0x"})}catch(c){throw Lt(c,{abi:n,address:r,args:s,docsPath:"/docs/contract/readContract",functionName:o})}}async function up(e,t){var u;const{abi:n,address:r,args:s,functionName:o,dataSuffix:a=typeof e.dataSuffix=="string"?e.dataSuffix:(u=e.dataSuffix)==null?void 0:u.value,...i}=t,c=i.account?re(i.account):e.account,d=ve({abi:n,args:s,functionName:o});try{const{data:l}=await L(e,lr,"call")({batch:!1,data:`${d}${a?a.replace("0x",""):""}`,to:r,...i,account:c}),f=Pt({abi:n,args:s,functionName:o,data:l||"0x"}),b=n.filter(p=>"name"in p&&p.name===t.functionName);return{result:f,request:{abi:b,address:r,args:s,dataSuffix:a,functionName:o,...i,account:c}}}catch(l){throw Lt(l,{abi:n,address:r,args:s,docsPath:"/docs/contract/simulateContract",functionName:o,sender:c==null?void 0:c.address})}}const yr=new Map,Ps=new Map;let dp=0;function ct(e,t,n){const r=++dp,s=()=>yr.get(e)||[],o=()=>{const l=s().filter(f=>f.id!==r);if(l.length===0){yr.delete(e),Ps.delete(e);return}yr.set(e,l)},a=()=>{const u=s();if(!u.some(f=>f.id===r))return;const l=Ps.get(e);if(u.length===1&&l){const f=l();f instanceof Promise&&f.catch(()=>{})}o()},i=s();if(yr.set(e,[...i,{id:r,fns:t}]),i&&i.length>0)return a;const c={};for(const u in t)c[u]=((...l)=>{var b,p;const f=s();if(f.length!==0)for(const m of f)(p=(b=m.fns)[u])==null||p.call(b,...l)});const d=n(c);return typeof d=="function"&&Ps.set(e,d),a}async function Fr(e,{signal:t}={}){return new Promise((n,r)=>{if(t!=null&&t.aborted){r(wt(t));return}const s=()=>t==null?void 0:t.removeEventListener("abort",a),o=setTimeout(()=>{s(),n()},e),a=()=>{clearTimeout(o),s(),r(wt(t))};t==null||t.addEventListener("abort",a,{once:!0})})}function wn(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let s=!0;const o=()=>s=!1;return(async()=>{let i;t&&(i=await e({unpoll:o}));const c=await(n==null?void 0:n(i))??r;await Fr(c);const d=async()=>{s&&(await e({unpoll:o}),await Fr(r),d())};d()})(),o}const lp=new Map,fp=new Map;function hp(e){const t=(s,o)=>({clear:()=>o.delete(s),get:()=>o.get(s),set:a=>o.set(s,a)}),n=t(e,lp),r=t(e,fp);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function pp(e,{cacheKey:t,cacheTime:n=Number.POSITIVE_INFINITY}){const r=hp(t),s=r.response.get();if(s&&n>0&&Date.now()-s.created.getTime()<n)return s.data;let o=r.promise.get();o||(o=e(),r.promise.set(o));try{const a=await o;return r.response.set({created:new Date,data:a}),a}finally{r.promise.clear()}}const bp=e=>`blockNumber.${e}`;async function fr(e,{cacheTime:t=e.cacheTime}={}){const n=await pp(()=>e.request({method:"eth_blockNumber"}),{cacheKey:bp(e.uid),cacheTime:t});return BigInt(n)}async function ns(e,{filter:t}){const n="strict"in t&&t.strict,r=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof r[0]=="string")return r;const s=r.map(o=>Ye(o));return!("abi"in t)||!t.abi?s:Jo({abi:t.abi,logs:s,strict:n})}async function rs(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function mp(e,t){const{abi:n,address:r,args:s,batch:o=!0,eventName:a,fromBlock:i,onError:c,onLogs:d,poll:u,pollingInterval:l=e.pollingInterval,strict:f}=t;return(typeof u<"u"?u:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))?(()=>{const g=f??!1,y=oe(["watchContractEvent",r,s,o,e.uid,a,l,g,i]);return ct(y,{onLogs:d,onError:c},E=>{let w;i!==void 0&&(w=i-1n);let v,x=!1;const P=wn(async()=>{var A;if(!x){try{v=await L(e,Ac,"createContractEventFilter")({abi:n,address:r,args:s,eventName:a,strict:g,fromBlock:i})}catch{}x=!0;return}try{let N;if(v)N=await L(e,ns,"getFilterChanges")({filter:v});else{const T=await L(e,fr,"getBlockNumber")({});w&&w<T?N=await L(e,Uc,"getContractEvents")({abi:n,address:r,args:s,eventName:a,fromBlock:w+1n,toBlock:T,strict:g}):N=[],w=T}if(N.length===0)return;if(o)E.onLogs(N);else for(const T of N)E.onLogs([T])}catch(N){v&&N instanceof vt&&(x=!1),(A=E.onError)==null||A.call(E,N)}},{emitOnBegin:!0,interval:l});return async()=>{v&&await L(e,rs,"uninstallFilter")({filter:v}),P()}})})():(()=>{const g=f??!1,y=oe(["watchContractEvent",r,s,o,e.uid,a,l,g]);let E=!0,w=()=>E=!1;return ct(y,{onLogs:d,onError:c},v=>((async()=>{try{const x=(()=>{if(e.transport.type==="fallback"){const N=e.transport.transports.find(T=>T.config.type==="webSocket"||T.config.type==="ipc");return N?N.value:e.transport}return e.transport})(),P=a?rr({abi:n,eventName:a,args:s}):[],{unsubscribe:A}=await x.subscribe({params:["logs",{address:r,topics:P}],onData(N){var O;if(!E)return;const T=N.result;try{const{eventName:$,args:M}=Rr({abi:n,data:T.data,topics:T.topics,strict:f}),j=Ye(T,{args:M,eventName:$});v.onLogs([j])}catch($){let M,j;if($ instanceof Sr||$ instanceof $o){if(f)return;M=$.abiItem.name,j=(O=$.abiItem.inputs)==null?void 0:O.some(C=>!("name"in C&&C.name))}const F=Ye(T,{args:j?[]:{},eventName:M});v.onLogs([F])}},onError(N){var T;(T=v.onError)==null||T.call(v,N)}});w=A,E||w()}catch(x){c==null||c(x)}})(),()=>w()))})()}class Et extends I{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
53
+ `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}class Rt extends I{constructor({docsPath:t,metaMessages:n,type:r}){super(`Account type "${r}" is not supported.`,{docsPath:t,metaMessages:n,name:"AccountTypeNotSupportedError"})}}function oa({chain:e,currentChainId:t}){if(!e)throw new tp;if(t!==e.id)throw new ep({chain:e,currentChainId:t})}async function aa(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}const Es=new pn(128);async function ss(e,t){var x,P,A,N,T,O;const{account:n=e.account,assertChainId:r=!0,chain:s=e.chain,accessList:o,authorizationList:a,blobs:i,data:c,dataSuffix:d=typeof e.dataSuffix=="string"?e.dataSuffix:(x=e.dataSuffix)==null?void 0:x.value,gas:u,gasPrice:l,maxFeePerBlobGas:f,maxFeePerGas:b,maxPriorityFeePerGas:p,nonce:m,type:g,value:y,...E}=t;if(typeof n>"u")throw new Et({docsPath:"/docs/actions/wallet/sendTransaction"});const w=n?re(n):null;let v;try{lt(t);const $=await(async()=>{if(t.to)return t.to;if(t.to!==null&&a&&a.length>0)return await Kr({authorization:a[0]}).catch(()=>{throw new I("`to` is required. Could not infer from `authorizationList`.")})})();if((w==null?void 0:w.type)==="json-rpc"||w===null){let M;s!==null&&(M=await L(e,Ke,"getChainId")({}),r&&oa({currentChainId:M,chain:s}));const j=(N=(A=(P=e.chain)==null?void 0:P.formatters)==null?void 0:A.transactionRequest)==null?void 0:N.format,C=(j||At)({...yn(E,{format:j}),accessList:o,account:w,authorizationList:a,blobs:i,chainId:M,data:d?de([c??"0x",d]):c,gas:u,gasPrice:l,maxFeePerBlobGas:f,maxFeePerGas:b,maxPriorityFeePerGas:p,nonce:m,to:$,type:g,value:y},"sendTransaction"),S=Es.get(e.uid),k=S?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:k,params:[C]},{retryCount:0})}catch(B){if(S===!1)throw B;const R=B;if(R.name==="InvalidInputRpcError"||R.name==="InvalidParamsRpcError"||R.name==="MethodNotFoundRpcError"||R.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[C]},{retryCount:0}).then(z=>(Es.set(e.uid,!0),z)).catch(z=>{const U=z;throw U.name==="MethodNotFoundRpcError"||U.name==="MethodNotSupportedRpcError"?(Es.set(e.uid,!1),R):U});throw R}}if((w==null?void 0:w.type)==="local"){if(w.nonceManager&&typeof m>"u"){const C=E.chainId,S=await(async()=>typeof C=="number"?C:s?s.id:L(e,Ke,"getChainId")({}))();v={address:w.address,chainId:S}}const M=await L(e,ir,"prepareTransactionRequest")({account:w,accessList:o,authorizationList:a,blobs:i,chain:s,data:d?de([c??"0x",d]):c,gas:u,gasPrice:l,maxFeePerBlobGas:f,maxFeePerGas:b,maxPriorityFeePerGas:p,nonce:m,nonceManager:w.nonceManager,parameters:[...Ko,"sidecars"],type:g,value:y,...E,to:$}),j=(T=s==null?void 0:s.serializers)==null?void 0:T.transaction,F=await w.signTransaction(M,{serializer:j});return await L(e,aa,"sendRawTransaction")({serializedTransaction:F})}throw(w==null?void 0:w.type)==="smart"?new Rt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Rt({docsPath:"/docs/actions/wallet/sendTransaction",type:w==null?void 0:w.type})}catch($){throw $ instanceof Rt?$:(v&&((O=w==null?void 0:w.nonceManager)==null||O.reset(v)),Jr($,{...t,account:w,chain:t.chain||void 0}))}}async function Xn(e,t){return Xn.internal(e,ss,"sendTransaction",t)}(function(e){async function t(n,r,s,o){const{abi:a,account:i=n.account,address:c,args:d,functionName:u,...l}=o;if(typeof i>"u")throw new Et({docsPath:"/docs/contract/writeContract"});const f=i?re(i):null,b=ve({abi:a,args:d,functionName:u});try{return await L(n,r,s)({data:b,to:c,account:f,...l})}catch(p){throw Lt(p,{abi:a,address:c,args:d,docsPath:"/docs/contract/writeContract",functionName:u,sender:f==null?void 0:f.address})}}e.internal=t})(Xn||(Xn={}));class yp extends I{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}}function zr(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:s}={}){return new Promise((o,a)=>{const i=async({count:c=0}={})=>{if(s!=null&&s.aborted){a(wt(s));return}const d=async({error:u})=>{const l=typeof t=="function"?t({count:c,error:u}):t;if(l)try{await Fr(l,{signal:s})}catch(f){a(f);return}i({count:c+1})};try{const u=await e();o(u)}catch(u){if(s!=null&&s.aborted){a(wt(s));return}if(mn(u)){a(u);return}if(c<n&&await r({count:c,error:u}))return d({error:u});a(u)}};i()})}const bu={"0x0":"reverted","0x1":"success"};function ia(e,t){const n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(r=>Ye(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Fe(e.transactionIndex):null,status:e.status?bu[e.status]:null,type:e.type?jc[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}const mu="0x5792579257925792579257925792579257925792579257925792579257925792",yu=H(0,{size:32});async function gu(e,t){var f;const{account:n=e.account,chain:r=e.chain,experimental_fallback:s,experimental_fallbackDelay:o=32,forceAtomic:a=!1,id:i,version:c="2.0.0"}=t,d=n?re(n):null;let u=t.capabilities;e.dataSuffix&&!((f=t.capabilities)!=null&&f.dataSuffix)&&(typeof e.dataSuffix=="string"?u={...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:u={...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});const l=t.calls.map(b=>{const p=b,m=p.abi?ve({abi:p.abi,functionName:p.functionName,args:p.args}):p.data;return{data:p.dataSuffix&&m?de([m,p.dataSuffix]):m,to:p.to,value:p.value?H(p.value):void 0}});try{const b=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:l,capabilities:u,chainId:H(r.id),from:d==null?void 0:d.address,id:i,version:c}]},{retryCount:0});return typeof b=="string"?{id:b}:b}catch(b){const p=b;if(s&&(p.name==="MethodNotFoundRpcError"||p.name==="MethodNotSupportedRpcError"||p.name==="UnknownRpcError"||p.details.toLowerCase().includes("does not exist / is not available")||p.details.toLowerCase().includes("missing or invalid. request()")||p.details.toLowerCase().includes("did not match any variant of untagged enum")||p.details.toLowerCase().includes("account upgraded to unsupported contract")||p.details.toLowerCase().includes("eip-7702 not supported")||p.details.toLowerCase().includes("unsupported wc_ method")||p.details.toLowerCase().includes("feature toggled misconfigured")||p.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(u&&Object.values(u).some(E=>!E.optional)){const E="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new an(new I(E,{details:E}))}if(a&&l.length>1){const y="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new cn(new I(y,{details:y}))}const m=[];for(const y of l){try{const E=await ss(e,{account:d,chain:r,data:y.data,to:y.to,value:y.value?ke(y.value):void 0});m.push({status:"fulfilled",value:E})}catch(E){m.push({reason:E,status:"rejected"})}o>0&&await new Promise(E=>setTimeout(E,o))}if(m.every(y=>y.status==="rejected"))throw m[0].reason;const g=m.map(y=>y.status==="fulfilled"?y.value:yu);return{id:de([...g,H(r.id,{size:32}),mu])}}throw Jr(b,{...t,account:d,chain:t.chain})}}async function wu(e,t){async function n(u){if(u.endsWith(mu.slice(2))){const f=nt(Vs(u,-64,-32)),b=Vs(u,0,-64).slice(2).match(/.{1,64}/g),p=await Promise.all(b.map(g=>yu.slice(2)!==g?e.request({method:"eth_getTransactionReceipt",params:[`0x${g}`]},{dedupe:!0}):void 0)),m=p.some(g=>g===null)?100:p.every(g=>(g==null?void 0:g.status)==="0x1")?200:p.every(g=>(g==null?void 0:g.status)==="0x0")?500:600;return{atomic:!1,chainId:Fe(f),receipts:p.filter(Boolean),status:m,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[u]})}const{atomic:r=!1,chainId:s,receipts:o,version:a="2.0.0",...i}=await n(t.id),[c,d]=(()=>{const u=i.status;return u>=100&&u<200?["pending",u]:u>=200&&u<300?["success",u]:u>=300&&u<700?["failure",u]:u==="CONFIRMED"?["success",200]:u==="PENDING"?["pending",100]:[void 0,u]})();return{...i,atomic:r,chainId:s?Fe(s):void 0,receipts:(o==null?void 0:o.map(u=>({...u,blockNumber:ke(u.blockNumber),gasUsed:ke(u.gasUsed),status:bu[u.status]})))??[],statusCode:d,status:c,version:a}}async function vu(e,t){const{id:n,pollingInterval:r=e.pollingInterval,status:s=({statusCode:m})=>m===200||m>=300,retryCount:o=4,retryDelay:a=({count:m})=>~~(1<<m)*200,timeout:i=6e4,throwOnFailure:c=!1}=t,d=oe(["waitForCallsStatus",e.uid,n]),{promise:u,resolve:l,reject:f}=sa();let b;const p=ct(d,{resolve:l,reject:f},m=>{const g=wn(async()=>{const y=E=>{clearTimeout(b),g(),E(),p()};try{const E=await zr(async()=>{const w=await L(e,wu,"getCallsStatus")({id:n});if(c&&w.status==="failure")throw new yp(w);return w},{retryCount:o,delay:a});if(!s(E))return;y(()=>m.resolve(E))}catch(E){y(()=>m.reject(E))}},{interval:r,emitOnBegin:!0});return g});return b=i?setTimeout(()=>{p(),clearTimeout(b),f(new gp({id:n}))},i):void 0,await u}class gp extends I{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const lo=256;let gr=lo,wr;function xu(e=11){if(!wr||gr+e>lo*2){wr="",gr=0;for(let t=0;t<lo;t++)wr+=(256+Math.random()*256|0).toString(16).substring(1)}return wr.substring(gr,gr+++e)}function Au(e){const{batch:t,chain:n,ccipRead:r,dataSuffix:s,key:o="base",name:a="Base Client",type:i="base"}=e,c=e.experimental_blockTag??(typeof(n==null?void 0:n.experimental_preconfirmationTime)=="number"?"pending":void 0),d=(n==null?void 0:n.blockTime)??12e3,u=Math.min(Math.max(Math.floor(d/2),500),4e3),l=e.pollingInterval??u,f=e.cacheTime??l,b=e.account?re(e.account):void 0,{config:p,request:m,value:g}=e.transport({account:b,chain:n,pollingInterval:l}),y={...p,...g},E={account:b,batch:t,cacheTime:f,ccipRead:r,chain:n,dataSuffix:s,key:o,name:a,pollingInterval:l,request:m,transport:y,type:i,uid:xu(),...c?{experimental_blockTag:c}:{}};function w(v){return x=>{const P=x(v);for(const N in E)delete P[N];const A={...v,...P};return Object.assign(A,{extend:w(A)})}}return Object.assign(E,{extend:w(E)})}function ca(e){var n,r,s,o,a,i;if(!(e instanceof I))return!1;const t=e.walk(c=>c instanceof Ir);return t instanceof Ir?((n=t.data)==null?void 0:n.errorName)==="HttpError"||((r=t.data)==null?void 0:r.errorName)==="ResolverError"||((s=t.data)==null?void 0:s.errorName)==="ResolverNotContract"||((o=t.data)==null?void 0:o.errorName)==="ResolverNotFound"||((a=t.data)==null?void 0:a.errorName)==="ReverseAddressMismatch"||((i=t.data)==null?void 0:i.errorName)==="UnsupportedResolverProfile":!1}function wp(e){const{abi:t,data:n}=e,r=Ft(n,0,4),s=t.find(o=>o.type==="function"&&r===nr(Me(o)));if(!s)throw new of(r,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:s.name,args:"inputs"in s&&s.inputs&&s.inputs.length>0?sr(s.inputs,Ft(n,4)):void 0}}const Cs="/docs/contract/encodeErrorResult";function pi(e){const{abi:t,errorName:n,args:r}=e;let s=t[0];if(n){const c=Gt({abi:t,args:r,name:n});if(!c)throw new za(n,{docsPath:Cs});s=c}if(s.type!=="error")throw new za(void 0,{docsPath:Cs});const o=Me(s),a=nr(o);let i="0x";if(r&&r.length>0){if(!s.inputs)throw new nf(s.name,{docsPath:Cs});i=qt(s.inputs,r)}return bn([a,i])}const Ns="/docs/contract/encodeFunctionResult";function vp(e){const{abi:t,functionName:n,result:r}=e;let s=t[0];if(n){const a=Gt({abi:t,name:n});if(!a)throw new tn(n,{docsPath:Ns});s=a}if(s.type!=="function")throw new tn(void 0,{docsPath:Ns});if(!s.outputs)throw new sc(s.name,{docsPath:Ns});const o=(()=>{if(s.outputs.length===0)return[];if(s.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new oc(r)})();return qt(s.outputs,o)}const os="x-batch-gateway:true";async function xp(e){const{data:t,ccipRequest:n}=e,{args:[r]}=wp({abi:co,data:t}),s=[],o=[];return await Promise.all(r.map(async(a,i)=>{try{o[i]=a.urls.includes(os)?await xp({data:a.data,ccipRequest:n}):await n(a),s[i]=!1}catch(c){s[i]=!0,o[i]=Ap(c)}})),vp({abi:co,functionName:"query",result:[s,o]})}function Ap(e){return e.name==="HttpRequestError"&&e.status?pi({abi:co,errorName:"HttpError",args:[e.status,e.shortMessage]}):pi({abi:[Pc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}function Pu(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return Ve(t)?t:null}function fo(e){let t=new Uint8Array(32).fill(0);if(!e)return ae(t);const n=e.split(".");for(let r=n.length-1;r>=0;r-=1){const s=Pu(n[r]),o=s?hn(s):ce(Bt(n[r]),"bytes");t=ce(de([t,o]),"bytes")}return ae(t)}function Pp(e){return`[${e.slice(2)}]`}function Ep(e){const t=new Uint8Array(32).fill(0);return e?Pu(e)||ce(Bt(e)):ae(t)}function ua(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const n=new Uint8Array(Bt(t).byteLength+2);let r=0;const s=t.split(".");for(let o=0;o<s.length;o++){let a=Bt(s[o]);a.byteLength>255&&(a=Bt(Pp(Ep(s[o])))),n[r]=a.length,n.set(a,r+1),r+=a.length+1}return n.byteLength!==r+1?n.slice(0,r+1):n}async function Cp(e,t){const{blockNumber:n,blockTag:r,coinType:s,name:o,gatewayUrls:a,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return gn({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),u=c==null?void 0:c.ensTlds;if(u&&!u.some(f=>o.endsWith(f)))return null;const l=s!=null?[fo(o),BigInt(s)]:[fo(o)];try{const f=ve({abi:au,functionName:"addr",args:l}),b={address:d,abi:ou,functionName:"resolveWithGateways",args:[it(ua(o)),f,a??[os]],blockNumber:n,blockTag:r},m=await L(e,_e,"readContract")(b);if(m[0]==="0x")return null;const g=Np({coinType:s,data:m[0],args:l});return g==="0x"||nt(g)==="0x00"?null:g}catch(f){if(i)throw f;if(ca(f))return null;throw f}}function Np({coinType:e,data:t,args:n}){try{return Pt({abi:au,args:n,functionName:"addr",data:t})}catch(r){if(e==null)throw r;const s=nt(t);if(ne(s)===20)return Mt(s);throw r}}class kp extends I{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}}class En extends I{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class da extends I{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class Tp extends I{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const $p=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,Sp=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,Ip=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,Bp=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function jp(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const n=t.headers.get("content-type");return n==null?void 0:n.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(n=>{const r=new Image;r.onload=()=>{n(!0)},r.onerror=()=>{n(!1)},r.src=e})}}function bi(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Eu({uri:e,gatewayUrls:t}){const n=Ip.test(e);if(n)return{uri:e,isOnChain:!0,isEncoded:n};const r=bi(t==null?void 0:t.ipfs,"https://ipfs.io"),s=bi(t==null?void 0:t.arweave,"https://arweave.net"),o=e.match($p),{protocol:a,subpath:i,target:c,subtarget:d=""}=(o==null?void 0:o.groups)||{},u=a==="ipns:/"||i==="ipns/",l=a==="ipfs:/"||i==="ipfs/"||Sp.test(e);if(e.startsWith("http")&&!u&&!l){let b=e;return t!=null&&t.arweave&&(b=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:b,isOnChain:!1,isEncoded:!1}}if((u||l)&&c)return{uri:`${r}/${u?"ipns":"ipfs"}/${c}${d}`,isOnChain:!1,isEncoded:!1};if(a==="ar:/"&&c)return{uri:`${s}/${c}${d||""}`,isOnChain:!1,isEncoded:!1};let f=e.replace(Bp,"");if(f.startsWith("<svg")&&(f=`data:image/svg+xml;base64,${btoa(f)}`),f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new da({uri:e})}function Cu(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new kp({data:e});return e.image||e.image_url||e.image_data}async function Rp({gatewayUrls:e,uri:t}){try{const n=await fetch(t).then(s=>s.json());return await la({gatewayUrls:e,uri:Cu(n)})}catch{throw new da({uri:t})}}async function la({gatewayUrls:e,uri:t}){const{uri:n,isOnChain:r}=Eu({uri:t,gatewayUrls:e});if(r||await jp(n))return n;throw new da({uri:t})}function Op(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[n,r,s]=t.split("/"),[o,a]=n.split(":"),[i,c]=r.split(":");if(!o||o.toLowerCase()!=="eip155")throw new En({reason:"Only EIP-155 supported"});if(!a)throw new En({reason:"Chain ID not found"});if(!c)throw new En({reason:"Contract address not found"});if(!s)throw new En({reason:"Token ID not found"});if(!i)throw new En({reason:"ERC namespace not found"});return{chainID:Number.parseInt(a,10),namespace:i.toLowerCase(),contractAddress:c,tokenID:s}}async function Mp(e,{nft:t}){if(t.namespace==="erc721")return _e(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return _e(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new Tp({namespace:t.namespace})}async function Fp(e,{gatewayUrls:t,record:n}){return/eip155:/i.test(n)?zp(e,{gatewayUrls:t,record:n}):la({uri:n,gatewayUrls:t})}async function zp(e,{gatewayUrls:t,record:n}){const r=Op(n),s=await Mp(e,{nft:r}),{uri:o,isOnChain:a,isEncoded:i}=Eu({uri:s,gatewayUrls:t});if(a&&(o.includes("data:application/json;base64,")||o.startsWith("{"))){const d=i?atob(o.replace("data:application/json;base64,","")):o,u=JSON.parse(d);return la({uri:Cu(u),gatewayUrls:t})}let c=r.tokenID;return r.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Rp({gatewayUrls:t,uri:o.replace(/(?:0x)?{id}/,c)})}async function Nu(e,t){const{blockNumber:n,blockTag:r,key:s,name:o,gatewayUrls:a,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return gn({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),u=c==null?void 0:c.ensTlds;if(u&&!u.some(l=>o.endsWith(l)))return null;try{const l={address:d,abi:ou,args:[it(ua(o)),ve({abi:li,functionName:"text",args:[fo(o),s]}),a??[os]],functionName:"resolveWithGateways",blockNumber:n,blockTag:r},b=await L(e,_e,"readContract")(l);if(b[0]==="0x")return null;const p=Pt({abi:li,functionName:"text",data:b[0]});return p===""?null:p}catch(l){if(i)throw l;if(ca(l))return null;throw l}}async function Lp(e,{blockNumber:t,blockTag:n,assetGatewayUrls:r,name:s,gatewayUrls:o,strict:a,universalResolverAddress:i}){const c=await L(e,Nu,"getEnsText")({blockNumber:t,blockTag:n,key:"avatar",name:s,universalResolverAddress:i,gatewayUrls:o,strict:a});if(!c)return null;try{return await Fp(e,{record:c,gatewayUrls:r})}catch{return null}}async function _p(e,t){const{address:n,blockNumber:r,blockTag:s,coinType:o=60n,gatewayUrls:a,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return gn({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})();try{const u={address:d,abi:Yh,args:[n,o,a??[os]],functionName:"reverseWithGateways",blockNumber:r,blockTag:s},l=L(e,_e,"readContract"),[f]=await l(u);return f||null}catch(u){if(i)throw u;if(ca(u))return null;throw u}}async function Up(e,t){const{blockNumber:n,blockTag:r,name:s}=t,{chain:o}=e,a=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!o)throw new Error("client chain not configured. universalResolverAddress is required.");return gn({blockNumber:n,chain:o,contract:"ensUniversalResolver"})})(),i=o==null?void 0:o.ensTlds;if(i&&!i.some(d=>s.endsWith(d)))throw new Error(`${s} is not a valid ENS TLD (${i==null?void 0:i.join(", ")}) for chain "${o.name}" (id: ${o.id}).`);const[c]=await L(e,_e,"readContract")({address:a,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[it(ua(s))],blockNumber:n,blockTag:r});return c}async function ku(e,t){var g,y,E;const{account:n=e.account,blockNumber:r,blockTag:s="latest",blobs:o,data:a,gas:i,gasPrice:c,maxFeePerBlobGas:d,maxFeePerGas:u,maxPriorityFeePerGas:l,to:f,value:b,...p}=t,m=n?re(n):void 0;try{lt(t);const v=(typeof r=="bigint"?H(r):void 0)||s,x=(E=(y=(g=e.chain)==null?void 0:g.formatters)==null?void 0:y.transactionRequest)==null?void 0:E.format,A=(x||At)({...yn(p,{format:x}),account:m,blobs:o,data:a,gas:i,gasPrice:c,maxFeePerBlobGas:d,maxFeePerGas:u,maxPriorityFeePerGas:l,to:f,value:b},"createAccessList"),N=await e.request({method:"eth_createAccessList",params:[A,v]});if(N.error)throw new I(N.error,{details:N.error});return{accessList:N.accessList,gasUsed:BigInt(N.gasUsed)}}catch(w){throw lu(w,{...t,account:m,chain:e.chain})}}async function Dp(e){const t=Vr(e,{method:"eth_newBlockFilter"}),n=await e.request({method:"eth_newBlockFilter"});return{id:n,request:t(n),type:"block"}}async function Tu(e,{address:t,args:n,event:r,events:s,fromBlock:o,strict:a,toBlock:i}={}){const c=s??(r?[r]:void 0),d=Vr(e,{method:"eth_newFilter"});let u=[];c&&(u=[c.flatMap(b=>rr({abi:[b],eventName:b.name,args:n}))],r&&(u=u[0]));const l=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof o=="bigint"?H(o):o,toBlock:typeof i=="bigint"?H(i):i,...u.length?{topics:u}:{}}]});return{abi:c,args:n,eventName:r?r.name:void 0,fromBlock:o,id:l,request:d(l),strict:!!a,toBlock:i,type:"event"}}async function $u(e){const t=Vr(e,{method:"eth_newPendingTransactionFilter"}),n=await e.request({method:"eth_newPendingTransactionFilter"});return{id:n,request:t(n),type:"transaction"}}async function Hp(e,{address:t,blockHash:n,blockNumber:r,blockTag:s=e.experimental_blockTag??"latest",requireCanonical:o}){var c,d,u;const a=Wt({blockHash:n,blockNumber:r,blockTag:s,requireCanonical:o});if((c=e.batch)!=null&&c.multicall&&((u=(d=e.chain)==null?void 0:d.contracts)!=null&&u.multicall3)){const l=e.chain.contracts.multicall3.address,f=ve({abi:dn,functionName:"getEthBalance",args:[t]}),{data:b}=await L(e,lr,"call")({to:l,data:f,blockHash:n,blockNumber:r,blockTag:s,requireCanonical:o});return Pt({abi:dn,functionName:"getEthBalance",args:[t],data:b||"0x"})}const i=await e.request({method:"eth_getBalance",params:[t,a]});return BigInt(i)}async function qp(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Gp(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest"}={}){var i,c,d;const s=n!==void 0?H(n):void 0,o=await e.request({method:"eth_getBlockReceipts",params:[t||s||r]},{dedupe:!!(t||s)});if(!o)throw new Ho({blockHash:t,blockNumber:n});const a=((d=(c=(i=e.chain)==null?void 0:i.formatters)==null?void 0:c.transactionReceipt)==null?void 0:d.format)||ia;return o.map(u=>a(u,"getBlockReceipts"))}async function Wp(e,{blockHash:t,blockNumber:n,blockTag:r="latest"}={}){const s=n!==void 0?H(n):void 0;let o;return t?o=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):o=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[s||r]},{dedupe:!!s}),Fe(o)}async function Lr(e,{address:t,blockHash:n,blockNumber:r,blockTag:s="latest",requireCanonical:o}){const a=Wt({blockHash:n,blockNumber:r,blockTag:s,requireCanonical:o}),i=await e.request({method:"eth_getCode",params:[t,a]},{dedupe:typeof r=="bigint"||n!==void 0});if(i!=="0x")return i}async function Vp(e,{address:t,blockNumber:n,blockTag:r="latest"}){const s=await Lr(e,{address:t,...n!==void 0?{blockNumber:n}:{blockTag:r}});if(s&&ne(s)===23&&s.startsWith("0xef0100"))return Mt(Ft(s,3,23))}class Zp extends I{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function Kp(e,t){const{address:n,factory:r,factoryData:s}=t;try{const[o,a,i,c,d,u,l]=await L(e,_e,"readContract")({abi:Yp,address:n,functionName:"eip712Domain",factory:r,factoryData:s});return{domain:{name:a,version:i,chainId:Number(c),verifyingContract:d,salt:u},extensions:l,fields:o}}catch(o){const a=o;throw a.name==="ContractFunctionExecutionError"&&a.cause.name==="ContractFunctionZeroDataError"?new Zp({address:n}):a}}const Yp=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function Jp(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(n=>BigInt(n)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(n=>n.map(r=>BigInt(r)))}}async function Xp(e,{blockCount:t,blockNumber:n,blockTag:r="latest",rewardPercentiles:s}){const o=typeof n=="bigint"?H(n):void 0,a=await e.request({method:"eth_feeHistory",params:[H(t),o||r,s]},{dedupe:!!o});return Jp(a)}async function Qp(e,{filter:t}){const n=t.strict??!1,s=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(o=>Ye(o));return t.abi?Jo({abi:t.abi,logs:s,strict:n}):s}async function eb({address:e,authorization:t,signature:n}){return _t(Mt(e),await Kr({authorization:t,signature:n}))}const vr=new pn(8192);function tb(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(vr.get(n))return vr.get(n);const r=e().finally(()=>vr.delete(n));return vr.set(n,r),r}function nb(e,t={}){return async(n,r={})=>{var f;const{dedupe:s=!1,methods:o,retryDelay:a=150,retryCount:i=3,signal:c,uid:d}={...t,...r},{method:u}=n;if((f=o==null?void 0:o.exclude)!=null&&f.includes(u))throw new kt(new Error("method not supported"),{method:u});if(o!=null&&o.include&&!o.include.includes(u))throw new kt(new Error("method not supported"),{method:u});if(c!=null&&c.aborted)throw wt(c);const l=s?sb(`${d}.${oe(n)}`):void 0;return tb(()=>zr(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(b){if(c!=null&&c.aborted)throw wt(c);if(mn(b))throw b;const p=b;switch(p.code){case jn.code:throw new jn(p);case Rn.code:throw new Rn(p);case On.code:throw new On(p,{method:n.method});case Mn.code:throw new Mn(p);case zt.code:throw new zt(p);case vt.code:throw new vt(p);case Fn.code:throw new Fn(p);case zn.code:throw new zn(p);case sn.code:throw new sn(p);case kt.code:throw new kt(p,{method:n.method});case on.code:throw new on(p);case Ln.code:throw new Ln(p);case yt.code:throw new yt(p);case _n.code:throw new _n(p);case Un.code:throw new Un(p);case Dn.code:throw new Dn(p);case Hn.code:throw new Hn(p);case qn.code:throw new qn(p);case an.code:throw new an(p);case Gn.code:throw new Gn(p);case Wn.code:throw new Wn(p);case Vn.code:throw new Vn(p);case Zn.code:throw new Zn(p);case Kn.code:throw new Kn(p);case cn.code:throw new cn(p);case 5e3:throw new yt(p);case un.code:throw new un(p);default:throw b instanceof I?b:new M0(p)}}},{delay:({count:b,error:p})=>{var m;if(p&&p instanceof Nn){const g=(m=p==null?void 0:p.headers)==null?void 0:m.get("Retry-After");if(g!=null&&g.match(/\d/))return Number.parseInt(g,10)*1e3}return~~(1<<b)*a},retryCount:i,signal:c,shouldRetry:({error:b})=>rb(b)}),{enabled:s,id:l})}}function rb(e){return mn(e)?!1:"code"in e&&typeof e.code=="number"?e.code===-1||e.code===on.code||e.code===zt.code||e.code===429:e instanceof Nn&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function sb(e,t=0){let n=3735928559^t,r=1103547991^t;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);n=Math.imul(n^o,2654435761),r=Math.imul(r^o,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function ob(e){const t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(r){return s=>{const o=typeof s=="function"?s(r):s,a={...r,...o};return Object.assign(a,{extend:n(a)})}}return Object.assign(t,{extend:n(t)})}function ab(e,{errorInstance:t=new Error("timed out"),timeout:n,signal:r}){return new Promise((s,o)=>{(async()=>{let a;const i=new AbortController;try{n>0&&(a=setTimeout(()=>{r&&i.abort()},n)),s(await e({signal:(i==null?void 0:i.signal)||null}))}catch(c){if(i!=null&&i.signal.aborted&&mn(c)){o(t);return}o(c)}finally{clearTimeout(a)}})()})}function ib(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const mi=ib();function cb(e,t={}){const{url:n,headers:r}=ub(e);return{async request(s){var p,m,g;const{body:o,fetchFn:a=t.fetchFn??fetch,onRequest:i=t.onRequest,onResponse:c=t.onResponse,timeout:d=t.timeout??1e4}=s,u={...t.fetchOptions??{},...s.fetchOptions??{}},{headers:l,method:f,signal:b}=u;try{const y=await ab(async({signal:w})=>{const v={...u,body:Array.isArray(o)?oe(o.map(N=>({jsonrpc:"2.0",id:N.id??mi.take(),...N}))):oe({jsonrpc:"2.0",id:o.id??mi.take(),...o}),headers:{...r,"Content-Type":"application/json",...l},method:f||"POST",signal:b||(d>0?w:null)},x=new Request(n,v),P=await(i==null?void 0:i(x,v))??{...v,url:n};return await a(P.url??n,P)},{errorInstance:new Xa({body:o,url:n}),timeout:d,signal:!0});c&&await c(y);let E;if((p=y.headers.get("Content-Type"))!=null&&p.startsWith("application/json"))E=await y.json();else{E=await y.text();try{E=JSON.parse(E||"{}")}catch(w){if(y.ok)throw w;E={error:E}}}if(!y.ok){if(typeof((m=E.error)==null?void 0:m.code)=="number"&&typeof((g=E.error)==null?void 0:g.message)=="string")return E;throw new Nn({body:o,details:oe(E.error)||y.statusText,headers:y.headers,status:y.status,url:n})}return E}catch(y){throw b!=null&&b.aborted?wt(b):mn(y)||y instanceof Nn||y instanceof Xa?y:new Nn({body:o,cause:y,url:n})}}}}function ub(e){try{const t=new URL(e),n=(()=>{if(t.username){const r=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username="",t.password="",{url:t.toString(),headers:{Authorization:`Basic ${btoa(r)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}const db=`Ethereum Signed Message:
54
+ `;function lb(e){const t=typeof e=="string"?Sn(e):typeof e.raw=="string"?e.raw:ae(e.raw),n=Sn(`${db}${ne(t)}`);return de([n,t])}function Su(e,t){return ce(lb(e),t)}class fb extends I{constructor({domain:t}){super(`Invalid domain "${oe(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class hb extends I{constructor({primaryType:t,types:n}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(n))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class pb extends I{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function bb(e){const{domain:t,message:n,primaryType:r,types:s}=e,o=(c,d)=>{const u={...d};for(const l of c){const{name:f,type:b}=l;b==="address"&&(u[f]=u[f].toLowerCase())}return u},a=s.EIP712Domain?t?o(s.EIP712Domain,t):{}:{},i=(()=>{if(r!=="EIP712Domain")return o(s[r],n)})();return oe({domain:a,message:i,primaryType:r,types:s})}function Iu(e){const{domain:t,message:n,primaryType:r,types:s}=e,o=(a,i)=>{for(const c of a){const{name:d,type:u}=c,l=i[d],f=u.match(vc);if(f&&(typeof l=="number"||typeof l=="bigint")){const[m,g,y]=f;H(l,{signed:g==="int",size:Number.parseInt(y,10)/8})}if(u==="address"&&typeof l=="string"&&!Be(l))throw new gt({address:l});const b=u.match(Qf);if(b){const[m,g]=b;if(g&&ne(l)!==Number.parseInt(g,10))throw new cf({expectedSize:Number.parseInt(g,10),givenSize:ne(l)})}const p=s[u];p&&(mb(u),o(p,l))}};if(s.EIP712Domain&&t){if(typeof t!="object")throw new fb({domain:t});o(s.EIP712Domain,t)}if(r!=="EIP712Domain")if(s[r])o(s[r],n);else throw new hb({primaryType:r,types:s})}function Bu({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function mb(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new pb({type:e})}function yb(e){const{domain:t={},message:n,primaryType:r}=e,s={EIP712Domain:Bu({domain:t}),...e.types};Iu({domain:t,message:n,primaryType:r,types:s});const o=["0x1901"];return t&&o.push(gb({domain:t,types:s})),r!=="EIP712Domain"&&o.push(ju({data:n,primaryType:r,types:s})),ce(de(o))}function gb({domain:e,types:t}){return ju({data:e,primaryType:"EIP712Domain",types:t})}function ju({data:e,primaryType:t,types:n}){const r=Ru({data:e,primaryType:t,types:n});return ce(r)}function Ru({data:e,primaryType:t,types:n}){const r=[{type:"bytes32"}],s=[wb({primaryType:t,types:n})];for(const o of n[t]){const[a,i]=Mu({types:n,name:o.name,type:o.type,value:e[o.name]});r.push(a),s.push(i)}return qt(r,s)}function wb({primaryType:e,types:t}){const n=it(vb({primaryType:e,types:t}));return ce(n)}function vb({primaryType:e,types:t}){let n="";const r=Ou({primaryType:e,types:t});r.delete(e);const s=[e,...Array.from(r).sort()];for(const o of s)n+=`${o}(${t[o].map(({name:a,type:i})=>`${i} ${a}`).join(",")})`;return n}function Ou({primaryType:e,types:t},n=new Set){const r=e.match(/^\w*/u),s=r==null?void 0:r[0];if(n.has(s)||t[s]===void 0)return n;n.add(s);for(const o of t[s])Ou({primaryType:o.type,types:t},n);return n}function Mu({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:"bytes32"},ce(Ru({data:r,primaryType:n,types:e}))];if(n==="bytes")return[{type:"bytes32"},ce(r)];if(n==="string")return[{type:"bytes32"},ce(it(r))];if(n.lastIndexOf("]")===n.length-1){const s=n.slice(0,n.lastIndexOf("[")),o=r.map(a=>Mu({name:t,type:s,types:e,value:a}));return[{type:"bytes32"},ce(qt(o.map(([a])=>a),o.map(([,a])=>a)))]}return[{type:n},r]}class xb extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const r=this.keys().next().value;r&&this.delete(r)}return this}}const Ab={checksum:new xb(8192)},ks=Ab.checksum;class Fu extends Io{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,Sf(t);const r=Gr(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,o=new Uint8Array(s);o.set(r.length>s?t.create().update(r).digest():r);for(let a=0;a<o.length;a++)o[a]^=54;this.iHash.update(o),this.oHash=t.create();for(let a=0;a<o.length;a++)o[a]^=106;this.oHash.update(o),rn(o)}update(t){return nn(this),this.iHash.update(t),this}digestInto(t){nn(this),Ot(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:o,blockLen:a,outputLen:i}=this;return t=t,t.finished=s,t.destroyed=o,t.blockLen=a,t.outputLen=i,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const zu=(e,t,n)=>new Fu(e,t).update(n).digest();zu.create=(e,t)=>new Fu(e,t);function Lu(e,t={}){const{as:n=typeof e=="string"?"Hex":"Bytes"}=t,r=bc(Sh(e));return n==="Bytes"?r:Le(r)}const Pb=/^0x[a-fA-F0-9]{40}$/;function as(e,t={}){const{strict:n=!0}=t;if(!Pb.test(e))throw new yi({address:e,cause:new Eb});if(n){if(e.toLowerCase()===e)return;if(_u(e)!==e)throw new yi({address:e,cause:new Cb})}}function _u(e){if(ks.has(e))return ks.get(e);as(e,{strict:!1});const t=e.substring(2).toLowerCase(),n=Lu(Bh(t),{as:"Bytes"}),r=t.split("");for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&r[o]&&(r[o]=r[o].toUpperCase()),(n[o>>1]&15)>=8&&r[o+1]&&(r[o+1]=r[o+1].toUpperCase());const s=`0x${r.join("")}`;return ks.set(e,s),s}function ho(e,t={}){const{strict:n=!0}=t??{};try{return as(e,{strict:n}),!0}catch{return!1}}class yi extends q{constructor({address:t,cause:n}){super(`Address "${t}" is invalid.`,{cause:n}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Eb extends q{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class Cb extends q{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const Nb=/^(.*)\[([0-9]*)\]$/,kb=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Uu=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,gi=2n**256n-1n;function en(e,t,n){const{checksumAddress:r,staticPosition:s}=n,o=pa(t.type);if(o){const[a,i]=o;return $b(e,{...t,type:i},{checksumAddress:r,length:a,staticPosition:s})}if(t.type==="tuple")return jb(e,t,{checksumAddress:r,staticPosition:s});if(t.type==="address")return Tb(e,{checksum:r});if(t.type==="bool")return Sb(e);if(t.type.startsWith("bytes"))return Ib(e,t,{staticPosition:s});if(t.type.startsWith("uint")||t.type.startsWith("int"))return Bb(e,t);if(t.type==="string")return Rb(e,{staticPosition:s});throw new ma(t.type)}const wi=32,po=32;function Tb(e,t={}){const{checksum:n=!1}=t,r=e.readBytes(32);return[(o=>n?_u(o):o)(Le(Rh(r,-20))),32]}function $b(e,t,n){const{checksumAddress:r,length:s,staticPosition:o}=n;if(!s){const c=st(e.readBytes(po)),d=o+c,u=d+wi;e.setPosition(d);const l=st(e.readBytes(wi)),f=Qn(t);let b=0;const p=[];for(let m=0;m<l;++m){e.setPosition(u+(f?m*32:b));const[g,y]=en(e,t,{checksumAddress:r,staticPosition:u});b+=y,p.push(g)}return e.setPosition(o+32),[p,32]}if(Qn(t)){const c=st(e.readBytes(po)),d=o+c,u=[];for(let l=0;l<s;++l){e.setPosition(d+l*32);const[f]=en(e,t,{checksumAddress:r,staticPosition:d});u.push(f)}return e.setPosition(o+32),[u,32]}let a=0;const i=[];for(let c=0;c<s;++c){const[d,u]=en(e,t,{checksumAddress:r,staticPosition:o+a});a+=u,i.push(d)}return[i,a]}function Sb(e){return[Mh(e.readBytes(32),{size:32}),32]}function Ib(e,t,{staticPosition:n}){const[r,s]=t.type.split("bytes");if(!s){const a=st(e.readBytes(32));e.setPosition(n+a);const i=st(e.readBytes(32));if(i===0)return e.setPosition(n+32),["0x",32];const c=e.readBytes(i);return e.setPosition(n+32),[Le(c),32]}return[Le(e.readBytes(Number.parseInt(s,10),32)),32]}function Bb(e,t){const n=t.type.startsWith("int"),r=Number.parseInt(t.type.split("int")[1]||"256",10),s=e.readBytes(32);return[r>48?Oh(s,{signed:n}):st(s,{signed:n}),32]}function jb(e,t,n){const{checksumAddress:r,staticPosition:s}=n,o=t.components.length===0||t.components.some(({name:c})=>!c),a=o?[]:{};let i=0;if(Qn(t)){const c=st(e.readBytes(po)),d=s+c;for(let u=0;u<t.components.length;++u){const l=t.components[u];e.setPosition(d+i);const[f,b]=en(e,l,{checksumAddress:r,staticPosition:d});i+=b,a[o?u:l==null?void 0:l.name]=f}return e.setPosition(s+32),[a,32]}for(let c=0;c<t.components.length;++c){const d=t.components[c],[u,l]=en(e,d,{checksumAddress:r,staticPosition:s});a[o?c:d==null?void 0:d.name]=u,i+=l}return[a,i]}function Rb(e,{staticPosition:t}){const n=st(e.readBytes(32)),r=t+n;e.setPosition(r);const s=st(e.readBytes(32));if(s===0)return e.setPosition(t+32),["",32];const o=e.readBytes(s,32),a=Fh(Jc(o));return e.setPosition(t+32),[a,32]}function Ob({checksumAddress:e,parameters:t,values:n}){const r=[];for(let s=0;s<t.length;s++)r.push(fa({checksumAddress:e,parameter:t[s],value:n[s]}));return r}function fa({checksumAddress:e=!1,parameter:t,value:n}){const r=t,s=pa(r.type);if(s){const[o,a]=s;return Fb(n,{checksumAddress:e,length:o,parameter:{...r,type:a}})}if(r.type==="tuple")return Db(n,{checksumAddress:e,parameter:r});if(r.type==="address")return Mb(n,{checksum:e});if(r.type==="bool")return Lb(n);if(r.type.startsWith("uint")||r.type.startsWith("int")){const o=r.type.startsWith("int"),[,,a="256"]=Uu.exec(r.type)??[];return _b(n,{signed:o,size:Number(a)})}if(r.type.startsWith("bytes"))return zb(n,{type:r.type});if(r.type==="string")return Ub(n);throw new ma(r.type)}function ha(e){let t=0;for(let o=0;o<e.length;o++){const{dynamic:a,encoded:i}=e[o];a?t+=32:t+=Te(i)}const n=[],r=[];let s=0;for(let o=0;o<e.length;o++){const{dynamic:a,encoded:i}=e[o];a?(n.push(he(t+s,{size:32})),r.push(i),s+=Te(i)):n.push(i)}return ze(...n,...r)}function Mb(e,t){const{checksum:n=!1}=t;return as(e,{strict:n}),{dynamic:!1,encoded:Ut(e.toLowerCase())}}function Fb(e,t){const{checksumAddress:n,length:r,parameter:s}=t,o=r===null;if(!Array.isArray(e))throw new Jb(e);if(!o&&e.length!==r)throw new Yb({expectedLength:r,givenLength:e.length,type:`${s.type}[${r}]`});let a=!1;const i=[];for(let c=0;c<e.length;c++){const d=fa({checksumAddress:n,parameter:s,value:e[c]});d.dynamic&&(a=!0),i.push(d)}if(o||a){const c=ha(i);if(o){const d=he(i.length,{size:32});return{dynamic:!0,encoded:i.length>0?ze(d,c):d}}if(a)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:ze(...i.map(({encoded:c})=>c))}}function zb(e,{type:t}){const[,n]=t.split("bytes"),r=Te(e);if(!n){let s=e;return r%32!==0&&(s=Dt(s,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:ze(Ut(he(r,{size:32})),s)}}if(r!==Number.parseInt(n,10))throw new Hu({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Dt(e)}}function Lb(e){if(typeof e!="boolean")throw new q(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Ut(Xc(e))}}function _b(e,{signed:t,size:n}){if(typeof n=="number"){const r=2n**(BigInt(n)-(t?1n:0n))-1n,s=t?-r-1n:0n;if(e>r||e<s)throw new tu({max:r.toString(),min:s.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:he(e,{size:32,signed:t})}}function Ub(e){const t=na(e),n=Math.ceil(Te(t)/32),r=[];for(let s=0;s<n;s++)r.push(Dt(We(t,s*32,(s+1)*32)));return{dynamic:!0,encoded:ze(Dt(he(Te(t),{size:32})),...r)}}function Db(e,t){const{checksumAddress:n,parameter:r}=t;let s=!1;const o=[];for(let a=0;a<r.components.length;a++){const i=r.components[a],c=Array.isArray(e)?a:i.name,d=fa({checksumAddress:n,parameter:i,value:e[c]});o.push(d),d.dynamic&&(s=!0)}return{dynamic:s,encoded:s?ha(o):ze(...o.map(({encoded:a})=>a))}}function pa(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Qn(e){var r;const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return(r=e.components)==null?void 0:r.some(Qn);const n=pa(e.type);return!!(n&&Qn({...e,type:n[1]}))}const Hb={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Wb({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Gb({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new vi({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new vi({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function qb(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(Hb);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}class vi extends q{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class Gb extends q{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class Wb extends q{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function Vb(e,t,n={}){const{as:r="Array",checksumAddress:s=!1}=n,o=typeof t=="string"?Yc(t):t,a=qb(o);if(Yt(o)===0&&e.length>0)throw new Kb;if(Yt(o)&&Yt(o)<32)throw new Zb({data:typeof t=="string"?t:Le(t),parameters:e,size:Yt(o)});let i=0;const c=r==="Array"?[]:{};for(let d=0;d<e.length;++d){const u=e[d];a.setPosition(i);const[l,f]=en(a,u,{checksumAddress:s,staticPosition:0});i+=f,r==="Array"?c.push(l):c[u.name??d]=l}return c}function ba(e,t,n){const{checksumAddress:r=!1}={};if(e.length!==t.length)throw new qu({expectedLength:e.length,givenLength:t.length});const s=Ob({checksumAddress:r,parameters:e,values:t}),o=ha(s);return o.length===0?"0x":o}function bo(e,t){if(e.length!==t.length)throw new qu({expectedLength:e.length,givenLength:t.length});const n=[];for(let r=0;r<e.length;r++){const s=e[r],o=t[r];n.push(bo.encode(s,o))}return ze(...n)}(function(e){function t(n,r,s=!1){if(n==="address"){const c=r;return as(c),Ut(c.toLowerCase(),s?32:0)}if(n==="string")return na(r);if(n==="bytes")return r;if(n==="bool")return Ut(Xc(r),s?32:1);const o=n.match(Uu);if(o){const[c,d,u="256"]=o,l=Number.parseInt(u,10)/8;return he(r,{size:s?32:l,signed:d==="int"})}const a=n.match(kb);if(a){const[c,d]=a;if(Number.parseInt(d,10)!==(r.length-2)/2)throw new Hu({expectedSize:Number.parseInt(d,10),value:r});return Dt(r,s?32:0)}const i=n.match(Nb);if(i&&Array.isArray(r)){const[c,d]=i,u=[];for(let l=0;l<r.length;l++)u.push(t(d,r[l],!0));return u.length===0?"0x":ze(...u)}throw new ma(n)}e.encode=t})(bo||(bo={}));function Du(e){return Array.isArray(e)&&typeof e[0]=="string"||typeof e=="string"?Ma(e):e}class Zb extends q{constructor({data:t,parameters:n,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Kt(n)})`,`Data: ${t} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class Kb extends q{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class Yb extends q{constructor({expectedLength:t,givenLength:n,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${t}\`. Given: \`${n}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class Hu extends q{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${Te(n)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class qu extends q{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${t}`,`Given length (values): ${n}`].join(`
55
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class Jb extends q{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class ma extends q{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ye=BigInt(0),pe=BigInt(1),$t=BigInt(2),Xb=BigInt(3),Gu=BigInt(4),Wu=BigInt(5),Vu=BigInt(8);function me(e,t){const n=e%t;return n>=ye?n:t+n}function Se(e,t,n){let r=e;for(;t-- >ye;)r*=r,r%=n;return r}function mo(e,t){if(e===ye)throw new Error("invert: expected non-zero number");if(t<=ye)throw new Error("invert: expected positive modulus, got "+t);let n=me(e,t),r=t,s=ye,o=pe;for(;n!==ye;){const i=r/n,c=r%n,d=s-o*i;r=n,n=c,s=o,o=d}if(r!==pe)throw new Error("invert: does not exist");return me(s,t)}function Zu(e,t){const n=(e.ORDER+pe)/Gu,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw new Error("Cannot find square root");return r}function Qb(e,t){const n=(e.ORDER-Wu)/Vu,r=e.mul(t,$t),s=e.pow(r,n),o=e.mul(t,s),a=e.mul(e.mul(o,$t),s),i=e.mul(o,e.sub(a,e.ONE));if(!e.eql(e.sqr(i),t))throw new Error("Cannot find square root");return i}function e1(e){if(e<BigInt(3))throw new Error("sqrt is not defined for small field");let t=e-pe,n=0;for(;t%$t===ye;)t/=$t,n++;let r=$t;const s=ya(e);for(;xi(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return Zu;let o=s.pow(r,t);const a=(t+pe)/$t;return function(c,d){if(c.is0(d))return d;if(xi(c,d)!==1)throw new Error("Cannot find square root");let u=n,l=c.mul(c.ONE,o),f=c.pow(d,t),b=c.pow(d,a);for(;!c.eql(f,c.ONE);){if(c.is0(f))return c.ZERO;let p=1,m=c.sqr(f);for(;!c.eql(m,c.ONE);)if(p++,m=c.sqr(m),p===u)throw new Error("Cannot find square root");const g=pe<<BigInt(u-p-1),y=c.pow(l,g);u=p,l=c.sqr(y),f=c.mul(f,l),b=c.mul(b,y)}return b}}function t1(e){return e%Gu===Xb?Zu:e%Vu===Wu?Qb:e1(e)}const n1=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function r1(e){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=n1.reduce((r,s)=>(r[s]="function",r),t);return Qr(e,n)}function s1(e,t,n){if(n<ye)throw new Error("invalid exponent, negatives unsupported");if(n===ye)return e.ONE;if(n===pe)return t;let r=e.ONE,s=t;for(;n>ye;)n&pe&&(r=e.mul(r,s)),s=e.sqr(s),n>>=pe;return r}function Ku(e,t,n=!1){const r=new Array(t.length).fill(n?e.ZERO:void 0),s=t.reduce((a,i,c)=>e.is0(i)?a:(r[c]=a,e.mul(a,i)),e.ONE),o=e.inv(s);return t.reduceRight((a,i,c)=>e.is0(i)?a:(r[c]=e.mul(a,r[c]),e.mul(a,i)),o),r}function xi(e,t){const n=(e.ORDER-pe)/$t,r=e.pow(t,n),s=e.eql(r,e.ONE),o=e.eql(r,e.ZERO),a=e.eql(r,e.neg(e.ONE));if(!s&&!o&&!a)throw new Error("invalid Legendre symbol result");return s?1:o?0:-1}function Yu(e,t){t!==void 0&&In(t);const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function ya(e,t,n=!1,r={}){if(e<=ye)throw new Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:s,nByteLength:o}=Yu(e,t);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a;const i=Object.freeze({ORDER:e,isLE:n,BITS:s,BYTES:o,MASK:Xr(s),ZERO:ye,ONE:pe,create:c=>me(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return ye<=c&&c<e},is0:c=>c===ye,isOdd:c=>(c&pe)===pe,neg:c=>me(-c,e),eql:(c,d)=>c===d,sqr:c=>me(c*c,e),add:(c,d)=>me(c+d,e),sub:(c,d)=>me(c-d,e),mul:(c,d)=>me(c*d,e),pow:(c,d)=>s1(i,c,d),div:(c,d)=>me(c*mo(d,e),e),sqrN:c=>c*c,addN:(c,d)=>c+d,subN:(c,d)=>c-d,mulN:(c,d)=>c*d,inv:c=>mo(c,e),sqrt:r.sqrt||(c=>(a||(a=t1(e)),a(i,c))),toBytes:c=>n?Gc(c,o):ur(c,o),fromBytes:c=>{if(c.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+c.length);return n?qc(c):jt(c)},invertBatch:c=>Ku(i,c),cmov:(c,d,u)=>u?d:c});return Object.freeze(i)}function Ju(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Xu(e){const t=Ju(e);return t+Math.ceil(t/2)}function o1(e,t,n=!1){const r=e.length,s=Ju(t),o=Xu(t);if(r<16||r<o||r>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+r);const a=n?qc(e):jt(e),i=me(a,t-pe)+pe;return n?Gc(i,s):ur(i,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ai=BigInt(0),yo=BigInt(1);function Ts(e,t){const n=t.negate();return e?n:t}function Qu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function $s(e,t){Qu(e,t);const n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,o=Xr(e),a=BigInt(e);return{windows:n,windowSize:r,mask:o,maxNumber:s,shiftBy:a}}function Pi(e,t,n){const{windowSize:r,mask:s,maxNumber:o,shiftBy:a}=n;let i=Number(e&s),c=e>>a;i>r&&(i-=o,c+=yo);const d=t*r,u=d+Math.abs(i)-1,l=i===0,f=i<0,b=t%2!==0;return{nextN:c,offset:u,isZero:l,isNeg:f,isNegF:b,offsetF:d}}function a1(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function i1(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}const Ss=new WeakMap,ed=new WeakMap;function Is(e){return ed.get(e)||1}function c1(e,t){return{constTimeNegate:Ts,hasPrecomputes(n){return Is(n)!==1},unsafeLadder(n,r,s=e.ZERO){let o=n;for(;r>Ai;)r&yo&&(s=s.add(o)),o=o.double(),r>>=yo;return s},precomputeWindow(n,r){const{windows:s,windowSize:o}=$s(r,t),a=[];let i=n,c=i;for(let d=0;d<s;d++){c=i,a.push(c);for(let u=1;u<o;u++)c=c.add(i),a.push(c);i=c.double()}return a},wNAF(n,r,s){let o=e.ZERO,a=e.BASE;const i=$s(n,t);for(let c=0;c<i.windows;c++){const{nextN:d,offset:u,isZero:l,isNeg:f,isNegF:b,offsetF:p}=Pi(s,c,i);s=d,l?a=a.add(Ts(b,r[p])):o=o.add(Ts(f,r[u]))}return{p:o,f:a}},wNAFUnsafe(n,r,s,o=e.ZERO){const a=$s(n,t);for(let i=0;i<a.windows&&s!==Ai;i++){const{nextN:c,offset:d,isZero:u,isNeg:l}=Pi(s,i,a);if(s=c,!u){const f=r[d];o=o.add(l?f.negate():f)}}return o},getPrecomputes(n,r,s){let o=Ss.get(r);return o||(o=this.precomputeWindow(r,n),n!==1&&Ss.set(r,s(o))),o},wNAFCached(n,r,s){const o=Is(n);return this.wNAF(o,this.getPrecomputes(o,n,s),r)},wNAFCachedUnsafe(n,r,s,o){const a=Is(n);return a===1?this.unsafeLadder(n,r,o):this.wNAFUnsafe(a,this.getPrecomputes(a,n,s),r,o)},setWindowSize(n,r){Qu(r,t),ed.set(n,r),Ss.delete(n)}}}function u1(e,t,n,r){a1(n,e),i1(r,t);const s=n.length,o=r.length;if(s!==o)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,i=wh(BigInt(s));let c=1;i>12?c=i-3:i>4?c=i-2:i>0&&(c=2);const d=Xr(c),u=new Array(Number(d)+1).fill(a),l=Math.floor((t.BITS-1)/c)*c;let f=a;for(let b=l;b>=0;b-=c){u.fill(a);for(let m=0;m<o;m++){const g=r[m],y=Number(g>>BigInt(b)&d);u[y]=u[y].add(n[m])}let p=a;for(let m=u.length-1,g=a;m>0;m--)g=g.add(u[m]),p=p.add(g);if(f=f.add(p),b!==0)for(let m=0;m<c;m++)f=f.double()}return f}function td(e){return r1(e.Fp),Qr(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Yu(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ei(e){e.lowS!==void 0&&Yn("lowS",e.lowS),e.prehash!==void 0&&Yn("prehash",e.prehash)}function d1(e){const t=td(e);Qr(t,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:n,Fp:r,a:s}=t;if(n){if(!r.eql(s,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...t})}class l1 extends Error{constructor(t=""){super(t)}}const et={Err:l1,_tlv:{encode:(e,t)=>{const{Err:n}=et;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");const r=t.length/2,s=mr(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");const o=r>127?mr(s.length/2|128):"";return mr(e)+o+s+t},decode(e,t){const{Err:n}=et;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const s=t[r++],o=!!(s&128);let a=0;if(!o)a=s;else{const c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const d=t.subarray(r,r+c);if(d.length!==c)throw new n("tlv.decode: length bytes not complete");if(d[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const u of d)a=a<<8|u;if(r+=c,a<128)throw new n("tlv.decode(long): not minimal encoding")}const i=t.subarray(r,r+a);if(i.length!==a)throw new n("tlv.decode: wrong value length");return{v:i,l:t.subarray(r+a)}}},_int:{encode(e){const{Err:t}=et;if(e<tt)throw new t("integer: negative integers are not allowed");let n=mr(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=et;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return jt(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=et,s=Ie("signature",e),{v:o,l:a}=r.decode(48,s);if(a.length)throw new t("invalid signature: left bytes after parsing");const{v:i,l:c}=r.decode(2,o),{v:d,l:u}=r.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(i),s:n.decode(d)}},hexFromSig(e){const{_tlv:t,_int:n}=et,r=t.encode(2,n.encode(e.r)),s=t.encode(2,n.encode(e.s)),o=r+s;return t.encode(48,o)}};function Bs(e,t){return Jn(ur(e,t))}const tt=BigInt(0),ie=BigInt(1);BigInt(2);const js=BigInt(3),f1=BigInt(4);function h1(e){const t=d1(e),{Fp:n}=t,r=ya(t.n,t.nBitLength),s=t.toBytes||((w,v,x)=>{const P=v.toAffine();return Mr(Uint8Array.from([4]),n.toBytes(P.x),n.toBytes(P.y))}),o=t.fromBytes||(w=>{const v=w.subarray(1),x=n.fromBytes(v.subarray(0,n.BYTES)),P=n.fromBytes(v.subarray(n.BYTES,2*n.BYTES));return{x,y:P}});function a(w){const{a:v,b:x}=t,P=n.sqr(w),A=n.mul(P,w);return n.add(n.add(A,n.mul(w,v)),x)}function i(w,v){const x=n.sqr(v),P=a(w);return n.eql(x,P)}if(!i(t.Gx,t.Gy))throw new Error("bad curve params: generator point");const c=n.mul(n.pow(t.a,js),f1),d=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,d)))throw new Error("bad curve params: a or b");function u(w){return ta(w,ie,t.n)}function l(w){const{allowedPrivateKeyLengths:v,nByteLength:x,wrapPrivateKey:P,n:A}=t;if(v&&typeof w!="bigint"){if(cr(w)&&(w=Jn(w)),typeof w!="string"||!v.includes(w.length))throw new Error("invalid private key");w=w.padStart(x*2,"0")}let N;try{N=typeof w=="bigint"?w:jt(Ie("private key",w,x))}catch{throw new Error("invalid private key, expected hex or "+x+" bytes, got "+typeof w)}return P&&(N=me(N,A)),Qt("private key",N,ie,A),N}function f(w){if(!(w instanceof m))throw new Error("ProjectivePoint expected")}const b=ii((w,v)=>{const{px:x,py:P,pz:A}=w;if(n.eql(A,n.ONE))return{x,y:P};const N=w.is0();v==null&&(v=N?n.ONE:n.inv(A));const T=n.mul(x,v),O=n.mul(P,v),$=n.mul(A,v);if(N)return{x:n.ZERO,y:n.ZERO};if(!n.eql($,n.ONE))throw new Error("invZ was invalid");return{x:T,y:O}}),p=ii(w=>{if(w.is0()){if(t.allowInfinityPoint&&!n.is0(w.py))return;throw new Error("bad point: ZERO")}const{x:v,y:x}=w.toAffine();if(!n.isValid(v)||!n.isValid(x))throw new Error("bad point: x or y not FE");if(!i(v,x))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class m{constructor(v,x,P){if(v==null||!n.isValid(v))throw new Error("x required");if(x==null||!n.isValid(x)||n.is0(x))throw new Error("y required");if(P==null||!n.isValid(P))throw new Error("z required");this.px=v,this.py=x,this.pz=P,Object.freeze(this)}static fromAffine(v){const{x,y:P}=v||{};if(!v||!n.isValid(x)||!n.isValid(P))throw new Error("invalid affine point");if(v instanceof m)throw new Error("projective point not allowed");const A=N=>n.eql(N,n.ZERO);return A(x)&&A(P)?m.ZERO:new m(x,P,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(v){const x=Ku(n,v.map(P=>P.pz));return v.map((P,A)=>P.toAffine(x[A])).map(m.fromAffine)}static fromHex(v){const x=m.fromAffine(o(Ie("pointHex",v)));return x.assertValidity(),x}static fromPrivateKey(v){return m.BASE.multiply(l(v))}static msm(v,x){return u1(m,r,v,x)}_setWindowSize(v){E.setWindowSize(this,v)}assertValidity(){p(this)}hasEvenY(){const{y:v}=this.toAffine();if(n.isOdd)return!n.isOdd(v);throw new Error("Field doesn't support isOdd")}equals(v){f(v);const{px:x,py:P,pz:A}=this,{px:N,py:T,pz:O}=v,$=n.eql(n.mul(x,O),n.mul(N,A)),M=n.eql(n.mul(P,O),n.mul(T,A));return $&&M}negate(){return new m(this.px,n.neg(this.py),this.pz)}double(){const{a:v,b:x}=t,P=n.mul(x,js),{px:A,py:N,pz:T}=this;let O=n.ZERO,$=n.ZERO,M=n.ZERO,j=n.mul(A,A),F=n.mul(N,N),C=n.mul(T,T),S=n.mul(A,N);return S=n.add(S,S),M=n.mul(A,T),M=n.add(M,M),O=n.mul(v,M),$=n.mul(P,C),$=n.add(O,$),O=n.sub(F,$),$=n.add(F,$),$=n.mul(O,$),O=n.mul(S,O),M=n.mul(P,M),C=n.mul(v,C),S=n.sub(j,C),S=n.mul(v,S),S=n.add(S,M),M=n.add(j,j),j=n.add(M,j),j=n.add(j,C),j=n.mul(j,S),$=n.add($,j),C=n.mul(N,T),C=n.add(C,C),j=n.mul(C,S),O=n.sub(O,j),M=n.mul(C,F),M=n.add(M,M),M=n.add(M,M),new m(O,$,M)}add(v){f(v);const{px:x,py:P,pz:A}=this,{px:N,py:T,pz:O}=v;let $=n.ZERO,M=n.ZERO,j=n.ZERO;const F=t.a,C=n.mul(t.b,js);let S=n.mul(x,N),k=n.mul(P,T),B=n.mul(A,O),R=n.add(x,P),z=n.add(N,T);R=n.mul(R,z),z=n.add(S,k),R=n.sub(R,z),z=n.add(x,A);let U=n.add(N,O);return z=n.mul(z,U),U=n.add(S,B),z=n.sub(z,U),U=n.add(P,A),$=n.add(T,O),U=n.mul(U,$),$=n.add(k,B),U=n.sub(U,$),j=n.mul(F,z),$=n.mul(C,B),j=n.add($,j),$=n.sub(k,j),j=n.add(k,j),M=n.mul($,j),k=n.add(S,S),k=n.add(k,S),B=n.mul(F,B),z=n.mul(C,z),k=n.add(k,B),B=n.sub(S,B),B=n.mul(F,B),z=n.add(z,B),S=n.mul(k,z),M=n.add(M,S),S=n.mul(U,z),$=n.mul(R,$),$=n.sub($,S),S=n.mul(R,k),j=n.mul(U,j),j=n.add(j,S),new m($,M,j)}subtract(v){return this.add(v.negate())}is0(){return this.equals(m.ZERO)}wNAF(v){return E.wNAFCached(this,v,m.normalizeZ)}multiplyUnsafe(v){const{endo:x,n:P}=t;Qt("scalar",v,tt,P);const A=m.ZERO;if(v===tt)return A;if(this.is0()||v===ie)return this;if(!x||E.hasPrecomputes(this))return E.wNAFCachedUnsafe(this,v,m.normalizeZ);let{k1neg:N,k1:T,k2neg:O,k2:$}=x.splitScalar(v),M=A,j=A,F=this;for(;T>tt||$>tt;)T&ie&&(M=M.add(F)),$&ie&&(j=j.add(F)),F=F.double(),T>>=ie,$>>=ie;return N&&(M=M.negate()),O&&(j=j.negate()),j=new m(n.mul(j.px,x.beta),j.py,j.pz),M.add(j)}multiply(v){const{endo:x,n:P}=t;Qt("scalar",v,ie,P);let A,N;if(x){const{k1neg:T,k1:O,k2neg:$,k2:M}=x.splitScalar(v);let{p:j,f:F}=this.wNAF(O),{p:C,f:S}=this.wNAF(M);j=E.constTimeNegate(T,j),C=E.constTimeNegate($,C),C=new m(n.mul(C.px,x.beta),C.py,C.pz),A=j.add(C),N=F.add(S)}else{const{p:T,f:O}=this.wNAF(v);A=T,N=O}return m.normalizeZ([A,N])[0]}multiplyAndAddUnsafe(v,x,P){const A=m.BASE,N=(O,$)=>$===tt||$===ie||!O.equals(A)?O.multiplyUnsafe($):O.multiply($),T=N(this,x).add(N(v,P));return T.is0()?void 0:T}toAffine(v){return b(this,v)}isTorsionFree(){const{h:v,isTorsionFree:x}=t;if(v===ie)return!0;if(x)return x(m,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:v,clearCofactor:x}=t;return v===ie?this:x?x(m,this):this.multiplyUnsafe(t.h)}toRawBytes(v=!0){return Yn("isCompressed",v),this.assertValidity(),s(m,this,v)}toHex(v=!0){return Yn("isCompressed",v),Jn(this.toRawBytes(v))}}m.BASE=new m(t.Gx,t.Gy,n.ONE),m.ZERO=new m(n.ZERO,n.ONE,n.ZERO);const{endo:g,nBitLength:y}=t,E=c1(m,g?Math.ceil(y/2):y);return{CURVE:t,ProjectivePoint:m,normPrivateKeyToScalar:l,weierstrassEquation:a,isWithinCurveOrder:u}}function p1(e){const t=td(e);return Qr(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function b1(e){const t=p1(e),{Fp:n,n:r,nByteLength:s,nBitLength:o}=t,a=n.BYTES+1,i=2*n.BYTES+1;function c(C){return me(C,r)}function d(C){return mo(C,r)}const{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:b}=h1({...t,toBytes(C,S,k){const B=S.toAffine(),R=n.toBytes(B.x),z=Mr;return Yn("isCompressed",k),k?z(Uint8Array.from([S.hasEvenY()?2:3]),R):z(Uint8Array.from([4]),R,n.toBytes(B.y))},fromBytes(C){const S=C.length,k=C[0],B=C.subarray(1);if(S===a&&(k===2||k===3)){const R=jt(B);if(!ta(R,ie,n.ORDER))throw new Error("Point is not on curve");const z=f(R);let U;try{U=n.sqrt(z)}catch(G){const Y=G instanceof Error?": "+G.message:"";throw new Error("Point is not on curve"+Y)}const V=(U&ie)===ie;return(k&1)===1!==V&&(U=n.neg(U)),{x:R,y:U}}else if(S===i&&k===4){const R=n.fromBytes(B.subarray(0,n.BYTES)),z=n.fromBytes(B.subarray(n.BYTES,2*n.BYTES));return{x:R,y:z}}else{const R=a,z=i;throw new Error("invalid Point, expected length of "+R+", or uncompressed "+z+", got "+S)}}});function p(C){const S=r>>ie;return C>S}function m(C){return p(C)?c(-C):C}const g=(C,S,k)=>jt(C.slice(S,k));class y{constructor(S,k,B){Qt("r",S,ie,r),Qt("s",k,ie,r),this.r=S,this.s=k,B!=null&&(this.recovery=B),Object.freeze(this)}static fromCompact(S){const k=s;return S=Ie("compactSignature",S,k*2),new y(g(S,0,k),g(S,k,2*k))}static fromDER(S){const{r:k,s:B}=et.toSig(Ie("DER",S));return new y(k,B)}assertValidity(){}addRecoveryBit(S){return new y(this.r,this.s,S)}recoverPublicKey(S){const{r:k,s:B,recovery:R}=this,z=A(Ie("msgHash",S));if(R==null||![0,1,2,3].includes(R))throw new Error("recovery id invalid");const U=R===2||R===3?k+t.n:k;if(U>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const V=(R&1)===0?"02":"03",W=u.fromHex(V+Bs(U,n.BYTES)),G=d(U),Y=c(-z*G),J=c(B*G),Q=u.BASE.multiplyAndAddUnsafe(W,Y,J);if(!Q)throw new Error("point at infinify");return Q.assertValidity(),Q}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Or(this.toDERHex())}toDERHex(){return et.hexFromSig(this)}toCompactRawBytes(){return Or(this.toCompactHex())}toCompactHex(){const S=s;return Bs(this.r,S)+Bs(this.s,S)}}const E={isValidPrivateKey(C){try{return l(C),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const C=Xu(t.n);return o1(t.randomBytes(C),t.n)},precompute(C=8,S=u.BASE){return S._setWindowSize(C),S.multiply(BigInt(3)),S}};function w(C,S=!0){return u.fromPrivateKey(C).toRawBytes(S)}function v(C){if(typeof C=="bigint")return!1;if(C instanceof u)return!0;const k=Ie("key",C).length,B=n.BYTES,R=B+1,z=2*B+1;if(!(t.allowedPrivateKeyLengths||s===R))return k===R||k===z}function x(C,S,k=!0){if(v(C)===!0)throw new Error("first arg must be private key");if(v(S)===!1)throw new Error("second arg must be public key");return u.fromHex(S).multiply(l(C)).toRawBytes(k)}const P=t.bits2int||function(C){if(C.length>8192)throw new Error("input is too large");const S=jt(C),k=C.length*8-o;return k>0?S>>BigInt(k):S},A=t.bits2int_modN||function(C){return c(P(C))},N=Xr(o);function T(C){return Qt("num < 2^"+o,C,tt,N),ur(C,s)}function O(C,S,k=$){if(["recovered","canonical"].some(ue=>ue in k))throw new Error("sign() legacy options not supported");const{hash:B,randomBytes:R}=t;let{lowS:z,prehash:U,extraEntropy:V}=k;z==null&&(z=!0),C=Ie("msgHash",C),Ei(k),U&&(C=Ie("prehashed msgHash",B(C)));const W=A(C),G=l(S),Y=[T(G),T(W)];if(V!=null&&V!==!1){const ue=V===!0?R(n.BYTES):V;Y.push(Ie("extraEntropy",ue))}const J=Mr(...Y),Q=W;function De(ue){const K=P(ue);if(!b(K))return;const Pe=d(K),je=u.BASE.multiply(K).toAffine(),X=c(je.x);if(X===tt)return;const $e=c(Pe*c(Q+X*G));if($e===tt)return;let be=(je.x===X?0:2)|Number(je.y&ie),He=$e;return z&&p($e)&&(He=m($e),be^=1),new y(X,He,be)}return{seed:J,k2sig:De}}const $={lowS:t.lowS,prehash:!1},M={lowS:t.lowS,prehash:!1};function j(C,S,k=$){const{seed:B,k2sig:R}=O(C,S,k),z=t;return vh(z.hash.outputLen,z.nByteLength,z.hmac)(B,R)}u.BASE._setWindowSize(8);function F(C,S,k,B=M){var be;const R=C;S=Ie("msgHash",S),k=Ie("publicKey",k);const{lowS:z,prehash:U,format:V}=B;if(Ei(B),"strict"in B)throw new Error("options.strict was renamed to lowS");if(V!==void 0&&V!=="compact"&&V!=="der")throw new Error("format must be compact or der");const W=typeof R=="string"||cr(R),G=!W&&!V&&typeof R=="object"&&R!==null&&typeof R.r=="bigint"&&typeof R.s=="bigint";if(!W&&!G)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let Y,J;try{if(G&&(Y=new y(R.r,R.s)),W){try{V!=="compact"&&(Y=y.fromDER(R))}catch(He){if(!(He instanceof et.Err))throw He}!Y&&V!=="der"&&(Y=y.fromCompact(R))}J=u.fromHex(k)}catch{return!1}if(!Y||z&&Y.hasHighS())return!1;U&&(S=t.hash(S));const{r:Q,s:De}=Y,ue=A(S),K=d(De),Pe=c(ue*K),je=c(Q*K),X=(be=u.BASE.multiplyAndAddUnsafe(J,Pe,je))==null?void 0:be.toAffine();return X?c(X.x)===Q:!1}return{CURVE:t,getPublicKey:w,getSharedSecret:x,sign:j,verify:F,ProjectivePoint:u,Signature:y,utils:E}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function m1(e){return{hash:e,hmac:(t,...n)=>zu(e,t,Mf(...n)),randomBytes:Ff}}function y1(e,t){const n=r=>b1({...e,...m1(r)});return{...n(t),create:n}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const nd=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Ci=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),g1=BigInt(0),w1=BigInt(1),go=BigInt(2),Ni=(e,t)=>(e+t/go)/t;function v1(e){const t=nd,n=BigInt(3),r=BigInt(6),s=BigInt(11),o=BigInt(22),a=BigInt(23),i=BigInt(44),c=BigInt(88),d=e*e*e%t,u=d*d*e%t,l=Se(u,n,t)*u%t,f=Se(l,n,t)*u%t,b=Se(f,go,t)*d%t,p=Se(b,s,t)*b%t,m=Se(p,o,t)*p%t,g=Se(m,i,t)*m%t,y=Se(g,c,t)*g%t,E=Se(y,i,t)*m%t,w=Se(E,n,t)*u%t,v=Se(w,a,t)*p%t,x=Se(v,r,t)*d%t,P=Se(x,go,t);if(!wo.eql(wo.sqr(P),e))throw new Error("Cannot find square root");return P}const wo=ya(nd,void 0,void 0,{sqrt:v1}),rd=y1({a:g1,b:BigInt(7),Fp:wo,n:Ci,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Ci,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-w1*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,a=BigInt("0x100000000000000000000000000000000"),i=Ni(o*e,t),c=Ni(-r*e,t);let d=me(e-i*n-c*s,t),u=me(-i*r-c*o,t);const l=d>a,f=u>a;if(l&&(d=t-d),f&&(u=t-u),d>a||u>a)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:d,k2neg:f,k2:u}}}},zc),x1=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:rd},Symbol.toStringTag,{value:"Module"}));function sd(e,t={}){const{recovered:n}=t;if(typeof e.r>"u")throw new Rs({signature:e});if(typeof e.s>"u")throw new Rs({signature:e});if(n&&typeof e.yParity>"u")throw new Rs({signature:e});if(e.r<0n||e.r>gi)throw new T1({value:e.r});if(e.s<0n||e.s>gi)throw new $1({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new wa({value:e.yParity})}function A1(e){return od(Le(e))}function od(e){if(e.length!==130&&e.length!==132)throw new k1({signature:e});const t=BigInt(We(e,0,32)),n=BigInt(We(e,32,64)),r=(()=>{const s=+`0x${e.slice(130)}`;if(!Number.isNaN(s))try{return ga(s)}catch{throw new wa({value:s})}})();return typeof r>"u"?{r:t,s:n}:{r:t,s:n,yParity:r}}function P1(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return E1(e)}function E1(e){const t=typeof e=="string"?od(e):e instanceof Uint8Array?A1(e):typeof e.r=="string"?N1(e):e.v?C1(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return sd(t),t}function C1(e){return{r:e.r,s:e.s,yParity:ga(e.v)}}function N1(e){const t=(()=>{const n=e.v?Number(e.v):void 0;let r=e.yParity?Number(e.yParity):void 0;if(typeof n=="number"&&typeof r!="number"&&(r=ga(n)),typeof r!="number")throw new wa({value:e.yParity});return r})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function ga(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return e%2===0?1:0;throw new S1({value:e})}class k1 extends q{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Te(Gh(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class Rs extends q{constructor({signature:t}){super(`Signature \`${Kc(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class T1 extends q{constructor({value:t}){super(`Value \`${t}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class $1 extends q{constructor({value:t}){super(`Value \`${t}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class wa extends q{constructor({value:t}){super(`Value \`${t}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class S1 extends q{constructor({value:t}){super(`Value \`${t}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function I1(e,t={}){return typeof e.chainId=="string"?B1(e):{...e,...t.signature}}function B1(e){const{address:t,chainId:n,nonce:r}=e,s=P1(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...s}}const j1="0x8010801080108010801080108010801080108010801080108010801080108010",R1=Du("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function ad(e){if(typeof e=="string"){if(We(e,-32)!==j1)throw new F1(e)}else sd(e.authorization)}function O1(e){ad(e);const t=eu(We(e,-64,-32)),n=We(e,-t-64,-64),r=We(e,0,-t-64),[s,o,a]=Vb(R1,n);return{authorization:I1({address:s.delegation,chainId:Number(s.chainId),nonce:s.nonce,yParity:s.yParity,r:s.r,s:s.s}),signature:r,...a&&a!=="0x"?{data:a,to:o}:{}}}function M1(e){try{return ad(e),!0}catch{return!1}}let F1=class extends q{constructor(t){super(`Value \`${t}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};class z1 extends I{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function L1(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new z1({value:e});let[n,r="0"]=e.split(".");const s=n.startsWith("-");if(s&&(n=n.slice(1)),r=r.replace(/(0+)$/,""),r.length>t){const[o,a,i]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],c=Math.round(+`${a}.${i}`);c>9?r=`${BigInt(o)+BigInt(1)}0`.padStart(o.length+1,"0"):r=`${o}${c}`,r.length>t&&(r=r.slice(1),n=`${BigInt(n)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,"0");return BigInt(`${s?"-":""}${n}${r}`)}function _1(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function U1(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?Fe(e.nonce):void 0,storageProof:e.storageProof?_1(e.storageProof):void 0}}async function D1(e,{address:t,blockHash:n,blockNumber:r,blockTag:s="latest",requireCanonical:o,storageKeys:a}){const i=Wt({blockHash:n,blockNumber:r,blockTag:s,requireCanonical:o}),c=await e.request({method:"eth_getProof",params:[t,a,i]});return U1(c)}async function H1(e,{address:t,blockHash:n,blockNumber:r,blockTag:s="latest",requireCanonical:o,slot:a}){const i=Wt({blockHash:n,blockNumber:r,blockTag:s,requireCanonical:o});return await e.request({method:"eth_getStorageAt",params:[t,a,i]})}async function va(e,{blockHash:t,blockNumber:n,blockTag:r,hash:s,index:o,sender:a,nonce:i}){var f,b,p;const c=r||"latest",d=n!==void 0?H(n):void 0;let u=null;if(s?u=await e.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):t?u=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,H(o)]},{dedupe:!0}):typeof o=="number"?u=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[d||c,H(o)]},{dedupe:!!d}):a&&typeof i=="number"&&(u=await e.request({method:"eth_getTransactionBySenderAndNonce",params:[a,H(i)]},{dedupe:!0})),!u)throw new Nc({blockHash:t,blockNumber:n,blockTag:c,hash:s,index:o});return(((p=(b=(f=e.chain)==null?void 0:f.formatters)==null?void 0:b.transaction)==null?void 0:p.format)||qo)(u,"getTransaction")}async function q1(e,{hash:t,transactionReceipt:n}){const[r,s]=await Promise.all([L(e,fr,"getBlockNumber")({}),t?L(e,va,"getTransaction")({hash:t}):void 0]),o=(n==null?void 0:n.blockNumber)||(s==null?void 0:s.blockNumber);return o?r-o+1n:0n}async function Nr(e,{hash:t}){var s,o,a;const n=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!n)throw new kc({hash:t});return(((a=(o=(s=e.chain)==null?void 0:s.formatters)==null?void 0:o.transactionReceipt)==null?void 0:a.format)||ia)(n,"getTransactionReceipt")}async function G1(e,t){var v;const{account:n,authorizationList:r,allowFailure:s=!0,blockHash:o,blockNumber:a,blockOverrides:i,blockTag:c,requireCanonical:d,stateOverride:u}=t,l=t.contracts,{batchSize:f=t.batchSize??1024,deployless:b=t.deployless??!1}=typeof((v=e.batch)==null?void 0:v.multicall)=="object"?e.batch.multicall:{},p=(()=>{if(t.multicallAddress)return t.multicallAddress;if(b)return null;if(e.chain)return gn({blockNumber:a,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),m=[[]];let g=0,y=0;for(let x=0;x<l.length;x++){const{abi:P,address:A,args:N,functionName:T}=l[x];try{const O=ve({abi:P,args:N,functionName:T});y+=(O.length-2)/2,f>0&&y>f&&m[g].length>0&&(g++,y=(O.length-2)/2,m[g]=[]),m[g]=[...m[g],{allowFailure:!0,callData:O,target:A}]}catch(O){const $=Lt(O,{abi:P,address:A,args:N,docsPath:"/docs/contract/multicall",functionName:T,sender:n});if(!s)throw $;m[g]=[...m[g],{allowFailure:!0,callData:"0x",target:A}]}}const E=await Promise.allSettled(m.map(x=>L(e,_e,"readContract")({...p===null?{code:ra}:{address:p},abi:dn,account:n,args:[x],authorizationList:r,blockHash:o,blockNumber:a,blockOverrides:i,blockTag:c,functionName:"aggregate3",requireCanonical:d,stateOverride:u}))),w=[];for(let x=0;x<E.length;x++){const P=E[x];if(P.status==="rejected"){if(!s)throw P.reason;for(let N=0;N<m[x].length;N++)w.push({status:"failure",error:P.reason,result:void 0});continue}const A=P.value;for(let N=0;N<A.length;N++){const{returnData:T,success:O}=A[N],{callData:$}=m[x][N],{abi:M,address:j,functionName:F,args:C}=l[w.length];try{if($==="0x")throw new er;if(!O)throw new Zr({data:T});const S=Pt({abi:M,args:C,data:T,functionName:F});w.push(s?{result:S,status:"success"}:S)}catch(S){const k=Lt(S,{abi:M,address:j,args:C,docsPath:"/docs/contract/multicall",functionName:F});if(!s)throw k;w.push({error:k,result:void 0,status:"failure"})}}}if(w.length!==l.length)throw new I("multicall results mismatch");return w}async function vo(e,t){const{blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",blocks:s,returnFullTransactions:o,traceTransfers:a,validation:i}=t;try{const c=[];for(const f of s){const b=f.blockOverrides?ru(f.blockOverrides):void 0,p=f.calls.map(g=>{const y=g,E=y.account?re(y.account):void 0,w=y.abi?ve(y):y.data,v={...y,account:E,data:y.dataSuffix?de([w||"0x",y.dataSuffix]):w,from:y.from??(E==null?void 0:E.address)};return lt(v),At(v)}),m=f.stateOverrides?Uo(f.stateOverrides):void 0;c.push({blockOverrides:b,calls:p,stateOverrides:m})}const u=(typeof n=="bigint"?H(n):void 0)||r;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:o,traceTransfers:a,validation:i},u]})).map((f,b)=>({...Rc(f),calls:f.calls.map((p,m)=>{var O,$;const{abi:g,args:y,functionName:E,to:w}=s[b].calls[m],v=((O=p.error)==null?void 0:O.data)??p.returnData,x=BigInt(p.gasUsed),P=($=p.logs)==null?void 0:$.map(M=>Ye(M)),A=p.status==="0x1"?"success":"failure",N=g&&A==="success"&&v!=="0x"?Pt({abi:g,data:v,functionName:E}):null,T=(()=>{if(A==="success")return;let M;if(v==="0x"?M=new er:v&&(M=new Zr({data:v})),!!M)return Lt(M,{abi:g??[],address:w??"0x",args:y,functionName:E??"<unknown>"})})();return{data:v,gasUsed:x,logs:P,status:A,...A==="success"?{result:N}:{error:T}}})}))}catch(c){const d=c,u=Yr(d,{});throw u instanceof ar?d:u}}function xo(e){let t=!0,n="",r=0,s="",o=!1;for(let a=0;a<e.length;a++){const i=e[a];if(["(",")",","].includes(i)&&(t=!0),i==="("&&r++,i===")"&&r--,!!t){if(r===0){if(i===" "&&["event","function","error",""].includes(s))s="";else if(s+=i,i===")"){o=!0;break}continue}if(i===" "){e[a-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}s+=i,n+=i}}if(!o)throw new q("Unable to normalize signature.");return s}function Ao(e,t){const n=typeof e,r=t.type;switch(r){case"address":return ho(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return r==="tuple"&&"components"in t?Object.values(t.components).every((s,o)=>Ao(Object.values(e)[o],s)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(e)&&e.every(s=>Ao(s,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function id(e,t,n){for(const r in e){const s=e[r],o=t[r];if(s.type==="tuple"&&o.type==="tuple"&&"components"in s&&"components"in o)return id(s.components,o.components,n[r]);const a=[s.type,o.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?ho(n[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?ho(n[r],{strict:!1}):!1)return a}}function cd(e,t={}){const{prepare:n=!0}=t,r=Array.isArray(e)||typeof e=="string"?Oa(e):e;return{...r,...n?{hash:Jt(r)}:{}}}function is(e,t,n){const{args:r=[],prepare:s=!0}=n??{},o=Wh(t,{strict:!1}),a=e.filter(d=>o?d.type==="function"||d.type==="error"?ud(d)===We(t,0,4):d.type==="event"?Jt(d)===t:!1:"name"in d&&d.name===t);if(a.length===0)throw new _r({name:t});if(a.length===1)return{...a[0],...s?{hash:Jt(a[0])}:{}};let i;for(const d of a){if(!("inputs"in d))continue;if(!r||r.length===0){if(!d.inputs||d.inputs.length===0)return{...d,...s?{hash:Jt(d)}:{}};continue}if(!d.inputs||d.inputs.length===0||d.inputs.length!==r.length)continue;if(r.every((l,f)=>{const b="inputs"in d&&d.inputs[f];return b?Ao(l,b):!1})){if(i&&"inputs"in i&&i.inputs){const l=id(d.inputs,i.inputs,r);if(l)throw new V1({abiItem:d,type:l[0]},{abiItem:i,type:l[1]})}i=d}}const c=(()=>{if(i)return i;const[d,...u]=a;return{...d,overloads:u}})();if(!c)throw new _r({name:t});return{...c,...s?{hash:Jt(c)}:{}}}function ud(...e){const t=(()=>{if(Array.isArray(e[0])){const[n,r]=e;return is(n,r)}return e[0]})();return We(Jt(t),0,4)}function W1(...e){const t=(()=>{if(Array.isArray(e[0])){const[r,s]=e;return is(r,s)}return e[0]})(),n=typeof t=="string"?t:$r(t);return xo(n)}function Jt(...e){const t=(()=>{if(Array.isArray(e[0])){const[n,r]=e;return is(n,r)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:Lu(na(W1(t)))}class V1 extends q{constructor(t,n){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${xo($r(t.abiItem))}\`, and`,`\`${n.type}\` in \`${xo($r(n.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class _r extends q{constructor({name:t,data:n,type:r="item"}){const s=t?` with name "${t}"`:n?` with data "${n}"`:"";super(`ABI ${r}${s} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function Z1(...e){var o;const[t,n]=(()=>{if(Array.isArray(e[0])){const[a,i]=e;return[Y1(a),i]}return e})(),{bytecode:r,args:s}=n;return ze(r,(o=t.inputs)!=null&&o.length&&(s!=null&&s.length)?ba(t.inputs,s):"0x")}function K1(e){return cd(e)}function Y1(e){const t=e.find(n=>n.type==="constructor");if(!t)throw new _r({name:"constructor"});return t}function J1(...e){const[t,n=[]]=(()=>{if(Array.isArray(e[0])){const[d,u,l]=e;return[ki(d,u,{args:l}),l]}const[i,c]=e;return[i,c]})(),{overloads:r}=t,s=r?ki([t,...r],t.name,{args:n}):t,o=X1(s),a=n.length>0?ba(s.inputs,n):void 0;return a?ze(o,a):o}function Zt(e,t={}){return cd(e,t)}function ki(e,t,n){const r=is(e,t,n);if(r.type!=="function")throw new _r({name:t,type:"function"});return r}function X1(e){return ud(e)}const Q1="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Re="0x0000000000000000000000000000000000000000",em="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function tm(e,t){const{blockNumber:n,blockTag:r,calls:s,stateOverrides:o,traceAssetChanges:a,traceTransfers:i,validation:c}=t,d=t.account?re(t.account):void 0;if(a&&!d)throw new I("`account` is required when `traceAssetChanges` is true");const u=d?Z1(K1("constructor(bytes, bytes)"),{bytecode:uu,args:[em,J1(Zt("function getBalance(address)"),[d.address])]}):void 0,l=a?await Promise.all(t.calls.map(async B=>{if(!B.data&&!B.abi)return;const{accessList:R}=await ku(e,{account:d.address,...B,data:B.abi?ve(B):B.data});return R.map(({address:z,storageKeys:U})=>U.length>0?z:null)})).then(B=>B.flat().filter(Boolean)):[],f=await vo(e,{blockNumber:n,blockTag:r,blocks:[...a?[{calls:[{data:u}],stateOverrides:o},{calls:l.map((B,R)=>({abi:[Zt("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[d.address],to:B,from:Re,nonce:R})),stateOverrides:[{address:Re,nonce:0}]}]:[],{calls:[...s,{to:Re}].map(B=>({...B,from:d==null?void 0:d.address})),stateOverrides:o},...a?[{calls:[{data:u}]},{calls:l.map((B,R)=>({abi:[Zt("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[d.address],to:B,from:Re,nonce:R})),stateOverrides:[{address:Re,nonce:0}]},{calls:l.map((B,R)=>({to:B,abi:[Zt("function decimals() returns (uint256)")],functionName:"decimals",from:Re,nonce:R})),stateOverrides:[{address:Re,nonce:0}]},{calls:l.map((B,R)=>({to:B,abi:[Zt("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Re,nonce:R})),stateOverrides:[{address:Re,nonce:0}]},{calls:l.map((B,R)=>({to:B,abi:[Zt("function symbol() returns (string)")],functionName:"symbol",from:Re,nonce:R})),stateOverrides:[{address:Re,nonce:0}]}]:[]],traceTransfers:i,validation:c}),b=a?f[2]:f[0],[p,m,,g,y,E,w,v]=a?f:[],{calls:x,...P}=b,A=x.slice(0,-1)??[],N=(p==null?void 0:p.calls)??[],T=(m==null?void 0:m.calls)??[],O=[...N,...T].map(B=>B.status==="success"?ke(B.data):null),$=(g==null?void 0:g.calls)??[],M=(y==null?void 0:y.calls)??[],j=[...$,...M].map(B=>B.status==="success"?ke(B.data):null),F=((E==null?void 0:E.calls)??[]).map(B=>B.status==="success"?B.result:null),C=((v==null?void 0:v.calls)??[]).map(B=>B.status==="success"?B.result:null),S=((w==null?void 0:w.calls)??[]).map(B=>B.status==="success"?B.result:null),k=[];for(const[B,R]of j.entries()){const z=O[B];if(typeof R!="bigint"||typeof z!="bigint")continue;const U=F[B-1],V=C[B-1],W=S[B-1],G=B===0?{address:Q1,decimals:18,symbol:"ETH"}:{address:l[B-1],decimals:W||U?Number(U??1):void 0,symbol:V??void 0};k.some(Y=>Y.token.address===G.address)||k.push({token:G,value:{pre:z,post:R,diff:R-z}})}return{assetChanges:k,block:P,results:A}}const dd="0x6492649264926492649264926492649264926492649264926492649264926492";function nm(e){if(We(e,-32)!==dd)throw new om(e)}function rm(e){const{data:t,signature:n,to:r}=e;return ze(ba(Du("address, bytes, bytes"),[r,t,n]),dd)}function sm(e){try{return nm(e),!0}catch{return!1}}class om extends q{constructor(t){super(`Value \`${t}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function am({r:e,s:t,to:n="hex",v:r,yParity:s}){const o=(()=>{if(s===0||s===1)return s;if(r&&(r===27n||r===28n||r>=35n))return r%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),a=`0x${new rd.Signature(ke(e),ke(t)).toCompactHex()}${o===0?"1b":"1c"}`;return n==="hex"?a:Ze(a)}async function cs(e,t){var d,u,l,f;const{address:n,chain:r=e.chain,hash:s,erc6492VerifierAddress:o=t.universalSignatureVerifierAddress??((u=(d=r==null?void 0:r.contracts)==null?void 0:d.erc6492Verifier)==null?void 0:u.address),multicallAddress:a=t.multicallAddress??((f=(l=r==null?void 0:r.contracts)==null?void 0:l.multicall3)==null?void 0:f.address),mode:i="auto"}=t;if(r!=null&&r.verifyHash)return await r.verifyHash(e,t);const c=(()=>{const b=t.signature;return Ve(b)?b:typeof b=="object"&&"r"in b&&"s"in b?am(b):ae(b)})();try{if(i==="eoa")try{if(_t(Mt(n),await Js({hash:s,signature:c})))return!0}catch{}return M1(c)?await im(e,{...t,multicallAddress:a,signature:c}):await cm(e,{...t,verifierAddress:o,signature:c})}catch(b){if(i!=="eoa")try{if(_t(Mt(n),await Js({hash:s,signature:c})))return!0}catch{}if(b instanceof Ht)return!1;throw b}}async function im(e,t){var g;const{address:n,blockNumber:r,blockTag:s,hash:o,multicallAddress:a}=t,{authorization:i,data:c,signature:d,to:u}=O1(t.signature);if(await Lr(e,{address:n,blockNumber:r,blockTag:s})===bn(["0xef0100",i.address]))return await um(e,{address:n,blockNumber:r,blockTag:s,hash:o,signature:d});const f={address:i.address,chainId:Number(i.chainId),nonce:Number(i.nonce),r:H(i.r,{size:32}),s:H(i.s,{size:32}),yParity:i.yParity};if(!await eb({address:n,authorization:f}))throw new Ht;const p=await L(e,_e,"readContract")({...a?{address:a}:{code:ra},authorizationList:[f],abi:dn,blockNumber:r,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:ve({abi:iu,functionName:"isValidSignature",args:[o,d]})}]]}),m=(g=p[p.length-1])==null?void 0:g.returnData;if(m!=null&&m.startsWith("0x1626ba7e"))return!0;throw new Ht}async function cm(e,t){const{address:n,factory:r,factoryData:s,hash:o,signature:a,verifierAddress:i,...c}=t,d=await(async()=>!r&&!s||sm(a)?a:rm({data:s,signature:a,to:r}))(),u=i?{to:i,data:ve({abi:fi,functionName:"isValidSig",args:[n,o,d]}),...c}:{data:ts({abi:fi,args:[n,o,d],bytecode:Qh}),...c},{data:l}=await L(e,lr,"call")(u).catch(f=>{throw f instanceof Tc?new Ht:f});if(yf(l??"0x0"))return!0;throw new Ht}async function um(e,t){const{address:n,blockNumber:r,blockTag:s,hash:o,signature:a}=t;if((await L(e,_e,"readContract")({address:n,abi:iu,args:[o,a],blockNumber:r,blockTag:s,functionName:"isValidSignature"}).catch(c=>{throw c instanceof $c?new Ht:c})).startsWith("0x1626ba7e"))return!0;throw new Ht}class Ht extends Error{}async function dm(e,{address:t,message:n,factory:r,factoryData:s,signature:o,...a}){const i=Su(n);return L(e,cs,"verifyHash")({address:t,factory:r,factoryData:s,hash:i,signature:o,...a})}async function lm(e,t){const{address:n,factory:r,factoryData:s,signature:o,message:a,primaryType:i,types:c,domain:d,...u}=t,l=yb({message:a,primaryType:i,types:c,domain:d});return L(e,cs,"verifyHash")({address:n,factory:r,factoryData:s,hash:l,signature:o,...u})}function ld(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:s,poll:o,pollingInterval:a=e.pollingInterval}){const i=typeof o<"u"?o:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc"));let c;return i?(()=>{const l=oe(["watchBlockNumber",e.uid,t,n,a]);return ct(l,{onBlockNumber:r,onError:s},f=>wn(async()=>{var b;try{const p=await L(e,fr,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(p===c)return;if(p-c>1&&n)for(let m=c+1n;m<p;m++)f.onBlockNumber(m,c),c=m}(c===void 0||p>c)&&(f.onBlockNumber(p,c),c=p)}catch(p){(b=f.onError)==null||b.call(f,p)}},{emitOnBegin:t,interval:a}))})():(()=>{const l=oe(["watchBlockNumber",e.uid,t,n]);return ct(l,{onBlockNumber:r,onError:s},f=>{let b=!0,p=()=>b=!1;return(async()=>{try{const m=(()=>{if(e.transport.type==="fallback"){const y=e.transport.transports.find(E=>E.config.type==="webSocket"||E.config.type==="ipc");return y?y.value:e.transport}return e.transport})(),{unsubscribe:g}=await m.subscribe({params:["newHeads"],onData(y){var w;if(!b)return;const E=ke((w=y.result)==null?void 0:w.number);f.onBlockNumber(E,c),c=E},onError(y){var E;(E=f.onError)==null||E.call(f,y)}});p=g,b||p()}catch(m){s==null||s(m)}})(),()=>p()})})()}async function fd(e,t){const{checkReplacement:n=!0,confirmations:r=1,hash:s,onReplaced:o,retryCount:a=6,retryDelay:i=({count:x})=>~~(1<<x)*200,timeout:c=18e4}=t,d=oe(["waitForTransactionReceipt",e.uid,s]),u=(()=>{var x;return t.pollingInterval?t.pollingInterval:(x=e.chain)!=null&&x.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval})();let l,f,b,p=!1,m,g;const{promise:y,resolve:E,reject:w}=sa(),v=c?setTimeout(()=>{g==null||g(),m==null||m(),w(new I0({hash:s}))},c):void 0;return m=ct(d,{onReplaced:o,resolve:E,reject:w},async x=>{if(b=await L(e,Nr,"getTransactionReceipt")({hash:s}).catch(()=>{}),b&&r<=1){clearTimeout(v),x.resolve(b),m==null||m();return}g=L(e,ld,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(P){const A=T=>{clearTimeout(v),g==null||g(),T(),m==null||m()};let N=P;if(!p)try{if(b){if(r>1&&(!b.blockNumber||N-b.blockNumber+1n<r))return;A(()=>x.resolve(b));return}if(n&&!l&&(p=!0,await zr(async()=>{l=await L(e,va,"getTransaction")({hash:s}),l.blockNumber&&(N=l.blockNumber)},{delay:i,retryCount:a}),p=!1),b=await L(e,Nr,"getTransactionReceipt")({hash:s}),r>1&&(!b.blockNumber||N-b.blockNumber+1n<r))return;A(()=>x.resolve(b))}catch(T){if(T instanceof Nc||T instanceof kc){if(!l){p=!1;return}try{f=l,p=!0;const O=await zr(()=>L(e,Oe,"getBlock")({blockNumber:N,includeTransactions:!0}),{delay:i,retryCount:a,shouldRetry:({error:j})=>j instanceof Ho});p=!1;const $=O.transactions.find(({from:j,nonce:F})=>j===f.from&&F===f.nonce);if(!$||(b=await L(e,Nr,"getTransactionReceipt")({hash:$.hash}),r>1&&(!b.blockNumber||N-b.blockNumber+1n<r)))return;let M="replaced";$.to===f.to&&$.value===f.value&&$.input===f.input?M="repriced":$.from===$.to&&$.value===0n&&(M="cancelled"),A(()=>{var j;(j=x.onReplaced)==null||j.call(x,{reason:M,replacedTransaction:f,transaction:$,transactionReceipt:b}),x.resolve(b)})}catch(O){A(()=>x.reject(O))}}else A(()=>x.reject(T))}}})}),y}function fm(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:n=!1,emitOnBegin:r=!1,onBlock:s,onError:o,includeTransactions:a,poll:i,pollingInterval:c=e.pollingInterval}){const d=typeof i<"u"?i:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),u=a??!1;let l;return d?(()=>{const p=oe(["watchBlocks",e.uid,t,n,r,u,c]);return ct(p,{onBlock:s,onError:o},m=>wn(async()=>{var g;try{const y=await L(e,Oe,"getBlock")({blockTag:t,includeTransactions:u});if(y.number!==null&&(l==null?void 0:l.number)!=null){if(y.number===l.number)return;if(y.number-l.number>1&&n)for(let E=(l==null?void 0:l.number)+1n;E<y.number;E++){const w=await L(e,Oe,"getBlock")({blockNumber:E,includeTransactions:u});m.onBlock(w,l),l=w}}((l==null?void 0:l.number)==null||t==="pending"&&(y==null?void 0:y.number)==null||y.number!==null&&y.number>l.number)&&(m.onBlock(y,l),l=y)}catch(y){(g=m.onError)==null||g.call(m,y)}},{emitOnBegin:r,interval:c}))})():(()=>{let p=!0,m=!0,g=()=>p=!1;return(async()=>{try{r&&L(e,Oe,"getBlock")({blockTag:t,includeTransactions:u}).then(w=>{p&&m&&(s(w,void 0),m=!1)}).catch(o);const y=(()=>{if(e.transport.type==="fallback"){const w=e.transport.transports.find(v=>v.config.type==="webSocket"||v.config.type==="ipc");return w?w.value:e.transport}return e.transport})(),{unsubscribe:E}=await y.subscribe({params:["newHeads"],async onData(w){var x;if(!p)return;const v=await L(e,Oe,"getBlock")({blockNumber:(x=w.result)==null?void 0:x.number,includeTransactions:u}).catch(()=>{});p&&(s(v,l),m=!1,l=v)},onError(w){o==null||o(w)}});g=E,p||g()}catch(y){o==null||o(y)}})(),()=>g()})()}function hm(e,{address:t,args:n,batch:r=!0,event:s,events:o,fromBlock:a,onError:i,onLogs:c,poll:d,pollingInterval:u=e.pollingInterval,strict:l}){const f=typeof d<"u"?d:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),b=l??!1;return f?(()=>{const g=oe(["watchEvent",t,n,r,e.uid,s,u,a]);return ct(g,{onLogs:c,onError:i},y=>{let E;a!==void 0&&(E=a-1n);let w,v=!1;const x=wn(async()=>{var P;if(!v){try{w=await L(e,Tu,"createEventFilter")({address:t,args:n,event:s,events:o,strict:b,fromBlock:a})}catch{}v=!0;return}try{let A;if(w)A=await L(e,ns,"getFilterChanges")({filter:w});else{const N=await L(e,fr,"getBlockNumber")({});E&&E!==N?A=await L(e,Xo,"getLogs")({address:t,args:n,event:s,events:o,fromBlock:E+1n,toBlock:N}):A=[],E=N}if(A.length===0)return;if(r)y.onLogs(A);else for(const N of A)y.onLogs([N])}catch(A){w&&A instanceof vt&&(v=!1),(P=y.onError)==null||P.call(y,A)}},{emitOnBegin:!0,interval:u});return async()=>{w&&await L(e,rs,"uninstallFilter")({filter:w}),x()}})})():(()=>{let g=!0,y=()=>g=!1;return(async()=>{try{const E=(()=>{if(e.transport.type==="fallback"){const P=e.transport.transports.find(A=>A.config.type==="webSocket"||A.config.type==="ipc");return P?P.value:e.transport}return e.transport})(),w=o??(s?[s]:void 0);let v=[];w&&(v=[w.flatMap(A=>rr({abi:[A],eventName:A.name,args:n}))],s&&(v=v[0]));const{unsubscribe:x}=await E.subscribe({params:["logs",{address:t,topics:v}],onData(P){var N;if(!g)return;const A=P.result;try{const{eventName:T,args:O}=Rr({abi:w??[],data:A.data,topics:A.topics,strict:b}),$=Ye(A,{args:O,eventName:T});c([$])}catch(T){let O,$;if(T instanceof Sr||T instanceof $o){if(l)return;O=T.abiItem.name,$=(N=T.abiItem.inputs)==null?void 0:N.some(j=>!("name"in j&&j.name))}const M=Ye(A,{args:$?[]:{},eventName:O});c([M])}},onError(P){i==null||i(P)}});y=x,g||y()}catch(E){i==null||i(E)}})(),()=>y()})()}function pm(e,{batch:t=!0,onError:n,onTransactions:r,poll:s,pollingInterval:o=e.pollingInterval}){return(typeof s<"u"?s:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{const d=oe(["watchPendingTransactions",e.uid,t,o]);return ct(d,{onTransactions:r,onError:n},u=>{let l;const f=wn(async()=>{var b;try{if(!l)try{l=await L(e,$u,"createPendingTransactionFilter")({});return}catch(m){throw f(),m}const p=await L(e,ns,"getFilterChanges")({filter:l});if(p.length===0)return;if(t)u.onTransactions(p);else for(const m of p)u.onTransactions([m])}catch(p){(b=u.onError)==null||b.call(u,p)}},{emitOnBegin:!0,interval:o});return async()=>{l&&await L(e,rs,"uninstallFilter")({filter:l}),f()}})})():(()=>{let d=!0,u=()=>d=!1;return(async()=>{try{const{unsubscribe:l}=await e.transport.subscribe({params:["newPendingTransactions"],onData(f){if(!d)return;const b=f.result;r([b])},onError(f){n==null||n(f)}});u=l,d||u()}catch(l){n==null||n(l)}})(),()=>u()})()}function bm(e){var l,f,b;const{scheme:t,statement:n,...r}=((l=e.match(mm))==null?void 0:l.groups)??{},{chainId:s,expirationTime:o,issuedAt:a,notBefore:i,requestId:c,...d}=((f=e.match(ym))==null?void 0:f.groups)??{},u=(b=e.split("Resources:")[1])==null?void 0:b.split(`
56
+ - `).slice(1);return{...r,...d,...s?{chainId:Number(s)}:{},...o?{expirationTime:new Date(o)}:{},...a?{issuedAt:new Date(a)}:{},...i?{notBefore:new Date(i)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}const mm=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,ym=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function gm(e){const{address:t,domain:n,message:r,nonce:s,scheme:o,time:a=new Date}=e;if(n&&r.domain!==n||s&&r.nonce!==s||o&&r.scheme!==o||r.expirationTime&&a>=r.expirationTime||r.notBefore&&a<r.notBefore)return!1;try{if(!r.address||!Be(r.address,{strict:!1})||t&&!_t(r.address,t))return!1}catch{return!1}return!0}async function wm(e,t){const{address:n,domain:r,message:s,nonce:o,scheme:a,signature:i,time:c=new Date,...d}=t,u=bm(s);if(!u.address||!gm({address:n,domain:r,message:u,nonce:o,scheme:a,time:c}))return!1;const f=Su(s);return cs(e,{address:u.address,hash:f,signature:i,...d})}async function xa(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){var i,c,d;const s=await e.request({method:"eth_sendRawTransactionSync",params:r?[t,r]:[t]},{retryCount:0}),a=(((d=(c=(i=e.chain)==null?void 0:i.formatters)==null?void 0:c.transactionReceipt)==null?void 0:d.format)||ia)(s);if(a.status==="reverted"&&n)throw new Ys({receipt:a});return a}function vm(e){return{call:t=>lr(e,t),createAccessList:t=>ku(e,t),createBlockFilter:()=>Dp(e),createContractEventFilter:t=>Ac(e,t),createEventFilter:t=>Tu(e,t),createPendingTransactionFilter:()=>$u(e),estimateContractGas:t=>bh(e,t),estimateGas:t=>Yo(e,t),getBalance:t=>Hp(e,t),getBlobBaseFee:()=>qp(e),getBlock:t=>Oe(e,t),getBlockNumber:t=>fr(e,t),getBlockReceipts:t=>Gp(e,t),getBlockTransactionCount:t=>Wp(e,t),getBytecode:t=>Lr(e,t),getChainId:()=>Ke(e),getCode:t=>Lr(e,t),getContractEvents:t=>Uc(e,t),getDelegation:t=>Vp(e,t),getEip712Domain:t=>Kp(e,t),getEnsAddress:t=>Cp(e,t),getEnsAvatar:t=>Lp(e,t),getEnsName:t=>_p(e,t),getEnsResolver:t=>Up(e,t),getEnsText:t=>Nu(e,t),getFeeHistory:t=>Xp(e,t),estimateFeesPerGas:t=>Q0(e,t),getFilterChanges:t=>ns(e,t),getFilterLogs:t=>Qp(e,t),getGasPrice:()=>Go(e),getLogs:t=>Xo(e,t),getProof:t=>D1(e,t),estimateMaxPriorityFeePerGas:t=>X0(e,t),fillTransaction:t=>Zo(e,t),getStorageAt:t=>H1(e,t),getTransaction:t=>va(e,t),getTransactionConfirmations:t=>q1(e,t),getTransactionCount:t=>Wo(e,t),getTransactionReceipt:t=>Nr(e,t),multicall:t=>G1(e,t),prepareTransactionRequest:t=>ir(e,t),readContract:t=>_e(e,t),sendRawTransaction:t=>aa(e,t),sendRawTransactionSync:t=>xa(e,t),simulate:t=>vo(e,t),simulateBlocks:t=>vo(e,t),simulateCalls:t=>tm(e,t),simulateContract:t=>up(e,t),verifyHash:t=>cs(e,t),verifyMessage:t=>dm(e,t),verifySiweMessage:t=>wm(e,t),verifyTypedData:t=>lm(e,t),uninstallFilter:t=>rs(e,t),waitForTransactionReceipt:t=>fd(e,t),watchBlocks:t=>fm(e,t),watchBlockNumber:t=>ld(e,t),watchContractEvent:t=>mp(e,t),watchEvent:t=>hm(e,t),watchPendingTransactions:t=>pm(e,t)}}function xm(e){const{key:t="public",name:n="Public Client"}=e;return Au({...e,key:t,name:n,type:"publicClient"}).extend(vm)}async function Am(e,{chain:t}){const{id:n,name:r,nativeCurrency:s,rpcUrls:o,blockExplorers:a}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:H(n),chainName:r,nativeCurrency:s,rpcUrls:o.default.http,blockExplorerUrls:a?Object.values(a).map(({url:i})=>i):void 0}]},{dedupe:!0,retryCount:0})}function Pm(e,t){const{abi:n,args:r,bytecode:s,...o}=t,a=ts({abi:n,args:r,bytecode:s});return ss(e,{...o,...o.authorizationList?{to:null}:{},data:a})}async function Em(e){var n;return((n=e.account)==null?void 0:n.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>tr(r))}async function Cm(e,t={}){const{account:n=e.account,chainId:r}=t,s=n?re(n):void 0,o=r?[s==null?void 0:s.address,[H(r)]]:[s==null?void 0:s.address],a=await e.request({method:"wallet_getCapabilities",params:o}),i={};for(const[c,d]of Object.entries(a)){i[Number(c)]={};for(let[u,l]of Object.entries(d))u==="addSubAccount"&&(u="unstable_addSubAccount"),i[Number(c)][u]=l}return typeof r=="number"?i[r]:i}async function Nm(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function hd(e,t){var c;const{account:n=e.account,chainId:r,nonce:s}=t;if(!n)throw new Et({docsPath:"/docs/eip7702/prepareAuthorization"});const o=re(n),a=(()=>{if(t.executor)return t.executor==="self"?t.executor:re(t.executor)})(),i={address:t.contractAddress??t.address,chainId:r,nonce:s};return typeof i.chainId>"u"&&(i.chainId=((c=e.chain)==null?void 0:c.id)??await L(e,Ke,"getChainId")({})),typeof i.nonce>"u"&&(i.nonce=await L(e,Wo,"getTransactionCount")({address:o.address,blockTag:"pending"}),(a==="self"||a!=null&&a.address&&_t(a.address,o.address))&&(i.nonce+=1)),i}async function km(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(n=>Mt(n))}async function Tm(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function $m(e,t){const{chain:n=e.chain}=t,r=t.timeout??Math.max(((n==null?void 0:n.blockTime)??0)*3,5e3),s=await L(e,gu,"sendCalls")(t);return await L(e,vu,"waitForCallsStatus")({...t,id:s.id,timeout:r})}const Os=new pn(128);async function pd(e,t){var N,T,O,$,M,j;const{account:n=e.account,assertChainId:r=!0,chain:s=e.chain,accessList:o,authorizationList:a,blobs:i,data:c,dataSuffix:d=typeof e.dataSuffix=="string"?e.dataSuffix:(N=e.dataSuffix)==null?void 0:N.value,gas:u,gasPrice:l,maxFeePerBlobGas:f,maxFeePerGas:b,maxPriorityFeePerGas:p,nonce:m,pollingInterval:g,throwOnReceiptRevert:y,type:E,value:w,...v}=t,x=t.timeout??Math.max(((s==null?void 0:s.blockTime)??0)*3,5e3);if(typeof n>"u")throw new Et({docsPath:"/docs/actions/wallet/sendTransactionSync"});const P=n?re(n):null;let A;try{lt(t);const F=await(async()=>{if(t.to)return t.to;if(t.to!==null&&a&&a.length>0)return await Kr({authorization:a[0]}).catch(()=>{throw new I("`to` is required. Could not infer from `authorizationList`.")})})();if((P==null?void 0:P.type)==="json-rpc"||P===null){let C;s!==null&&(C=await L(e,Ke,"getChainId")({}),r&&oa({currentChainId:C,chain:s}));const S=($=(O=(T=e.chain)==null?void 0:T.formatters)==null?void 0:O.transactionRequest)==null?void 0:$.format,B=(S||At)({...yn(v,{format:S}),accessList:o,account:P,authorizationList:a,blobs:i,chainId:C,data:d?de([c??"0x",d]):c,gas:u,gasPrice:l,maxFeePerBlobGas:f,maxFeePerGas:b,maxPriorityFeePerGas:p,nonce:m,to:F,type:E,value:w},"sendTransaction"),R=Os.get(e.uid),z=R?"wallet_sendTransaction":"eth_sendTransaction",U=await(async()=>{try{return await e.request({method:z,params:[B]},{retryCount:0})}catch(W){if(R===!1)throw W;const G=W;if(G.name==="InvalidInputRpcError"||G.name==="InvalidParamsRpcError"||G.name==="MethodNotFoundRpcError"||G.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[B]},{retryCount:0}).then(Y=>(Os.set(e.uid,!0),Y)).catch(Y=>{const J=Y;throw J.name==="MethodNotFoundRpcError"||J.name==="MethodNotSupportedRpcError"?(Os.set(e.uid,!1),G):J});throw G}})(),V=await L(e,fd,"waitForTransactionReceipt")({checkReplacement:!1,hash:U,pollingInterval:g,timeout:x});if(y&&V.status==="reverted")throw new Ys({receipt:V});return V}if((P==null?void 0:P.type)==="local"){if(P.nonceManager&&typeof m>"u"){const B=v.chainId,R=await(async()=>typeof B=="number"?B:s?s.id:L(e,Ke,"getChainId")({}))();A={address:P.address,chainId:R}}const C=await L(e,ir,"prepareTransactionRequest")({account:P,accessList:o,authorizationList:a,blobs:i,chain:s,data:d?de([c??"0x",d]):c,gas:u,gasPrice:l,maxFeePerBlobGas:f,maxFeePerGas:b,maxPriorityFeePerGas:p,nonce:m,nonceManager:P.nonceManager,parameters:[...Ko,"sidecars"],type:E,value:w,...v,to:F}),S=(M=s==null?void 0:s.serializers)==null?void 0:M.transaction,k=await P.signTransaction(C,{serializer:S});return await L(e,xa,"sendRawTransactionSync")({serializedTransaction:k,throwOnReceiptRevert:y,timeout:t.timeout})}throw(P==null?void 0:P.type)==="smart"?new Rt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Rt({docsPath:"/docs/actions/wallet/sendTransactionSync",type:P==null?void 0:P.type})}catch(F){throw F instanceof Rt?F:(A&&!(F instanceof Ys)&&((j=P==null?void 0:P.nonceManager)==null||j.reset(A)),Jr(F,{...t,account:P,chain:t.chain||void 0}))}}async function Sm(e,t){const{id:n}=t;await e.request({method:"wallet_showCallsStatus",params:[n]})}async function Im(e,t){const{account:n=e.account}=t;if(!n)throw new Et({docsPath:"/docs/eip7702/signAuthorization"});const r=re(n);if(!r.signAuthorization)throw new Rt({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:r.type});const s=await hd(e,t);return r.signAuthorization(s)}async function Bm(e,{account:t=e.account,message:n}){if(!t)throw new Et({docsPath:"/docs/actions/wallet/signMessage"});const r=re(t);if(r.signMessage)return r.signMessage({message:n});const s=typeof n=="string"?Sn(n):n.raw instanceof Uint8Array?it(n.raw):n.raw;return e.request({method:"personal_sign",params:[s,r.address]},{retryCount:0})}async function jm(e,t){var d,u,l,f;const{account:n=e.account,chain:r=e.chain,...s}=t;if(!n)throw new Et({docsPath:"/docs/actions/wallet/signTransaction"});const o=re(n);lt({account:o,...t});const a=await L(e,Ke,"getChainId")({});r!==null&&oa({currentChainId:a,chain:r});const i=(r==null?void 0:r.formatters)||((d=e.chain)==null?void 0:d.formatters),c=((u=i==null?void 0:i.transactionRequest)==null?void 0:u.format)||At;return o.signTransaction?o.signTransaction({...s,account:o,chainId:a},{serializer:(f=(l=e.chain)==null?void 0:l.serializers)==null?void 0:f.transaction}):await e.request({method:"eth_signTransaction",params:[{...c({...s,account:o},"signTransaction"),chainId:H(a),from:o.address}]},{retryCount:0})}async function Rm(e,t){const{account:n=e.account,domain:r,message:s,primaryType:o}=t;if(!n)throw new Et({docsPath:"/docs/actions/wallet/signTypedData"});const a=re(n),i={EIP712Domain:Bu({domain:r}),...t.types};if(Iu({domain:r,message:s,primaryType:o,types:i}),a.signTypedData)return a.signTypedData({domain:r,message:s,primaryType:o,types:i});const c=bb({domain:r,message:s,primaryType:o,types:i});return e.request({method:"eth_signTypedData_v4",params:[a.address,c]},{retryCount:0})}async function Om(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:H(t)}]},{retryCount:0})}async function Mm(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function Fm(e,t){return Xn.internal(e,pd,"sendTransactionSync",t)}function zm(e){return{addChain:t=>Am(e,t),deployContract:t=>Pm(e,t),fillTransaction:t=>Zo(e,t),getAddresses:()=>Em(e),getCallsStatus:t=>wu(e,t),getCapabilities:t=>Cm(e,t),getChainId:()=>Ke(e),getPermissions:()=>Nm(e),prepareAuthorization:t=>hd(e,t),prepareTransactionRequest:t=>ir(e,t),requestAddresses:()=>km(e),requestPermissions:t=>Tm(e,t),sendCalls:t=>gu(e,t),sendCallsSync:t=>$m(e,t),sendRawTransaction:t=>aa(e,t),sendRawTransactionSync:t=>xa(e,t),sendTransaction:t=>ss(e,t),sendTransactionSync:t=>pd(e,t),showCallsStatus:t=>Sm(e,t),signAuthorization:t=>Im(e,t),signMessage:t=>Bm(e,t),signTransaction:t=>jm(e,t),signTypedData:t=>Rm(e,t),switchChain:t=>Om(e,t),waitForCallsStatus:t=>vu(e,t),watchAsset:t=>Mm(e,t),writeContract:t=>Xn(e,t),writeContractSync:t=>Fm(e,t)}}function Lm(e){const{key:t="wallet",name:n="Wallet Client",transport:r}=e;return Au({...e,key:t,name:n,transport:r,type:"walletClient"}).extend(zm)}function Aa({key:e,methods:t,name:n,request:r,retryCount:s=3,retryDelay:o=150,timeout:a,type:i},c){const d=xu();return{config:{key:e,methods:t,name:n,request:r,retryCount:s,retryDelay:o,timeout:a,type:i},request:nb(r,{methods:t,retryCount:s,retryDelay:o,uid:d}),value:c}}function _m(e,t={}){const{key:n="custom",methods:r,name:s="Custom Provider",retryDelay:o}=t;return({retryCount:a})=>Aa({key:n,methods:r,name:s,request:e.request.bind(e),retryCount:t.retryCount??a,retryDelay:o,type:"custom"})}function Um(e,t={}){const{key:n="fallback",name:r="Fallback",rank:s=!1,shouldThrow:o=Dm,retryCount:a,retryDelay:i}=t;return(({chain:c,pollingInterval:d=4e3,timeout:u,...l})=>{let f=e,b=()=>{};const p=Aa({key:n,name:r,async request({method:m,params:g}){let y;const E=async(w=0)=>{const v=f[w]({...l,chain:c,retryCount:0,timeout:u});try{const x=await v.request({method:m,params:g});return b({method:m,params:g,response:x,transport:v,status:"success"}),x}catch(x){if(b({error:x,method:m,params:g,transport:v,status:"error"}),o(x)||w===f.length-1||(y??(y=f.slice(w+1).some(P=>{const{include:A,exclude:N}=P({chain:c}).config.methods||{};return A?A.includes(m):N?!N.includes(m):!0})),!y))throw x;return E(w+1)}};return E()},retryCount:a,retryDelay:i,type:"fallback"},{onResponse:m=>b=m,transports:f.map(m=>m({chain:c,retryCount:0}))});if(s){const m=typeof s=="object"?s:{};Hm({chain:c,interval:m.interval??d,onTransports:g=>f=g,ping:m.ping,sampleCount:m.sampleCount,timeout:m.timeout,transports:f,weights:m.weights})}return p})}function Dm(e){return!!("code"in e&&typeof e.code=="number"&&(e.code===sn.code||e.code===yt.code||e.code===un.code||Tt.nodeMessage.test(e.message)||e.code===5e3))}function Hm({chain:e,interval:t=4e3,onTransports:n,ping:r,sampleCount:s=10,timeout:o=1e3,transports:a,weights:i={}}){const{stability:c=.7,latency:d=.3}=i,u=[],l=async()=>{const f=await Promise.all(a.map(async m=>{const g=m({chain:e,retryCount:0,timeout:o}),y=Date.now();let E,w;try{await(r?r({transport:g}):g.request({method:"net_listening"})),w=1}catch{w=0}finally{E=Date.now()}return{latency:E-y,success:w}}));u.push(f),u.length>s&&u.shift();const b=Math.max(...u.map(m=>Math.max(...m.map(({latency:g})=>g)))),p=a.map((m,g)=>{const y=u.map(P=>P[g].latency),w=1-y.reduce((P,A)=>P+A,0)/y.length/b,v=u.map(P=>P[g].success),x=v.reduce((P,A)=>P+A,0)/v.length;return x===0?[0,g]:[d*w+c*x,g]}).sort((m,g)=>g[0]-m[0]);n(p.map(([,m])=>a[m])),await Fr(t),l()};l()}class qm extends I{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}let Gm=0;const Ti=new WeakMap;function Wm(e){if(!e)return"default";const t=Ti.get(e);if(t!==void 0)return t;const n=Gm++;return Ti.set(e,n),n}function Vm(e,t={}){const{batch:n,fetchFn:r,fetchOptions:s,key:o="http",methods:a,name:i="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:d,retryDelay:u,raw:l}=t;return({chain:f,retryCount:b,timeout:p})=>{const{batchSize:m=1e3,wait:g=0}=typeof n=="object"?n:{},y=t.retryCount??b,E=p??t.timeout??1e4,w=e||(f==null?void 0:f.rpcUrls.default.http[0]);if(!w)throw new qm;const v=cb(w,{fetchFn:r,fetchOptions:s,onRequest:c,onResponse:d,timeout:E});return Aa({key:o,methods:a,name:i,async request({method:x,params:P},A){const N={method:x,params:P},T=A!=null&&A.signal?{signal:A.signal}:void 0,{schedule:O}=fu({id:`${w}.${Wm(A==null?void 0:A.signal)}`,wait:g,shouldSplitBatch(F){return F.length>m},fn:F=>v.request({body:F,fetchOptions:T}),sort:(F,C)=>F.id-C.id}),$=async F=>n?O(F):[await v.request({body:F,fetchOptions:T})],[{error:M,result:j}]=await $(N);if(l)return{error:M,result:j};if(M)throw new _o({body:N,error:M,url:w});return j},retryCount:y,retryDelay:u,timeout:E,type:"http"},{fetchOptions:s,url:w})}}function bd(e,t){const n=Co(e),r=Md(e);return ob({id:n,name:`chain-${n}`,nativeCurrency:{name:r,symbol:r,decimals:18},rpcUrls:{default:{http:t}}})}const $i=new Map;function Zm(e,t){return`${Co(e)}:${t.join("|")}`}function Km(e){var t;if(e.startsWith("/")&&!e.startsWith("//"))return!0;if(typeof window>"u"||!((t=window.location)!=null&&t.origin))return!1;try{return new URL(e,window.location.href).origin===window.location.origin}catch{return!1}}function Ym(e){if(!Km(e))return;const t=Fd();return Object.keys(t).length?{headers:t}:void 0}function Jm(e,t){const n=Zm(e,t),r=$i.get(n);if(r)return r;const s=bd(e,t),o=t.length>1,a=Um(t.map(c=>{const d=Ym(c);return Vm(c,{batch:{batchSize:20,wait:16},timeout:8e3,retryCount:o?0:2,retryDelay:200,...d?{fetchOptions:d}:{}})}),{retryCount:1,retryDelay:250}),i=xm({chain:s,transport:a});return $i.set(n,i),i}function Xm(e,t){return Lm({chain:e,transport:_m(t)})}const Qm=[{type:"function",name:"createAccount",stateMutability:"nonpayable",inputs:[{name:"committedTRAC",type:"uint96"},{name:"primaryNode",type:"uint72"}],outputs:[{name:"accountId",type:"uint256"}]},{type:"function",name:"topUp",stateMutability:"nonpayable",inputs:[{name:"accountId",type:"uint256"},{name:"amount",type:"uint96"}],outputs:[]},{type:"function",name:"registerAgent",stateMutability:"nonpayable",inputs:[{name:"accountId",type:"uint256"},{name:"agent",type:"address"}],outputs:[]},{type:"function",name:"deregisterAgent",stateMutability:"nonpayable",inputs:[{name:"accountId",type:"uint256"},{name:"agent",type:"address"}],outputs:[]},{type:"function",name:"settle",stateMutability:"nonpayable",inputs:[{name:"accountId",type:"uint256"}],outputs:[]},{type:"function",name:"balanceOf",stateMutability:"view",inputs:[{name:"owner",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"tokenOfOwnerByIndex",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"index",type:"uint256"}],outputs:[{type:"uint256"}]},{type:"function",name:"ownerOf",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{type:"address"}]},{type:"function",name:"getDiscountBps",stateMutability:"view",inputs:[{name:"committedTRAC",type:"uint96"}],outputs:[{type:"uint256"}]},{type:"event",name:"Transfer",inputs:[{name:"from",type:"address",indexed:!0},{name:"to",type:"address",indexed:!0},{name:"tokenId",type:"uint256",indexed:!0}]}],ey="0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",ty="0x0000000000000000000000000000000000000000000000000000000000000000";function ny(e){return`0x${e.slice(-40)}`.toLowerCase()}function ry(e,t,n){var o,a;const r=t.toLowerCase(),s=n==null?void 0:n.toLowerCase();for(const i of e.logs){if(i.address.toLowerCase()!==r)continue;const c=i.topics;if(((o=c[0])==null?void 0:o.toLowerCase())===ey&&c.length===4&&((a=c[1])==null?void 0:a.toLowerCase())===ty&&!(s&&ny(c[2])!==s))return BigInt(c[3])}throw new Error("No PCA mint Transfer found in the create receipt")}function sy(e,t){return e?"ready":t?"unreadable":"loading"}function oy(e,t){return e==="daemon"||e==="wallet"&&!t}function ay(e,t,n){return e.mode==="wallet"&&e.writesEnabled?!0:e.mode==="unknown"?!!n&&(!t||St(t,n)):!1}function Pa(e){const{owner:t,primaryWallet:n,connectedWallet:r,walletWrongNetwork:s=!1,primaryWalletState:o="ready"}=e;if(o==="loading")return{mode:"unknown",wrongNetwork:s,writesEnabled:!1,ownerUnknownCause:"wallets-loading"};if(o==="unreadable")return{mode:"unknown",wrongNetwork:s,writesEnabled:!1,ownerUnknownCause:"wallets-unreadable"};if(!t)return{mode:"unknown",wrongNetwork:s,writesEnabled:!1,ownerUnknownCause:"no-snapshot"};let a;St(t,n)?a="daemon":r&&St(t,r)&&!St(t,n)?a="wallet":a="external";const i=s,c=oy(a,i);return{mode:a,wrongNetwork:i,writesEnabled:c}}class hr extends Error{constructor(n){super("Transaction reverted on-chain");Ct(this,"txHash");this.name="WalletReceiptRevertedError",this.txHash=n}}class xt extends Error{constructor(n,r,s){const o=r instanceof Error&&r.message?`: ${r.message}`:"";super(`Transaction broadcast but receipt polling failed${o}`);Ct(this,"txHash");Ct(this,"txStep");Ct(this,"cause");this.name="WalletReceiptWaitError",this.txHash=n,this.txStep=s,this.cause=r}}class ut extends Error{constructor(n,r){const s=r instanceof Error&&r.message?`: ${r.message}`:"";super(`Wallet transaction failed during ${n}${s}`);Ct(this,"txStep");Ct(this,"cause");this.name="WalletTxStepError",this.txStep=n,this.cause=r}}function Po(e,t){return e instanceof ut?Po(e.cause,t):e instanceof I?e.walk(r=>t(r))??void 0:t(e)?e:void 0}function kr(e,t){if(e instanceof ut)return kr(e.cause,t);const n=((e instanceof Error?`${e.message} ${e.details??""}`:String(e))??"").toLowerCase();return t.some(r=>n.includes(r))}function ot(e,t){var a;const n=e instanceof ut?e.txStep:t,r=e instanceof ut?e.cause:e;if(e instanceof hr)return{kind:"reverted_receipt",recoverable:!1,message:"The transaction was mined but reverted on-chain. Nothing was committed; check the explorer."};if(e instanceof xt&&kr(e,["timed out","timeout","took too long","request timed out"]))return{kind:"rpc_timeout",recoverable:!0,message:"The network didn’t confirm in time — the transaction may still be processing. Re-check before retrying."};if(Po(e,i=>i instanceof yt)??((r==null?void 0:r.code)===4001?r:void 0))return n==="approve"?{kind:"rejected",recoverable:!0,message:"You rejected the TRAC approval in your wallet. Nothing was committed."}:{kind:"rejected",recoverable:!0,message:"The TRAC allowance is set, but you rejected the next step in your wallet — retry to finish (no new approval needed)."};const o=Po(e,i=>i instanceof Ir);if(o){const i=((a=o.data)==null?void 0:a.errorName)??o.reason??void 0;return i==="PrimaryNodeNotInShardingTable"?{kind:"revert",recoverable:!0,revertName:i,message:"The node you picked is no longer staked — pick another and try again."}:{kind:"revert",recoverable:!1,revertName:i,message:i?`The transaction would revert (${i}).`:"The transaction would revert on-chain."}}return kr(e,["insufficient funds","insufficient balance for gas"])?{kind:"insufficient_funds",recoverable:!0,message:"This wallet has no native gas to send the transaction — fund it and retry."}:kr(e,["timed out","timeout","took too long","request timed out"])?{kind:"rpc_timeout",recoverable:!0,message:"The network didn’t confirm in time — the transaction may still be processing. Re-check before retrying."}:{kind:"unknown",recoverable:!1,message:e instanceof Error&&e.message?e.message:"The transaction could not be completed."}}const iy=(1n<<72n)-1n,cy=(1n<<96n)-1n;class Ne extends Error{constructor(t){super(t),this.name="WalletOwnerActionSubmitterError"}}class kn extends Ne{constructor(t){super(t),this.name="WalletOwnerActionUnavailableError"}}class Nt extends Ne{constructor(t){super(t),this.name="WalletOwnerActionAbortError"}}function md(e){var t;return((t=e.getWalletState)==null?void 0:t.call(e))??te.getState()}function Tn(e,t){try{return Mt(e)}catch{throw new Ne(`${t} must be a valid EVM address.`)}}function Ms(e){const t=e.trim();if(!/^\d+$/.test(t))throw new Ne("accountId must be a non-negative integer string.");return BigInt(t)}function Si(e,t){const n=e.trim();if(!/^\d+(\.\d+)?$/.test(n))throw new Ne(`${t} must be a positive decimal number of TRAC tokens.`);let r;try{r=L1(n,18)}catch(s){const o=s instanceof Error&&s.message?s.message:String(s);throw new Ne(`${t} parse error: ${o}`)}if(r<=0n)throw new Ne(`${t} must be > 0.`);if(r>cy)throw new Ne(`${t} exceeds the uint96 TRAC amount range.`);return r}function uy(e){if(typeof e!="string"&&typeof e!="number")throw new Ne("primaryNode must be a positive integer node identityId.");const t=String(e).trim();if(!/^\d+$/.test(t))throw new Ne("primaryNode must be a positive integer node identityId.");const n=BigInt(t);if(n<=0n)throw new Ne("primaryNode must be > 0 before signing; choose a staked node for this PCA.");if(n>iy)throw new Ne("primaryNode exceeds the uint72 node identityId range.");return n}function Ii(e){const t=Fo(e,18);return t.includes(".")?t:`${t}.0`}function xr(e){return e.blockNumber==null?void 0:Number(e.blockNumber)}function Ar(e){var d,u;const t=md(e);if(!t.provider||!t.address)throw new kn("Connect the PCA owner wallet before signing.");if(!t.bootstrap)throw new kn("PCA contract addresses are not bootstrapped yet.");const n=Co(t.bootstrap.chainId);if(t.chainId!==n)throw new kn("Switch the connected wallet to this node's PCA network.");const r=Tn(t.address,"Connected wallet"),s=Tn(t.bootstrap.nft,"PCA NFT contract"),o=Tn(t.bootstrap.token,"TRAC token contract"),a=bd(t.bootstrap.chainId,t.bootstrap.rpcUrls),i=((d=e.publicClientFor)==null?void 0:d.call(e,t.bootstrap.chainId,t.bootstrap.rpcUrls))??Jm(t.bootstrap.chainId,t.bootstrap.rpcUrls),c=((u=e.walletClientFromProvider)==null?void 0:u.call(e,a,t.provider))??Xm(a,t.provider);return{provider:t.provider,owner:r,expectedChainId:n,chain:a,publicClient:i,walletClient:c,nft:s,token:o}}async function yd(e,t){const n=md(t);if(n.provider!==e.provider)throw new Nt("Wallet provider changed before the signature prompt. Reconnect and retry.");if(!St(n.address,e.owner))throw new Nt("Connected wallet changed before the signature prompt. Reconnect the owner wallet.");if(n.chainId!==e.expectedChainId)throw new Nt("Wallet network changed before the signature prompt. Switch back and retry.");const r=await e.provider.request({method:"eth_accounts"});if(!St(r==null?void 0:r[0],e.owner))throw new Nt("Wallet account changed before the signature prompt. Reconnect the owner wallet.");const s=await e.provider.request({method:"eth_chainId"});if(parseInt(s,16)!==e.expectedChainId)throw new Nt("Wallet network changed before the signature prompt. Switch back and retry.")}async function gd(e,t,n){let r;try{r=await e.publicClient.waitForTransactionReceipt({hash:t})}catch(s){throw new xt(t,s,n)}if(r.status!=="success")throw new hr(t);return r}async function Bi(e){return await e.publicClient.readContract({address:e.token,abi:cu,functionName:"allowance",args:[e.owner,e.nft]})}async function ji(e,t,n){var s,o,a,i,c,d;if(await Bi(e)>=n){(s=t.onProgress)==null||s.call(t,{step:"approve",state:"skipped"});return}await yd(e,t),(o=t.onProgress)==null||o.call(t,{step:"approve",state:"active"});let r;try{r=await e.walletClient.writeContract({account:e.owner,chain:e.chain,address:e.token,abi:cu,functionName:"approve",args:[e.nft,n]})}catch(u){throw(a=t.onProgress)==null||a.call(t,{step:"approve",state:"failed",error:u}),new ut("approve",u)}(i=t.onProgress)==null||i.call(t,{step:"approve",state:"submitted",txHash:r});try{await gd(e,r,"approve")}catch(u){throw(c=t.onProgress)==null||c.call(t,{step:"approve",state:"failed",txHash:r,error:u}),u}if((d=t.onProgress)==null||d.call(t,{step:"approve",state:"confirmed",txHash:r}),await Bi(e)<n)throw new Ne("TRAC approval confirmed but allowance is still too low.")}async function Pr(e,t,n,r){var o,a,i,c,d;await yd(e,t),(o=t.onProgress)==null||o.call(t,{step:"action",state:"active"});let s;try{s=await e.walletClient.writeContract({account:e.owner,chain:e.chain,address:e.nft,abi:Qm,functionName:n,args:r})}catch(u){throw(a=t.onProgress)==null||a.call(t,{step:"action",state:"failed",error:u}),new ut("action",u)}(i=t.onProgress)==null||i.call(t,{step:"action",state:"submitted",txHash:s});try{const u=await gd(e,s,"action");return(c=t.onProgress)==null||c.call(t,{step:"action",state:"confirmed",txHash:s}),{hash:s,receipt:u}}catch(u){throw(d=t.onProgress)==null||d.call(t,{step:"action",state:"failed",txHash:s,error:u}),u}}function wd(e={}){return{async create(t){const n=uy(t.primaryNode),r=Si(t.tokens,"tokens"),s=Ar(e);await ji(s,e,r);const{hash:o,receipt:a}=await Pr(s,e,"createAccount",[r,n]);let i;try{i=ry(a,s.nft,s.owner).toString()}catch(c){throw new xt(a.transactionHash??o,c,"action")}return{accountId:i,txHash:a.transactionHash??o,blockNumber:xr(a),committedTokens:Ii(r)}},async registerAgent(t,n){const r=Ms(t),s=Tn(n,"Publishing wallet"),o=Ar(e),{hash:a,receipt:i}=await Pr(o,e,"registerAgent",[r,s]);return{accountId:t,agent:s,registered:!0,adapterSupported:!0,txHash:i.transactionHash??a,blockNumber:xr(i)}},async deregisterAgent(t,n){const r=Ms(t),s=Tn(n,"Publishing wallet"),o=Ar(e),{hash:a,receipt:i}=await Pr(o,e,"deregisterAgent",[r,s]);return{accountId:t,agent:s,deregistered:!0,txHash:i.transactionHash??a,blockNumber:xr(i)}},async topUp(t,n){const r=Ms(t),s=Si(n,"tokens"),o=Ar(e);await ji(o,e,s);const{hash:a,receipt:i}=await Pr(o,e,"topUp",[r,s]);return{accountId:t,addedTokens:Ii(s),txHash:i.transactionHash??a,blockNumber:xr(i)}},settle:Fi}}const vn={create:Ud,registerAgent:_d,deregisterAgent:Ld,topUp:zd,settle:Fi};class dy extends Error{constructor(t="Connect the PCA owner wallet to manage this account."){super(t),this.name="ReadOnlyOwnerActionError"}}class vd extends Error{constructor(t,n){super(t),this.name="OwnerActionUnavailableError",this.cause=n==null?void 0:n.cause}}async function Er(){throw new dy}function Fs(e,t){async function n(){throw new vd(e,{cause:t})}return{create:n,registerAgent:n,deregisterAgent:n,topUp:n,settle:vn.settle}}const ly={create:Er,registerAgent:Er,deregisterAgent:Er,topUp:Er,settle:vn.settle};function xd(){const e=te.getState();return!e.provider||!e.address?"Connect the PCA owner wallet before signing.":!e.bootstrap||e.expectedChainId==null?"PCA contract addresses are not bootstrapped yet.":e.chainId!==e.expectedChainId?"Switch the connected wallet to this node's PCA network.":null}function Ur(e){return e==="daemon"?"daemon":e==="wallet"?"wallet":"read-only"}function fy({owner:e,primaryWallet:t,connectedWallet:n}){return Ur(Pa({owner:e,primaryWallet:t,connectedWallet:n}).mode)}async function hy(e){const{accountId:t,primaryWallet:n,connectedWallet:r,walletWrongNetwork:s}=e;if(!t)return;const o=await It(t).catch(()=>null);if(!(o!=null&&o.owner))return;const a=Pa({owner:o.owner,primaryWallet:n??null,connectedWallet:r,walletWrongNetwork:s}),i=Ur(a.mode);if(i==="daemon")return"daemon";if(i==="wallet"&&a.writesEnabled)return"wallet"}function Ad(e,t={}){return e==="daemon"?vn:e==="read-only"?ly:wd(t)}async function zs(e,t={}){let n;try{n=await It(e)}catch(a){return Fs("Could not verify the PCA owner before signing.",a)}let r;try{r=(await No()).wallets??[]}catch(a){return Fs("Could not verify this node's primary wallet before signing.",a)}const s=te.getState().address,o=fy({owner:n.owner,primaryWallet:r[0]??null,connectedWallet:s});if(o==="wallet"){const a=xd();if(a)return Fs(a)}return Ad(o,t)}function Pd(e){return async t=>{if(e.ownerKey!=="hardware")return vn.create(t);const n=xd();if(n)throw new vd(n);return wd({onProgress:e.onWalletProgress}).create(t)}}function Ed(e={}){return{create:Pd(e),async registerAgent(t,n){return(await zs(t,{onProgress:e.onWalletProgress})).registerAgent(t,n)},async deregisterAgent(t,n){return(await zs(t,{onProgress:e.onWalletProgress})).deregisterAgent(t,n)},async topUp(t,n){return(await zs(t,{onProgress:e.onWalletProgress})).topUp(t,n)},settle:vn.settle}}function py(e,t){if(e.mode==="unknown"||Ur(e.mode)==="wallet")return Ed({onWalletProgress:t});const n=Ad(Ur(e.mode),{onProgress:t});return{create:Pd({onWalletProgress:t}),registerAgent:n.registerAgent,deregisterAgent:n.deregisterAgent,topUp:n.topUp,settle:vn.settle}}function Eo(e={}){return Ed(e)}function by(e){return py(e.access,e.onWalletProgress)}function my(e,t){return[{address:e,kind:"daemon"},{address:t,kind:"wallet"}]}function yy(e){return(Array.isArray(e)?e:e!=null?[e]:[]).flatMap(n=>typeof n=="string"?n?[{address:n,kind:"daemon"}]:[]:n.address?[{address:n.address,kind:n.kind??"daemon"}]:[])}async function Cd(e,t){const n=yy(t),r=await Dd(e).catch(()=>{});if(r===void 0)return{wallet:e,boundTo:null,canOwn:!1,boundLive:!1,inconclusive:!0};const s=r.accountId;if(s==null)return{wallet:e,boundTo:null,canOwn:!1,boundLive:!1,inconclusive:!1};const o=await It(s).catch(()=>null);if(o===null)return{wallet:e,boundTo:s,canOwn:!1,boundLive:!1,inconclusive:!0};const a=n.find(i=>St(o.owner,i.address));return{wallet:e,boundTo:s,canOwn:!!a,signerKind:a==null?void 0:a.kind,boundLive:!Hd(o)&&qd(o),inconclusive:!1}}async function gy(e,t){return Promise.all(e.map(n=>Cd(n,t)))}function Nd(e){return e.inconclusive||e.boundTo==null?{kind:"register"}:e.canOwn?{kind:"deregisterThenRegister",prevAccountId:e.boundTo}:e.boundLive?{kind:"skipSponsored",prevAccountId:e.boundTo}:{kind:"conflictSponsorDead",prevAccountId:e.boundTo}}function wy(e){const t=e.map(l=>({binding:l,kind:Nd(l).kind})),n=l=>t.filter(f=>f.kind===l).map(f=>f.binding),r=n("register"),s=r.filter(l=>l.inconclusive),o=r.filter(l=>!l.inconclusive),a=n("deregisterThenRegister"),i=n("skipSponsored"),c=n("conflictSponsorDead"),d=[...o,...a],u=e.length>0&&d.length===0&&s.length===0;return{selfCoverable:d,ownBound:a,sponsorBound:i,sponsorDead:c,inconclusive:s,zeroSelfCoverage:u}}const vy=(e,t)=>{try{const n=BigInt(e.stake),r=BigInt(t.stake);return n===r?0:n>r?-1:1}catch{return 0}};function xy(e=!0){const[t,n]=D.useState([]),[r,s]=D.useState(!0),[o,a]=D.useState(!1),i=D.useRef(!0),c=D.useRef(!1),d=D.useCallback(async l=>{s(!0),a(!1);try{const f=await Gd(l?{fresh:!0}:void 0);i.current&&n([...f.nodes].sort(vy))}catch{i.current&&(n([]),a(!0))}finally{i.current&&s(!1)}},[]);D.useEffect(()=>(i.current=!0,()=>{i.current=!1}),[]),D.useEffect(()=>{e&&!c.current&&(c.current=!0,d(!1))},[e,d]);const u=D.useCallback(()=>{d(!0)},[d]);return{nodes:t,loading:r,error:o,refresh:u}}function Ay(e){const{seedPrimaryNode:t,replacingAccountId:n,identityId:r,stakedNodes:s,nodesError:o,nodesLoading:a,enabled:i=!0}=e,[c,d]=D.useState(t??""),u=r&&r!=="0"?String(r):null,l=D.useMemo(()=>u&&s.some(b=>b.identityId===u)?u:null,[u,s]);D.useEffect(()=>{!i||c||!u||a||(l?d(l):o&&d(u))},[i,c,u,l,o,a]),D.useEffect(()=>{!i||n||o||a||u&&c===u&&!l&&d("")},[i,n,o,a,s.length,u,c,l]);const f=D.useCallback(()=>d(""),[]);return{primaryNode:c,setPrimaryNode:d,ownStaked:l,onRejected:f}}const Py="Approve exact TRAC allowance",Ey="Confirm on-chain receipt";function Cy(e){const t=[];return e.requiresApproval&&t.push({id:"approve",label:e.approveLabel??Py,state:"pending"}),t.push({id:"action",label:e.actionLabel,state:"pending"}),t.push({id:"confirm",label:e.confirmLabel??Ey,state:"pending"}),t}function Ny({labels:e,flow:t,describeApproveError:n,describeActionError:r}){const s=D.useRef(void 0),[o,a]=D.useState([]),[i,c]=D.useState(e.idle),d=g=>Cy(t(g)),u=n??(g=>ot(g,"approve").message),l=r??(g=>ot(g,"action").message),f=g=>typeof e.actionActive=="function"?e.actionActive(g):e.actionActive;return{steps:o,currentLabel:i,onProgress:g=>{const y=s.current;c(()=>g.step==="approve"?g.state==="skipped"||g.state==="confirmed"?e.approveReady:g.state==="failed"?e.failed:e.approveActive:g.state==="active"?f(y):g.state==="submitted"?e.submitted:g.state==="confirmed"?e.confirmed:e.failed),a(E=>{const w=(E.length?E:d(y)).map(A=>({...A})),v=w.find(A=>A.id==="approve"),x=w.find(A=>A.id==="action"),P=w.find(A=>A.id==="confirm");return g.step==="approve"?(v&&(g.state==="skipped"?(v.state="confirmed",v.label="TRAC allowance already sufficient"):g.state==="active"||g.state==="submitted"?(v.state="active",v.txHash=g.txHash):g.state==="confirmed"?(v.state="confirmed",v.txHash=g.txHash):g.state==="failed"&&(v.state="failed",v.txHash=g.txHash,v.error=u(g.error))),w):(g.state==="active"?((v==null?void 0:v.state)==="pending"&&(v.state="confirmed"),x.state="active"):g.state==="submitted"?((v==null?void 0:v.state)==="pending"&&(v.state="confirmed"),x.state="confirmed",x.txHash=g.txHash,P.state="active"):g.state==="confirmed"?((v==null?void 0:v.state)==="pending"&&(v.state="confirmed"),x.state="confirmed",x.txHash=g.txHash,P.state="confirmed",P.txHash=g.txHash):g.state==="failed"&&(x.state="failed",x.txHash=g.txHash,x.error=l(g.error,y)),w)})},begin:g=>{s.current=g;const y=d(g);a(y);const E=y.some(w=>w.id==="approve");c(E?e.approveActive:f(g))},reset:()=>{s.current=void 0,a([]),c(e.idle)},initialSteps:d}}function Cn({onClose:e,title:t,subtitle:n,testId:r,children:s,dismissDisabled:o=!1}){const a=D.useCallback(()=>{o||e()},[o,e]),{dialogRef:i,onBackdropClick:c}=Wd(!0,a),d=D.useRef(null);return D.useEffect(()=>{queueMicrotask(()=>{var u;return(u=d.current)==null?void 0:u.focus()})},[]),h.jsx("div",{className:"v10-modal-overlay",onClick:c,role:"presentation",children:h.jsxs("div",{className:"v10-modal-box v10-pca-modal-box","data-testid":r,ref:i,role:"dialog","aria-modal":"true","aria-labelledby":"pca-modal-title",children:[h.jsx("button",{type:"button",className:"v10-modal-close",onClick:a,"aria-label":o?"Close disabled while signing":"Close dialog",title:o?"Finish or reject the wallet prompt first":"Close (Esc)",disabled:o,style:{position:"absolute",top:12,right:12,background:"none",border:"none",color:"var(--text-tertiary)",cursor:o?"not-allowed":"pointer",fontSize:18,lineHeight:1,padding:4,zIndex:1,opacity:o?.45:1},children:"×"}),h.jsxs("div",{className:"v10-modal-header",children:[h.jsx("h2",{id:"pca-modal-title",className:"v10-modal-title",tabIndex:-1,ref:d,children:t}),n&&h.jsx("div",{className:"v10-modal-subtitle",children:n})]}),s]})})}function Cr(e){const t=e/100;return`${t%1===0?t.toFixed(0):t.toFixed(1)}%`}const ky=/^\d+(\.\d+)?$/;function rg({onClose:e,onApproveOwnWallets:t,onManage:n,onGetSponsored:r,seed:s,replacingAccountId:o,initialOwnerKey:a}){var Na,ka,Ta;const i=Vd(_=>_.nodeStatus),c=(i==null?void 0:i.nodeRole)==="edge"||(i==null?void 0:i.hasIdentity)===!1,d=i==null,u=(i==null?void 0:i.blockExplorerUrl)??null,{data:l}=Tr(No,[],0),f=(l==null?void 0:l.wallets)??[],b=f[0],p=(ka=(Na=l==null?void 0:l.balances)==null?void 0:Na.find(_=>_.address===b))==null?void 0:ka.trac,m=p!=null?Number(p):NaN,g=f.join(","),[y,E]=D.useState(a??"hardware"),w=te(_=>_.address),v=te(_=>_.provider),x=te(_=>_.bootstrap),P=te(_=>_.expectedChainId),A=te(_=>_.chainId),N=te(_=>Dr(_)),T=y==="hardware",O=Ny({labels:{idle:"Confirm on your device",approveActive:"Confirm on your device (1 of 2): approve TRAC",approveReady:"Allowance ready — continue to Create PCA",actionActive:"Confirm on your device (2 of 2): Create PCA",submitted:"Waiting for on-chain confirmation",confirmed:"Create confirmed on-chain",failed:"Wallet transaction failed"},flow:()=>({requiresApproval:!0,actionLabel:"Sign Create PCA"})}),$=Eo({ownerKey:y,onWalletProgress:O.onProgress}),M=xn(_=>_.finishCreate),j=xn(_=>_.setCreatePending),F=xn(_=>_.clearCreatePending),C=xn.getState().createPending,S=xn(_=>_.createPendingPersisted),[k,B]=D.useState((s==null?void 0:s.tokens)??""),[R,z]=D.useState(C?"reconcile":"form"),[U,V]=D.useState(null),[W,G]=D.useState(C==null?void 0:C.txHash),[Y,J]=D.useState(null),Q=R==="form"&&!d,De=D.useMemo(()=>[{address:b,kind:"daemon"},...T?[{address:w,kind:"wallet"}]:[]],[T,b,w]),{data:ue}=Tr(()=>Q?gy(f,De):Promise.resolve([]),[g,b,w,T,Q],0),K=D.useMemo(()=>wy(ue??[]),[ue]),{nodes:Pe,loading:je,error:X,refresh:$e}=xy(Q),{primaryNode:be,setPrimaryNode:He,ownStaked:Z,onRejected:se}=Ay({seedPrimaryNode:s==null?void 0:s.primaryNode,replacingAccountId:o,identityId:i==null?void 0:i.identityId,stakedNodes:Pe,nodesError:X,nodesLoading:je,enabled:Q}),le=ky.test(k.trim())?Number(k.trim()):NaN,fe=Number.isFinite(le)&&le>0,Ee=y!=="hardware"&&fe&&Number.isFinite(m)&&le>m,ft=fe&&le<25e3,ht=D.useMemo(()=>_i(fe?le:null),[le,fe]),pr=/^\d+$/.test(be.trim())&&Number(be.trim())>0,Ea=!!v&&!!w&&!!x&&P!=null&&A===P,Ca=!T||Pe.some(_=>String(_.identityId)===be.trim()),qe=T?w??void 0:b,kd=fe&&!Ee&&pr&&!!qe&&!d&&R==="form"&&(!T||Ea&&Ca),us=T&&R==="creating",ds=w?N?"Switch the connected wallet to this node's PCA network before signing.":x?null:"PCA contract addresses are still loading for wallet signing.":"Connect the owner wallet before choosing the hardware path.",Td=async()=>{if(T){if(!Ea){J(ds??"Connect the owner wallet before signing.");return}if(!Ca){se(),$e(),J("The selected primary node is no longer in the live staked-node list. Pick another staked node before signing.");return}}if(z("creating"),J(null),T?O.begin("create"):O.reset(),qe&&!j({ownerEoa:qe,submittedAt:Date.now()})){F(),J("Create is blocked because this browser cannot save the create-pending safety marker. Enable local storage or use a browser profile where site storage is available."),z("form");return}try{const _=await $.create({tokens:k.trim(),primaryNode:be.trim()});M(_.accountId);const ee=await It(_.accountId).catch(()=>null);V({..._,snapshot:ee}),z("success")}catch(_){if(_ instanceof _s&&(_.status===400||Zd(_))){F();const ee=zi(_);(ee==null?void 0:ee.code)==="PrimaryNodeNotInShardingTable"&&(se(),$e()),J((ee==null?void 0:ee.message)??(_==null?void 0:_.message)??"Create failed."),z("form");return}if(_ instanceof xt){if(_.txStep==="action"&&_.txHash){G(_.txHash),qe&&j({ownerEoa:qe,submittedAt:Date.now(),txHash:_.txHash}),z("reconcile");return}F();const ee=ot(_,"approve");J(`${ee.message} Retry will re-check the allowance before asking you to sign again.`),z("form");return}if(_ instanceof hr){F(),J(ot(_,"action").message),z("form");return}if(T){F();const ee=ot(_,"action");ee.kind==="revert"&&ee.revertName==="PrimaryNodeNotInShardingTable"&&(se(),$e()),J(ee.kind==="rejected"?"The TRAC allowance is set, but account not created because you rejected the Create PCA signature. Retry to finish (no new approval needed).":ee.message),z("form");return}if(_ instanceof _s&&_.status===504){const ee=_.body??{};ee.txHash&&(G(ee.txHash),qe&&j({ownerEoa:qe,submittedAt:Date.now(),txHash:ee.txHash}))}z("reconcile")}};if(R==="reconcile"){const _=u&&W?`${u}/tx/${W}`:void 0,ee=(C==null?void 0:C.ownerEoa)??qe??b;return h.jsxs(Cn,{onClose:e,testId:"pca-create-modal",title:"Confirm before retrying",children:[h.jsxs("div",{className:"v10-modal-body",children:[h.jsxs("div",{className:"v10-modal-warning",role:"alert",children:["⚠ Your create transaction was submitted but we lost confirmation. We’re checking the chain before letting you retry — creating again could lock a ",h.jsx("strong",{children:"second"})," commitment of TRAC."]}),h.jsxs("div",{className:"v10-pca-create-recon",children:[W&&h.jsxs("p",{children:["Broadcast tx"," ",_?h.jsxs("a",{href:_,target:"_blank",rel:"noreferrer",children:[W," ↗"]}):h.jsx("code",{children:W})]}),S?h.jsxs("p",{children:["A “create-pending” marker is saved, so this guard survives a refresh. Verify on the explorer whether a PCA was minted to ",h.jsx("code",{children:ee??"your owner wallet"}),":"]}):h.jsxs("p",{className:"v10-pca-create-warn",role:"alert",children:["⚠ This browser blocked saving the safety marker (storage disabled or full), so this guard will ",h.jsx("strong",{children:"NOT"})," survive a refresh. Do not create again until you’ve verified on the explorer whether a PCA was minted to"," ",h.jsx("code",{children:ee??"your owner wallet"}),":"]}),h.jsxs("ul",{className:"v10-pca-create-recon-actions",children:[h.jsxs("li",{children:["If a PCA ",h.jsx("strong",{children:"was"})," minted → close this, then use “Track PCA by ID” on the overview."]}),h.jsxs("li",{children:["If ",h.jsx("strong",{children:"none"})," was minted → clear the marker below, then you can create again."]})]})]})]}),h.jsxs("div",{className:"v10-modal-footer",children:[_&&h.jsx("a",{className:"v10-modal-btn",href:_,target:"_blank",rel:"noreferrer",children:"Recheck on explorer ↗"}),h.jsx("button",{type:"button",className:"v10-modal-btn",onClick:()=>{F(),G(void 0),z("form")},children:"No PCA minted — clear & retry"}),h.jsx("button",{type:"button",className:"v10-modal-btn",onClick:e,children:"Close"})]})]})}if(d)return h.jsxs(Cn,{onClose:e,testId:"pca-create-modal",title:"Checking node eligibility…",children:[h.jsx("div",{className:"v10-modal-body",children:h.jsx("p",{className:"v10-pca-create-hint",role:"status",children:"Confirming this node can create a Publisher Conviction Account…"})}),h.jsx("div",{className:"v10-modal-footer",children:h.jsx("button",{type:"button",className:"v10-modal-btn",onClick:e,children:"Close"})})]});if(R==="success"&&U){const _=(Ta=U.snapshot)==null?void 0:Ta.discountBps,ee=ht.bps,$d=typeof _=="number"&&_!==ee,$a=u&&U.txHash?`${u}/tx/${U.txHash}`:void 0;return h.jsxs(Cn,{onClose:e,testId:"pca-create-modal",title:`PCA #${U.accountId} created`,children:[h.jsx("div",{className:"v10-modal-body",children:h.jsxs("div",{className:"v10-pca-create-success","data-testid":"pca-create-success",children:[h.jsxs("div",{className:"v10-pca-create-success-stats",children:[h.jsxs("span",{children:["Account ",h.jsxs("strong",{children:["#",U.accountId]})]}),typeof _=="number"&&h.jsxs("span",{children:["Discount tier ",h.jsx("strong",{children:Cr(_)})]}),h.jsxs("span",{children:["Committed ",h.jsxs("strong",{children:[fs(U.committedTokens)," TRAC"]})]})]}),$d&&h.jsxs("p",{className:"v10-pca-create-warn",children:["Heads up: the created account returned a ",Cr(_)," discount tier instead of the previewed ",Cr(ee)," tier."]}),U.txHash&&h.jsxs("p",{className:"v10-pca-create-tx",children:["Tx"," ",$a?h.jsxs("a",{href:$a,target:"_blank",rel:"noreferrer",children:[U.txHash," ↗"]}):h.jsx("code",{children:U.txHash})]}),h.jsx("div",{className:"v10-pca-create-warn",role:"alert",children:"⚠ 0/100 wallets approved — this PCA discounts nothing yet. It covers nothing until you approve this node’s operational (signing) wallets."})]})}),h.jsxs("div",{className:"v10-modal-footer",children:[h.jsx("button",{type:"button",className:"v10-modal-btn primary","data-testid":"pca-approve-own-wallets",onClick:()=>t(U.accountId),children:o?`Re-approve PCA #${o}’s wallets`:"Approve this node’s operational wallets"}),h.jsxs("button",{type:"button",className:"v10-modal-btn",onClick:()=>n(U.accountId),children:["Manage PCA #",U.accountId]})]})]})}return h.jsxs(Cn,{onClose:e,testId:"pca-create-modal",title:o?`Renew — new PCA to replace #${o}`:"Create a Publisher Conviction Account",subtitle:o?"Re-mint a fresh account seeded from the expiring one.":"Lock TRAC up front to publish at a discount.",dismissDisabled:us,children:[h.jsxs("div",{className:"v10-modal-body",children:[Y&&h.jsx("div",{className:"v10-modal-error",role:"alert",children:Y}),T&&R==="creating"&&h.jsx("div",{className:"v10-modal-warning",role:"status","data-testid":"pca-create-hw-lock",children:"Finish or reject the prompt in your wallet. Closing, backdrop click, and Esc are disabled while the approve-to-create sequence is in flight."}),T&&R==="creating"&&h.jsx(Ui,{steps:O.steps.length?O.steps:O.initialSteps(),currentLabel:O.currentLabel,blockExplorerUrl:u}),h.jsxs("section",{className:"v10-pca-create-section","data-testid":"pca-create-owner-key",children:[h.jsx("h3",{className:"v10-pca-create-section-title",children:"1 · Owner key"}),h.jsxs("div",{className:"v10-pca-owner-key-grid",role:"radiogroup","aria-label":"PCA owner key",children:[h.jsxs("label",{className:`v10-pca-owner-key-card${y==="hardware"?" selected":""}`,children:[h.jsx("input",{type:"radio",name:"pca-owner-key",value:"hardware",checked:y==="hardware",onChange:()=>E("hardware"),disabled:R==="creating"}),h.jsxs("span",{children:[h.jsx("strong",{children:"Hardware wallet (recommended)"}),h.jsx("small",{children:"If your browser wallet is backed by a device, verify the amount and contract there. The app cannot verify hardware backing from provider metadata."})]})]}),h.jsxs("label",{className:`v10-pca-owner-key-card${y==="hot"?" selected":""}`,children:[h.jsx("input",{type:"radio",name:"pca-owner-key",value:"hot",checked:y==="hot",onChange:()=>E("hot"),disabled:R==="creating"}),h.jsxs("span",{children:[h.jsx("strong",{children:"This node's hot wallet"}),h.jsx("small",{children:"No connected browser wallet is required. The daemon signs with this node's primary operational wallet."})]})]})]}),T?h.jsxs("div",{className:"v10-pca-owner-key-readiness",children:[h.jsx(cl,{}),ds&&h.jsx("p",{className:"v10-pca-create-warn",role:"status","data-testid":"pca-create-hw-readiness",children:ds})]}):b?h.jsxs("div",{className:"v10-pca-create-owner",children:[h.jsx("span",{className:"v10-pca-card-owner-lbl",children:"Hot owner"}),h.jsx($n,{address:b})]}):null]}),c&&!o&&h.jsx("div",{className:"v10-modal-tip",role:"status","data-testid":"pca-create-no-identity-note",children:"This node has no staked identity of its own — you can still create a PCA by choosing a staked node as its primary node below (you get the discount; the reward weight accrues to the node you pick)."}),K.zeroSelfCoverage&&h.jsxs("div",{className:"v10-modal-warning",role:"alert","data-testid":"pca-b1-zero-coverage",children:["⚠ All of this node’s operational wallets are already approved on other PCAs",K.sponsorBound.length>0?" (you already get the discount free where those are live)":"",". This new account will ",h.jsx("strong",{children:"NOT"})," discount your own publishes. Create it only if you intend to approve publishing wallets for other nodes; otherwise getting added to an existing PCA avoids locking TRAC."]}),K.sponsorDead.length>0&&h.jsxs("div",{className:"v10-modal-warning",role:"alert","data-testid":"pca-b1-sponsor-dead",children:["Warning: ",K.sponsorDead.length," of this node's wallet(s) are approved on another PCA that is",h.jsx("strong",{children:" expired or swept"})," - they are ",h.jsx("strong",{children:"not covered"}),", and this node cannot free them (it does not own that account). Ask that PCA owner to remove you, then re-approve them here; otherwise they stay uncovered."]}),!K.zeroSelfCoverage&&K.sponsorBound.length>0&&h.jsxs("div",{className:"v10-modal-tip",role:"status","data-testid":"pca-b1-preview",children:["After creating, ",K.sponsorBound.length," of your wallet(s) stay on another PCA (already discounted) and will not be moved; the rest are approved on the new account (any already on a PCA you own are deregistered from it first)."]}),!K.zeroSelfCoverage&&K.ownBound.length>0&&h.jsxs("div",{className:"v10-modal-warning",role:"status","data-testid":"pca-b1-own-bound",children:["⚠ ",K.ownBound.length," of this node’s wallet(s) are already approved on a PCA you own. Self-coverage will ",h.jsx("strong",{children:"move"})," them — deregister from that account, then approve on the new one. The old account’s committed TRAC stays locked until its own expiry and would then cover nothing, so only proceed if you’re replacing it."]}),o&&h.jsxs("div",{className:"v10-modal-warning",role:"status","data-testid":"pca-renew-note",children:["ⓘ This creates a ",h.jsx("strong",{children:"new, separate"})," account (a new id) — it does not extend or reclaim PCA #",o,". The old account’s committed TRAC stays locked until its own expiry (it can’t be withdrawn early), and the new account starts at ",h.jsx("strong",{children:"0/100"}),"approved wallets. The next step is pre-filled with the old account’s wallets for one-step re-approval."]}),h.jsxs("section",{className:"v10-pca-create-section",children:[h.jsx("h3",{className:"v10-pca-create-section-title",children:"2 · Commitment"}),h.jsxs("div",{className:"v10-form-group",children:[h.jsx("label",{className:"v10-form-label",htmlFor:"pca-create-tokens",children:"Commit amount (TRAC)"}),h.jsx("input",{id:"pca-create-tokens","data-testid":"pca-create-tokens",className:"v10-form-input",type:"text",inputMode:"decimal",value:k,onChange:_=>B(_.target.value),placeholder:"100000",autoComplete:"off"})]}),y!=="hardware"&&p!=null&&h.jsxs("p",{className:"v10-pca-create-balance",children:["Owner wallet balance: ",fs(p)," TRAC",Ee&&h.jsx("span",{className:"v10-pca-create-err",children:" — exceeds balance"})]}),ft&&h.jsx("div",{className:"v10-modal-warning",children:"⚠ Under 25,000 TRAC earns a 0% discount — you’d lock TRAC for no benefit."}),h.jsx(nl,{committedTrac:fe?le:null})]}),h.jsxs("section",{className:"v10-pca-create-section","data-testid":"pca-create-primary-node",children:[h.jsx("h3",{className:"v10-pca-create-section-title",children:"3 · Primary node"}),o&&(s==null?void 0:s.primaryNodeUnknown)&&h.jsxs("p",{className:"v10-pca-create-hint",role:"status","data-testid":"pca-renew-primary-unknown",children:["ⓘ Couldn’t read PCA #",o,"’s primary node — defaulting to this node. Pick a different staked node below if the replacement should point elsewhere."]}),h.jsx(ol,{nodes:Pe,loading:je,error:X,onRetry:$e,value:be,onChange:He,ownIdentityId:Z,role:(i==null?void 0:i.nodeRole)==="edge"?"edge":(i==null?void 0:i.nodeRole)==="core"?"core":void 0,required:!0})]}),h.jsxs("section",{className:"v10-pca-create-section",children:[h.jsx("h3",{className:"v10-pca-create-section-title",children:"4 · Review"}),h.jsxs("div",{className:"v10-pca-create-review",children:[h.jsxs("div",{children:[h.jsx("span",{children:"Commit"}),h.jsx("strong",{children:fe?`${fs(k)} TRAC`:"—"})]}),h.jsxs("div",{children:[h.jsx("span",{children:"Discount tier"}),h.jsx("strong",{children:Cr(ht.bps)})]}),h.jsxs("div",{children:[h.jsx("span",{children:"Primary node"}),h.jsx("strong",{children:pr?`#${be.trim()}`:"—"})]})]}),qe&&h.jsxs("div",{className:"v10-pca-create-owner",children:[h.jsx("span",{className:"v10-pca-card-owner-lbl",children:"Owner"}),h.jsx($n,{address:qe,status:T?"connected wallet":"hot wallet"})]}),h.jsxs("p",{className:"v10-pca-create-owner-note",children:["Owner = the wallet that signs the create. ",h.jsx("strong",{children:"Being the owner does not discount your own publishes"})," — you approve your publishing wallets in the next step."]}),h.jsx("div",{className:"v10-modal-tip",children:"Committed TRAC is locked for the lock period (a global protocol parameter — there’s no lock-length input). The owner wallet still needs native gas to create the account."})]})]}),h.jsxs("div",{className:"v10-modal-footer",children:[h.jsx("button",{type:"button",className:"v10-modal-btn",onClick:()=>{us||e()},disabled:us,children:"Cancel"}),h.jsx("button",{type:"button",className:"v10-modal-btn primary","data-testid":"pca-create-submit",onClick:Td,disabled:!kd,children:R==="creating"?h.jsx("span",{role:"status",children:"Creating…"}):"Create PCA"})]})]})}function Ty(e){const t=te(r=>r.address),n=te(r=>Dr(r));return Pa({owner:e.owner,primaryWallet:e.primaryWallet,connectedWallet:t,walletWrongNetwork:n,primaryWalletState:e.primaryWalletState})}const $y={pending:"approving…",approved:"approved on-chain",submitted:"submitted — verify",skipped:"already approved here (skipped)",sponsored:"left on another PCA (already discounted)",stranded:"removed from the old PCA, not yet on the new one — retry to finish",conflict:"on another PCA",cap:"cap reached",error:"failed",aborted:"aborted",unverified:"already approved somewhere — couldn’t verify; retry"},Sy={pending:"neutral",approved:"success",submitted:"neutral",skipped:"neutral",sponsored:"neutral",stranded:"warn",conflict:"danger",cap:"warn",error:"danger",aborted:"neutral",unverified:"neutral"};function Iy(e){if(e instanceof Nt||e instanceof kn)return e.message;if(e instanceof xt)return`${ot(e,e.txStep??"action").message} Stop here and verify before continuing.`;if(e instanceof hr)return ot(e,"action").message;const t=ot(e,e instanceof ut?e.txStep:"action");return t.kind==="rejected"||t.kind==="insufficient_funds"||t.kind==="rpc_timeout"||t.kind==="unknown"?t.message:null}function Ls(e){return e instanceof Nt||e instanceof kn||e instanceof xt||e instanceof hr||e instanceof ut?Iy(e):null}function By(e,t){const n=ot(e,e instanceof ut?e.txStep:"action");if(n.kind!=="revert")return null;switch(n.revertName){case"AgentAlreadyRegistered":return{code:"AgentAlreadyRegistered",status:400,message:"This operational wallet is already approved on another PCA - deregister it there first."};case"AgentCapReached":return{code:"AgentCapReached",status:400,message:`PCA #${t} already has the maximum 100 approved publishing wallets.`};case"NotAccountOwner":return{code:"NotAccountOwner",status:403,message:`This wallet is not the owner of PCA #${t}, so it cannot manage it.`};default:return null}}const jy={order:[],rows:{},running:!1,done:!1,aborted:null,verificationDelayed:null,deviceSteps:[],deviceLabel:void 0,walletBatchSigning:!1};function Ry(e,t){var n;switch(t.type){case"BATCH_START":return{...e,order:t.order,rows:Object.fromEntries(t.order.map(r=>[r,{address:r,status:"pending"}])),running:!0,done:!1,aborted:null,verificationDelayed:null,deviceSteps:[],deviceLabel:void 0,walletBatchSigning:!1};case"SET_WALLET_BATCH_SIGNING":return{...e,walletBatchSigning:t.signing};case"ROW_SET":return{...e,rows:{...e.rows,[t.address]:t.row}};case"MARK_REMAINING":{const r={...e.rows,[t.current.address]:t.current};for(const s of e.order)((n=r[s])==null?void 0:n.status)==="pending"&&(r[s]={address:s,status:t.status,message:t.message});return{...e,rows:r}}case"SET_ABORTED":return{...e,aborted:t.message};case"SET_VERIFICATION_DELAYED":return{...e,verificationDelayed:t.message};case"DEVICE_PROMPT_START":return{...e,deviceLabel:t.indexLabel,deviceSteps:[...e.deviceSteps,{id:t.id,label:t.label,state:"active"}]};case"DEVICE_PROMPT_CONFIRMED":return{...e,deviceSteps:e.deviceSteps.map(r=>r.id===t.id?{...r,state:"confirmed",txHash:t.txHash}:r)};case"DEVICE_PROMPT_SUBMITTED":return{...e,deviceSteps:e.deviceSteps.map(r=>r.id===t.id?{...r,state:"submitted",txHash:t.txHash,error:"confirmation delayed - recheck on-chain"}:r)};case"DEVICE_PROMPT_FAILED":return{...e,deviceSteps:e.deviceSteps.map(r=>r.id===t.id?{...r,state:"failed",error:t.error}:r)};case"BATCH_DONE":return{...e,running:!1,walletBatchSigning:!1,done:!0};default:return e}}function Oy(e){const t=e.order.map(n=>e.rows[n]).filter(Boolean);return{confirmed:t.filter(n=>n.status==="approved").length,submitted:t.filter(n=>n.status==="submitted").length,skipped:t.filter(n=>n.status==="skipped").length,sponsored:t.filter(n=>n.status==="sponsored").length,stranded:t.filter(n=>n.status==="stranded").length,conflict:t.filter(n=>n.status==="conflict").length,error:t.filter(n=>n.status==="error"||n.status==="cap").length,aborted:t.filter(n=>n.status==="aborted").length,unverified:t.filter(n=>n.status==="unverified").length}}function My(e){return e.order.filter(t=>{var r;const n=(r=e.rows[t])==null?void 0:r.status;return n==="approved"||n==="submitted"})}async function Fy(e,t,n,r){var g;const{addresses:s,accountId:o,mode:a,selfCoverage:i,deregisterFrom:c,targetWalletManaged:d,signableOwners:u}=e;n({type:"BATCH_START",order:s});const l=new Map;if(i&&a==="self")for(const y of s){const E=await t.resolveWalletBinding(y,u);l.set(y,{action:t.planSelfCoverage(E),signerKind:E.signerKind})}const f=await t.signerKindForAccount(c),b=s.reduce((y,E)=>{if(c)return y+(f==="wallet"?1:0)+(d?1:0);if(i&&a==="self"){const w=l.get(E);if((w==null?void 0:w.action.kind)==="skipSponsored"||(w==null?void 0:w.action.kind)==="conflictSponsorDead")return y;const v=(w==null?void 0:w.action.kind)==="deregisterThenRegister"&&w.signerKind==="wallet"?1:0;return y+v+(d?1:0)}return y+(d?1:0)},0);n({type:"SET_WALLET_BATCH_SIGNING",signing:b>0});let p=0;const m=async(y,E,w=!1)=>{if(!w)return E();const v=p+1;p=v;const x=Math.max(b,v),P=`${v}-${y}`;n({type:"DEVICE_PROMPT_START",id:P,label:y,indexLabel:`Confirm on your device (${v} of ${x})`});try{const A=await E();return n({type:"DEVICE_PROMPT_CONFIRMED",id:P,txHash:A.txHash}),A}catch(A){throw A instanceof xt&&A.txHash?n({type:"DEVICE_PROMPT_SUBMITTED",id:P,txHash:A.txHash}):n({type:"DEVICE_PROMPT_FAILED",id:P,error:(A==null?void 0:A.message)??"Action failed."}),A}};for(const y of s){if(r()){n({type:"ROW_SET",address:y,row:{address:y,status:"error",message:"stopped"}});continue}let E=null;try{if(c)try{await m(`Deregister ${y} from PCA #${c}`,()=>t.deregisterRenew(c,y),f==="wallet"),E=c}catch(v){if(f==="wallet"&&Ls(v))throw v}else if(i&&a==="self"){let v=l.get(y);if(!v){const P=await t.resolveWalletBinding(y,u);v={action:t.planSelfCoverage(P),signerKind:P.signerKind}}const x=v.action;if(x.kind==="skipSponsored"){n({type:"ROW_SET",address:y,row:{address:y,status:"sponsored",message:`Stays on PCA #${x.prevAccountId} - already discounted.`}});continue}if(x.kind==="conflictSponsorDead"){n({type:"ROW_SET",address:y,row:{address:y,status:"conflict",message:`Approved on PCA #${x.prevAccountId}, but it’s expired/swept (not covering) — ask its owner to deregister you; this node can’t free it.`}});continue}if(x.kind==="deregisterThenRegister")try{await m(`Deregister ${y} from PCA #${x.prevAccountId}`,()=>t.deregisterSelf(x.prevAccountId,y),v.signerKind==="wallet"),E=x.prevAccountId}catch(P){if(v.signerKind==="wallet"&&Ls(P))throw P}}const w=await m(`Approve ${y} on PCA #${o}`,()=>t.registerAgent(o,y),d);n({type:"ROW_SET",address:y,row:{address:y,status:w.registered?"approved":"submitted",txHash:w.txHash}})}catch(w){const v=()=>({address:y,status:"stranded",message:`Removed from PCA #${E}, not yet on #${o} — retry to finish.`}),x=Ls(w);if(w instanceof xt&&w.txHash&&(w.txStep??"action")==="action"){n({type:"SET_VERIFICATION_DELAYED",message:`Transaction ${w.txHash} was broadcast, but receipt verification failed. Recheck on-chain before retrying.`}),n({type:"MARK_REMAINING",current:{address:y,status:"submitted",txHash:w.txHash,message:"Broadcast; verify on-chain before retrying."},status:"aborted",message:"not run - verify the previous transaction first"});break}if(x){n({type:"SET_ABORTED",message:x}),n({type:"MARK_REMAINING",current:E?v():{address:y,status:"error",message:x},status:"aborted",message:"aborted"});break}if(w instanceof _s&&w.status===403){n({type:"SET_ABORTED",message:`This node isn’t the owner of PCA #${o} — approval aborted.`}),n({type:"MARK_REMAINING",current:E?v():{address:y,status:"error",message:"owner-only"},status:"error",message:"aborted"});break}const P=t.describePcaError(w,{accountId:o})??By(w,o);if((P==null?void 0:P.code)==="AgentCapReached"){n({type:"MARK_REMAINING",current:{address:y,status:"cap",message:P.message},status:"cap"});break}if((P==null?void 0:P.code)==="AgentAlreadyRegistered"){const A=await t.probePca(o,y).catch(()=>null),N=A==null?void 0:A.probedKey;(N==null?void 0:N.registered)===!0?n({type:"ROW_SET",address:y,row:{address:y,status:"skipped",message:"Already an approved publishing wallet here."}}):(N==null?void 0:N.registered)===!1&&N.adapterSupported!==!1?n({type:"ROW_SET",address:y,row:{address:y,status:"conflict",message:P.message}}):n({type:"ROW_SET",address:y,row:{address:y,status:"unverified"}})}else n({type:"ROW_SET",address:y,row:E?v():{address:y,status:"error",message:(P==null?void 0:P.message)??(w==null?void 0:w.message)}})}}n({type:"BATCH_DONE"}),(g=t.onApproved)==null||g.call(t)}const zy=/^0x[0-9a-fA-F]{40}$/;function sg({accountId:e,initialMode:t="sponsor",onClose:n,onApproved:r,seedBulk:s,deregisterFrom:o,seedAgentsResolved:a,selfCoverage:i}){const{data:c,error:d}=Tr(No,[],0),{data:u}=Tr(()=>It(e),[e]),l=Eo(),f=(c==null?void 0:c.wallets)??[],b=f[0],p=te(Z=>Z.address),m=te(Z=>Dr(Z)),g=sy(c,d),y=Ty({owner:u==null?void 0:u.owner,primaryWallet:b,primaryWalletState:g}),E=by({access:y}),w=Eo(),v=(u==null?void 0:u.agentCount)??0,x=Math.max(0,100-v),[P,A]=D.useState(t),[N,T]=D.useState({}),[O,$]=D.useState({}),[M,j]=D.useState(s??""),[F,C]=D.useReducer(Ry,jy),S=D.useRef(!1),k=D.useMemo(()=>{const Z=new Set,se=[];let le=0;for(const fe of M.split(`
57
+ `).map(Ee=>Ee.trim()).filter(Boolean)){if(!zy.test(fe)){le+=1;continue}const Ee=fe.toLowerCase();Z.has(Ee)||(Z.add(Ee),se.push(fe))}return{valid:se,invalid:le}},[M]);D.useEffect(()=>{let Z=!1;async function se(){const le=await Promise.all(f.map(async Ee=>{var ft;try{const ht=await It(e,Ee,{extended:!0});return[Ee,String(ht.accountId)===String(e)&&((ft=ht.probedKey)==null?void 0:ft.registered)===!0]}catch{return[Ee,!1]}}));if(Z)return;const fe=Object.fromEntries(le);$(fe),T(Ee=>{const ft={...Ee};for(const[ht,pr]of le)pr&&ft[ht]===void 0&&(ft[ht]=!0);return ft})}return f.length===0?($({}),()=>{Z=!0}):(se(),()=>{Z=!0})},[e,f.join("|")]);const B=D.useMemo(()=>f.filter(Z=>!O[Z]&&!N[Z]),[O,f,N]),R=P==="self"?B:k.valid,z=R.length>x,U=ay(y,u==null?void 0:u.owner,p),V=my(b,p),W=async()=>{R.length!==0&&(S.current=!1,await Fy({addresses:R,accountId:e,mode:P,selfCoverage:i,deregisterFrom:o,targetWalletManaged:U,signableOwners:V},{registerAgent:E.registerAgent,deregisterRenew:l.deregisterAgent,deregisterSelf:w.deregisterAgent,resolveWalletBinding:Cd,planSelfCoverage:Nd,signerKindForAccount:Z=>hy({accountId:Z,primaryWallet:b,connectedWallet:p,walletWrongNetwork:m}),probePca:It,describePcaError:zi,onApproved:r},C,()=>S.current))},{order:G,rows:Y,running:J,done:Q,aborted:De,verificationDelayed:ue,deviceSteps:K,deviceLabel:Pe,walletBatchSigning:je}=F,X=D.useMemo(()=>Oy(F),[F.order,F.rows]),$e=My(F),be=G.length>0,He=f.filter(Z=>O[Z]).length;return h.jsxs(Cn,{onClose:n,testId:"pca-approve-modal",title:`Approve publishing wallets — PCA #${e}`,dismissDisabled:je,children:[h.jsxs("div",{className:"v10-modal-body",children:[h.jsx("div",{className:"v10-form-group",children:h.jsxs("div",{className:"v10-form-radio-group",role:"radiogroup","aria-label":"Approval mode",children:[h.jsxs("label",{className:"v10-form-radio",children:[h.jsx("input",{type:"radio",checked:P==="self",onChange:()=>A("self"),disabled:J}),"Approve my own node’s wallets"]}),h.jsxs("label",{className:"v10-form-radio",children:[h.jsx("input",{type:"radio",checked:P==="sponsor",onChange:()=>A("sponsor"),disabled:J}),"Approve another node’s wallets"]})]})}),P==="self"?h.jsxs("section",{className:"v10-pca-approve-self",children:[h.jsxs("p",{className:"v10-pca-create-warn",children:[v," / 100 slots used — ",He," of this node's wallets are already approved here. Unapproved wallets pay the direct cost until you approve them."]}),h.jsxs("div",{className:"v10-pca-approve-checklist",children:[f.map((Z,se)=>h.jsxs("label",{className:"v10-pca-approve-self-row",children:[h.jsx("input",{type:"checkbox",checked:!O[Z]&&!N[Z],onChange:le=>T(fe=>({...fe,[Z]:!le.target.checked})),disabled:J||O[Z],"aria-label":`Approve ${Z}`}),h.jsx($n,{address:Z,status:O[Z]?"already approved here":se===0?"primary signer":void 0,statusTone:O[Z]?"success":"neutral"})]},Z)),f.length===0&&h.jsx("p",{className:"v10-pca-handshake-empty",children:"No operational wallets detected on this node."})]}),h.jsx("div",{className:"v10-modal-tip",children:"A new PCA covers NOTHING until you approve your own signing wallets. Each is a separate on-chain tx you sign (~30s, owner gas)."})]}):h.jsxs("section",{className:"v10-pca-approve-sponsor",children:[h.jsx(tl,{mode:"bulk",testId:"pca-approve-address",value:M,onChange:j,label:"Wallet address(es) — one per line",disabled:J}),h.jsxs("p",{className:"v10-pca-approve-counts",children:[k.valid.length," valid · ",k.invalid," invalid ·"," ",v," → ",v+k.valid.length," of 100 after this"]}),o?h.jsxs("div",{className:"v10-modal-warning","data-testid":"pca-renew-reapprove-note",children:["ⓘ Re-approving PCA #",o,"’s wallets on #",e,". Each wallet is MOVED — deregistered from #",o,", then approved on #",e," (two txs per wallet, owner gas). Account expiry alone doesn’t free a wallet, so this is required to re-use them.",a===!1&&h.jsxs(h.Fragment,{children:[" ",h.jsxs("strong",{children:["Couldn’t load PCA #",o,"’s wallets — add them manually below."]})]})]}):h.jsx("div",{className:"v10-modal-warning",children:"⚠ We can only check the address is well-formed — we can’t verify it’s the node’s real signing wallet. A typo / admin / author address still “approves” and burns a cap slot. Confirm it shows as approved in the other operator's Get added to a PCA panel."})]}),z&&h.jsxs("div",{className:"v10-modal-warning",role:"status",children:["⚠ Up to ",x," of these can be approved. Any already approved here are skipped (no slot used); any genuinely beyond the ",x,"-slot cap are marked “cap reached”."]}),De&&h.jsx("div",{className:"v10-modal-error",role:"alert",children:De}),ue&&h.jsx("div",{className:"v10-modal-warning",role:"status",children:ue}),K.length>0&&h.jsx(Ui,{steps:K,currentLabel:Pe??"Confirm on your device"}),be&&h.jsxs("div",{className:"v10-pca-approve-results",role:"status","aria-live":"polite",children:[G.map(Z=>{const se=Y[Z];return se?h.jsx($n,{address:Z,status:se.message&&(se.status==="conflict"||se.status==="error"||se.status==="sponsored"||se.status==="stranded"||se.status==="submitted"||se.status==="aborted")?se.message:$y[se.status],statusTone:Sy[se.status]},Z):null}),Q&&h.jsxs("p",{className:"v10-pca-approve-summary",children:["Approved ",X.confirmed," confirmed",X.submitted>0?` · ${X.submitted} submitted (verify)`:""," ","· ",X.skipped," already here · ",X.conflict," conflict",X.sponsored>0?` · ${X.sponsored} left on another PCA`:"",X.stranded>0?` · ${X.stranded} need a retry`:"",X.error>0?` · ${X.error} failed`:"",X.unverified>0?` · ${X.unverified} unverified`:""," (of ",G.length,")."]})]}),Q&&X.stranded>0&&h.jsxs("div",{className:"v10-modal-warning",role:"alert","data-testid":"pca-approve-stranded",children:["⚠ ",X.stranded," wallet",X.stranded===1?" was":"s were"," removed from the old PCA but not yet re-approved on #",e," — temporarily UNCOVERED. Click “Retry to finish” to complete the move."]}),Q&&P==="sponsor"&&!o&&h.jsxs("div",{className:"v10-pca-approve-handoff",children:[h.jsx("div",{className:"v10-modal-warning",children:"Remind the other operator: these wallets must hold NATIVE GAS to publish — the account covers TRAC, never gas."}),h.jsx(rl,{wallets:$e,accountId:e,role:"core"}),h.jsxs("p",{className:"v10-pca-approve-counts",children:["Account id to share back: ",h.jsxs("strong",{children:["#",e]})," ",h.jsx(ko,{value:e,label:`Copy account id ${e}`})]})]})]}),h.jsxs("div",{className:"v10-modal-footer",children:[h.jsx("button",{type:"button",className:"v10-modal-btn",onClick:n,disabled:je,children:Q?"Done":"Cancel"}),J?h.jsx("button",{type:"button",className:"v10-modal-btn",onClick:()=>{S.current=!0},children:"Stop"}):Q?X.stranded>0?h.jsx("button",{type:"button",className:"v10-modal-btn primary","data-testid":"pca-approve-retry-stranded",onClick:W,children:"Retry to finish"}):null:h.jsxs("button",{type:"button",className:"v10-modal-btn primary","data-testid":"pca-approve-submit",onClick:W,disabled:R.length===0,children:["Approve ",R.length," wallet",R.length===1?"":"s"]})]})]})}export{tl as A,I as B,rg as C,Ui as D,Ty as E,by as F,Ny as G,Uy as H,Cn as P,cl as W,sg as a,Nn as b,il as c,hr as d,xt as e,$n as f,ut as g,lr as h,de as i,P0 as j,ot as k,qt as l,wt as m,Lo as n,mn as o,_t as p,Ve as q,xp as r,os as s,oy as t,Jm as u,Qm as v,Pa as w,sy as x,oe as y,Li as z};