@aave/react 4.0.0-next.31 → 4.0.0-next.33

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 (55) hide show
  1. package/dist/chunk-3TDVAQWZ.js +1664 -0
  2. package/dist/chunk-3TDVAQWZ.js.map +1 -0
  3. package/dist/chunk-6A77Z4MD.js +2 -0
  4. package/dist/chunk-6A77Z4MD.js.map +1 -0
  5. package/dist/chunk-PYBBLRVB.js +2 -0
  6. package/dist/chunk-PYBBLRVB.js.map +1 -0
  7. package/dist/chunk-Q5WBQO2R.js +2 -0
  8. package/dist/chunk-Q5WBQO2R.js.map +1 -0
  9. package/dist/chunk-SXNP4MR6.js +2 -0
  10. package/dist/chunk-SXNP4MR6.js.map +1 -0
  11. package/dist/ethers.cjs +1637 -1
  12. package/dist/ethers.cjs.map +1 -1
  13. package/dist/ethers.d.cts +2 -5
  14. package/dist/ethers.d.ts +2 -5
  15. package/dist/ethers.js +1 -1
  16. package/dist/ethers.js.map +1 -1
  17. package/dist/index.cjs +1663 -1
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +17 -20
  20. package/dist/index.d.ts +17 -20
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/{misc-FhyRRjuS.d.ts → misc-B5-hfFfF.d.ts} +4 -7
  24. package/dist/{misc-Dv6nwSVM.d.cts → misc-B_3Pj33R.d.cts} +4 -7
  25. package/dist/privy.cjs +1637 -1
  26. package/dist/privy.cjs.map +1 -1
  27. package/dist/privy.d.cts +2 -5
  28. package/dist/privy.d.ts +2 -5
  29. package/dist/privy.js +1 -1
  30. package/dist/privy.js.map +1 -1
  31. package/dist/thirdweb.cjs +1637 -1
  32. package/dist/thirdweb.cjs.map +1 -1
  33. package/dist/thirdweb.d.cts +2 -5
  34. package/dist/thirdweb.d.ts +2 -5
  35. package/dist/thirdweb.js +1 -1
  36. package/dist/thirdweb.js.map +1 -1
  37. package/dist/utils.cjs +1 -1
  38. package/dist/utils.cjs.map +1 -1
  39. package/dist/utils.js +1 -1
  40. package/dist/utils.js.map +1 -1
  41. package/dist/viem/index.cjs +1637 -1
  42. package/dist/viem/index.cjs.map +1 -1
  43. package/dist/viem/index.d.cts +3 -6
  44. package/dist/viem/index.d.ts +3 -6
  45. package/dist/viem/index.js +1 -1
  46. package/dist/viem/index.js.map +1 -1
  47. package/dist/{writes-XDyuot3t.d.cts → writes-d5YEXauI.d.cts} +5 -5
  48. package/dist/{writes-XDyuot3t.d.ts → writes-d5YEXauI.d.ts} +5 -5
  49. package/package.json +2 -5
  50. package/dist/chunk-4NA4FB6K.js +0 -2
  51. package/dist/chunk-4NA4FB6K.js.map +0 -1
  52. package/dist/chunk-5DRHIJI2.js +0 -2
  53. package/dist/chunk-5DRHIJI2.js.map +0 -1
  54. package/dist/chunk-SOTTMX3H.js +0 -2
  55. package/dist/chunk-SOTTMX3H.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ var tr={withStackTrace:false},W=(r,t,e=tr)=>{let i=t.isOk()?{type:"Ok",value:t.value}:{type:"Err",value:t.error},n=e.withStackTrace?new Error().stack:void 0;return {data:i,message:r,stack:n}};function D(r,t,e,i){function n(o){return o instanceof e?o:new e(function(a){a(o);})}return new(e||(e=Promise))(function(o,a){function s(m){try{u(i.next(m));}catch(h){a(h);}}function c(m){try{u(i.throw(m));}catch(h){a(h);}}function u(m){m.done?o(m.value):n(m.value).then(s,c);}u((i=i.apply(r,[])).next());})}function H(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],i=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return {next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function x(r){return this instanceof x?(this.v=r,this):new x(r)}function X(r,t,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=e.apply(r,t||[]),n,o=[];return n=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",a),n[Symbol.asyncIterator]=function(){return this},n;function a(f){return function(A){return Promise.resolve(A).then(f,h)}}function s(f,A){i[f]&&(n[f]=function(v){return new Promise(function(p,T){o.push([f,v,p,T])>1||c(f,v);})},A&&(n[f]=A(n[f])));}function c(f,A){try{u(i[f](A));}catch(v){y(o[0][3],v);}}function u(f){f.value instanceof x?Promise.resolve(f.value.v).then(m,h):y(o[0][2],f);}function m(f){c("next",f);}function h(f){c("throw",f);}function y(f,A){f(A),o.shift(),o.length&&c(o[0][0],o[0][1]);}}function er(r){var t,e;return t={},i("next"),i("throw",function(n){throw n}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(n,o){t[n]=r[n]?function(a){return (e=!e)?{value:x(r[n](a)),done:false}:o?o(a):a}:o;}}function nr(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=r[Symbol.asyncIterator],e;return t?t.call(r):(r=typeof H=="function"?H(r):r[Symbol.iterator](),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(o){e[o]=r[o]&&function(a){return new Promise(function(s,c){a=r[o](a),n(s,c,a.done,a.value);})};}function n(o,a,s,c){Promise.resolve(c).then(function(u){o({value:u,done:s});},a);}}var O=class d{constructor(t){this._promise=t;}static fromSafePromise(t){let e=t.then(i=>new E(i));return new d(e)}static fromPromise(t,e){let i=t.then(n=>new E(n)).catch(n=>new b(e(n)));return new d(i)}static fromThrowable(t,e){return (...i)=>new d(D(this,void 0,void 0,function*(){try{return new E(yield t(...i))}catch(n){return new b(e?e(n):n)}}))}static combine(t){return ir(t)}static combineWithAllErrors(t){return or(t)}map(t){return new d(this._promise.then(e=>D(this,void 0,void 0,function*(){return e.isErr()?new b(e.error):new E(yield t(e.value))})))}andThrough(t){return new d(this._promise.then(e=>D(this,void 0,void 0,function*(){if(e.isErr())return new b(e.error);let i=yield t(e.value);return i.isErr()?new b(i.error):new E(e.value)})))}andTee(t){return new d(this._promise.then(e=>D(this,void 0,void 0,function*(){if(e.isErr())return new b(e.error);try{yield t(e.value);}catch{}return new E(e.value)})))}orTee(t){return new d(this._promise.then(e=>D(this,void 0,void 0,function*(){if(e.isOk())return new E(e.value);try{yield t(e.error);}catch{}return new b(e.error)})))}mapErr(t){return new d(this._promise.then(e=>D(this,void 0,void 0,function*(){return e.isOk()?new E(e.value):new b(yield t(e.error))})))}andThen(t){return new d(this._promise.then(e=>{if(e.isErr())return new b(e.error);let i=t(e.value);return i instanceof d?i._promise:i}))}orElse(t){return new d(this._promise.then(e=>D(this,void 0,void 0,function*(){return e.isErr()?t(e.error):new E(e.value)})))}match(t,e){return this._promise.then(i=>i.match(t,e))}unwrapOr(t){return this._promise.then(e=>e.unwrapOr(t))}safeUnwrap(){return X(this,arguments,function*(){return yield x(yield x(yield*er(nr(yield x(this._promise.then(t=>t.safeUnwrap()))))))})}then(t,e){return this._promise.then(t,e)}[Symbol.asyncIterator](){return X(this,arguments,function*(){let t=yield x(this._promise);return t.isErr()&&(yield yield x(j(t.error))),yield x(t.value)})}};function dr(r){return new O(Promise.resolve(new E(r)))}function j(r){return new O(Promise.resolve(new b(r)))}var gr=O.fromPromise,yr=O.fromSafePromise,Er=O.fromThrowable,z=r=>{let t=M([]);for(let e of r)if(e.isErr()){t=S(e.error);break}else t.map(i=>i.push(e.value));return t},ir=r=>O.fromSafePromise(Promise.all(r)).andThen(z),G=r=>{let t=M([]);for(let e of r)e.isErr()&&t.isErr()?t.error.push(e.error):e.isErr()&&t.isOk()?t=S([e.error]):e.isOk()&&t.isOk()&&t.value.push(e.value);return t},or=r=>O.fromSafePromise(Promise.all(r)).andThen(G),V;(function(r){function t(n,o){return (...a)=>{try{let s=n(...a);return M(s)}catch(s){return S(o?o(s):s)}}}r.fromThrowable=t;function e(n){return z(n)}r.combine=e;function i(n){return G(n)}r.combineWithAllErrors=i;})(V||(V={}));function M(r){return new E(r)}function S(r){return new b(r)}function br(r){let t=r().next();return t instanceof Promise?new O(t.then(e=>e.value)):t.value}var E=class{constructor(r){this.value=r;}isOk(){return true}isErr(){return !this.isOk()}map(r){return M(r(this.value))}mapErr(r){return M(this.value)}andThen(r){return r(this.value)}andThrough(r){return r(this.value).map(t=>this.value)}andTee(r){try{r(this.value);}catch{}return M(this.value)}orTee(r){return M(this.value)}orElse(r){return M(this.value)}asyncAndThen(r){return r(this.value)}asyncAndThrough(r){return r(this.value).map(()=>this.value)}asyncMap(r){return O.fromSafePromise(r(this.value))}unwrapOr(r){return this.value}match(r,t){return r(this.value)}safeUnwrap(){let r=this.value;return (function*(){return r})()}_unsafeUnwrap(r){return this.value}_unsafeUnwrapErr(r){throw W("Called `_unsafeUnwrapErr` on an Ok",this,r)}*[Symbol.iterator](){return this.value}},b=class{constructor(r){this.error=r;}isOk(){return false}isErr(){return !this.isOk()}map(r){return S(this.error)}mapErr(r){return S(r(this.error))}andThrough(r){return S(this.error)}andTee(r){return S(this.error)}orTee(r){try{r(this.error);}catch{}return S(this.error)}andThen(r){return S(this.error)}orElse(r){return r(this.error)}asyncAndThen(r){return j(this.error)}asyncAndThrough(r){return j(this.error)}asyncMap(r){return j(this.error)}unwrapOr(r){return r}match(r,t){return t(this.error)}safeUnwrap(){let r=this.error;return (function*(){throw yield S(r),new Error("Do not use this generator out of `safeTry`")})()}_unsafeUnwrap(r){throw W("Called `_unsafeUnwrap` on an Err",this,r)}_unsafeUnwrapErr(r){return this.error}*[Symbol.iterator](){let r=this;return yield r,r}},Sr=V.fromThrowable,sr=20,ur=1,k=1e6,_=1e6,ar=-7,cr=21,hr=false,$="[big.js] ",I=$+"Invalid ",F=I+"decimal places",lr=I+"rounding mode",K=$+"Division by zero",l={},P=void 0,fr=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function Q(){function r(t){var e=this;if(!(e instanceof r))return t===P&&arguments.length===0?Q():new r(t);if(t instanceof r)e.s=t.s,e.e=t.e,e.c=t.c.slice();else {if(typeof t!="string"){if(r.strict===true&&typeof t!="bigint")throw TypeError(I+"value");t=t===0&&1/t<0?"-0":String(t);}vr(e,t);}e.constructor=r;}return r.prototype=l,r.DP=sr,r.RM=ur,r.NE=ar,r.PE=cr,r.strict=hr,r.roundDown=0,r.roundHalfUp=1,r.roundHalfEven=2,r.roundUp=3,r}function vr(r,t){var e,i,n;if(!fr.test(t))throw Error(I+"number");for(r.s=t.charAt(0)=="-"?(t=t.slice(1),-1):1,(e=t.indexOf("."))>-1&&(t=t.replace(".","")),(i=t.search(/e/i))>0?(e<0&&(e=i),e+=+t.slice(i+1),t=t.substring(0,i)):e<0&&(e=t.length),n=t.length,i=0;i<n&&t.charAt(i)=="0";)++i;if(i==n)r.c=[r.e=0];else {for(;n>0&&t.charAt(--n)=="0";);for(r.e=e-i-1,r.c=[],e=0;i<=n;)r.c[e++]=+t.charAt(i++);}return r}function N(r,t,e,i){var n=r.c;if(e===P&&(e=r.constructor.RM),e!==0&&e!==1&&e!==2&&e!==3)throw Error(lr);if(t<1)i=e===3&&(i||!!n[0])||t===0&&(e===1&&n[0]>=5||e===2&&(n[0]>5||n[0]===5&&(i||n[1]!==P))),n.length=1,i?(r.e=r.e-t+1,n[0]=1):n[0]=r.e=0;else if(t<n.length){if(i=e===1&&n[t]>=5||e===2&&(n[t]>5||n[t]===5&&(i||n[t+1]!==P||n[t-1]&1))||e===3&&(i||!!n[0]),n.length=t,i){for(;++n[--t]>9;)if(n[t]=0,t===0){++r.e,n.unshift(1);break}}for(t=n.length;!n[--t];)n.pop();}return r}function U(r,t,e){var i=r.e,n=r.c.join(""),o=n.length;if(t)n=n.charAt(0)+(o>1?"."+n.slice(1):"")+(i<0?"e":"e+")+i;else if(i<0){for(;++i;)n="0"+n;n="0."+n;}else if(i>0)if(++i>o)for(i-=o;i--;)n+="0";else i<o&&(n=n.slice(0,i)+"."+n.slice(i));else o>1&&(n=n.charAt(0)+"."+n.slice(1));return r.s<0&&e?"-"+n:n}l.abs=function(){var r=new this.constructor(this);return r.s=1,r};l.cmp=function(r){var t,e=this,i=e.c,n=(r=new e.constructor(r)).c,o=e.s,a=r.s,s=e.e,c=r.e;if(!i[0]||!n[0])return i[0]?o:n[0]?-a:0;if(o!=a)return o;if(t=o<0,s!=c)return s>c^t?1:-1;for(a=(s=i.length)<(c=n.length)?s:c,o=-1;++o<a;)if(i[o]!=n[o])return i[o]>n[o]^t?1:-1;return s==c?0:s>c^t?1:-1};l.div=function(r){var t=this,e=t.constructor,i=t.c,n=(r=new e(r)).c,o=t.s==r.s?1:-1,a=e.DP;if(a!==~~a||a<0||a>k)throw Error(F);if(!n[0])throw Error(K);if(!i[0])return r.s=o,r.c=[r.e=0],r;var s,c,u,m,h,y=n.slice(),f=s=n.length,A=i.length,v=i.slice(0,s),p=v.length,T=r,L=T.c=[],R=0,B=a+(T.e=t.e-r.e)+1;for(T.s=o,o=B<0?0:B,y.unshift(0);p++<s;)v.push(0);do{for(u=0;u<10;u++){if(s!=(p=v.length))m=s>p?1:-1;else for(h=-1,m=0;++h<s;)if(n[h]!=v[h]){m=n[h]>v[h]?1:-1;break}if(m<0){for(c=p==s?n:y;p;){if(v[--p]<c[p]){for(h=p;h&&!v[--h];)v[h]=9;--v[h],v[p]+=10;}v[p]-=c[p];}for(;!v[0];)v.shift();}else break}L[R++]=m?u:++u,v[0]&&m?v[p]=i[f]||0:v=[i[f]];}while((f++<A||v[0]!==P)&&o--);return !L[0]&&R!=1&&(L.shift(),T.e--,B--),R>B&&N(T,B,e.RM,v[0]!==P),T};l.eq=function(r){return this.cmp(r)===0};l.gt=function(r){return this.cmp(r)>0};l.gte=function(r){return this.cmp(r)>-1};l.lt=function(r){return this.cmp(r)<0};l.lte=function(r){return this.cmp(r)<1};l.minus=l.sub=function(r){var t,e,i,n,o=this,a=o.constructor,s=o.s,c=(r=new a(r)).s;if(s!=c)return r.s=-c,o.plus(r);var u=o.c.slice(),m=o.e,h=r.c,y=r.e;if(!u[0]||!h[0])return h[0]?r.s=-c:u[0]?r=new a(o):r.s=1,r;if(s=m-y){for((n=s<0)?(s=-s,i=u):(y=m,i=h),i.reverse(),c=s;c--;)i.push(0);i.reverse();}else for(e=((n=u.length<h.length)?u:h).length,s=c=0;c<e;c++)if(u[c]!=h[c]){n=u[c]<h[c];break}if(n&&(i=u,u=h,h=i,r.s=-r.s),(c=(e=h.length)-(t=u.length))>0)for(;c--;)u[t++]=0;for(c=t;e>s;){if(u[--e]<h[e]){for(t=e;t&&!u[--t];)u[t]=9;--u[t],u[e]+=10;}u[e]-=h[e];}for(;u[--c]===0;)u.pop();for(;u[0]===0;)u.shift(),--y;return u[0]||(r.s=1,u=[y=0]),r.c=u,r.e=y,r};l.mod=function(r){var t,e=this,i=e.constructor,n=e.s,o=(r=new i(r)).s;if(!r.c[0])throw Error(K);return e.s=r.s=1,t=r.cmp(e)==1,e.s=n,r.s=o,t?new i(e):(n=i.DP,o=i.RM,i.DP=i.RM=0,e=e.div(r),i.DP=n,i.RM=o,this.minus(e.times(r)))};l.neg=function(){var r=new this.constructor(this);return r.s=-r.s,r};l.plus=l.add=function(r){var t,e,i,n=this,o=n.constructor;if(r=new o(r),n.s!=r.s)return r.s=-r.s,n.minus(r);var a=n.e,s=n.c,c=r.e,u=r.c;if(!s[0]||!u[0])return u[0]||(s[0]?r=new o(n):r.s=n.s),r;if(s=s.slice(),t=a-c){for(t>0?(c=a,i=u):(t=-t,i=s),i.reverse();t--;)i.push(0);i.reverse();}for(s.length-u.length<0&&(i=u,u=s,s=i),t=u.length,e=0;t;s[t]%=10)e=(s[--t]=s[t]+u[t]+e)/10|0;for(e&&(s.unshift(e),++c),t=s.length;s[--t]===0;)s.pop();return r.c=s,r.e=c,r};l.pow=function(r){var t=this,e=new t.constructor("1"),i=e,n=r<0;if(r!==~~r||r<-_||r>_)throw Error(I+"exponent");for(n&&(r=-r);r&1&&(i=i.times(t)),r>>=1,!!r;)t=t.times(t);return n?e.div(i):i};l.prec=function(r,t){if(r!==~~r||r<1||r>k)throw Error(I+"precision");return N(new this.constructor(this),r,t)};l.round=function(r,t){if(r===P)r=0;else if(r!==~~r||r<-k||r>k)throw Error(F);return N(new this.constructor(this),r+this.e+1,t)};l.sqrt=function(){var r,t,e,i=this,n=i.constructor,o=i.s,a=i.e,s=new n("0.5");if(!i.c[0])return new n(i);if(o<0)throw Error($+"No square root");o=Math.sqrt(+U(i,true,true)),o===0||o===1/0?(t=i.c.join(""),t.length+a&1||(t+="0"),o=Math.sqrt(t),a=((a+1)/2|0)-(a<0||a&1),r=new n((o==1/0?"5e":(o=o.toExponential()).slice(0,o.indexOf("e")+1))+a)):r=new n(o+""),a=r.e+(n.DP+=4);do e=r,r=s.times(e.plus(i.div(e)));while(e.c.slice(0,a).join("")!==r.c.slice(0,a).join(""));return N(r,(n.DP-=4)+r.e+1,n.RM)};l.times=l.mul=function(r){var t,e=this,i=e.constructor,n=e.c,o=(r=new i(r)).c,a=n.length,s=o.length,c=e.e,u=r.e;if(r.s=e.s==r.s?1:-1,!n[0]||!o[0])return r.c=[r.e=0],r;for(r.e=c+u,a<s&&(t=n,n=o,o=t,u=a,a=s,s=u),t=new Array(u=a+s);u--;)t[u]=0;for(c=s;c--;){for(s=0,u=a+c;u>c;)s=t[u]+o[c]*n[u-c-1]+s,t[u--]=s%10,s=s/10|0;t[u]=s;}for(s?++r.e:t.shift(),c=t.length;!t[--c];)t.pop();return r.c=t,r};l.toExponential=function(r,t){var e=this,i=e.c[0];if(r!==P){if(r!==~~r||r<0||r>k)throw Error(F);for(e=N(new e.constructor(e),++r,t);e.c.length<r;)e.c.push(0);}return U(e,true,!!i)};l.toFixed=function(r,t){var e=this,i=e.c[0];if(r!==P){if(r!==~~r||r<0||r>k)throw Error(F);for(e=N(new e.constructor(e),r+e.e+1,t),r=r+e.e+1;e.c.length<r;)e.c.push(0);}return U(e,false,!!i)};l.toJSON=l.toString=function(){var r=this,t=r.constructor;return U(r,r.e<=t.NE||r.e>=t.PE,!!r.c[0])};typeof Symbol<"u"&&(l[Symbol.for("nodejs.util.inspect.custom")]=l.toJSON);l.toNumber=function(){var r=+U(this,true,true);if(this.constructor.strict===true&&!this.eq(r.toString()))throw Error($+"Imprecise conversion");return r};l.toPrecision=function(r,t){var e=this,i=e.constructor,n=e.c[0];if(r!==P){if(r!==~~r||r<1||r>k)throw Error(I+"precision");for(e=N(new i(e),r,t);e.c.length<r;)e.c.push(0);}return U(e,r<=e.e||e.e<=i.NE||e.e>=i.PE,!!n)};l.valueOf=function(){var r=this,t=r.constructor;if(t.strict===true)throw Error($+"valueOf disallowed");return U(r,r.e<=t.NE||r.e>=t.PE,true)};var Z=Q(),g=class extends Error{name="InvariantError"};function C(r,t){if(!r)throw new g(t)}function Y(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function Ar(r){return r.length>0}function xr(r){return r.length===1}function Pr(r){if(!Y(r)||!Error.prototype.isPrototypeOf(r))throw r}function Or(r,t=`Unexpected object: ${String(r)}`){throw new g(t)}function Tr(r){if(r.isErr())throw new g(`Expected result to be Ok: ${r.error.message}`)}function Mr(r){if(r.isOk())throw new g(`Expected result to be Err: ${r.value}`)}function Dr(r){if(r===null)throw new g("Expected value to be not null")}var kr=class{promise;resolve;reject;constructor(){this.promise=new Promise((r,t)=>{this.resolve=r,this.reject=t;});}};function wr(r){return r}var Ir=wr;function Nr(r="Unexpected call to never()"){throw new g(r)}function Ur(r){if(r==null)throw new g("Value should not be null or undefined");return r}function Br(r){return t=>{if(t.__typename!==r)throw new g(`Expected __typename to be "${r}", but got "${t.__typename}"`);return t}}function rr(r){return /^0x[a-fA-F0-9]+$/.test(r)}function q(r){return C(rr(r),`Expected a valid hex string, but got: ${r}`),r}function mr(r){return C(r.length===42,`EvmAddress: invalid length ${r.length}`),q(r)}var jr=q,$r=q;function Fr(r){return typeof r=="string"&&rr(r)}var qr=q,Lr=mr("0x0000000000000000000000000000000000000000"),Rr=class extends Error{asResultAsync(){return j(this)}asResult(){return S(this)}static from(r){if(r instanceof Error){let t=this.formatMessage(r);return new this(t,{cause:r})}return Y(r)&&"message"in r?new this(String(r.message)):new this(String(r))}static is(r){return r instanceof this}static formatMessage(r){let t=[],e=r;for(;e instanceof Error;){if("errors"in e&&Array.isArray(e.errors)){let i=e.errors.map(n=>n instanceof Error?n.message:String(n));t.push(i.join(", "));}else t.push(e.message);e=e.cause;}return t.join(" due to ")}};function Vr(r,t){if(r.__typename!==t)throw new g(`Expected node to have typename "${t}", but got "${r.__typename}"`)}function Cr(r){return r}Z.strict=true;var pr=(r=>(r[r.Down=0]="Down",r[r.HalfUp=1]="HalfUp",r[r.HalfEven=2]="HalfEven",r[r.Up=3]="Up",r))(pr||{}),J=class w{value;static MAX_VAL=w.new(Number.MAX_VALUE.toString());static MIN_VAL=w.new(Number.MIN_VALUE.toString());constructor(t){this.value=new Z(t);}valueOf(){try{return this.value.valueOf()}catch(t){throw new g("BigDecimal cannot be converted to a number",{cause:t})}}toNumber(){throw new g("BigDecimal cannot be converted to a number")}abs(){return new w(this.value.abs())}add(t){return new w(this.value.add(this.toBigSource(t)))}div(t){return new w(this.value.div(this.toBigSource(t)))}minus(t){return new w(this.value.minus(this.toBigSource(t)))}mod(t){return new w(this.value.mod(this.toBigSource(t)))}mul(t){return new w(this.value.mul(this.toBigSource(t)))}neg(){return new w(this.value.neg())}plus(t){return new w(this.value.plus(this.toBigSource(t)))}pow(t){return new w(this.value.pow(t))}prec(t,e){return new w(this.value.prec(t,e))}round(t,e){return new w(this.value.round(t,e))}sqrt(){return new w(this.value.sqrt())}sub(t){return new w(this.value.sub(this.toBigSource(t)))}times(t){return new w(this.value.times(this.toBigSource(t)))}cmp(t){return this.value.cmp(this.toBigSource(t))}eq(t){return this.value.eq(this.toBigSource(t))}gt(t){return this.value.gt(this.toBigSource(t))}gte(t){return this.value.gte(this.toBigSource(t))}lt(t){return this.value.lt(this.toBigSource(t))}lte(t){return this.value.lte(this.toBigSource(t))}toExponential(t,e){return this.value.toExponential(t,e)}toFixed(t,e){return this.value.toFixed(t,e)}toPrecision(t,e){return this.value.toPrecision(t,e)}toString(){return this.value.toString()}toJSON(){return this.value.toFixed()}rescale(t){return this.mul(10**t)}toDisplayString(t,e){let{rounding:i=1,minFractionDigits:n=0,trimTrailingZeros:o=false}=e??{};if(this.eq(0))return n>0?`0.${"0".repeat(n)}`:"0";let a=this.applyPrecisionWithMinFractionDigits(t,n,i);return this.formatDecimalString(a,n,o)}toApproximateNumber(){return this.gt(w.MAX_VAL)?Number.MAX_VALUE:this.lt(w.MAX_VAL.times(-1))?-Number.MAX_VALUE:this.abs().lt(w.MIN_VAL)?this.lt("0")?-0:0:Number(this.toString())}static new(t){try{return new w(t)}catch(e){throw new g("Invalid value for BigDecimal",{cause:e})}}static isBigDecimal(t){return t instanceof w}static min(t,e,...i){return [e,...i].reduce((n,o)=>n.lt(o)?n:o,t)}static max(t,e,...i){return [e,...i].reduce((n,o)=>n.gt(o)?n:o,t)}toBigSource(t){switch(typeof t){case "bigint":return t.toString();case "number":return t.toString();case "string":return t;default:return t.toFixed()}}getIntegerDigitCount(){let t=this.abs().toFixed(),[e]=t.split(".");return e?.length??t.length}applyPrecisionWithMinFractionDigits(t,e,i){if(this.gte(1)&&e>0){let n=this.getIntegerDigitCount(),o=n+e,a=Math.max(t,o)-n;return this.round(a,i)}return this.applyAdaptivePrecision(t,i)}formatDecimalString(t,e,i){let n=t.toFixed();return e>0&&(n=this.ensureMinFractionDigits(n,e)),i&&n.includes(".")&&(n=n.replace(/\.?0+$/,"")),n}ensureMinFractionDigits(t,e){let[i,n=""]=t.split(".");return n.length<e?`${i}.${n.padEnd(e,"0")}`:t}applyAdaptivePrecision(t,e){if(this.abs().gte(1)){let i=this.getIntegerDigitCount(),n=Math.max(0,t-i);return this.round(n,e)}return this.prec(t,e)}};function Hr(r){return r instanceof J?r:J.new(r.toString())}function Xr(r){let t=Number(r);return C(Number.isInteger(t)&&t>=0,`Invalid ChainId: ${r}`),t}export{Nr as A,Ur as B,Br as C,rr as D,q as E,mr as F,jr as G,$r as H,Fr as I,qr as J,Lr as K,Rr as L,Vr as M,Cr as N,pr as O,J as P,Hr as Q,Xr as R,O as a,dr as b,j as c,gr as d,yr as e,Er as f,V as g,M as h,S as i,br as j,E as k,b as l,Sr as m,g as n,C as o,Y as p,Ar as q,xr as r,Pr as s,Or as t,Tr as u,Mr as v,Dr as w,kr as x,wr as y,Ir as z};//# sourceMappingURL=chunk-6A77Z4MD.js.map
2
+ //# sourceMappingURL=chunk-6A77Z4MD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/neverthrow@8.2.0/node_modules/neverthrow/dist/index.es.js","../../../node_modules/.pnpm/big.js@7.0.1/node_modules/big.js/big.mjs","../../types/src/helpers/invariant.ts","../../types/src/helpers/typeguards.ts","../../types/src/helpers/assertions.ts","../../types/src/helpers/Deferred.ts","../../types/src/helpers/identity.ts","../../types/src/helpers/never.ts","../../types/src/helpers/refinements.ts","../../types/src/hex.ts","../../types/src/constants.ts","../../types/src/errors.ts","../../types/src/graphql.ts","../../types/src/number.ts"],"names":["defaultErrorConfig","createNeverThrowError","message","result","config","data","maybeStack","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","__values","o","s","m","__await","v","__asyncGenerator","g","i","q","verb","awaitReturn","f","n","a","b","resume","settle","r","fulfill","__asyncDelegator","p","__asyncValues","d","ResultAsync","_ResultAsync","res","promise","newPromise","Ok","errorFn","Err","fn","args","error","asyncResultList","combineResultAsyncList","combineResultAsyncListWithAllErrors","newRes","newValue","ok","_err","t","successCallback","failureCallback","errAsync","okAsync","err","fromPromise","fromSafePromise","fromAsyncThrowable","combineResultList","resultList","acc","list","combineResultListWithAllErrors","Result","fromThrowable","combine","combineWithAllErrors","safeTry","body","_f","_value","_v","_","_ok","self","DP","RM","MAX_DP","MAX_POWER","NE","PE","STRICT","NAME","INVALID","INVALID_DP","INVALID_RM","DIV_BY_ZERO","UNDEFINED","NUMERIC","_Big_","Big","x","parse","nl","round","sd","rm","more","xc","stringify","doExponential","isNonzero","y","isneg","yc","j","k","l","dp","bl","bt","cmp","ri","bz","ai","al","rl","qc","qi","xlty","xe","ye","ygtx","one","c","half","InvariantError","invariant","condition","isObject","isNonEmptyArray","isOneEntryArray","assertError","assertNever","assertOk","assertErr","assertNotNull","Deferred","identity","passthrough","never","nonNullable","expectTypename","typename","isValidHexString","hexString","evmAddress","blockchainData","signatureFrom","isSignature","txHash","ZERO_ADDRESS","ResultAwareError","cause","messages","currentError","inner","assertTypename","node","extendWithOpaqueType","RoundingMode","BigDecimal","_BigDecimal","exp","decimals","precision","opts","rounding","minFractionDigits","trimTrailingZeros","rounded","first","second","others","min","current","max","absStr","integerPart","integerDigits","requiredPrecision","decimalPlaces","str","minDigits","intPart","fracPart","bigDecimal","chainId","id"],"mappings":"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","file":"chunk-6A77Z4MD.js","sourcesContent":["const defaultErrorConfig = {\r\n withStackTrace: false,\r\n};\r\n// Custom error object\r\n// Context / discussion: https://github.com/supermacro/neverthrow/pull/215\r\nconst createNeverThrowError = (message, result, config = defaultErrorConfig) => {\r\n const data = result.isOk()\r\n ? { type: 'Ok', value: result.value }\r\n : { type: 'Err', value: result.error };\r\n const maybeStack = config.withStackTrace ? new Error().stack : undefined;\r\n return {\r\n data,\r\n message,\r\n stack: maybeStack,\r\n };\r\n};\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nclass ResultAsync {\r\n constructor(res) {\r\n this._promise = res;\r\n }\r\n static fromSafePromise(promise) {\r\n const newPromise = promise.then((value) => new Ok(value));\r\n return new ResultAsync(newPromise);\r\n }\r\n static fromPromise(promise, errorFn) {\r\n const newPromise = promise\r\n .then((value) => new Ok(value))\r\n .catch((e) => new Err(errorFn(e)));\r\n return new ResultAsync(newPromise);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n static fromThrowable(fn, errorFn) {\r\n return (...args) => {\r\n return new ResultAsync((() => __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n return new Ok(yield fn(...args));\r\n }\r\n catch (error) {\r\n return new Err(errorFn ? errorFn(error) : error);\r\n }\r\n }))());\r\n };\r\n }\r\n static combine(asyncResultList) {\r\n return combineResultAsyncList(asyncResultList);\r\n }\r\n static combineWithAllErrors(asyncResultList) {\r\n return combineResultAsyncListWithAllErrors(asyncResultList);\r\n }\r\n map(f) {\r\n return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {\r\n if (res.isErr()) {\r\n return new Err(res.error);\r\n }\r\n return new Ok(yield f(res.value));\r\n })));\r\n }\r\n andThrough(f) {\r\n return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {\r\n if (res.isErr()) {\r\n return new Err(res.error);\r\n }\r\n const newRes = yield f(res.value);\r\n if (newRes.isErr()) {\r\n return new Err(newRes.error);\r\n }\r\n return new Ok(res.value);\r\n })));\r\n }\r\n andTee(f) {\r\n return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {\r\n if (res.isErr()) {\r\n return new Err(res.error);\r\n }\r\n try {\r\n yield f(res.value);\r\n }\r\n catch (e) {\r\n // Tee does not care about the error\r\n }\r\n return new Ok(res.value);\r\n })));\r\n }\r\n orTee(f) {\r\n return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {\r\n if (res.isOk()) {\r\n return new Ok(res.value);\r\n }\r\n try {\r\n yield f(res.error);\r\n }\r\n catch (e) {\r\n // Tee does not care about the error\r\n }\r\n return new Err(res.error);\r\n })));\r\n }\r\n mapErr(f) {\r\n return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {\r\n if (res.isOk()) {\r\n return new Ok(res.value);\r\n }\r\n return new Err(yield f(res.error));\r\n })));\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n andThen(f) {\r\n return new ResultAsync(this._promise.then((res) => {\r\n if (res.isErr()) {\r\n return new Err(res.error);\r\n }\r\n const newValue = f(res.value);\r\n return newValue instanceof ResultAsync ? newValue._promise : newValue;\r\n }));\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n orElse(f) {\r\n return new ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {\r\n if (res.isErr()) {\r\n return f(res.error);\r\n }\r\n return new Ok(res.value);\r\n })));\r\n }\r\n match(ok, _err) {\r\n return this._promise.then((res) => res.match(ok, _err));\r\n }\r\n unwrapOr(t) {\r\n return this._promise.then((res) => res.unwrapOr(t));\r\n }\r\n /**\r\n * @deprecated will be removed in 9.0.0.\r\n *\r\n * You can use `safeTry` without this method.\r\n * @example\r\n * ```typescript\r\n * safeTry(async function* () {\r\n * const okValue = yield* yourResult\r\n * })\r\n * ```\r\n * Emulates Rust's `?` operator in `safeTry`'s body. See also `safeTry`.\r\n */\r\n safeUnwrap() {\r\n return __asyncGenerator(this, arguments, function* safeUnwrap_1() {\r\n return yield __await(yield __await(yield* __asyncDelegator(__asyncValues(yield __await(this._promise.then((res) => res.safeUnwrap()))))));\r\n });\r\n }\r\n // Makes ResultAsync implement PromiseLike<Result>\r\n then(successCallback, failureCallback) {\r\n return this._promise.then(successCallback, failureCallback);\r\n }\r\n [Symbol.asyncIterator]() {\r\n return __asyncGenerator(this, arguments, function* _a() {\r\n const result = yield __await(this._promise);\r\n if (result.isErr()) {\r\n // @ts-expect-error -- This is structurally equivalent and safe\r\n yield yield __await(errAsync(result.error));\r\n }\r\n // @ts-expect-error -- This is structurally equivalent and safe\r\n return yield __await(result.value);\r\n });\r\n }\r\n}\r\nfunction okAsync(value) {\r\n return new ResultAsync(Promise.resolve(new Ok(value)));\r\n}\r\nfunction errAsync(err) {\r\n return new ResultAsync(Promise.resolve(new Err(err)));\r\n}\r\nconst fromPromise = ResultAsync.fromPromise;\r\nconst fromSafePromise = ResultAsync.fromSafePromise;\r\nconst fromAsyncThrowable = ResultAsync.fromThrowable;\n\n/**\r\n * Short circuits on the FIRST Err value that we find\r\n */\r\nconst combineResultList = (resultList) => {\r\n let acc = ok([]);\r\n for (const result of resultList) {\r\n if (result.isErr()) {\r\n acc = err(result.error);\r\n break;\r\n }\r\n else {\r\n acc.map((list) => list.push(result.value));\r\n }\r\n }\r\n return acc;\r\n};\r\n/* This is the typesafe version of Promise.all\r\n *\r\n * Takes a list of ResultAsync<T, E> and success if all inner results are Ok values\r\n * or fails if one (or more) of the inner results are Err values\r\n */\r\nconst combineResultAsyncList = (asyncResultList) => ResultAsync.fromSafePromise(Promise.all(asyncResultList)).andThen(combineResultList);\r\n/**\r\n * Give a list of all the errors we find\r\n */\r\nconst combineResultListWithAllErrors = (resultList) => {\r\n let acc = ok([]);\r\n for (const result of resultList) {\r\n if (result.isErr() && acc.isErr()) {\r\n acc.error.push(result.error);\r\n }\r\n else if (result.isErr() && acc.isOk()) {\r\n acc = err([result.error]);\r\n }\r\n else if (result.isOk() && acc.isOk()) {\r\n acc.value.push(result.value);\r\n }\r\n // do nothing when result.isOk() && acc.isErr()\r\n }\r\n return acc;\r\n};\r\nconst combineResultAsyncListWithAllErrors = (asyncResultList) => ResultAsync.fromSafePromise(Promise.all(asyncResultList)).andThen(combineResultListWithAllErrors);\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\r\nvar Result;\r\n(function (Result) {\r\n /**\r\n * Wraps a function with a try catch, creating a new function with the same\r\n * arguments but returning `Ok` if successful, `Err` if the function throws\r\n *\r\n * @param fn function to wrap with ok on success or err on failure\r\n * @param errorFn when an error is thrown, this will wrap the error result if provided\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n function fromThrowable(fn, errorFn) {\r\n return (...args) => {\r\n try {\r\n const result = fn(...args);\r\n return ok(result);\r\n }\r\n catch (e) {\r\n return err(errorFn ? errorFn(e) : e);\r\n }\r\n };\r\n }\r\n Result.fromThrowable = fromThrowable;\r\n function combine(resultList) {\r\n return combineResultList(resultList);\r\n }\r\n Result.combine = combine;\r\n function combineWithAllErrors(resultList) {\r\n return combineResultListWithAllErrors(resultList);\r\n }\r\n Result.combineWithAllErrors = combineWithAllErrors;\r\n})(Result || (Result = {}));\r\nfunction ok(value) {\r\n return new Ok(value);\r\n}\r\nfunction err(err) {\r\n return new Err(err);\r\n}\r\nfunction safeTry(body) {\r\n const n = body().next();\r\n if (n instanceof Promise) {\r\n return new ResultAsync(n.then((r) => r.value));\r\n }\r\n return n.value;\r\n}\r\nclass Ok {\r\n constructor(value) {\r\n this.value = value;\r\n }\r\n isOk() {\r\n return true;\r\n }\r\n isErr() {\r\n return !this.isOk();\r\n }\r\n map(f) {\r\n return ok(f(this.value));\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n mapErr(_f) {\r\n return ok(this.value);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n andThen(f) {\r\n return f(this.value);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n andThrough(f) {\r\n return f(this.value).map((_value) => this.value);\r\n }\r\n andTee(f) {\r\n try {\r\n f(this.value);\r\n }\r\n catch (e) {\r\n // Tee doesn't care about the error\r\n }\r\n return ok(this.value);\r\n }\r\n orTee(_f) {\r\n return ok(this.value);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n orElse(_f) {\r\n return ok(this.value);\r\n }\r\n asyncAndThen(f) {\r\n return f(this.value);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n asyncAndThrough(f) {\r\n return f(this.value).map(() => this.value);\r\n }\r\n asyncMap(f) {\r\n return ResultAsync.fromSafePromise(f(this.value));\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n unwrapOr(_v) {\r\n return this.value;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n match(ok, _err) {\r\n return ok(this.value);\r\n }\r\n safeUnwrap() {\r\n const value = this.value;\r\n /* eslint-disable-next-line require-yield */\r\n return (function* () {\r\n return value;\r\n })();\r\n }\r\n _unsafeUnwrap(_) {\r\n return this.value;\r\n }\r\n _unsafeUnwrapErr(config) {\r\n throw createNeverThrowError('Called `_unsafeUnwrapErr` on an Ok', this, config);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias, require-yield\r\n *[Symbol.iterator]() {\r\n return this.value;\r\n }\r\n}\r\nclass Err {\r\n constructor(error) {\r\n this.error = error;\r\n }\r\n isOk() {\r\n return false;\r\n }\r\n isErr() {\r\n return !this.isOk();\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n map(_f) {\r\n return err(this.error);\r\n }\r\n mapErr(f) {\r\n return err(f(this.error));\r\n }\r\n andThrough(_f) {\r\n return err(this.error);\r\n }\r\n andTee(_f) {\r\n return err(this.error);\r\n }\r\n orTee(f) {\r\n try {\r\n f(this.error);\r\n }\r\n catch (e) {\r\n // Tee doesn't care about the error\r\n }\r\n return err(this.error);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n andThen(_f) {\r\n return err(this.error);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n orElse(f) {\r\n return f(this.error);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n asyncAndThen(_f) {\r\n return errAsync(this.error);\r\n }\r\n asyncAndThrough(_f) {\r\n return errAsync(this.error);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n asyncMap(_f) {\r\n return errAsync(this.error);\r\n }\r\n unwrapOr(v) {\r\n return v;\r\n }\r\n match(_ok, err) {\r\n return err(this.error);\r\n }\r\n safeUnwrap() {\r\n const error = this.error;\r\n return (function* () {\r\n yield err(error);\r\n throw new Error('Do not use this generator out of `safeTry`');\r\n })();\r\n }\r\n _unsafeUnwrap(config) {\r\n throw createNeverThrowError('Called `_unsafeUnwrap` on an Err', this, config);\r\n }\r\n _unsafeUnwrapErr(_) {\r\n return this.error;\r\n }\r\n *[Symbol.iterator]() {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const self = this;\r\n // @ts-expect-error -- This is structurally equivalent and safe\r\n yield self;\r\n // @ts-expect-error -- This is structurally equivalent and safe\r\n return self;\r\n }\r\n}\r\nconst fromThrowable = Result.fromThrowable;\r\n//#endregion\n\nexport { Err, Ok, Result, ResultAsync, err, errAsync, fromAsyncThrowable, fromPromise, fromSafePromise, fromThrowable, ok, okAsync, safeTry };\n","/*\r\n * big.js v7.0.1\r\n * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.\r\n * Copyright (c) 2025 Michael Mclaughlin\r\n * https://github.com/MikeMcl/big.js/LICENCE.md\r\n */\r\n\r\n\r\n/************************************** EDITABLE DEFAULTS *****************************************/\r\n\r\n\r\n // The default values below must be integers within the stated ranges.\r\n\r\n /*\r\n * The maximum number of decimal places (DP) of the results of operations involving division:\r\n * div and sqrt, and pow with negative exponents.\r\n */\r\nvar DP = 20, // 0 to MAX_DP\r\n\r\n /*\r\n * The rounding mode (RM) used when rounding to the above decimal places.\r\n *\r\n * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)\r\n * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)\r\n * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)\r\n * 3 Away from zero. (ROUND_UP)\r\n */\r\n RM = 1, // 0, 1, 2 or 3\r\n\r\n // The maximum value of DP and Big.DP.\r\n MAX_DP = 1E6, // 0 to 1000000\r\n\r\n // The maximum magnitude of the exponent argument to the pow method.\r\n MAX_POWER = 1E6, // 1 to 1000000\r\n\r\n /*\r\n * The negative exponent (NE) at and beneath which toString returns exponential notation.\r\n * (JavaScript numbers: -7)\r\n * -1000000 is the minimum recommended exponent value of a Big.\r\n */\r\n NE = -7, // 0 to -1000000\r\n\r\n /*\r\n * The positive exponent (PE) at and above which toString returns exponential notation.\r\n * (JavaScript numbers: 21)\r\n * 1000000 is the maximum recommended exponent value of a Big, but this limit is not enforced.\r\n */\r\n PE = 21, // 0 to 1000000\r\n\r\n /*\r\n * When true, an error will be thrown if a primitive number is passed to the Big constructor,\r\n * or if valueOf is called, or if toNumber is called on a Big which cannot be converted to a\r\n * primitive number without a loss of precision.\r\n */\r\n STRICT = false, // true or false\r\n\r\n\r\n/**************************************************************************************************/\r\n\r\n\r\n // Error messages.\r\n NAME = '[big.js] ',\r\n INVALID = NAME + 'Invalid ',\r\n INVALID_DP = INVALID + 'decimal places',\r\n INVALID_RM = INVALID + 'rounding mode',\r\n DIV_BY_ZERO = NAME + 'Division by zero',\r\n\r\n // The shared prototype object.\r\n P = {},\r\n UNDEFINED = void 0,\r\n NUMERIC = /^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i;\r\n\r\n\r\n/*\r\n * Create and return a Big constructor.\r\n */\r\nfunction _Big_() {\r\n\r\n /*\r\n * The Big constructor and exported function.\r\n * Create and return a new instance of a Big number object.\r\n *\r\n * n {number|string|Big} A numeric value.\r\n */\r\n function Big(n) {\r\n var x = this;\r\n\r\n // Enable constructor usage without new.\r\n if (!(x instanceof Big)) {\r\n return n === UNDEFINED && arguments.length === 0 ? _Big_() : new Big(n);\r\n }\r\n\r\n\r\n // Duplicate.\r\n if (n instanceof Big) {\r\n x.s = n.s;\r\n x.e = n.e;\r\n x.c = n.c.slice();\r\n } else {\r\n if (typeof n !== 'string') {\r\n if (Big.strict === true && typeof n !== 'bigint') {\r\n throw TypeError(INVALID + 'value');\r\n }\r\n\r\n // Minus zero?\r\n n = n === 0 && 1 / n < 0 ? '-0' : String(n);\r\n }\r\n\r\n parse(x, n);\r\n }\r\n\r\n // Retain a reference to this Big constructor.\r\n // Shadow Big.prototype.constructor which points to Object.\r\n x.constructor = Big;\r\n }\r\n\r\n Big.prototype = P;\r\n Big.DP = DP;\r\n Big.RM = RM;\r\n Big.NE = NE;\r\n Big.PE = PE;\r\n Big.strict = STRICT;\r\n Big.roundDown = 0;\r\n Big.roundHalfUp = 1;\r\n Big.roundHalfEven = 2;\r\n Big.roundUp = 3;\r\n\r\n return Big;\r\n}\r\n\r\n\r\n/*\r\n * Parse the number or string value passed to a Big constructor.\r\n *\r\n * x {Big} A Big number instance.\r\n * n {number|string} A numeric value.\r\n */\r\nfunction parse(x, n) {\r\n var e, i, nl;\r\n\r\n if (!NUMERIC.test(n)) {\r\n throw Error(INVALID + 'number');\r\n }\r\n\r\n // Determine sign.\r\n x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;\r\n\r\n // Decimal point?\r\n if ((e = n.indexOf('.')) > -1) n = n.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = n.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +n.slice(i + 1);\r\n n = n.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = n.length;\r\n }\r\n\r\n nl = n.length;\r\n\r\n // Determine leading zeros.\r\n for (i = 0; i < nl && n.charAt(i) == '0';) ++i;\r\n\r\n if (i == nl) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n\r\n // Determine trailing zeros.\r\n for (; nl > 0 && n.charAt(--nl) == '0';);\r\n x.e = e - i - 1;\r\n x.c = [];\r\n\r\n // Convert string to array of digits without leading/trailing zeros.\r\n for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);\r\n }\r\n\r\n return x;\r\n}\r\n\r\n\r\n/*\r\n * Round Big x to a maximum of sd significant digits using rounding mode rm.\r\n *\r\n * x {Big} The Big to round.\r\n * sd {number} Significant digits: integer, 0 to MAX_DP inclusive.\r\n * rm {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n * [more] {boolean} Whether the result of division was truncated.\r\n */\r\nfunction round(x, sd, rm, more) {\r\n var xc = x.c;\r\n\r\n if (rm === UNDEFINED) rm = x.constructor.RM;\r\n if (rm !== 0 && rm !== 1 && rm !== 2 && rm !== 3) {\r\n throw Error(INVALID_RM);\r\n }\r\n\r\n if (sd < 1) {\r\n more =\r\n rm === 3 && (more || !!xc[0]) || sd === 0 && (\r\n rm === 1 && xc[0] >= 5 ||\r\n rm === 2 && (xc[0] > 5 || xc[0] === 5 && (more || xc[1] !== UNDEFINED))\r\n );\r\n\r\n xc.length = 1;\r\n\r\n if (more) {\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n x.e = x.e - sd + 1;\r\n xc[0] = 1;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n } else if (sd < xc.length) {\r\n\r\n // xc[sd] is the digit after the digit that may be rounded up.\r\n more =\r\n rm === 1 && xc[sd] >= 5 ||\r\n rm === 2 && (xc[sd] > 5 || xc[sd] === 5 &&\r\n (more || xc[sd + 1] !== UNDEFINED || xc[sd - 1] & 1)) ||\r\n rm === 3 && (more || !!xc[0]);\r\n\r\n // Remove any digits after the required precision.\r\n xc.length = sd;\r\n\r\n // Round up?\r\n if (more) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up.\r\n for (; ++xc[--sd] > 9;) {\r\n xc[sd] = 0;\r\n if (sd === 0) {\r\n ++x.e;\r\n xc.unshift(1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (sd = xc.length; !xc[--sd];) xc.pop();\r\n }\r\n\r\n return x;\r\n}\r\n\r\n\r\n/*\r\n * Return a string representing the value of Big x in normal or exponential notation.\r\n * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.\r\n */\r\nfunction stringify(x, doExponential, isNonzero) {\r\n var e = x.e,\r\n s = x.c.join(''),\r\n n = s.length;\r\n\r\n // Exponential notation?\r\n if (doExponential) {\r\n s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;\r\n\r\n // Normal notation.\r\n } else if (e < 0) {\r\n for (; ++e;) s = '0' + s;\r\n s = '0.' + s;\r\n } else if (e > 0) {\r\n if (++e > n) {\r\n for (e -= n; e--;) s += '0';\r\n } else if (e < n) {\r\n s = s.slice(0, e) + '.' + s.slice(e);\r\n }\r\n } else if (n > 1) {\r\n s = s.charAt(0) + '.' + s.slice(1);\r\n }\r\n\r\n return x.s < 0 && isNonzero ? '-' + s : s;\r\n}\r\n\r\n\r\n// Prototype/instance methods\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the absolute value of this Big.\r\n */\r\nP.abs = function () {\r\n var x = new this.constructor(this);\r\n x.s = 1;\r\n return x;\r\n};\r\n\r\n\r\n/*\r\n * Return 1 if the value of this Big is greater than the value of Big y,\r\n * -1 if the value of this Big is less than the value of Big y, or\r\n * 0 if they have the same value.\r\n */\r\nP.cmp = function (y) {\r\n var isneg,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new x.constructor(y)).c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) return !xc[0] ? !yc[0] ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n isneg = i < 0;\r\n\r\n // Compare exponents.\r\n if (k != l) return k > l ^ isneg ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = -1; ++i < j;) {\r\n if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ isneg ? 1 : -1;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,\r\n * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\r\n */\r\nP.div = function (y) {\r\n var x = this,\r\n Big = x.constructor,\r\n a = x.c, // dividend\r\n b = (y = new Big(y)).c, // divisor\r\n k = x.s == y.s ? 1 : -1,\r\n dp = Big.DP;\r\n\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n\r\n // Divisor is zero?\r\n if (!b[0]) {\r\n throw Error(DIV_BY_ZERO);\r\n }\r\n\r\n // Dividend is 0? Return +-0.\r\n if (!a[0]) {\r\n y.s = k;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n var bl, bt, n, cmp, ri,\r\n bz = b.slice(),\r\n ai = bl = b.length,\r\n al = a.length,\r\n r = a.slice(0, bl), // remainder\r\n rl = r.length,\r\n q = y, // quotient\r\n qc = q.c = [],\r\n qi = 0,\r\n p = dp + (q.e = x.e - y.e) + 1; // precision of the result\r\n\r\n q.s = k;\r\n k = p < 0 ? 0 : p;\r\n\r\n // Create version of divisor with leading zero.\r\n bz.unshift(0);\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; rl++ < bl;) r.push(0);\r\n\r\n do {\r\n\r\n // n is how many times the divisor goes into current remainder.\r\n for (n = 0; n < 10; n++) {\r\n\r\n // Compare divisor and remainder.\r\n if (bl != (rl = r.length)) {\r\n cmp = bl > rl ? 1 : -1;\r\n } else {\r\n for (ri = -1, cmp = 0; ++ri < bl;) {\r\n if (b[ri] != r[ri]) {\r\n cmp = b[ri] > r[ri] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // If divisor < remainder, subtract divisor from remainder.\r\n if (cmp < 0) {\r\n\r\n // Remainder can't be more than 1 digit longer than divisor.\r\n // Equalise lengths using divisor with extra leading zero?\r\n for (bt = rl == bl ? b : bz; rl;) {\r\n if (r[--rl] < bt[rl]) {\r\n ri = rl;\r\n for (; ri && !r[--ri];) r[ri] = 9;\r\n --r[ri];\r\n r[rl] += 10;\r\n }\r\n r[rl] -= bt[rl];\r\n }\r\n\r\n for (; !r[0];) r.shift();\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n // Add the digit n to the result array.\r\n qc[qi++] = cmp ? n : ++n;\r\n\r\n // Update the remainder.\r\n if (r[0] && cmp) r[rl] = a[ai] || 0;\r\n else r = [a[ai]];\r\n\r\n } while ((ai++ < al || r[0] !== UNDEFINED) && k--);\r\n\r\n // Leading zero? Do not remove if result is simply zero (qi == 1).\r\n if (!qc[0] && qi != 1) {\r\n\r\n // There can't be more than one zero.\r\n qc.shift();\r\n q.e--;\r\n p--;\r\n }\r\n\r\n // Round?\r\n if (qi > p) round(q, p, Big.RM, r[0] !== UNDEFINED);\r\n\r\n return q;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is equal to the value of Big y, otherwise return false.\r\n */\r\nP.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is greater than the value of Big y, otherwise return\r\n * false.\r\n */\r\nP.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise\r\n * return false.\r\n */\r\nP.gte = function (y) {\r\n return this.cmp(y) > -1;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is less than the value of Big y, otherwise return false.\r\n */\r\nP.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is less than or equal to the value of Big y, otherwise\r\n * return false.\r\n */\r\nP.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big minus the value of Big y.\r\n */\r\nP.minus = P.sub = function (y) {\r\n var i, j, t, xlty,\r\n x = this,\r\n Big = x.constructor,\r\n a = x.s,\r\n b = (y = new Big(y)).s;\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xc = x.c.slice(),\r\n xe = x.e,\r\n yc = y.c,\r\n ye = y.e;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n if (yc[0]) {\r\n y.s = -b;\r\n } else if (xc[0]) {\r\n y = new Big(x);\r\n } else {\r\n y.s = 1;\r\n }\r\n return y;\r\n }\r\n\r\n // Determine which is the bigger number. Prepend zeros to equalise exponents.\r\n if (a = xe - ye) {\r\n\r\n if (xlty = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n for (b = a; b--;) t.push(0);\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = ((xlty = xc.length < yc.length) ? xc : yc).length;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n if (xc[b] != yc[b]) {\r\n xlty = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xlty) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n /*\r\n * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only\r\n * needs to start at yc.length.\r\n */\r\n if ((b = (j = yc.length) - (i = xc.length)) > 0) for (; b--;) xc[i++] = 0;\r\n\r\n // Subtract yc from xc.\r\n for (b = i; j > a;) {\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i];) xc[i] = 9;\r\n --xc[i];\r\n xc[j] += 10;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--b] === 0;) xc.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] === 0;) {\r\n xc.shift();\r\n --ye;\r\n }\r\n\r\n if (!xc[0]) {\r\n\r\n // n - n = +0\r\n y.s = 1;\r\n\r\n // Result must be zero.\r\n xc = [ye = 0];\r\n }\r\n\r\n y.c = xc;\r\n y.e = ye;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big modulo the value of Big y.\r\n */\r\nP.mod = function (y) {\r\n var ygtx,\r\n x = this,\r\n Big = x.constructor,\r\n a = x.s,\r\n b = (y = new Big(y)).s;\r\n\r\n if (!y.c[0]) {\r\n throw Error(DIV_BY_ZERO);\r\n }\r\n\r\n x.s = y.s = 1;\r\n ygtx = y.cmp(x) == 1;\r\n x.s = a;\r\n y.s = b;\r\n\r\n if (ygtx) return new Big(x);\r\n\r\n a = Big.DP;\r\n b = Big.RM;\r\n Big.DP = Big.RM = 0;\r\n x = x.div(y);\r\n Big.DP = a;\r\n Big.RM = b;\r\n\r\n return this.minus(x.times(y));\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big negated.\r\n */\r\nP.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return x;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big plus the value of Big y.\r\n */\r\nP.plus = P.add = function (y) {\r\n var e, k, t,\r\n x = this,\r\n Big = x.constructor;\r\n\r\n y = new Big(y);\r\n\r\n // Signs differ?\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e,\r\n xc = x.c,\r\n ye = y.e,\r\n yc = y.c;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n if (!yc[0]) {\r\n if (xc[0]) {\r\n y = new Big(x);\r\n } else {\r\n y.s = x.s;\r\n }\r\n }\r\n return y;\r\n }\r\n\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents.\r\n // Note: reverse faster than unshifts.\r\n if (e = xe - ye) {\r\n if (e > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n e = -e;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; e--;) t.push(0);\r\n t.reverse();\r\n }\r\n\r\n // Point xc to the longer array.\r\n if (xc.length - yc.length < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n }\r\n\r\n e = yc.length;\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.\r\n for (k = 0; e; xc[e] %= 10) k = (xc[--e] = xc[e] + yc[e] + k) / 10 | 0;\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n\r\n if (k) {\r\n xc.unshift(k);\r\n ++ye;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (e = xc.length; xc[--e] === 0;) xc.pop();\r\n\r\n y.c = xc;\r\n y.e = ye;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a Big whose value is the value of this Big raised to the power n.\r\n * If n is negative, round to a maximum of Big.DP decimal places using rounding\r\n * mode Big.RM.\r\n *\r\n * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.\r\n */\r\nP.pow = function (n) {\r\n var x = this,\r\n one = new x.constructor('1'),\r\n y = one,\r\n isneg = n < 0;\r\n\r\n if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) {\r\n throw Error(INVALID + 'exponent');\r\n }\r\n\r\n if (isneg) n = -n;\r\n\r\n for (;;) {\r\n if (n & 1) y = y.times(x);\r\n n >>= 1;\r\n if (!n) break;\r\n x = x.times(x);\r\n }\r\n\r\n return isneg ? one.div(y) : y;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big rounded to a maximum precision of sd\r\n * significant digits using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.prec = function (sd, rm) {\r\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\r\n throw Error(INVALID + 'precision');\r\n }\r\n return round(new this.constructor(this), sd, rm);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big rounded to a maximum of dp decimal places\r\n * using rounding mode rm, or Big.RM if rm is not specified.\r\n * If dp is negative, round to an integer which is a multiple of 10**-dp.\r\n * If dp is not specified, round to 0 decimal places.\r\n *\r\n * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.round = function (dp, rm) {\r\n if (dp === UNDEFINED) dp = 0;\r\n else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n return round(new this.constructor(this), dp + this.e + 1, rm);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the square root of the value of this Big, rounded, if\r\n * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\r\n */\r\nP.sqrt = function () {\r\n var r, c, t,\r\n x = this,\r\n Big = x.constructor,\r\n s = x.s,\r\n e = x.e,\r\n half = new Big('0.5');\r\n\r\n // Zero?\r\n if (!x.c[0]) return new Big(x);\r\n\r\n // Negative?\r\n if (s < 0) {\r\n throw Error(NAME + 'No square root');\r\n }\r\n\r\n // Estimate.\r\n s = Math.sqrt(+stringify(x, true, true));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.\r\n if (s === 0 || s === 1 / 0) {\r\n c = x.c.join('');\r\n if (!(c.length + e & 1)) c += '0';\r\n s = Math.sqrt(c);\r\n e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);\r\n r = new Big((s == 1 / 0 ? '5e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);\r\n } else {\r\n r = new Big(s + '');\r\n }\r\n\r\n e = r.e + (Big.DP += 4);\r\n\r\n // Newton-Raphson iteration.\r\n do {\r\n t = r;\r\n r = half.times(t.plus(x.div(t)));\r\n } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));\r\n\r\n return round(r, (Big.DP -= 4) + r.e + 1, Big.RM);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big times the value of Big y.\r\n */\r\nP.times = P.mul = function (y) {\r\n var c,\r\n x = this,\r\n Big = x.constructor,\r\n xc = x.c,\r\n yc = (y = new Big(y)).c,\r\n a = xc.length,\r\n b = yc.length,\r\n i = x.e,\r\n j = y.e;\r\n\r\n // Determine sign of result.\r\n y.s = x.s == y.s ? 1 : -1;\r\n\r\n // Return signed 0 if either 0.\r\n if (!xc[0] || !yc[0]) {\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // Initialise exponent of result as x.e + y.e.\r\n y.e = i + j;\r\n\r\n // If array xc has fewer digits than yc, swap xc and yc, and lengths.\r\n if (a < b) {\r\n c = xc;\r\n xc = yc;\r\n yc = c;\r\n j = a;\r\n a = b;\r\n b = j;\r\n }\r\n\r\n // Initialise coefficient array of result with zeros.\r\n for (c = new Array(j = a + b); j--;) c[j] = 0;\r\n\r\n // Multiply.\r\n\r\n // i is initially xc.length.\r\n for (i = b; i--;) {\r\n b = 0;\r\n\r\n // a is yc.length.\r\n for (j = a + i; j > i;) {\r\n\r\n // Current sum of products at this digit position, plus carry.\r\n b = c[j] + yc[i] * xc[j - i - 1] + b;\r\n c[j--] = b % 10;\r\n\r\n // carry\r\n b = b / 10 | 0;\r\n }\r\n\r\n c[j] = b;\r\n }\r\n\r\n // Increment result exponent if there is a final carry, otherwise remove leading zero.\r\n if (b) ++y.e;\r\n else c.shift();\r\n\r\n // Remove trailing zeros.\r\n for (i = c.length; !c[--i];) c.pop();\r\n y.c = c;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big in exponential notation rounded to dp fixed\r\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.toExponential = function (dp, rm) {\r\n var x = this,\r\n n = x.c[0];\r\n\r\n if (dp !== UNDEFINED) {\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n x = round(new x.constructor(x), ++dp, rm);\r\n for (; x.c.length < dp;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, true, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big in normal notation rounded to dp fixed\r\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n */\r\nP.toFixed = function (dp, rm) {\r\n var x = this,\r\n n = x.c[0];\r\n\r\n if (dp !== UNDEFINED) {\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n x = round(new x.constructor(x), dp + x.e + 1, rm);\r\n\r\n // x.e may have changed if the value is rounded up.\r\n for (dp = dp + x.e + 1; x.c.length < dp;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, false, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big.\r\n * Return exponential notation if this Big has a positive exponent equal to or greater than\r\n * Big.PE, or a negative exponent equal to or less than Big.NE.\r\n * Omit the sign for negative zero.\r\n */\r\nP.toJSON = P.toString = function () {\r\n var x = this,\r\n Big = x.constructor;\r\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, !!x.c[0]);\r\n};\r\n\r\nif (typeof Symbol !== \"undefined\") {\r\n P[Symbol.for('nodejs.util.inspect.custom')] = P.toJSON;\r\n}\r\n\r\n\r\n/*\r\n * Return the value of this Big as a primitive number.\r\n */\r\nP.toNumber = function () {\r\n var n = +stringify(this, true, true);\r\n if (this.constructor.strict === true && !this.eq(n.toString())) {\r\n throw Error(NAME + 'Imprecise conversion');\r\n }\r\n return n;\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big rounded to sd significant digits using\r\n * rounding mode rm, or Big.RM if rm is not specified.\r\n * Use exponential notation if sd is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.toPrecision = function (sd, rm) {\r\n var x = this,\r\n Big = x.constructor,\r\n n = x.c[0];\r\n\r\n if (sd !== UNDEFINED) {\r\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\r\n throw Error(INVALID + 'precision');\r\n }\r\n x = round(new Big(x), sd, rm);\r\n for (; x.c.length < sd;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, sd <= x.e || x.e <= Big.NE || x.e >= Big.PE, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big.\r\n * Return exponential notation if this Big has a positive exponent equal to or greater than\r\n * Big.PE, or a negative exponent equal to or less than Big.NE.\r\n * Include the sign for negative zero.\r\n */\r\nP.valueOf = function () {\r\n var x = this,\r\n Big = x.constructor;\r\n if (Big.strict === true) {\r\n throw Error(NAME + 'valueOf disallowed');\r\n }\r\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, true);\r\n};\r\n\r\n\r\n// Export\r\n\r\n\r\nexport var Big = _Big_();\r\n\r\n/// <reference types=\"https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/master/types/big.js/index.d.ts\" />\r\nexport default Big;\r\n","/**\n * An error that occurs when a task violates a logical condition that is assumed to be true at all times.\n */\nexport class InvariantError extends Error {\n name = 'InvariantError' as const;\n}\n\n/**\n * Asserts that the given condition is truthy\n * @internal\n *\n * @param condition - Either truthy or falsy value\n * @param message - An error message\n */\nexport function invariant(\n condition: unknown,\n message: string,\n): asserts condition {\n if (!condition) {\n throw new InvariantError(message);\n }\n}\n","import type { NonEmptyTuple, UnknownRecord } from 'type-fest';\n\nexport type { NonEmptyTuple, UnknownRecord };\n\nexport function isObject(value: unknown): value is UnknownRecord {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/**\n * Checks if the given array is a non-empty array.\n */\nexport function isNonEmptyArray<T>(\n value: readonly T[],\n): value is NonEmptyTuple<T> {\n return value.length > 0;\n}\n\n/**\n * Checks if the given array is a one-entry array.\n */\nexport function isOneEntryArray<T>(value: readonly T[]): value is [T] {\n return value.length === 1;\n}\n","import type { Err, Ok, Result } from 'neverthrow';\nimport { InvariantError } from './invariant';\nimport { isObject } from './typeguards';\n\nexport function assertError(error: unknown): asserts error is Error {\n // why not `error instanceof Error`? see https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1099\n // biome-ignore lint/suspicious/noPrototypeBuiltins: safe\n if (!isObject(error) || !Error.prototype.isPrototypeOf(error)) {\n throw error;\n }\n}\n\n/**\n * Exhaustiveness checking for union and enum types\n * see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#exhaustiveness-checking\n */\nexport function assertNever(\n x: never,\n message = `Unexpected object: ${String(x)}`,\n): never {\n throw new InvariantError(message);\n}\n\n/**\n * Asserts that the given `Result<T, E>` is an `Ok<T, never>` variant.\n */\nexport function assertOk<T, E extends Error>(\n result: Result<T, E>,\n): asserts result is Ok<T, E> {\n if (result.isErr()) {\n throw new InvariantError(\n `Expected result to be Ok: ${result.error.message}`,\n );\n }\n}\n\n/**\n * Asserts that the given `Result<T, E>` is an `Err<never, E>` variant.\n */\nexport function assertErr<T, E extends Error>(\n result: Result<T, E>,\n): asserts result is Err<T, E> {\n if (result.isOk()) {\n throw new InvariantError(`Expected result to be Err: ${result.value}`);\n }\n}\n\n/**\n * Asserts that the given value is not `null`.\n */\nexport function assertNotNull<T>(value: T): asserts value is Exclude<T, null> {\n if (value === null) {\n throw new InvariantError('Expected value to be not null');\n }\n}\n","/**\n * Unwraps the promise to allow resolving/rejecting outside the Promise constructor\n */\nexport class Deferred<T = void> {\n readonly promise: Promise<T>;\n resolve!: (value: T) => void;\n reject!: (reason?: unknown) => void;\n\n constructor() {\n this.promise = new Promise<T>((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","/**\n * The identity function returns the input value unchanged.\n *\n * @typeParam T - The type of the input and output.\n * @param value - The value to return.\n * @returns The same value that was passed in.\n */\nexport function identity<T>(value: T): T {\n return value;\n}\n\n/**\n * Alias for the {@link identity} function.\n */\nexport const passthrough = identity;\n","import { InvariantError } from './invariant';\n\nexport function never(message = 'Unexpected call to never()'): never {\n throw new InvariantError(message);\n}\n","import { InvariantError } from './invariant';\n\n/**\n * Refinement function to check if a value is not null or undefined.\n */\nexport function nonNullable<T>(value: T): Exclude<T, null | undefined> {\n if (value === null || value === undefined) {\n throw new InvariantError('Value should not be null or undefined');\n }\n return value as Exclude<T, null | undefined>;\n}\n\n/**\n * Creates a refinement function to check if a value has a specific `__typename` in a union of types with `__typename`.\n */\nexport function expectTypename<\n T extends { __typename: string },\n Name extends T['__typename'],\n>(typename: Name) {\n return (value: T): Extract<T, { __typename: Name }> => {\n if (value.__typename !== typename) {\n throw new InvariantError(\n `Expected __typename to be \"${typename}\", but got \"${value.__typename}\"`,\n );\n }\n return value as Extract<T, { __typename: Name }>;\n };\n}\n","import type { Tagged } from 'type-fest';\nimport { invariant } from './helpers';\n\n/**\n * A string that represents a hex value with a `0x` prefix.\n */\nexport type HexString = `0x${string}`;\n\n/**\n * Validates whether a given value is a valid hex string with a `0x` prefix.\n */\nexport function isValidHexString(value: string): value is HexString {\n return /^0x[a-fA-F0-9]+$/.test(value);\n}\n\n/**\n * Creates a hex string from a given value.\n */\nexport function hexString<T extends string = HexString>(value: string): T {\n invariant(\n isValidHexString(value),\n `Expected a valid hex string, but got: ${value}`,\n );\n return value as T;\n}\n\n/**\n * An EVM address.\n */\nexport type EvmAddress = Tagged<HexString, 'EvmAddress'>;\n\n/**\n * Creates an EVM address from a given value.\n */\nexport function evmAddress(value: string) {\n invariant(value.length === 42, `EvmAddress: invalid length ${value.length}`);\n return hexString<EvmAddress>(value);\n}\n\n/**\n * RLP-encoded blockchain data.\n */\nexport type BlockchainData = Tagged<HexString, 'BlockchainData'>;\nexport const blockchainData = hexString<BlockchainData>;\n\n/**\n * A signature.\n */\nexport type Signature = Tagged<HexString, 'Signature'>;\nexport const signatureFrom = hexString<Signature>;\n\n/**\n * Type guard for a Signature.\n */\nexport function isSignature(value: unknown): value is Signature {\n return typeof value === 'string' && isValidHexString(value);\n}\n\n/**\n * A transaction hash.\n */\nexport type TxHash = Tagged<HexString, 'TxHash'>;\nexport const txHash = hexString<TxHash>;\n","import { evmAddress } from './hex';\n\nexport const ZERO_ADDRESS = evmAddress(\n '0x0000000000000000000000000000000000000000',\n);\n","import { err, errAsync, type Result, type ResultAsync } from 'neverthrow';\nimport { isObject } from './helpers';\n\nexport class ResultAwareError extends Error {\n /**\n * @internal\n */\n asResultAsync(): ResultAsync<never, typeof this> {\n return errAsync(this);\n }\n\n /**\n * @internal\n */\n asResult(): Result<never, typeof this> {\n return err(this);\n }\n\n /**\n * @internal\n */\n static from<T extends typeof ResultAwareError>(\n this: T,\n message: string,\n ): InstanceType<T>;\n static from<T extends typeof ResultAwareError>(\n this: T,\n cause: unknown,\n ): InstanceType<T>;\n static from<T extends typeof ResultAwareError>(\n this: T,\n args: unknown,\n ): InstanceType<T> {\n if (args instanceof Error) {\n // biome-ignore lint/complexity/noThisInStatic: intentional\n const message = this.formatMessage(args);\n // biome-ignore lint/complexity/noThisInStatic: intentional\n return new this(message, { cause: args }) as InstanceType<T>;\n }\n\n if (isObject(args) && 'message' in args) {\n // biome-ignore lint/complexity/noThisInStatic: intentional\n return new this(String(args.message)) as InstanceType<T>;\n }\n\n // biome-ignore lint/complexity/noThisInStatic: intentional\n return new this(String(args)) as InstanceType<T>;\n }\n\n static is<T extends typeof ResultAwareError>(\n this: T,\n error: unknown,\n ): error is InstanceType<T> {\n // biome-ignore lint/complexity/noThisInStatic: intentional\n return error instanceof this;\n }\n\n private static formatMessage(cause: Error): string {\n const messages: string[] = [];\n let currentError: unknown = cause;\n\n while (currentError instanceof Error) {\n if ('errors' in currentError && Array.isArray(currentError.errors)) {\n // Handle AggregateError\n const inner = currentError.errors.map((e: unknown) =>\n e instanceof Error ? e.message : String(e),\n );\n messages.push(inner.join(', '));\n } else {\n messages.push(currentError.message);\n }\n currentError = currentError.cause;\n }\n\n return messages.join(' due to ');\n }\n}\n","import { InvariantError } from './helpers';\nimport type { Override } from './misc';\n\n/**\n * @internal\n */\nexport type AnySelectionSet = object;\n\ndeclare const OpaqueTypenameSymbol: unique symbol;\n\n/**\n * @internal\n */\nexport type OpaqueTypename = { [OpaqueTypenameSymbol]: 'OpaqueTypename' };\n\n/**\n * @internal\n */\nexport type AnyVariables = Record<string, unknown>;\n\n/**\n * @internal\n */\nexport type TypedSelectionSet<TTypename extends string = string> = {\n __typename: TTypename;\n};\n\n/*\n * Asserts that the node is of a specific type in a union.\n *\n * ```ts\n * type A = { __typename: 'A', a: string };\n * type B = { __typename: 'B', b: string };\n *\n * const node: A | B = { __typename: 'A', a: 'a' };\n *\n * assertTypename(node, 'A');\n *\n * console.log(node.a); // OK\n * ```\n *\n * @param node - The node to assert the typename of\n * @param typename - The expected typename\n */\nexport function assertTypename<Typename extends string>(\n node: TypedSelectionSet,\n typename: Typename,\n): asserts node is TypedSelectionSet<Typename> {\n if (node.__typename !== typename) {\n throw new InvariantError(\n `Expected node to have typename \"${typename}\", but got \"${node.__typename}\"`,\n );\n }\n}\n\n/**\n * Given a union with a `__typename` discriminant,\n * add an extra \"opaque\" member so switches can't be exhaustive.\n *\n * Intersects opaque properties with base union members, then adds an opaque\n * union member with `__typename: OpaqueTypename` to prevent exhaustive checking\n * while preserving narrowing behavior.\n *\n * @internal\n */\nexport type ExtendWithOpaqueType<T extends { __typename: string }> =\n | T\n | Override<T, { __typename: OpaqueTypename }>;\n\n/**\n * @internal\n */\nexport function extendWithOpaqueType<T extends { __typename: string }>(\n node: T,\n): ExtendWithOpaqueType<T> {\n return node;\n}\n","import { Big } from 'big.js';\nimport type { Tagged } from 'type-fest';\nimport { InvariantError, invariant } from './helpers';\n\nBig.strict = true;\n\n/**\n * Valid input types for BigDecimal operations.\n */\nexport type BigDecimalSource = string | number | bigint | BigDecimal;\n\n/**\n * Rounding mode for BigDecimal operations.\n */\nexport enum RoundingMode {\n /**\n * Rounds towards zero (truncate, no rounding).\n */\n Down = 0,\n /**\n * Rounds towards nearest neighbor; if equidistant, rounds away from zero.\n */\n HalfUp = 1,\n /**\n * Rounds towards nearest neighbor; if equidistant, rounds towards even neighbor.\n */\n HalfEven = 2,\n /**\n * Rounds away from zero.\n */\n Up = 3,\n}\n\n/**\n * A high precision decimal number built on top of `big.js` library.\n */\nexport class BigDecimal {\n private readonly value: Big;\n\n private static readonly MAX_VAL = BigDecimal.new(Number.MAX_VALUE.toString()); // ≈ 1.7976931348623157e+308\n private static readonly MIN_VAL = BigDecimal.new(Number.MIN_VALUE.toString()); // ≈ 5e-324 (smallest positive subnormal)\n\n private constructor(value: Big.BigSource) {\n this.value = new Big(value);\n }\n\n /**\n * Throws an error to prevent implicit conversion to a number.\n */\n valueOf(): string {\n try {\n return this.value.valueOf();\n } catch (error) {\n throw new InvariantError('BigDecimal cannot be converted to a number', {\n cause: error,\n });\n }\n }\n\n /**\n * Throws an error to prevent conversion to a number.\n *\n * If you need a JS Number, and your can afford precision loss, use `toApproximateNumber()` instead.\n */\n toNumber(): number {\n throw new InvariantError('BigDecimal cannot be converted to a number');\n }\n\n /**\n * Returns a BigDecimal whose value is the absolute value, i.e. the magnitude, of this BigDecimal.\n */\n abs(): BigDecimal {\n return new BigDecimal(this.value.abs());\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal plus n - alias for .plus().\n *\n * @throws `NaN` if n is invalid.\n */\n add(n: BigDecimalSource): BigDecimal {\n return new BigDecimal(this.value.add(this.toBigSource(n)));\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal divided by n.\n *\n * @throws `NaN` if n is invalid.\n * @throws `±Infinity` on division by zero.\n * @throws `NaN` on division of zero by zero.\n */\n div(n: BigDecimalSource): BigDecimal {\n return new BigDecimal(this.value.div(this.toBigSource(n)));\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal minus n.\n *\n * @throws `NaN` if n is invalid.\n */\n minus(n: BigDecimalSource): BigDecimal {\n return new BigDecimal(this.value.minus(this.toBigSource(n)));\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal modulo n, i.e. the integer remainder of dividing this BigDecimal by n.\n *\n * The result will have the same sign as this BigDecimal, and it will match that of Javascript's % operator (within the limits of its precision) and BigDecimal's remainder method.\n *\n * @throws `NaN` if n is negative or otherwise invalid.\n */\n mod(n: BigDecimalSource): BigDecimal {\n return new BigDecimal(this.value.mod(this.toBigSource(n)));\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal times n - alias for .times().\n *\n * @throws `NaN` if n is invalid.\n */\n mul(n: BigDecimalSource): BigDecimal {\n return new BigDecimal(this.value.mul(this.toBigSource(n)));\n }\n\n /**\n * Return a new BigDecimal whose value is the value of this BigDecimal negated.\n */\n neg(): BigDecimal {\n return new BigDecimal(this.value.neg());\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal plus n.\n *\n * @throws `NaN` if n is invalid.\n */\n plus(n: BigDecimalSource): BigDecimal {\n return new BigDecimal(this.value.plus(this.toBigSource(n)));\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal raised to the power exp.\n *\n * @param exp The power to raise the number to, -1e+6 to 1e+6 inclusive\n * @throws Error if exp is invalid.\n *\n * Note: High value exponents may cause this method to be slow to return.\n */\n pow(exp: number): BigDecimal {\n return new BigDecimal(this.value.pow(exp));\n }\n\n /**\n * Return a new BigDecimal whose value is the value of this BigDecimal rounded to a maximum precision of sd\n * significant digits using rounding mode rm.\n *\n * @param sd Significant digits: integer, 1 to MAX_DP inclusive.\n * @param rm Rounding mode: RoundingMode.Down (0), RoundingMode.HalfUp (1), RoundingMode.HalfEven (2), or RoundingMode.Up (3).\n * @throws Error if sd is invalid.\n * @throws Error if rm is invalid.\n */\n prec(sd: number, rm?: RoundingMode): BigDecimal {\n return new BigDecimal(this.value.prec(sd, rm));\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal rounded using rounding mode rm to a maximum of dp decimal places.\n *\n * @param dp Decimal places, 0 to 1e+6 inclusive\n * @param rm Rounding mode: RoundingMode.Down (0), RoundingMode.HalfUp (1), RoundingMode.HalfEven (2), or RoundingMode.Up (3).\n * @throws Error if dp is invalid.\n * @throws Error if rm is invalid.\n */\n round(dp?: number, rm?: RoundingMode): BigDecimal {\n return new BigDecimal(this.value.round(dp, rm));\n }\n\n /**\n * Returns a BigDecimal whose value is the square root of this BigDecimal.\n *\n * @throws `NaN` if this BigDecimal is negative.\n */\n sqrt(): BigDecimal {\n return new BigDecimal(this.value.sqrt());\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal minus n - alias for .minus().\n *\n * @throws `NaN` if n is invalid.\n */\n sub(n: BigDecimalSource): BigDecimal {\n return new BigDecimal(this.value.sub(this.toBigSource(n)));\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal times n.\n *\n * @throws `NaN` if n is invalid.\n */\n times(n: BigDecimalSource): BigDecimal {\n return new BigDecimal(this.value.times(this.toBigSource(n)));\n }\n\n /**\n * Compare the values.\n *\n * @returns 1 if this BigDecimal is greater than n, 0 if equal, -1 if less than n.\n * @throws `NaN` if n is invalid.\n */\n cmp(n: BigDecimalSource): Big.Comparison {\n return this.value.cmp(this.toBigSource(n));\n }\n\n /**\n * Returns true if the value of this BigDecimal equals the value of n, otherwise returns false.\n *\n * @throws `NaN` if n is invalid.\n */\n eq(n: BigDecimalSource): boolean {\n return this.value.eq(this.toBigSource(n));\n }\n\n /**\n * Returns true if the value of this BigDecimal is greater than the value of n, otherwise returns false.\n *\n * @throws `NaN` if n is invalid.\n */\n gt(n: BigDecimalSource): boolean {\n return this.value.gt(this.toBigSource(n));\n }\n\n /**\n * Returns true if the value of this BigDecimal is greater than or equal to the value of n, otherwise returns false.\n *\n * @throws `NaN` if n is invalid.\n */\n gte(n: BigDecimalSource): boolean {\n return this.value.gte(this.toBigSource(n));\n }\n\n /**\n * Returns true if the value of this BigDecimal is less than the value of n, otherwise returns false.\n *\n * @throws `NaN` if n is invalid.\n */\n lt(n: BigDecimalSource): boolean {\n return this.value.lt(this.toBigSource(n));\n }\n\n /**\n * Returns true if the value of this BigDecimal is less than or equal to the value of n, otherwise returns false.\n *\n * @throws `NaN` if n is invalid.\n */\n lte(n: BigDecimalSource): boolean {\n return this.value.lte(this.toBigSource(n));\n }\n\n /**\n * Returns a string representing the value of this BigDecimal in exponential notation to a fixed number of decimal places dp.\n *\n * @param dp Decimal places, 0 to 1e+6 inclusive\n * @param rm Rounding mode: RoundingMode.Down (0), RoundingMode.HalfUp (1), RoundingMode.HalfEven (2), or RoundingMode.Up (3).\n * @throws Error if dp is invalid.\n */\n toExponential(dp?: number, rm?: RoundingMode): string {\n return this.value.toExponential(dp, rm);\n }\n\n /**\n * Returns a string representing the value of this BigDecimal in normal notation to a fixed number of decimal places dp.\n *\n * @param dp Decimal places, 0 to 1e+6 inclusive\n * @param rm Rounding mode: RoundingMode.Down (0), RoundingMode.HalfUp (1), RoundingMode.HalfEven (2), or RoundingMode.Up (3).\n * @throws Error if dp is invalid.\n */\n toFixed(dp?: number, rm?: RoundingMode): string {\n return this.value.toFixed(dp, rm);\n }\n\n /**\n * Returns a string representing the value of this BigDecimal to the specified number of significant digits sd.\n *\n * @param sd Significant digits, 1 to 1e+6 inclusive\n * @param rm Rounding mode: RoundingMode.Down (0), RoundingMode.HalfUp (1), RoundingMode.HalfEven (2), or RoundingMode.Up (3).\n * @throws Error if sd is invalid.\n */\n toPrecision(sd?: number, rm?: RoundingMode): string {\n return this.value.toPrecision(sd, rm);\n }\n\n /**\n * Returns a string representing the value of this BigDecimal.\n *\n * If this BigDecimal has a positive exponent that is equal to or greater than 21, or a negative exponent equal to or less than -7, then exponential notation is returned.\n */\n toString(): string {\n return this.value.toString();\n }\n\n /**\n * Returns a string representing the value of this BigDecimal.\n *\n * This method is used by JSON.stringify() to serialize BigDecimal values.\n */\n toJSON(): string {\n return this.value.toFixed();\n }\n\n /**\n * Returns a BigDecimal whose value is the value of this BigDecimal multiplied by 10^decimals.\n *\n * @param decimals The number of decimal places to scale by (can be negative to scale down).\n */\n public rescale(decimals: number): BigDecimal {\n return this.mul(10 ** decimals);\n }\n\n /**\n * Returns a formatted string representation of this BigDecimal for display purposes.\n *\n * The precision behavior adapts based on the number's magnitude:\n * - For numbers >= 1: Always displays the full integer part, with decimal precision\n * controlled by the precision parameter (representing orders of magnitude for decimals).\n * - For numbers < 1: Uses traditional significant figures behavior.\n *\n * @param precision - Precision control parameter.\n * For numbers >= 1: Total digits to display (integer + decimal).\n * For numbers < 1: Number of significant figures.\n * @param opts - Optional formatting options.\n * @param opts.rounding - The rounding mode to apply (default: RoundingMode.HalfUp).\n * @param opts.minFractionDigits - The minimum number of digits to display\n * after the decimal point (default: 0).\n * @param opts.trimTrailingZeros - When true, removes trailing zeros after\n * the decimal point for a cleaner display (default: false).\n *\n * @returns A string representing the rounded and formatted number.\n */\n public toDisplayString(\n precision: number,\n opts?: {\n rounding?: RoundingMode;\n minFractionDigits?: number;\n trimTrailingZeros?: boolean;\n },\n ): string {\n const {\n rounding = RoundingMode.HalfUp,\n minFractionDigits = 0,\n trimTrailingZeros = false,\n } = opts ?? {};\n\n if (this.eq(0)) {\n return minFractionDigits > 0 ? `0.${'0'.repeat(minFractionDigits)}` : '0';\n }\n\n const rounded = this.applyPrecisionWithMinFractionDigits(\n precision,\n minFractionDigits,\n rounding,\n );\n\n return this.formatDecimalString(\n rounded,\n minFractionDigits,\n trimTrailingZeros,\n );\n }\n\n /**\n * Returns a JavaScript `number` approximation of this BigDecimal, safely clamped\n * within the finite range of representable values.\n *\n * This method performs a best-effort conversion to a native `number` while ensuring\n * that:\n * - Values larger than `Number.MAX_VALUE` are clamped to `Number.MAX_VALUE`.\n * - Values smaller than `-Number.MAX_VALUE` are clamped to `-Number.MAX_VALUE`.\n * - Subnormal magnitudes smaller than `Number.MIN_VALUE` are rounded to `0` (preserving sign).\n *\n * Use this method only when precision loss is acceptable — for example, when displaying\n * approximate numeric values or interfacing with APIs that require `number` types.\n *\n * @returns A finite `number` approximation of this BigDecimal.\n *\n * @example\n * ```ts\n * const x = bigDecimal('1e500');\n * x.toApproximateNumber(); // → 1.7976931348623157e+308 (clamped)\n *\n * const y = bigDecimal('0.0000000000000000000000000000001');\n * y.toApproximateNumber(); // → 0\n *\n * const z = bigDecimal('123.456');\n * z.toApproximateNumber(); // → 123.456\n * ```\n */\n public toApproximateNumber(): number {\n if (this.gt(BigDecimal.MAX_VAL)) return Number.MAX_VALUE;\n if (this.lt(BigDecimal.MAX_VAL.times(-1))) return -Number.MAX_VALUE;\n\n // subnormal underflow -> preserve sign as -0 when negative\n if (this.abs().lt(BigDecimal.MIN_VAL)) return this.lt('0') ? -0 : 0;\n\n return Number(this.toString());\n }\n\n /**\n * @internal\n */\n static new(value: string): BigDecimal {\n try {\n return new BigDecimal(value);\n } catch (error) {\n throw new InvariantError('Invalid value for BigDecimal', {\n cause: error,\n });\n }\n }\n\n static isBigDecimal(value: unknown): value is BigDecimal {\n return value instanceof BigDecimal;\n }\n\n /**\n * Returns the minimum value from the provided BigDecimal values.\n *\n * @param first - The first value to compare.\n * @param second - The second value to compare.\n * @param others - The other values to compare.\n * @returns The minimum value.\n */\n static min(\n first: BigDecimal,\n second: BigDecimal,\n ...others: BigDecimal[]\n ): BigDecimal {\n return [second, ...others].reduce<BigDecimal>((min, current) => {\n return min.lt(current) ? min : current;\n }, first);\n }\n\n /**\n * Returns the maximum value from the provided BigDecimal values.\n *\n * @param first - The first value to compare.\n * @param second - The second value to compare.\n * @param others - The other values to compare.\n * @returns The maximum value.\n */\n static max(\n first: BigDecimal,\n second: BigDecimal,\n ...others: BigDecimal[]\n ): BigDecimal {\n return [second, ...others].reduce<BigDecimal>((max, current) => {\n return max.gt(current) ? max : current;\n }, first);\n }\n\n /**\n * Converts BigDecimalSource to Big.BigSource for passing to super methods.\n */\n private toBigSource(n: BigDecimalSource): Big.BigSource {\n switch (typeof n) {\n case 'bigint':\n return n.toString();\n case 'number':\n return n.toString();\n case 'string':\n return n;\n default:\n return n.toFixed();\n }\n }\n\n private getIntegerDigitCount(): number {\n const absStr = this.abs().toFixed();\n const [integerPart] = absStr.split('.');\n return integerPart?.length ?? absStr.length;\n }\n\n private applyPrecisionWithMinFractionDigits(\n precision: number,\n minFractionDigits: number,\n rounding: RoundingMode,\n ): BigDecimal {\n const shouldRespectMinFraction = this.gte(1) && minFractionDigits > 0;\n\n if (shouldRespectMinFraction) {\n const integerDigits = this.getIntegerDigitCount();\n const requiredPrecision = integerDigits + minFractionDigits;\n const effectivePrecision = Math.max(precision, requiredPrecision);\n const decimalPlaces = effectivePrecision - integerDigits;\n return this.round(decimalPlaces, rounding);\n }\n\n return this.applyAdaptivePrecision(precision, rounding);\n }\n\n private formatDecimalString(\n value: BigDecimal,\n minFractionDigits: number,\n trimTrailingZeros: boolean,\n ): string {\n let result = value.toFixed();\n\n if (minFractionDigits > 0) {\n result = this.ensureMinFractionDigits(result, minFractionDigits);\n }\n\n if (trimTrailingZeros && result.includes('.')) {\n result = result.replace(/\\.?0+$/, '');\n }\n\n return result;\n }\n\n private ensureMinFractionDigits(str: string, minDigits: number): string {\n const [intPart, fracPart = ''] = str.split('.');\n if (fracPart.length < minDigits) {\n return `${intPart}.${fracPart.padEnd(minDigits, '0')}`;\n }\n return str;\n }\n\n private applyAdaptivePrecision(\n precision: number,\n rounding: RoundingMode,\n ): BigDecimal {\n const absValue = this.abs();\n\n // For numbers >= 1, keep all integer digits and control decimal precision\n if (absValue.gte(1)) {\n const integerDigits = this.getIntegerDigitCount();\n const decimalPlaces = Math.max(0, precision - integerDigits);\n return this.round(decimalPlaces, rounding);\n }\n\n // For numbers < 1, use traditional significant figures\n return this.prec(precision, rounding);\n }\n}\n\n/**\n * Create a new BigDecimal.\n *\n * @param value - The value to create a new BigDecimal from.\n * @returns A new BigDecimal.\n */\nexport function bigDecimal(value: BigDecimalSource): BigDecimal {\n if (value instanceof BigDecimal) {\n return value;\n }\n return BigDecimal.new(value.toString());\n}\n\n/**\n * An integer representation of a blockchain chain ID.\n */\nexport type ChainId = Tagged<number, 'ChainId'>;\nexport function chainId(value: number | bigint): ChainId {\n const id = Number(value);\n invariant(Number.isInteger(id) && id >= 0, `Invalid ChainId: ${value}`);\n return id as ChainId;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {e,td,i,d,f}from'./chunk-3TDVAQWZ.js';import {R as R$1,a,b,o,J,c,p,H}from'./chunk-6A77Z4MD.js';import {defineChain,SwitchChainError,UserRejectedRequestError,TransactionExecutionError}from'viem';import {waitForTransactionReceipt,sendTransaction,estimateGas}from'viem/actions';import {sepolia,mainnet}from'viem/chains';function g(a){return p(a)&&"code"in a&&"message"in a}function k(a){return p(a)&&"name"in a&&"message"in a&&"originalError"in a?g(a.originalError)&&"code"in a.originalError:true}function x(a$1,r){return o(a$1.account,"Wallet account is required to sign typed data"),a.fromPromise(a$1.signTypedData({account:a$1.account,domain:r.domain,types:r.types,primaryType:r.primaryType,message:r.message}),n=>n instanceof UserRejectedRequestError?i.from(n):e.from(n)).map(H)}function y(a){switch(a.chainId){case R$1(mainnet.id):return mainnet;case R$1(sepolia.id):return sepolia}return defineChain({id:a.chainId,name:a.name,nativeCurrency:{name:a.nativeInfo.name,symbol:a.nativeInfo.symbol,decimals:a.nativeInfo.decimals},rpcUrls:{default:{http:[a.rpcUrl]}},blockExplorers:{default:{name:`${a.name} Explorer`,url:a.explorerUrl}}})}function B(a){return a.map(y)}function D(a$1,r,n){return a.fromPromise(r.getChainId(),e$1=>e.from(e$1)).andThen(e$1=>e$1===n.chainId?b():td(a$1,{chainId:n.chainId},{batch:false}).andThen(t=>(o(t,`Chain ${n.chainId} is not supported`),a.fromPromise(r.switchChain({id:n.chainId}),o=>e.from(o)).orElse(o=>(g(o.cause)?o.cause.code:k(o.cause)?o.cause.data?.originalError?.code:void 0)===SwitchChainError.code?a.fromPromise(r.addChain({chain:y(t)}),u=>g(u)&&u.code===UserRejectedRequestError.code?i.from(u):e.from(u)):o.asResultAsync()))))}function F(a$1,r){return a.fromPromise(estimateGas(a$1,{account:a$1.account,data:r.data,to:r.to,value:BigInt(r.value)}),n=>e.from(n)).map(n=>n*115n/100n)}function S(a$1,r){return F(a$1,r).andThen(n=>a.fromPromise(sendTransaction(a$1,{account:a$1.account,data:r.data,to:r.to,value:BigInt(r.value),chain:a$1.chain,gas:n}),e$1=>{if(e$1 instanceof TransactionExecutionError){let t=e$1.walk(o=>o instanceof UserRejectedRequestError);if(t)return i.from(t)}return e.from(e$1)})).map(J)}function A(a){return a.account!==void 0}function G(a,r){return o(A(a),"Wallet client with account is required"),S(a,r)}function R(a,r,n){let e=a?.blockExplorers?.default?.url,t=e&&new URL(`/tx/${r}`,e).toString();return f.new({txHash:r,request:n,link:t})}function _(a$1,r,n){return a.fromPromise(waitForTransactionReceipt(a$1,{hash:n,pollingInterval:100,retryCount:20,retryDelay:50}),e=>d.from(e)).andThen(e=>{let t=J(e.transactionHash);switch(e.status){case "reverted":return n!==t?c(i.from(`Transaction replaced by ${t}`)):c(R(a$1.chain,t,r));case "success":return b({txHash:t,operations:r.operations})}})}function j(a,r){return r===void 0?x.bind(null,a):x(a,r)}export{y as a,B as b,D as c,G as d,_ as e,j as f};//# sourceMappingURL=chunk-PYBBLRVB.js.map
2
+ //# sourceMappingURL=chunk-PYBBLRVB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../client/src/viem.ts"],"names":["isRpcError","err","u","isProviderRpcError","signTypedData","walletClient","data","a","ResultAsync","UserRejectedRequestError","w","F","Z","toViemChain","chain","le","mainnet","sepolia","defineChain","viemChainsFrom","chains","ensureChain","aaveClient","request","chainId","okAsync","SwitchChainError","estimateGas","estimateGasWithViem","gas","sendEip1559Transaction","sendTransactionWithViem","TransactionExecutionError","rejected","z","isWalletClientWithAccount","sendTransaction","transactionError","txHash","baseUrl","link","A","waitForTransactionResult","initialTxHash","waitForTransactionReceipt","f","receipt","hash","errAsync","signTypedDataWith"],"mappings":"oUAsDA,SAASA,CAAAA,CAAWC,CAAAA,CAA+B,CACjD,OAAOC,CAAAA,CAASD,CAAG,CAAA,EAAK,MAAA,GAAUA,CAAAA,EAAO,SAAA,GAAaA,CACxD,CAEA,SAASE,CAAAA,CACPF,CAAAA,CAC+D,CAC/D,OAAOC,CAAAA,CAASD,CAAG,CAAA,EACjB,MAAA,GAAUA,CAAAA,EACV,SAAA,GAAaA,CAAAA,EACb,eAAA,GAAmBA,CAAAA,CACjBD,CAAAA,CAAWC,CAAAA,CAAI,aAAa,GAAK,MAAA,GAAUA,CAAAA,CAAI,aAAA,CAC/C,IACN,CAEA,SAASG,CAAAA,CACPC,GAAAA,CACAC,CAAAA,CAC4C,CAC5C,OAAAC,CAAAA,CACEF,GAAAA,CAAa,OAAA,CACb,+CACF,CAAA,CAEOG,EAAY,WAAA,CACjBH,GAAAA,CAAa,aAAA,CAAc,CACzB,OAAA,CAASA,GAAAA,CAAa,OAAA,CACtB,MAAA,CAAQC,EAAK,MAAA,CACb,KAAA,CAAOA,CAAAA,CAAK,KAAA,CACZ,WAAA,CAAaA,CAAAA,CAAK,WAAA,CAClB,OAAA,CAASA,EAAK,OAChB,CAAC,CAAA,CACAL,CAAAA,EACKA,CAAAA,YAAeQ,wBAAAA,CACVC,CAAAA,CAAY,IAAA,CAAKT,CAAG,CAAA,CAEtBU,CAAAA,CAAa,IAAA,CAAKV,CAAG,CAEhC,CAAA,CAAE,GAAA,CAAIW,CAAa,CACrB,CAKO,SAASC,CAAAA,CAAYC,CAAAA,CAAyB,CAEnD,OAAQA,CAAAA,CAAM,SACZ,KAAKC,GAAAA,CAAQC,OAAAA,CAAQ,EAAE,CAAA,CACrB,OAAOA,OAAAA,CAET,KAAKD,GAAAA,CAAQE,OAAAA,CAAQ,EAAE,CAAA,CACrB,OAAOA,OACX,CAGA,OAAOC,WAAAA,CAAY,CACjB,EAAA,CAAIJ,CAAAA,CAAM,OAAA,CACV,IAAA,CAAMA,CAAAA,CAAM,IAAA,CACZ,eAAgB,CACd,IAAA,CAAMA,CAAAA,CAAM,UAAA,CAAW,IAAA,CACvB,MAAA,CAAQA,CAAAA,CAAM,UAAA,CAAW,OACzB,QAAA,CAAUA,CAAAA,CAAM,UAAA,CAAW,QAC7B,CAAA,CACA,OAAA,CAAS,CAAE,OAAA,CAAS,CAAE,IAAA,CAAM,CAACA,CAAAA,CAAM,MAAM,CAAE,CAAE,CAAA,CAC7C,cAAA,CAAgB,CACd,OAAA,CAAS,CACP,IAAA,CAAM,CAAA,EAAGA,CAAAA,CAAM,IAAI,CAAA,SAAA,CAAA,CACnB,IAAKA,CAAAA,CAAM,WACb,CACF,CACF,CAAC,CACH,CAKO,SAASK,EAAeC,CAAAA,CAA8B,CAC3D,OAAOA,CAAAA,CAAO,GAAA,CAAIP,CAAW,CAC/B,CAKO,SAASQ,CAAAA,CACdC,GAAAA,CACAjB,CAAAA,CACAkB,CAAAA,CACiE,CACjE,OAAOf,CAAAA,CAAY,WAAA,CAAYH,CAAAA,CAAa,UAAA,EAAA,CAAeJ,GAAAA,EACzDU,CAAAA,CAAa,IAAA,CAAKV,GAAG,CACvB,EAAE,OAAA,CAASuB,GAAAA,EACLA,GAAAA,GAAYD,CAAAA,CAAQ,OAAA,CACfE,CAAAA,EAAAA,CAGFX,EAAAA,CACLQ,IACA,CAAE,OAAA,CAASC,CAAAA,CAAQ,OAAQ,CAAA,CAC3B,CAAE,KAAA,CAAO,KAAM,CACjB,CAAA,CAAE,OAAA,CAAST,CAAAA,GACTP,CAAAA,CAAUO,CAAAA,CAAO,CAAA,MAAA,EAASS,CAAAA,CAAQ,OAAO,CAAA,iBAAA,CAAmB,CAAA,CAErDf,CAAAA,CAAY,WAAA,CACjBH,CAAAA,CAAa,WAAA,CAAY,CAAE,EAAA,CAAIkB,EAAQ,OAAQ,CAAC,CAAA,CAC/CtB,CAAAA,EAAQU,CAAAA,CAAa,IAAA,CAAKV,CAAG,CAChC,EAAE,MAAA,CAAQA,CAAAA,EAAAA,CACKD,CAAAA,CAAWC,CAAAA,CAAI,KAAK,CAAA,CAC7BA,CAAAA,CAAI,KAAA,CAAM,KAGVE,CAAAA,CAAmBF,CAAAA,CAAI,KAAK,CAAA,CAC1BA,CAAAA,CAAI,KAAA,CAAM,IAAA,EAAM,aAAA,EAAe,IAAA,CAC/B,MAAA,IAEOyB,gBAAAA,CAAiB,IAAA,CACrBlB,CAAAA,CAAY,WAAA,CACjBH,CAAAA,CAAa,QAAA,CAAS,CAAE,KAAA,CAAOQ,CAAAA,CAAYC,CAAK,CAAE,CAAC,CAAA,CAClDb,CAAAA,EAEGD,CAAAA,CAAWC,CAAG,CAAA,EACdA,CAAAA,CAAI,IAAA,GAASQ,wBAAAA,CAAyB,IAAA,CAE/BC,CAAAA,CAAY,IAAA,CAAKT,CAAG,EAEtBU,CAAAA,CAAa,IAAA,CAAKV,CAAG,CAEhC,CAAA,CAGKA,CAAAA,CAAI,aAAA,EACZ,CAAA,CACF,CACF,CACH,CAEA,SAAS0B,CAAAA,CACPtB,GAAAA,CACAkB,CAAAA,CACmC,CACnC,OAAOf,CAAAA,CAAY,WAAA,CACjBoB,WAAAA,CAAoBvB,GAAAA,CAAc,CAChC,OAAA,CAASA,GAAAA,CAAa,QACtB,IAAA,CAAMkB,CAAAA,CAAQ,IAAA,CACd,EAAA,CAAIA,CAAAA,CAAQ,EAAA,CACZ,KAAA,CAAO,MAAA,CAAOA,EAAQ,KAAK,CAC7B,CAAC,CAAA,CACAtB,CAAAA,EAAQU,CAAAA,CAAa,IAAA,CAAKV,CAAG,CAChC,CAAA,CAAE,GAAA,CAAK4B,CAAAA,EAASA,CAAAA,CAAM,IAAA,CAAQ,IAAI,CACpC,CAEA,SAASC,CAAAA,CACPzB,GAAAA,CACAkB,CAAAA,CACiD,CACjD,OAAOI,CAAAA,CAAYtB,GAAAA,CAAckB,CAAO,CAAA,CACrC,OAAA,CAASM,CAAAA,EACRrB,CAAAA,CAAY,WAAA,CACVuB,eAAAA,CAAwB1B,GAAAA,CAAc,CACpC,QAASA,GAAAA,CAAa,OAAA,CACtB,IAAA,CAAMkB,CAAAA,CAAQ,IAAA,CACd,EAAA,CAAIA,CAAAA,CAAQ,EAAA,CACZ,KAAA,CAAO,MAAA,CAAOA,CAAAA,CAAQ,KAAK,CAAA,CAC3B,KAAA,CAAOlB,GAAAA,CAAa,KAAA,CACpB,IAAAwB,CACF,CAAC,CAAA,CACA5B,GAAAA,EAAQ,CACP,GAAIA,GAAAA,YAAe+B,yBAAAA,CAA2B,CAC5C,IAAMC,CAAAA,CAAWhC,GAAAA,CAAI,IAAA,CAClBA,CAAAA,EAAQA,CAAAA,YAAeQ,wBAC1B,CAAA,CAEA,GAAIwB,CAAAA,CACF,OAAOvB,CAAAA,CAAY,IAAA,CAAKuB,CAAQ,CAEpC,CACA,OAAOtB,CAAAA,CAAa,IAAA,CAAKV,GAAG,CAC9B,CACF,CACF,CAAA,CACC,GAAA,CAAIiC,CAAM,CACf,CAEA,SAASC,CAAAA,CACP9B,CAAAA,CAC6D,CAC7D,OAAOA,CAAAA,CAAa,UAAY,MAClC,CAKO,SAAS+B,CAAAA,CACd/B,CAAAA,CACAkB,CAAAA,CACiD,CACjD,OAAAhB,EACE4B,CAAAA,CAA0B9B,CAAY,CAAA,CACtC,wCACF,CAAA,CAEOyB,CAAAA,CAAuBzB,CAAAA,CAAckB,CAAO,CACrD,CAKO,SAASc,CAAAA,CACdvB,CAAAA,CACAwB,CAAAA,CACAf,CAAAA,CACkB,CAClB,IAAMgB,CAAAA,CAAUzB,CAAAA,EAAO,cAAA,EAAgB,OAAA,EAAS,GAAA,CAC1C0B,CAAAA,CAAOD,CAAAA,EAAW,IAAI,IAAI,CAAA,IAAA,EAAOD,CAAM,CAAA,CAAA,CAAIC,CAAO,CAAA,CAAE,QAAA,EAAA,CAE1D,OAAOE,EAAiB,GAAA,CAAI,CAAE,MAAA,CAAAH,CAAAA,CAAQ,OAAA,CAAAf,CAAAA,CAAS,IAAA,CAAAiB,CAAK,CAAC,CACvD,CAKO,SAASE,CAAAA,CACdrC,GAAAA,CACAkB,CAAAA,CACAoB,CAAAA,CAIA,CACA,OAAOnC,CAAAA,CAAY,WAAA,CACjBoC,yBAAAA,CAA0BvC,GAAAA,CAAc,CACtC,IAAA,CAAMsC,CAAAA,CACN,gBAAiB,GAAA,CACjB,UAAA,CAAY,EAAA,CACZ,UAAA,CAAY,EACd,CAAC,CAAA,CACA1C,CAAAA,EAAQ4C,EAAgB,IAAA,CAAK5C,CAAG,CACnC,CAAA,CAAE,OAAA,CAAS6C,CAAAA,EAAY,CACrB,IAAMC,CAAAA,CAAOb,CAAAA,CAAOY,CAAAA,CAAQ,eAAe,CAAA,CAE3C,OAAQA,CAAAA,CAAQ,MAAA,EACd,KAAK,UAAA,CACH,OAAIH,CAAAA,GAAkBI,CAAAA,CACbC,CAAAA,CAAStC,CAAAA,CAAY,IAAA,CAAK,2BAA2BqC,CAAI,CAAA,CAAE,CAAC,CAAA,CAE9DC,CAAAA,CAASX,CAAAA,CAAiBhC,GAAAA,CAAa,KAAA,CAAO0C,EAAMxB,CAAO,CAAC,CAAA,CACrE,KAAK,SAAA,CACH,OAAOE,CAAAA,CAAQ,CAGb,MAAA,CAAQsB,CAAAA,CACR,UAAA,CAAYxB,CAAAA,CAAQ,UACtB,CAAC,CACL,CACF,CAAC,CACH,CA8FO,SAAS0B,CAAAA,CACd5C,CAAAA,CACAC,CAAAA,CACiD,CACjD,OAAIA,IAAS,MAAA,CACJF,CAAAA,CAAc,IAAA,CAAK,IAAA,CAAMC,CAAY,CAAA,CAEvCD,CAAAA,CAAcC,CAAAA,CAAcC,CAAI,CACzC","file":"chunk-PYBBLRVB.js","sourcesContent":["import {\n CancelError,\n SigningError,\n TransactionError,\n UnexpectedError,\n ValidationError,\n} from '@aave/core';\nimport type {\n Chain,\n ERC20PermitSignature,\n ExecutionPlan,\n TransactionRequest,\n} from '@aave/graphql';\nimport {\n chainId,\n errAsync,\n invariant,\n isObject,\n okAsync,\n ResultAsync,\n type Signature,\n signatureFrom,\n type TxHash,\n txHash,\n} from '@aave/types';\nimport {\n type Account,\n defineChain,\n type ProviderRpcError,\n type RpcError,\n SwitchChainError,\n TransactionExecutionError,\n type Transport,\n UserRejectedRequestError,\n type Chain as ViemChain,\n type WalletClient,\n} from 'viem';\nimport {\n estimateGas as estimateGasWithViem,\n sendTransaction as sendTransactionWithViem,\n waitForTransactionReceipt,\n} from 'viem/actions';\nimport { mainnet, sepolia } from 'viem/chains';\nimport type { AaveClient } from './AaveClient';\nimport { chain as fetchChain } from './actions';\nimport { supportsPermit } from './adapters';\nimport type {\n ExecutionPlanHandler,\n SignTypedDataError,\n TransactionResult,\n TypedData,\n TypedDataHandler,\n} from './types';\n\nfunction isRpcError(err: unknown): err is RpcError {\n return isObject(err) && 'code' in err && 'message' in err;\n}\n\nfunction isProviderRpcError(\n err: unknown,\n): err is ProviderRpcError<{ originalError?: { code: number } }> {\n return isObject(err) &&\n 'name' in err &&\n 'message' in err &&\n 'originalError' in err\n ? isRpcError(err.originalError) && 'code' in err.originalError\n : true;\n}\n\nfunction signTypedData(\n walletClient: WalletClient,\n data: TypedData,\n): ResultAsync<Signature, SignTypedDataError> {\n invariant(\n walletClient.account,\n 'Wallet account is required to sign typed data',\n );\n\n return ResultAsync.fromPromise(\n walletClient.signTypedData({\n account: walletClient.account,\n domain: data.domain,\n types: data.types,\n primaryType: data.primaryType,\n message: data.message,\n }),\n (err) => {\n if (err instanceof UserRejectedRequestError) {\n return CancelError.from(err);\n }\n return SigningError.from(err);\n },\n ).map(signatureFrom);\n}\n\n/**\n * @internal\n */\nexport function toViemChain(chain: Chain): ViemChain {\n // known chains\n switch (chain.chainId) {\n case chainId(mainnet.id):\n return mainnet;\n\n case chainId(sepolia.id):\n return sepolia;\n }\n\n // most likely a tenderly fork\n return defineChain({\n id: chain.chainId,\n name: chain.name,\n nativeCurrency: {\n name: chain.nativeInfo.name,\n symbol: chain.nativeInfo.symbol,\n decimals: chain.nativeInfo.decimals,\n },\n rpcUrls: { default: { http: [chain.rpcUrl] } },\n blockExplorers: {\n default: {\n name: `${chain.name} Explorer`,\n url: chain.explorerUrl,\n },\n },\n });\n}\n\n/**\n * @internal\n */\nexport function viemChainsFrom(chains: Chain[]): ViemChain[] {\n return chains.map(toViemChain);\n}\n\n/**\n * @internal\n */\nexport function ensureChain(\n aaveClient: AaveClient,\n walletClient: WalletClient,\n request: TransactionRequest,\n): ResultAsync<void, CancelError | SigningError | UnexpectedError> {\n return ResultAsync.fromPromise(walletClient.getChainId(), (err) =>\n SigningError.from(err),\n ).andThen((chainId) => {\n if (chainId === request.chainId) {\n return okAsync();\n }\n\n return fetchChain(\n aaveClient,\n { chainId: request.chainId },\n { batch: false },\n ).andThen((chain) => {\n invariant(chain, `Chain ${request.chainId} is not supported`);\n\n return ResultAsync.fromPromise(\n walletClient.switchChain({ id: request.chainId }),\n (err) => SigningError.from(err),\n ).orElse((err) => {\n const code = isRpcError(err.cause)\n ? err.cause.code\n : // Unwrapping for MetaMask Mobile\n // https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719\n isProviderRpcError(err.cause)\n ? err.cause.data?.originalError?.code\n : undefined;\n\n if (code === SwitchChainError.code) {\n return ResultAsync.fromPromise(\n walletClient.addChain({ chain: toViemChain(chain) }),\n (err) => {\n if (\n isRpcError(err) &&\n err.code === UserRejectedRequestError.code\n ) {\n return CancelError.from(err);\n }\n return SigningError.from(err);\n },\n );\n }\n\n return err.asResultAsync();\n });\n });\n });\n}\n\nfunction estimateGas(\n walletClient: WalletClient,\n request: TransactionRequest,\n): ResultAsync<bigint, SigningError> {\n return ResultAsync.fromPromise(\n estimateGasWithViem(walletClient, {\n account: walletClient.account,\n data: request.data,\n to: request.to,\n value: BigInt(request.value),\n }),\n (err) => SigningError.from(err),\n ).map((gas) => (gas * 115n) / 100n); // 15% buffer\n}\n\nfunction sendEip1559Transaction(\n walletClient: WalletClient<Transport, ViemChain, Account>,\n request: TransactionRequest,\n): ResultAsync<TxHash, CancelError | SigningError> {\n return estimateGas(walletClient, request)\n .andThen((gas) =>\n ResultAsync.fromPromise(\n sendTransactionWithViem(walletClient, {\n account: walletClient.account,\n data: request.data,\n to: request.to,\n value: BigInt(request.value),\n chain: walletClient.chain,\n gas,\n }),\n (err) => {\n if (err instanceof TransactionExecutionError) {\n const rejected = err.walk(\n (err) => err instanceof UserRejectedRequestError,\n );\n\n if (rejected) {\n return CancelError.from(rejected);\n }\n }\n return SigningError.from(err);\n },\n ),\n )\n .map(txHash);\n}\n\nfunction isWalletClientWithAccount(\n walletClient: WalletClient,\n): walletClient is WalletClient<Transport, ViemChain, Account> {\n return walletClient.account !== undefined;\n}\n\n/**\n * @internal\n */\nexport function sendTransaction(\n walletClient: WalletClient,\n request: TransactionRequest,\n): ResultAsync<TxHash, CancelError | SigningError> {\n invariant(\n isWalletClientWithAccount(walletClient),\n 'Wallet client with account is required',\n );\n\n return sendEip1559Transaction(walletClient, request);\n}\n\n/**\n * @internal\n */\nexport function transactionError(\n chain: ViemChain | undefined,\n txHash: TxHash,\n request: TransactionRequest,\n): TransactionError {\n const baseUrl = chain?.blockExplorers?.default?.url;\n const link = baseUrl && new URL(`/tx/${txHash}`, baseUrl).toString();\n\n return TransactionError.new({ txHash, request, link });\n}\n\n/**\n * @internal\n */\nexport function waitForTransactionResult(\n walletClient: WalletClient,\n request: TransactionRequest,\n initialTxHash: TxHash,\n): ResultAsync<\n TransactionResult,\n CancelError | TransactionError | UnexpectedError\n> {\n return ResultAsync.fromPromise(\n waitForTransactionReceipt(walletClient, {\n hash: initialTxHash,\n pollingInterval: 100,\n retryCount: 20,\n retryDelay: 50,\n }),\n (err) => UnexpectedError.from(err),\n ).andThen((receipt) => {\n const hash = txHash(receipt.transactionHash);\n\n switch (receipt.status) {\n case 'reverted':\n if (initialTxHash !== hash) {\n return errAsync(CancelError.from(`Transaction replaced by ${hash}`));\n }\n return errAsync(transactionError(walletClient.chain, hash, request));\n case 'success':\n return okAsync({\n // viem's waitForTransactionReceipt supports transaction replacement\n // so it's important to use the transaction hash from the receipt\n txHash: hash,\n operations: request.operations,\n });\n }\n });\n}\n\nfunction sendTransactionAndWait(\n walletClient: WalletClient,\n request: TransactionRequest,\n): ResultAsync<\n TransactionResult,\n CancelError | SigningError | TransactionError | UnexpectedError\n> {\n return sendTransaction(walletClient, request).andThen((hash) =>\n waitForTransactionResult(walletClient, request, hash),\n );\n}\n\nfunction executePlan(\n walletClient: WalletClient,\n result: ExecutionPlan,\n): ReturnType<ExecutionPlanHandler> {\n switch (result.__typename) {\n case 'TransactionRequest':\n return sendTransactionAndWait(walletClient, result);\n\n case 'Erc20ApprovalRequired':\n return result.approvals\n .reduce<ReturnType<typeof sendTransactionAndWait>>(\n (chain, approval) =>\n chain.andThen(() =>\n sendTransactionAndWait(walletClient, approval.byTransaction),\n ),\n okAsync(undefined as never),\n )\n .andThen(() =>\n sendTransactionAndWait(walletClient, result.originalTransaction),\n );\n\n case 'PreContractActionRequired':\n return sendTransactionAndWait(walletClient, result.transaction).andThen(\n () => sendTransactionAndWait(walletClient, result.originalTransaction),\n );\n\n case 'InsufficientBalanceError':\n return errAsync(ValidationError.fromGqlNode(result));\n }\n}\n\n/**\n * Creates an execution plan handler that sends transactions using the provided wallet client.\n */\nexport function sendWith(walletClient: WalletClient): ExecutionPlanHandler;\n/**\n * Sends execution plan transactions using the provided wallet client.\n */\nexport function sendWith<T extends ExecutionPlan = ExecutionPlan>(\n walletClient: WalletClient,\n result: T,\n): ReturnType<ExecutionPlanHandler<T>>;\nexport function sendWith<T extends ExecutionPlan = ExecutionPlan>(\n walletClient: WalletClient,\n result?: T,\n): ExecutionPlanHandler<T> | ReturnType<ExecutionPlanHandler<T>> {\n return result\n ? executePlan(walletClient, result)\n : executePlan.bind(null, walletClient);\n}\n\n/**\n * Creates a function that signs EIP-712 typed data (ERC-20 permits, swap intents, etc.) using the provided wallet client.\n *\n * @param walletClient - The wallet client to use for signing.\n * @returns A function that takes typed data and returns a ResultAsync containing the raw signature.\n *\n * ```ts\n * const result = await prepareSwapCancel(client, request)\n * .andThen(signTypedDataWith(wallet));\n * ```\n */\nexport function signTypedDataWith(walletClient: WalletClient): TypedDataHandler;\n\n/**\n * Signs EIP-712 typed data (ERC-20 permits, swap intents, etc.) using the provided wallet client.\n *\n * @param walletClient - The wallet client to use for signing.\n * @param data - The typed data to sign.\n * @returns A ResultAsync containing the raw signature.\n *\n * ```ts\n * const result = await signTypedDataWith(wallet, typedData);\n * ```\n */\nexport function signTypedDataWith(\n walletClient: WalletClient,\n data: TypedData,\n): ReturnType<TypedDataHandler>;\n\nexport function signTypedDataWith(\n walletClient: WalletClient,\n data?: TypedData,\n): TypedDataHandler | ReturnType<TypedDataHandler> {\n if (data === undefined) {\n return signTypedData.bind(null, walletClient);\n }\n return signTypedData(walletClient, data);\n}\n\n/**\n * Handles ERC20 permit signing for actions that require token approval.\n *\n * Calls the action to get an initial execution plan. If the plan requires ERC20 approval\n * and the token supports permit signatures, signs the permit and re-calls the action\n * with the signature to get a new plan that can be sent directly.\n *\n * ```ts\n * const result = await permitWith(walletClient, (permitSig) =>\n * supply(client, {\n * reserve: reserve.id,\n * amount: { erc20: { value: amount, permitSig } },\n * sender: evmAddress(walletClient.account.address),\n * })\n * )\n * .andThen(sendWith(walletClient))\n * .andThen(client.waitForTransaction);\n * ```\n *\n * @param walletClient - The wallet client to use for signing permits.\n * @param action - A function that returns an execution plan, accepting an optional permit signature.\n * @returns A ResultAsync containing the resolved ExecutionPlan ready to be sent with `sendWith`.\n */\nexport function permitWith<E>(\n walletClient: WalletClient,\n action: (permitSig?: ERC20PermitSignature) => ResultAsync<ExecutionPlan, E>,\n): ResultAsync<ExecutionPlan, E | SignTypedDataError> {\n return action().andThen((result) => {\n if (supportsPermit(result)) {\n const permitTypedData = result.approvals[0].bySignature;\n // Sign and wrap with deadline\n return signTypedDataWith(walletClient, permitTypedData)\n .map((signature) => ({\n deadline: permitTypedData.message.deadline as number,\n value: signature,\n }))\n .andThen((permitSig) => action(permitSig));\n }\n return okAsync(result);\n });\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {o as o$1}from'./chunk-6A77Z4MD.js';import e,{useContext}from'react';import {Provider}from'urql';var o=e.createContext(null);function u({children:s,client:a}){return e.createElement(o.Provider,{value:a},e.createElement(Provider,{value:a.urql},s))}function l(){let s=useContext(o);return o$1(s,"Could not find Aave SDK context, ensure your code is wrapped in a <AaveProvider>"),s}export{u as a,l as b};//# sourceMappingURL=chunk-Q5WBQO2R.js.map
2
+ //# sourceMappingURL=chunk-Q5WBQO2R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/context.tsx"],"names":["AaveContext","React","AaveContextProvider","children","client","UrqlProvider","useAaveClient","useContext","F"],"mappings":"wGAIA,IAAMA,CAAAA,CAAcC,CAAAA,CAAM,aAAA,CAAiC,IAAI,CAAA,CAaxD,SAASC,CAAAA,CAAoB,CAClC,QAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CACF,CAAA,CAA6B,CAC3B,OACEH,CAAAA,CAAA,aAAA,CAACD,CAAAA,CAAY,SAAZ,CAAqB,KAAA,CAAOI,CAAAA,CAAAA,CAC3BH,CAAAA,CAAA,aAAA,CAACI,QAAAA,CAAA,CAAa,KAAA,CAAOD,CAAAA,CAAO,IAAA,CAAA,CAAOD,CAAS,CAC9C,CAEJ,CAKO,SAASG,CAAAA,EAA4B,CAC1C,IAAMF,CAAAA,CAASG,UAAAA,CAAWP,CAAW,CAAA,CAErC,OAAAQ,GAAAA,CACEJ,CAAAA,CACA,kFACF,CAAA,CAEOA,CACT","file":"chunk-Q5WBQO2R.js","sourcesContent":["import { type AaveClient, invariant } from '@aave/client';\nimport React, { type ReactNode, useContext } from 'react';\nimport { Provider as UrqlProvider } from 'urql';\n\nconst AaveContext = React.createContext<AaveClient | null>(null);\n\n/**\n * @internal\n */\nexport type AaveContextProviderProps = {\n children: ReactNode;\n client: AaveClient;\n};\n\n/**\n * @internal\n */\nexport function AaveContextProvider({\n children,\n client,\n}: AaveContextProviderProps) {\n return (\n <AaveContext.Provider value={client}>\n <UrqlProvider value={client.urql}>{children}</UrqlProvider>\n </AaveContext.Provider>\n );\n}\n\n/**\n * @internal\n */\nexport function useAaveClient(): AaveClient {\n const client = useContext(AaveContext);\n\n invariant(\n client,\n 'Could not find Aave SDK context, ensure your code is wrapped in a <AaveProvider>',\n );\n\n return client;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {b}from'./chunk-Q5WBQO2R.js';import {s,d,Tb,$d,td,Ub,ud,Xb}from'./chunk-3TDVAQWZ.js';import {y,o}from'./chunk-6A77Z4MD.js';import {useState,useMemo,useEffect}from'react';import {useQuery}from'urql';var u={Loading:()=>({data:void 0,error:void 0,loading:true,paused:false}),Success:e=>({data:e,error:void 0,loading:false,paused:false}),Failure:e=>({data:void 0,error:e,loading:false,paused:false}),Paused:(e,a)=>({data:e,error:a,loading:false,paused:true})};function i({document:e,variables:a,suspense:s,pause:t,selector:x=y,pollInterval:d$1=0,batch:R=true}){let[C,T]=useState(true),[{fetching:n,data:r,error:l},y]=useQuery({query:e,variables:a,pause:t,context:useMemo(()=>({batch:R,suspense:s}),[R,s])});if(useEffect(()=>{t||n||T(false);},[n,t]),useEffect(()=>{if(d$1<=0||n||t)return;let o=setTimeout(()=>{y({requestPolicy:"network-only",batch:false});},d$1);return ()=>clearTimeout(o)},[n,y,d$1,t]),t)return u.Paused(r?x(r.value):void 0,l?d.from(l):void 0);if(!s&&C)return u.Loading();if(l){let o=d.from(l);if(s)throw o;return u.Failure(o)}return o(r,"No data returned"),u.Success(x(r.value))}function j({suspense:e=false,pause:a=false,...s}){return i({document:Tb,variables:{request:s},suspense:e,pause:a})}function z(){let e=b();return $d(a=>td(e,a,{batch:false,requestPolicy:"cache-first"}),[e])}function B({suspense:e=false,pause:a=false,...s$1}={query:{filter:s.ALL}}){return i({document:Ub,variables:{request:s$1},suspense:e,pause:a})}function G(){let e=b();return $d(a=>ud(e,a,{requestPolicy:"network-only"}),[e])}function H({suspense:e=false,pause:a=false,...s}){let t=b();return i({document:Xb,variables:{request:s},suspense:e,pause:a,pollInterval:s.at?0:t.context.environment.exchangeRateInterval})}export{u as a,i as b,j as c,z as d,B as e,G as f,H as g};//# sourceMappingURL=chunk-SXNP4MR6.js.map
2
+ //# sourceMappingURL=chunk-SXNP4MR6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/helpers/results.ts","../src/helpers/reads.ts","../src/misc.ts"],"names":["ReadResult","data","error","useSuspendableQuery","document","variables","suspense","pause","selector","wr","pollInterval","batch","loading","setLoading","useState","fetching","executeQuery","useQuery","useMemo","useEffect","timerId","q","unexpected","F","useChain","request","$e","useChainAction","client","useAaveClient","useAsyncTask","Ea","useChains","Vt","Oe","useExchangeRateAction","ba","useExchangeRate","He"],"mappings":"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","file":"chunk-SXNP4MR6.js","sourcesContent":["import type { UnexpectedError } from '@aave/client';\n\n/**\n * A read hook result.\n *\n * It's a discriminated union of the possible results of a read operation:\n * - Rely on the `loading` value to determine if the `data` or `error` can be evaluated.\n * - If `error` is `undefined`, then `data` value will be available.\n */\nexport type ReadResult<T, E extends UnexpectedError = UnexpectedError> =\n | {\n data: undefined;\n error: undefined;\n loading: true;\n }\n | {\n data: T;\n error: undefined;\n loading: false;\n }\n | {\n data: undefined;\n error: E;\n loading: false;\n };\n\n/**\n * A read hook result that supports pausing.\n */\nexport type PausableReadResult<T, E extends UnexpectedError = UnexpectedError> =\n | {\n data: T | undefined;\n error: E | undefined;\n loading: false;\n paused: true;\n }\n | {\n data: undefined;\n error: undefined;\n loading: true;\n paused: false;\n }\n | {\n data: T;\n error: undefined;\n loading: false;\n paused: false;\n }\n | {\n data: undefined;\n error: E;\n loading: false;\n paused: false;\n };\n\n/**\n * @internal\n */\nexport const ReadResult = {\n Loading: <\n T,\n E extends UnexpectedError = UnexpectedError,\n >(): PausableReadResult<T, E> => ({\n data: undefined,\n error: undefined,\n loading: true,\n paused: false,\n }),\n Success: <T, E extends UnexpectedError = UnexpectedError>(\n data: T,\n ): PausableReadResult<T, E> => ({\n data,\n error: undefined,\n loading: false,\n paused: false,\n }),\n Failure: <T, E extends UnexpectedError = UnexpectedError>(\n error: E,\n ): PausableReadResult<T, E> => ({\n data: undefined,\n error,\n loading: false,\n paused: false,\n }),\n Paused: <T, E extends UnexpectedError = UnexpectedError>(\n data: T | undefined,\n error: E | undefined,\n ): PausableReadResult<T, E> => ({\n data,\n error,\n loading: false,\n paused: true,\n }),\n};\n\n/**\n * A read hook result that supports React Suspense.\n */\nexport type SuspenseResult<T> = {\n data: T;\n};\n\n/**\n * A read hook result that supports React Suspense and can be paused.\n */\nexport type PausableSuspenseResult<T> =\n | {\n paused: true;\n data: undefined;\n }\n | {\n paused: false;\n data: T;\n };\n\nexport type SuspendableResult<T, E extends UnexpectedError = UnexpectedError> =\n | ReadResult<T, E>\n | SuspenseResult<T>\n | PausableReadResult<T, E>\n | PausableSuspenseResult<T>;\n","import {\n type AnyVariables,\n identity,\n invariant,\n type NullishDeep,\n type Prettify,\n type StandardData,\n UnexpectedError,\n} from '@aave/client';\nimport { useEffect, useMemo, useState } from 'react';\nimport { type TypedDocumentNode, useQuery } from 'urql';\nimport {\n type PausableReadResult,\n type PausableSuspenseResult,\n ReadResult,\n type SuspendableResult,\n type SuspenseResult,\n} from './results';\n\nexport type Selector<T, V> = (data: T) => V;\n\nexport type Pausable<T, WhenPaused = NullishDeep<T>> = Prettify<\n WhenPaused & {\n /**\n * Prevents the hook from automatically executing GraphQL query operations.\n *\n * @experimental This is an experimental feature and may change in the future.\n *\n * @remarks\n * `pause` may be set to `true` to stop the query operation from executing\n * automatically. The hook will stop receiving updates and won’t execute the query\n * operation until it’s set to `false`.\n */\n pause: boolean;\n }\n>;\n\nexport type Suspendable = { suspense: true };\n\n/**\n * @internal\n */\nexport type UseSuspendableQueryArgs<\n Value,\n Output,\n Variables extends AnyVariables,\n Suspense extends boolean,\n Pause extends boolean = never,\n> = {\n document: TypedDocumentNode<StandardData<Value>, Variables>;\n variables?: Pause extends boolean ? NullishDeep<Variables> : Variables;\n suspense: Suspense;\n selector?: Selector<Value, Output>;\n pollInterval?: number;\n batch?: boolean;\n pause?: Pause;\n};\n\n/**\n * @internal\n */\nexport function useSuspendableQuery<\n Value,\n Output,\n Variables extends AnyVariables,\n Pausable extends boolean = never,\n>({\n document,\n variables,\n suspense,\n pause,\n}: UseSuspendableQueryArgs<Value, Output, Variables, false, Pausable>):\n | ReadResult<Output>\n | PausableReadResult<Output>;\n/**\n * @internal\n */\nexport function useSuspendableQuery<\n Value,\n Output,\n Variables extends AnyVariables,\n Pausable extends boolean = never,\n>({\n document,\n variables,\n suspense,\n pause,\n}: UseSuspendableQueryArgs<Value, Output, Variables, true, Pausable>):\n | SuspenseResult<Output>\n | PausableSuspenseResult<Output>;\n/**\n * @internal\n */\nexport function useSuspendableQuery<\n Value,\n Output,\n Variables extends AnyVariables,\n Pausable extends boolean = never,\n>({\n document,\n variables,\n suspense,\n pause,\n}: UseSuspendableQueryArgs<\n Value,\n Output,\n Variables,\n boolean,\n Pausable\n>): SuspendableResult<Output, UnexpectedError>;\n/**\n * Implementation.\n */\nexport function useSuspendableQuery<\n Value,\n Output,\n Variables extends AnyVariables,\n>({\n document,\n variables,\n suspense,\n pause,\n selector = identity as Selector<Value, Output>,\n pollInterval = 0,\n batch = true,\n}: UseSuspendableQueryArgs<\n Value,\n Output,\n Variables,\n boolean,\n boolean\n>): SuspendableResult<Output, UnexpectedError> {\n const [loading, setLoading] = useState(true);\n const [{ fetching, data, error }, executeQuery] = useQuery({\n query: document,\n variables: variables as Variables,\n pause,\n context: useMemo(\n () => ({\n batch,\n suspense,\n }),\n [batch, suspense],\n ),\n });\n\n useEffect(() => {\n if (pause) return;\n\n if (!fetching) {\n setLoading(false);\n }\n }, [fetching, pause]);\n\n useEffect(() => {\n if (pollInterval <= 0 || fetching || pause) return undefined;\n\n const timerId = setTimeout(() => {\n executeQuery({\n requestPolicy: 'network-only',\n batch: false, // never batch, run now!\n });\n }, pollInterval);\n\n return () => clearTimeout(timerId);\n }, [fetching, executeQuery, pollInterval, pause]);\n\n if (pause) {\n return ReadResult.Paused(\n data ? selector(data.value) : undefined,\n error ? UnexpectedError.from(error) : undefined,\n );\n }\n\n if (!suspense && loading) {\n return ReadResult.Loading();\n }\n\n if (error) {\n const unexpected = UnexpectedError.from(error);\n if (suspense) {\n throw unexpected;\n }\n\n return ReadResult.Failure(unexpected);\n }\n\n invariant(data, 'No data returned');\n\n return ReadResult.Success(selector(data.value));\n}\n","import {\n type ActivityItem,\n type Chain,\n ChainQuery,\n type ChainRequest,\n ChainsFilter,\n ChainsQuery,\n type ChainsRequest,\n type CurrencyQueryOptions,\n type ExchangeAmount,\n ExchangeRateQuery,\n type ExchangeRateRequest,\n type NativeAmount,\n type NullishDeep,\n type Prettify,\n type PreviewAction,\n type UnexpectedError,\n} from '@aave/client';\nimport { exchangeRate, chain as fetchChain } from '@aave/client/actions';\nimport { useAaveClient } from './context';\nimport {\n type Pausable,\n type PausableReadResult,\n type PausableSuspenseResult,\n type ReadResult,\n type Suspendable,\n type SuspendableResult,\n type SuspenseResult,\n useSuspendableQuery,\n} from './helpers';\nimport { type UseAsyncTask, useAsyncTask } from './helpers/tasks';\n\nexport type UseChainArgs = ChainRequest;\n\n/**\n * Fetch a specific chain by chain ID.\n *\n * This signature supports React Suspense:\n *\n * ```tsx\n * const { data } = useChain({\n * chainId: chainId(1),\n * suspense: true,\n * });\n * // data will be Chain | null\n * ```\n */\nexport function useChain(\n args: UseChainArgs & Suspendable,\n): SuspenseResult<Chain | null>;\n/**\n * Fetch a specific chain by chain ID.\n *\n * Pausable suspense mode.\n *\n * ```tsx\n * const { data } = useChain({\n * chainId: chainId(1),\n * suspense: true,\n * pause: true,\n * });\n * ```\n */\nexport function useChain(\n args: Pausable<UseChainArgs> & Suspendable,\n): PausableSuspenseResult<Chain | null>;\n/**\n * Fetch a specific chain by chain ID.\n *\n * ```tsx\n * const { data, error, loading } = useChain({\n * chainId: chainId(1),\n * });\n * // data will be Chain | null\n * ```\n */\nexport function useChain(args: UseChainArgs): ReadResult<Chain | null>;\n/**\n * Fetch a specific chain by chain ID.\n *\n * Pausable loading state mode.\n *\n * ```tsx\n * const { data, error, loading, paused } = useChain({\n * chainId: chainId(1),\n * pause: true,\n * });\n * ```\n */\nexport function useChain(\n args: Pausable<UseChainArgs>,\n): PausableReadResult<Chain | null>;\n\nexport function useChain({\n suspense = false,\n pause = false,\n ...request\n}: NullishDeep<UseChainArgs> & {\n suspense?: boolean;\n pause?: boolean;\n}): SuspendableResult<Chain | null, UnexpectedError> {\n return useSuspendableQuery({\n document: ChainQuery,\n variables: {\n request,\n },\n suspense,\n pause,\n });\n}\n\n/**\n * Low-level hook to execute a {@link chain} action directly.\n *\n * @experimental This hook is experimental and may be subject to breaking changes.\n * @remarks\n * This hook **does not** actively watch for updated data on the chain.\n * Use this hook to retrieve data on demand as part of a larger workflow\n * (e.g., in an event handler in order to move to the next step).\n *\n * ```ts\n * const [execute, { called, data, error, loading }] = useChainAction();\n *\n * // …\n *\n * const result = await execute({\n * chainId: chainId(1),\n * });\n *\n * if (result.isOk()) {\n * console.log(result.value); // Chain | null\n * } else {\n * console.error(result.error);\n * }\n * ```\n */\nexport function useChainAction(): UseAsyncTask<\n ChainRequest,\n Chain | null,\n UnexpectedError\n> {\n const client = useAaveClient();\n\n return useAsyncTask(\n (request: ChainRequest) =>\n fetchChain(client, request, {\n batch: false,\n requestPolicy: 'cache-first',\n }),\n [client],\n );\n}\n\nexport type UseChainsArgs = ChainsRequest;\n/**\n * Fetches the list of supported chains.\n *\n * This signature supports React Suspense:\n *\n * ```tsx\n * const { data } = useChains({\n * query: { filter: ChainsFilter.ALL },\n * suspense: true,\n * });\n * ```\n */\nexport function useChains(\n args: UseChainsArgs & Suspendable,\n): SuspenseResult<Chain[]>;\n/**\n * Fetches the list of supported chains.\n *\n * Pausable suspense mode.\n *\n * ```tsx\n * const { data } = useChains({\n * query: { filter: ChainsFilter.ALL },\n * suspense: true,\n * pause: true,\n * });\n * ```\n */\nexport function useChains(\n args: Pausable<UseChainsArgs> & Suspendable,\n): PausableSuspenseResult<Chain[]>;\n/**\n * Fetches the list of supported chains.\n *\n * ```tsx\n * const { data, error, loading } = useChains({\n * query: { filter: ChainsFilter.ALL },\n * });\n * ```\n */\nexport function useChains(args?: UseChainsArgs): ReadResult<Chain[]>;\n/**\n * Fetches the list of supported chains.\n *\n * Pausable loading state mode.\n *\n * ```tsx\n * const { data, error, loading, paused } = useChains({\n * query: { filter: ChainsFilter.ALL },\n * pause: true,\n * });\n * ```\n */\nexport function useChains(\n args?: Pausable<UseChainsArgs>,\n): PausableReadResult<Chain[]>;\n\nexport function useChains(\n {\n suspense = false,\n pause = false,\n ...request\n }: NullishDeep<UseChainsArgs> & {\n suspense?: boolean;\n pause?: boolean;\n } = { query: { filter: ChainsFilter.ALL } },\n): SuspendableResult<Chain[], UnexpectedError> {\n return useSuspendableQuery({\n document: ChainsQuery,\n variables: { request },\n suspense,\n pause,\n });\n}\n\n/**\n * Fetches exchange rates between tokens and fiat currencies.\n *\n * ```tsx\n * const [getExchangeRate, gettingRate] = useExchangeRateAction();\n *\n * const loading = gettingRate.loading;\n * const error = gettingRate.error;\n *\n * // …\n *\n * const result = await getExchangeRate({\n * from: { erc20: { chainId: chainId(1), address: evmAddress('0xA0b86a33E6...') } },\n * to: Currency.Usd,\n * });\n *\n * if (result.isErr()) {\n * console.error(result.error);\n * return;\n * }\n *\n * console.log('Exchange rate:', result.value);\n * ```\n */\nexport function useExchangeRateAction(): UseAsyncTask<\n ExchangeRateRequest,\n ExchangeAmount,\n UnexpectedError\n> {\n const client = useAaveClient();\n\n return useAsyncTask(\n (request: ExchangeRateRequest) =>\n exchangeRate(client, request, { requestPolicy: 'network-only' }),\n [client],\n );\n}\n\nexport type UseExchangeRateArgs = ExchangeRateRequest;\n\n/**\n * Fetches exchange rates between tokens and fiat currencies with automatic polling.\n *\n * This signature supports React Suspense:\n *\n * ```tsx\n * const { data } = useExchangeRate({\n * from: {\n * erc20: {\n * chainId: chainId(1),\n * address: evmAddress('0xA0b86a33E6...')\n * }\n * },\n * to: Currency.Usd,\n * suspense: true,\n * });\n * ```\n */\nexport function useExchangeRate(\n args: UseExchangeRateArgs & Suspendable,\n): SuspenseResult<ExchangeAmount>;\n/**\n * Fetches exchange rates between tokens and fiat currencies with automatic polling.\n *\n * Pausable suspense mode.\n *\n * ```tsx\n * const { data } = useExchangeRate({\n * from: {\n * erc20: {\n * chainId: chainId(1),\n * address: evmAddress('0xA0b86a33E6...')\n * }\n * },\n * to: Currency.Usd,\n * suspense: true,\n * pause: true,\n * });\n * ```\n */\nexport function useExchangeRate(\n args: Pausable<UseExchangeRateArgs> & Suspendable,\n): PausableSuspenseResult<ExchangeAmount>;\n/**\n * Fetches exchange rates between tokens and fiat currencies with automatic polling.\n *\n * ```tsx\n * const { data, error, loading } = useExchangeRate({\n * from: {\n * erc20: {\n * chainId: chainId(1),\n * address: evmAddress('0xA0b86a33E6...')\n * }\n * },\n * to: Currency.Usd,\n * });\n *\n * <Component value={somewhere} fxRate={data} />\n * ```\n */\nexport function useExchangeRate(\n args: UseExchangeRateArgs,\n): ReadResult<ExchangeAmount>;\n/**\n * Fetches exchange rates between tokens and fiat currencies with automatic polling.\n *\n * Pausable loading state mode.\n *\n * ```tsx\n * const { data, error, loading, paused } = useExchangeRate({\n * from: {\n * erc20: {\n * chainId: chainId(1),\n * address: evmAddress('0xA0b86a33E6...')\n * }\n * },\n * to: Currency.Usd,\n * pause: true,\n * });\n * ```\n */\nexport function useExchangeRate(\n args: Pausable<UseExchangeRateArgs>,\n): PausableReadResult<ExchangeAmount>;\n\nexport function useExchangeRate({\n suspense = false,\n pause = false,\n ...request\n}: NullishDeep<UseExchangeRateArgs> & {\n suspense?: boolean;\n pause?: boolean;\n}): SuspendableResult<ExchangeAmount, UnexpectedError> {\n const client = useAaveClient();\n\n return useSuspendableQuery({\n document: ExchangeRateQuery,\n variables: { request },\n suspense,\n pause,\n pollInterval: request.at\n ? 0\n : client.context.environment.exchangeRateInterval,\n });\n}\n\nexport type UseNetworkFeeRequestQuery =\n | {\n activity: ActivityItem;\n }\n | {\n estimate: PreviewAction;\n };\n\nexport type UseNetworkFeeArgs = Prettify<\n {\n query: UseNetworkFeeRequestQuery;\n } & CurrencyQueryOptions\n>;\n\ntype PausableUseNetworkFeeArgs = Partial<\n {\n query: Partial<UseNetworkFeeRequestQuery>;\n } & CurrencyQueryOptions\n>;\n\n/**\n * Fetch the network fee for an ActivityItem.\n *\n * @experimental This hook is experimental and may be subject to breaking changes.\n */\nexport type UseNetworkFee<T extends NativeAmount = NativeAmount> =\n /**\n * Fetches the network fee for a past ActivityItem.\n *\n * This signature supports React Suspense:\n *\n * ```tsx\n * const { data } = useNetworkFee({\n * query: { activity },\n * suspense: true,\n * });\n *\n * data: NativeAmount\n * ```\n */\n ((args: UseNetworkFeeArgs & Suspendable) => SuspenseResult<T>) &\n /**\n * Fetches the network fee for a past ActivityItem.\n *\n * Pausable suspense mode.\n *\n * ```tsx\n * const { data, paused } = useNetworkFee({\n * query: { activity },\n * suspense: true,\n * pause: true,\n * });\n *\n * data: NativeAmount | undefined\n * ```\n */\n ((\n args: Pausable<UseNetworkFeeArgs, PausableUseNetworkFeeArgs> &\n Suspendable,\n ) => PausableSuspenseResult<T>) &\n /**\n * Fetches the network fee for a past ActivityItem.\n *\n * ```tsx\n * const { data, error, loading } = useNetworkFee({\n * query: { activity },\n * });\n * ```\n */\n ((args: UseNetworkFeeArgs) => ReadResult<T>) &\n /**\n * Fetches the network fee for a past ActivityItem.\n *\n * Pausable loading state mode.\n *\n * ```tsx\n * const { data, error, loading, paused } = useNetworkFee({\n * query: { activity },\n * pause: true,\n * });\n *\n * data: NativeAmount | undefined\n * ```\n */\n ((\n args: Pausable<UseNetworkFeeArgs, PausableUseNetworkFeeArgs>,\n ) => PausableReadResult<T>);\n"]}