import{bO as l,cq as p,iJ as w,V as y,bj as A,bq as g,M as b,L as F,bn as E,bI as N,R as h,T as P,$ as R,iK as f,iL as I}from"./BC4hLSsA.js";function q(n){const{abi:r,data:a}=n,e=l(a,0,4),t=r.find(o=>o.type==="function"&&e===p(w(o)));if(!t)throw new y(e,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:t.name,args:"inputs"in t&&t.inputs&&t.inputs.length>0?A(t.inputs,l(a,4)):void 0}}const u="/docs/contract/encodeErrorResult";function m(n){const{abi:r,errorName:a,args:e}=n;let t=r[0];if(a){const c=g({abi:r,args:e,name:a});if(!c)throw new b(a,{docsPath:u});t=c}if(t.type!=="error")throw new b(void 0,{docsPath:u});const o=w(t),s=p(o);let i="0x";if(e&&e.length>0){if(!t.inputs)throw new F(t.name,{docsPath:u});i=E(t.inputs,e)}return N([s,i])}const d="/docs/contract/encodeFunctionResult";function M(n){const{abi:r,functionName:a,result:e}=n;let t=r[0];if(a){const s=g({abi:r,name:a});if(!s)throw new h(a,{docsPath:d});t=s}if(t.type!=="function")throw new h(void 0,{docsPath:d});if(!t.outputs)throw new P(t.name,{docsPath:d});const o=(()=>{if(t.outputs.length===0)return[];if(t.outputs.length===1)return[e];if(Array.isArray(e))return e;throw new R(e)})();return E(t.outputs,o)}const x="x-batch-gateway:true";async function G(n){const{data:r,ccipRequest:a}=n,{args:[e]}=q({abi:f,data:r}),t=[],o=[];return await Promise.all(e.map(async(s,i)=>{try{o[i]=s.urls.includes(x)?await G({data:s.data,ccipRequest:a}):await a(s),t[i]=!1}catch(c){t[i]=!0,o[i]=H(c)}})),M({abi:f,functionName:"query",result:[t,o]})}function H(n){return n.name==="HttpRequestError"&&n.status?m({abi:f,errorName:"HttpError",args:[n.status,n.shortMessage]}):m({abi:[I],errorName:"Error",args:["shortMessage"in n?n.shortMessage:n.message]})}export{M as a,G as b,q as d,m as e,x as l};