coinley-pay 0.0.26 → 0.0.28
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.
|
@@ -56,7 +56,7 @@ const DZ=BigInt(0),UZ=BigInt(1);function $Z(e,t){const n=t.negate();return e?n:t
|
|
|
56
56
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
57
57
|
const bX=(e,t)=>(e+(e>=0?t:-t)/SX)/t;function vX(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function wX(e,t){const n={};for(let r of Object.keys(t))n[r]=void 0===e[r]?t[r]:e[r];return JG(n.lowS,"lowS"),JG(n.prehash,"prehash"),void 0!==n.format&&vX(n.format),n}class _X extends Error{constructor(e=""){super(e)}}const EX={Err:_X,_tlv:{encode:(e,t)=>{const{Err:n}=EX;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(1&t.length)throw new n("tlv.encode: unpadded data");const r=t.length/2,i=XG(r);if(i.length/2&128)throw new n("tlv.encode: long form length too big");const o=r>127?XG(i.length/2|128):"";return XG(e)+o+i+t},decode(e,t){const{Err:n}=EX;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const i=t[r++];let o=0;if(!!(128&i)){const e=127&i;if(!e)throw new n("tlv.decode(long): indefinite length not supported");if(e>4)throw new n("tlv.decode(long): byte length is too big");const s=t.subarray(r,r+e);if(s.length!==e)throw new n("tlv.decode: length bytes not complete");if(0===s[0])throw new n("tlv.decode(long): zero leftmost byte");for(const t of s)o=o<<8|t;if(r+=e,o<128)throw new n("tlv.decode(long): not minimal encoding")}else o=i;const s=t.subarray(r,r+o);if(s.length!==o)throw new n("tlv.decode: wrong value length");return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){const{Err:t}=EX;if(e<xX)throw new t("integer: negative integers are not allowed");let n=XG(e);if(8&Number.parseInt(n[0],16)&&(n="00"+n),1&n.length)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=EX;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return tZ(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=EX,i=oZ("signature",e),{v:o,l:s}=r.decode(48,i);if(s.length)throw new t("invalid signature: left bytes after parsing");const{v:a,l:c}=r.decode(2,o),{v:l,l:u}=r.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(l)}},hexFromSig(e){const{_tlv:t,_int:n}=EX,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},xX=BigInt(0),kX=BigInt(1),SX=BigInt(2),CX=BigInt(3),IX=BigInt(4);function AX(e,t){const{BYTES:n}=e;let r;if("bigint"==typeof t)r=t;else{let i=oZ("private key",t);try{r=e.fromBytes(i)}catch(cF){throw new Error(`invalid private key: expected ui8a of size ${n}, got ${typeof t}`)}}if(!e.isValidNot0(r))throw new Error("invalid private key: out of range [1..N-1]");return r}function PX(e,t={}){const n=QZ("weierstrass",e,t),{Fp:r,Fn:i}=n;let o=n.CURVE;const{h:s,n:a}=o;dZ(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=t;if(c&&(!r.is0(o.a)||"bigint"!=typeof c.beta||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=MX(r,i);function u(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const d=t.toBytes||function(e,t,n){const{x:i,y:o}=t.toAffine(),s=r.toBytes(i);if(JG(n,"isCompressed"),n){u();return xm(OX(!r.isOdd(o)),s)}return xm(Uint8Array.of(4),s,r.toBytes(o))},h=t.fromBytes||function(e){QG(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:n}=l,i=e.length,o=e[0],s=e.subarray(1);if(i!==t||2!==o&&3!==o){if(i===n&&4===o){const e=r.BYTES,t=r.fromBytes(s.subarray(0,e)),n=r.fromBytes(s.subarray(e,2*e));if(!p(t,n))throw new Error("bad point: is not on curve");return{x:t,y:n}}throw new Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${n}`)}{const e=r.fromBytes(s);if(!r.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=f(e);let n;try{n=r.sqrt(t)}catch(a){const e=a instanceof Error?": "+a.message:"";throw new Error("bad point: is not on curve, sqrt error"+e)}u();return!(1&~o)!==r.isOdd(n)&&(n=r.neg(n)),{x:e,y:n}}};function f(e){const t=r.sqr(e),n=r.mul(t,e);return r.add(r.add(n,r.mul(e,o.a)),o.b)}function p(e,t){const n=r.sqr(t),i=f(e);return r.eql(n,i)}if(!p(o.Gx,o.Gy))throw new Error("bad curve params: generator point");const m=r.mul(r.pow(o.a,CX),IX),g=r.mul(r.sqr(o.b),BigInt(27));if(r.is0(r.add(m,g)))throw new Error("bad curve params: a or b");function y(e,t,n=!1){if(!r.isValid(t)||n&&r.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function b(e){if(!(e instanceof x))throw new Error("ProjectivePoint expected")}function v(e){if(!c||!c.basises)throw new Error("no endo");return function(e,t,n){const[[r,i],[o,s]]=t,a=bX(s*e,n),c=bX(-i*e,n);let l=e-a*r-c*o,u=-a*i-c*s;const d=l<xX,h=u<xX;d&&(l=-l),h&&(u=-u);const f=uZ(Math.ceil(lZ(n)/2))+kX;if(l<xX||l>=f||u<xX||u>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:l,k2neg:h,k2:u}}(e,c.basises,i.ORDER)}const w=hZ((e,t)=>{const{X:n,Y:i,Z:o}=e;if(r.eql(o,r.ONE))return{x:n,y:i};const s=e.is0();null==t&&(t=s?r.ONE:r.inv(o));const a=r.mul(n,t),c=r.mul(i,t),l=r.mul(o,t);if(s)return{x:r.ZERO,y:r.ZERO};if(!r.eql(l,r.ONE))throw new Error("invZ was invalid");return{x:a,y:c}}),_=hZ(e=>{if(e.is0()){if(t.allowInfinityPoint&&!r.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:n,y:i}=e.toAffine();if(!r.isValid(n)||!r.isValid(i))throw new Error("bad point: x or y not field elements");if(!p(n,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function E(e,t,n,i,o){return n=new x(r.mul(n.X,e),n.Y,n.Z),t=$Z(i,t),n=$Z(o,n),t.add(n)}class x{constructor(e,t,n){this.X=y("x",e),this.Y=y("y",t,!0),this.Z=y("z",n),Object.freeze(this)}static CURVE(){return o}static fromAffine(e){const{x:t,y:n}=e||{};if(!e||!r.isValid(t)||!r.isValid(n))throw new Error("invalid affine point");if(e instanceof x)throw new Error("projective point not allowed");return r.is0(t)&&r.is0(n)?x.ZERO:new x(t,n,r.ONE)}static fromBytes(e){const t=x.fromAffine(h(QG(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return x.fromBytes(oZ("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return S.createCache(this,e),t||this.multiply(CX),this}assertValidity(){_(this)}hasEvenY(){const{y:e}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(e)}equals(e){b(e);const{X:t,Y:n,Z:i}=this,{X:o,Y:s,Z:a}=e,c=r.eql(r.mul(t,a),r.mul(o,i)),l=r.eql(r.mul(n,a),r.mul(s,i));return c&&l}negate(){return new x(this.X,r.neg(this.Y),this.Z)}double(){const{a:e,b:t}=o,n=r.mul(t,CX),{X:i,Y:s,Z:a}=this;let c=r.ZERO,l=r.ZERO,u=r.ZERO,d=r.mul(i,i),h=r.mul(s,s),f=r.mul(a,a),p=r.mul(i,s);return p=r.add(p,p),u=r.mul(i,a),u=r.add(u,u),c=r.mul(e,u),l=r.mul(n,f),l=r.add(c,l),c=r.sub(h,l),l=r.add(h,l),l=r.mul(c,l),c=r.mul(p,c),u=r.mul(n,u),f=r.mul(e,f),p=r.sub(d,f),p=r.mul(e,p),p=r.add(p,u),u=r.add(d,d),d=r.add(u,d),d=r.add(d,f),d=r.mul(d,p),l=r.add(l,d),f=r.mul(s,a),f=r.add(f,f),d=r.mul(f,p),c=r.sub(c,d),u=r.mul(f,h),u=r.add(u,u),u=r.add(u,u),new x(c,l,u)}add(e){b(e);const{X:t,Y:n,Z:i}=this,{X:s,Y:a,Z:c}=e;let l=r.ZERO,u=r.ZERO,d=r.ZERO;const h=o.a,f=r.mul(o.b,CX);let p=r.mul(t,s),m=r.mul(n,a),g=r.mul(i,c),y=r.add(t,n),v=r.add(s,a);y=r.mul(y,v),v=r.add(p,m),y=r.sub(y,v),v=r.add(t,i);let w=r.add(s,c);return v=r.mul(v,w),w=r.add(p,g),v=r.sub(v,w),w=r.add(n,i),l=r.add(a,c),w=r.mul(w,l),l=r.add(m,g),w=r.sub(w,l),d=r.mul(h,v),l=r.mul(f,g),d=r.add(l,d),l=r.sub(m,d),d=r.add(m,d),u=r.mul(l,d),m=r.add(p,p),m=r.add(m,p),g=r.mul(h,g),v=r.mul(f,v),m=r.add(m,g),g=r.sub(p,g),g=r.mul(h,g),v=r.add(v,g),p=r.mul(m,v),u=r.add(u,p),p=r.mul(w,v),l=r.mul(y,l),l=r.sub(l,p),p=r.mul(y,m),d=r.mul(w,d),d=r.add(d,p),new x(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(x.ZERO)}multiply(e){const{endo:n}=t;if(!i.isValidNot0(e))throw new Error("invalid scalar: out of range");let r,o;const s=e=>S.cached(this,e,e=>FZ(x,e));if(n){const{k1neg:t,k1:i,k2neg:a,k2:c}=v(e),{p:l,f:u}=s(i),{p:d,f:h}=s(c);o=u.add(h),r=E(n.beta,l,d,t,a)}else{const{p:t,f:n}=s(e);r=t,o=n}return FZ(x,[r,o])[0]}multiplyUnsafe(e){const{endo:n}=t,r=this;if(!i.isValid(e))throw new Error("invalid scalar: out of range");if(e===xX||r.is0())return x.ZERO;if(e===kX)return r;if(S.hasCache(this))return this.multiply(e);if(n){const{k1neg:t,k1:i,k2neg:o,k2:s}=v(e),{p1:a,p2:c}=function(e,t,n,r){let i=t,o=e.ZERO,s=e.ZERO;for(;n>DZ||r>DZ;)n&UZ&&(o=o.add(i)),r&UZ&&(s=s.add(i)),i=i.double(),n>>=UZ,r>>=UZ;return{p1:o,p2:s}}(x,r,i,s);return E(n.beta,a,c,t,o)}return S.unsafe(r,e)}multiplyAndAddUnsafe(e,t,n){const r=this.multiplyUnsafe(t).add(e.multiplyUnsafe(n));return r.is0()?void 0:r}toAffine(e){return w(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return s===kX||(e?e(x,this):S.unsafe(this,a).is0())}clearCofactor(){const{clearCofactor:e}=t;return s===kX?this:e?e(x,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(e=!0){return JG(e,"isCompressed"),this.assertValidity(),d(x,this,e)}toHex(e=!0){return fm(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return FZ(x,e)}static msm(e,t){return YZ(x,i,e,t)}static fromPrivateKey(e){return x.BASE.multiply(AX(i,e))}}x.BASE=new x(o.Gx,o.Gy,r.ONE),x.ZERO=new x(r.ZERO,r.ONE,r.ZERO),x.Fp=r,x.Fn=i;const k=i.BITS,S=new ZZ(x,t.endo?Math.ceil(k/2):k);return x.BASE.precompute(8),x}function OX(e){return Uint8Array.of(e?2:3)}function MX(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function TX(e,t={}){const{Fn:n}=e,r=t.randomBytes||Cm,i=Object.assign(MX(e.Fp,n),{seed:jZ(n.ORDER)});function o(e){try{return!!AX(n,e)}catch(cF){return!1}}function s(e=r(i.seed)){return function(e,t,n=!1){const r=e.length,i=BZ(t),o=jZ(t);if(r<16||r<o||r>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+r);const s=xZ(n?nZ(e):tZ(e),t-pZ)+pZ;return n?iZ(s,i):rZ(s,i)}(QG(e,i.seed,"seed"),n.ORDER)}function a(t,r=!0){return e.BASE.multiply(AX(n,t)).toBytes(r)}function c(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const{secretKey:r,publicKey:o,publicKeyUncompressed:s}=i;if(n.allowedLengths||r===o)return;const a=oZ("key",t).length;return a===o||a===s}const l={isValidSecretKey:o,isValidPublicKey:function(t,n){const{publicKey:r,publicKeyUncompressed:o}=i;try{const i=t.length;return(!0!==n||i===r)&&((!1!==n||i===o)&&!!e.fromBytes(t))}catch(cF){return!1}},randomSecretKey:s,isValidPrivateKey:o,randomPrivateKey:s,normPrivateKeyToScalar:e=>AX(n,e),precompute:(t=8,n=e.BASE)=>n.precompute(t,!1)};return Object.freeze({getPublicKey:a,getSharedSecret:function(t,r,i=!0){if(!0===c(t))throw new Error("first arg must be private key");if(!1===c(r))throw new Error("second arg must be public key");const o=AX(n,t);return e.fromHex(r).multiply(o).toBytes(i)},keygen:function(e){const t=s(e);return{secretKey:t,publicKey:a(t)}},Point:e,utils:l,lengths:i})}function RX(e,t,n={}){rm(t),dZ(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=n.randomBytes||Cm,i=n.hmac||((e,...n)=>Nk(t,e,xm(...n))),{Fp:o,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:l,getPublicKey:u,getSharedSecret:d,utils:h,lengths:f}=TX(e,n),p={prehash:!1,lowS:"boolean"==typeof n.lowS&&n.lowS,format:void 0,extraEntropy:!1},m="compact";function g(e){return e>a>>kX}function y(e,t){if(!s.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class b{constructor(e,t,n){this.r=y("r",e),this.s=y("s",t),null!=n&&(this.recovery=n),Object.freeze(this)}static fromBytes(e,t=m){let n;if(function(e,t){vX(t);const n=f.signature;QG(e,"compact"===t?n:"recovered"===t?n+1:void 0,`${t} signature`)}(e,t),"der"===t){const{r:t,s:n}=EX.toSig(QG(e));return new b(t,n)}"recovered"===t&&(n=e[0],t="compact",e=e.subarray(1));const r=s.BYTES,i=e.subarray(0,r),o=e.subarray(r,2*r);return new b(s.fromBytes(i),s.fromBytes(o),n)}static fromHex(e,t){return this.fromBytes(_m(e),t)}addRecoveryBit(e){return new b(this.r,this.s,e)}recoverPublicKey(t){const n=o.ORDER,{r:r,s:i,recovery:c}=this;if(null==c||![0,1,2,3].includes(c))throw new Error("recovery id invalid");if(a*SX<n&&c>1)throw new Error("recovery id is ambiguous for h>1 curve");const l=2===c||3===c?r+a:r;if(!o.isValid(l))throw new Error("recovery id 2 or 3 invalid");const u=o.toBytes(l),d=e.fromBytes(xm(OX(!(1&c)),u)),h=s.inv(l),f=w(oZ("msgHash",t)),p=s.create(-f*h),m=s.create(i*h),g=e.BASE.multiplyUnsafe(p).add(d.multiplyUnsafe(m));if(g.is0())throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=m){if(vX(e),"der"===e)return _m(EX.hexFromSig(this));const t=s.toBytes(this.r),n=s.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw new Error("recovery bit must be present");return xm(Uint8Array.of(this.recovery),t,n)}return xm(t,n)}toHex(e){return fm(this.toBytes(e))}assertValidity(){}static fromCompact(e){return b.fromBytes(oZ("sig",e),"compact")}static fromDER(e){return b.fromBytes(oZ("sig",e),"der")}normalizeS(){return this.hasHighS()?new b(this.r,s.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return fm(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return fm(this.toBytes("compact"))}}const v=n.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=tZ(e),n=8*e.length-c;return n>0?t>>BigInt(n):t},w=n.bits2int_modN||function(e){return s.create(v(e))},_=uZ(c);function E(e){return cZ("num < 2^"+c,e,xX,_),s.toBytes(e)}function x(e,n){return QG(e,void 0,"message"),n?QG(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:d,utils:h,lengths:f,Point:e,sign:function(n,o,a={}){n=oZ("message",n);const{seed:c,k2sig:l}=function(t,n,i){if(["recovered","canonical"].some(e=>e in i))throw new Error("sign() legacy options not supported");const{lowS:o,prehash:a,extraEntropy:c}=wX(i,p);t=x(t,a);const l=w(t),u=AX(s,n),d=[E(u),E(l)];if(null!=c&&!1!==c){const e=!0===c?r(f.secretKey):c;d.push(oZ("extraEntropy",e))}const h=xm(...d),m=l;return{seed:h,k2sig:function(t){const n=v(t);if(!s.isValidNot0(n))return;const r=s.inv(n),i=e.BASE.multiply(n).toAffine(),a=s.create(i.x);if(a===xX)return;const c=s.create(r*s.create(m+a*u));if(c===xX)return;let l=(i.x===a?0:2)|Number(i.y&kX),d=c;return o&&g(c)&&(d=s.neg(c),l^=1),new b(a,d,l)}}}(n,o,a);return function(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");const r=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let o=r(e),s=r(e),a=0;const c=()=>{o.fill(1),s.fill(0),a=0},l=(...e)=>n(s,o,...e),u=(e=r(0))=>{s=l(i(0),e),o=l(),0!==e.length&&(s=l(i(1),e),o=l())},d=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){o=l();const t=o.slice();n.push(t),e+=o.length}return xm(...n)};return(e,t)=>{let n;for(c(),u(e);!(n=t(d()));)u();return c(),n}}(t.outputLen,s.BYTES,i)(c,l)},verify:function(t,n,r,i={}){const{lowS:o,prehash:a,format:c}=wX(i,p);if(r=oZ("publicKey",r),n=x(oZ("message",n),a),"strict"in i)throw new Error("options.strict was renamed to lowS");const l=void 0===c?function(e){let t;const n="string"==typeof e||em(e),r=!n&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!n&&!r)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(r)t=new b(e.r,e.s);else if(n){try{t=b.fromBytes(oZ("sig",e),"der")}catch(i){if(!(i instanceof EX.Err))throw i}if(!t)try{t=b.fromBytes(oZ("sig",e),"compact")}catch(cF){return!1}}return t||!1}(t):b.fromBytes(oZ("sig",t),c);if(!1===l)return!1;try{const t=e.fromBytes(r);if(o&&l.hasHighS())return!1;const{r:i,s:a}=l,c=w(n),u=s.inv(a),d=s.create(c*u),h=s.create(i*u),f=e.BASE.multiplyUnsafe(d).add(t.multiplyUnsafe(h));if(f.is0())return!1;return s.create(f.x)===i}catch(KAe){return!1}},recoverPublicKey:function(e,t,n={}){const{prehash:r}=wX(n,p);return t=x(t,r),b.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:b,hash:t})}function NX(e){const{CURVE:t,curveOpts:n}=function(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},n=e.Fp;let r=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0;return{CURVE:t,curveOpts:{Fp:n,Fn:LZ(t.n,{BITS:e.nBitLength,allowedLengths:r,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e),r={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:n,hash:e.hash,ecdsaOpts:r}}function LX(e){const{CURVE:t,curveOpts:n,hash:r,ecdsaOpts:i}=NX(e);return function(e,t){const n=t.Point;return Object.assign({},t,{ProjectivePoint:n,CURVE:Object.assign({},e,NZ(n.Fn.ORDER,n.Fn.BITS))})}(e,RX(PX(t,n),r,i))}
|
|
58
58
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function BX(e,t){const n=t=>LX({...e,hash:t});return{...n(t),create:n}}
|
|
59
|
-
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const jX={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},DX={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},UX=BigInt(2);const $X=LZ(jX.p,{sqrt:function(e){const t=jX.p,n=BigInt(3),r=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=kZ(u,n,t)*u%t,h=kZ(d,n,t)*u%t,f=kZ(h,UX,t)*l%t,p=kZ(f,i,t)*f%t,m=kZ(p,o,t)*p%t,g=kZ(m,a,t)*m%t,y=kZ(g,c,t)*g%t,b=kZ(y,a,t)*m%t,v=kZ(b,n,t)*u%t,w=kZ(v,s,t)*p%t,_=kZ(w,r,t)*l%t,E=kZ(_,UX,t);if(!$X.eql($X.sqr(E),e))throw new Error("Cannot find square root");return E}}),FX=BX({...jX,Fp:$X,lowS:!0,endo:DX},OE);function zX(e){try{return gY.ExtendedPoint.fromHex(e),!0}catch{return!1}}gY.utils.randomPrivateKey,gY.getPublicKey;const qX=gY.verify,HX=e=>Ze.isBuffer(e)?e:e instanceof Uint8Array?Ze.from(e.buffer,e.byteOffset,e.byteLength):Ze.from(e);let WX=class{constructor(e){Object.assign(this,e)}encode(){return Ze.from(rJ(KX,this))}static decode(e){return sJ(KX,this,e)}static decodeUnchecked(e){return HY(KX,this,e)}};const KX=new Map;var VX;const GX=32;let ZX=1;class YX extends WX{constructor(e){if(super({}),this._bn=void 0,function(e){return void 0!==e._bn}(e))this._bn=e._bn;else{if("string"==typeof e){const t=CY.decode(e);if(t.length!=GX)throw new Error("Invalid public key input");this._bn=new wY(t)}else this._bn=new wY(e);if(this._bn.byteLength()>GX)throw new Error("Invalid public key input")}}static unique(){const e=new YX(ZX);return ZX+=1,new YX(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return CY.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const e=this.toBuffer();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}toBuffer(){const e=this._bn.toArrayLike(Ze);if(e.length===GX)return e;const t=Ze.alloc(32);return e.copy(t,32-e.length),t}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(e,t,n){const r=Ze.concat([e.toBuffer(),Ze.from(t),n.toBuffer()]),i=RE(r);return new YX(i)}static createProgramAddressSync(e,t){let n=Ze.alloc(0);e.forEach(function(e){if(e.length>32)throw new TypeError("Max seed length exceeded");n=Ze.concat([n,HX(e)])}),n=Ze.concat([n,t.toBuffer(),Ze.from("ProgramDerivedAddress")]);const r=RE(n);if(zX(r))throw new Error("Invalid seeds, address must fall off the curve");return new YX(r)}static async createProgramAddress(e,t){return this.createProgramAddressSync(e,t)}static findProgramAddressSync(e,t){let n,r=255;for(;0!=r;){try{const i=e.concat(Ze.from([r]));n=this.createProgramAddressSync(i,t)}catch($He){if($He instanceof TypeError)throw $He;r--;continue}return[n,r]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(e,t){return this.findProgramAddressSync(e,t)}static isOnCurve(e){return zX(new YX(e).toBytes())}}VX=YX,YX.default=new VX("11111111111111111111111111111111"),KX.set(YX,{kind:"struct",fields:[["_bn","u256"]]}),new YX("BPFLoader1111111111111111111111111111111111");const JX=1232;class QX extends Error{constructor(e){super(`Signature ${e} has expired: block height exceeded.`),this.signature=void 0,this.signature=e}}Object.defineProperty(QX.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class XX extends Error{constructor(e,t){super(`Transaction was not confirmed in ${t.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${e} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=e}}Object.defineProperty(XX.prototype,"name",{value:"TransactionExpiredTimeoutError"});class e0 extends Error{constructor(e){super(`Signature ${e} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=e}}Object.defineProperty(e0.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class t0{constructor(e,t){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=e,this.accountKeysFromLookups=t}keySegments(){const e=[this.staticAccountKeys];return this.accountKeysFromLookups&&(e.push(this.accountKeysFromLookups.writable),e.push(this.accountKeysFromLookups.readonly)),e}get(e){for(const t of this.keySegments()){if(e<t.length)return t[e];e-=t.length}}get length(){return this.keySegments().flat().length}compileInstructions(e){if(this.length>256)throw new Error("Account index overflow encountered during compilation");const t=new Map;this.keySegments().flat().forEach((e,n)=>{t.set(e.toBase58(),n)});const n=e=>{const n=t.get(e.toBase58());if(void 0===n)throw new Error("Encountered an unknown instruction account key during compilation");return n};return e.map(e=>({programIdIndex:n(e.programId),accountKeyIndexes:e.keys.map(e=>n(e.pubkey)),data:e.data}))}}const n0=(e="publicKey")=>XJ(32,e),r0=(e="string")=>{const t=JJ([GJ("length"),GJ("lengthPadding"),XJ(WJ(GJ(),-8),"chars")],e),n=t.decode.bind(t),r=t.encode.bind(t),i=t;return i.decode=(e,t)=>n(e,t).chars.toString(),i.encode=(e,t,n)=>{const i={chars:Ze.from(e,"utf8")};return r(i,t,n)},i.alloc=e=>GJ().span+GJ().span+Ze.from(e,"utf8").length,i};function i0(e,t){const n=e=>{if(e.span>=0)return e.span;if("function"==typeof e.alloc)return e.alloc(t[e.property]);if("count"in e&&"elementLayout"in e){const r=t[e.property];if(Array.isArray(r))return r.length*n(e.elementLayout)}else if("fields"in e)return i0({layout:e},t[e.property]);return 0};let r=0;return e.layout.fields.forEach(e=>{r+=n(e)}),r}function o0(e){let t=0,n=0;for(;;){let r=e.shift();if(t|=(127&r)<<7*n,n+=1,!(128&r))break}return t}function s0(e,t){let n=t;for(;;){let t=127&n;if(n>>=7,0==n){e.push(t);break}t|=128,e.push(t)}}function a0(e,t){if(!e)throw new Error(t||"Assertion failed")}class c0{constructor(e,t){this.payer=void 0,this.keyMetaMap=void 0,this.payer=e,this.keyMetaMap=t}static compile(e,t){const n=new Map,r=e=>{const t=e.toBase58();let r=n.get(t);return void 0===r&&(r={isSigner:!1,isWritable:!1,isInvoked:!1},n.set(t,r)),r},i=r(t);i.isSigner=!0,i.isWritable=!0;for(const o of e){r(o.programId).isInvoked=!0;for(const e of o.keys){const t=r(e.pubkey);t.isSigner||(t.isSigner=e.isSigner),t.isWritable||(t.isWritable=e.isWritable)}}return new c0(t,n)}getMessageComponents(){const e=[...this.keyMetaMap.entries()];a0(e.length<=256,"Max static account keys length exceeded");const t=e.filter(([,e])=>e.isSigner&&e.isWritable),n=e.filter(([,e])=>e.isSigner&&!e.isWritable),r=e.filter(([,e])=>!e.isSigner&&e.isWritable),i=e.filter(([,e])=>!e.isSigner&&!e.isWritable),o={numRequiredSignatures:t.length+n.length,numReadonlySignedAccounts:n.length,numReadonlyUnsignedAccounts:i.length};{a0(t.length>0,"Expected at least one writable signer key");const[e]=t[0];a0(e===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}return[o,[...t.map(([e])=>new YX(e)),...n.map(([e])=>new YX(e)),...r.map(([e])=>new YX(e)),...i.map(([e])=>new YX(e))]]}extractTableLookup(e){const[t,n]=this.drainKeysFoundInLookupTable(e.state.addresses,e=>!e.isSigner&&!e.isInvoked&&e.isWritable),[r,i]=this.drainKeysFoundInLookupTable(e.state.addresses,e=>!e.isSigner&&!e.isInvoked&&!e.isWritable);if(0!==t.length||0!==r.length)return[{accountKey:e.key,writableIndexes:t,readonlyIndexes:r},{writable:n,readonly:i}]}drainKeysFoundInLookupTable(e,t){const n=new Array,r=new Array;for(const[i,o]of this.keyMetaMap.entries())if(t(o)){const t=new YX(i),o=e.findIndex(e=>e.equals(t));o>=0&&(a0(o<256,"Max lookup table index exceeded"),n.push(o),r.push(t),this.keyMetaMap.delete(i))}return[n,r]}}const l0="Reached end of buffer unexpectedly";function u0(e){if(0===e.length)throw new Error(l0);return e.shift()}function d0(e,...t){const[n]=t;if(2===t.length?n+(t[1]??0)>e.length:n>=e.length)throw new Error(l0);return e.splice(...t)}class h0{constructor(e){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=e.header,this.accountKeys=e.accountKeys.map(e=>new YX(e)),this.recentBlockhash=e.recentBlockhash,this.instructions=e.instructions,this.instructions.forEach(e=>this.indexToProgramIds.set(e.programIdIndex,this.accountKeys[e.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:CY.decode(e.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new t0(this.staticAccountKeys)}static compile(e){const t=c0.compile(e.instructions,e.payerKey),[n,r]=t.getMessageComponents(),i=new t0(r).compileInstructions(e.instructions).map(e=>({programIdIndex:e.programIdIndex,accounts:e.accountKeyIndexes,data:CY.encode(e.data)}));return new h0({header:n,accountKeys:r,recentBlockhash:e.recentBlockhash,instructions:i})}isAccountSigner(e){return e<this.header.numRequiredSignatures}isAccountWritable(e){const t=this.header.numRequiredSignatures;if(e>=this.header.numRequiredSignatures){return e-t<this.accountKeys.length-t-this.header.numReadonlyUnsignedAccounts}return e<t-this.header.numReadonlySignedAccounts}isProgramId(e){return this.indexToProgramIds.has(e)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter((e,t)=>!this.isProgramId(t))}serialize(){const e=this.accountKeys.length;let t=[];s0(t,e);const n=this.instructions.map(e=>{const{accounts:t,programIdIndex:n}=e,r=Array.from(CY.decode(e.data));let i=[];s0(i,t.length);let o=[];return s0(o,r.length),{programIdIndex:n,keyIndicesCount:Ze.from(i),keyIndices:t,dataLength:Ze.from(o),data:r}});let r=[];s0(r,n.length);let i=Ze.alloc(JX);Ze.from(r).copy(i);let o=r.length;n.forEach(e=>{const t=JJ([KJ("programIdIndex"),XJ(e.keyIndicesCount.length,"keyIndicesCount"),QJ(KJ("keyIndex"),e.keyIndices.length,"keyIndices"),XJ(e.dataLength.length,"dataLength"),QJ(KJ("userdatum"),e.data.length,"data")]).encode(e,i,o);o+=t}),i=i.slice(0,o);const s=JJ([XJ(1,"numRequiredSignatures"),XJ(1,"numReadonlySignedAccounts"),XJ(1,"numReadonlyUnsignedAccounts"),XJ(t.length,"keyCount"),QJ(n0("key"),e,"keys"),n0("recentBlockhash")]),a={numRequiredSignatures:Ze.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:Ze.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:Ze.from([this.header.numReadonlyUnsignedAccounts]),keyCount:Ze.from(t),keys:this.accountKeys.map(e=>HX(e.toBytes())),recentBlockhash:CY.decode(this.recentBlockhash)};let c=Ze.alloc(2048);const l=s.encode(a,c);return i.copy(c,l),c.slice(0,l+i.length)}static from(e){let t=[...e];const n=u0(t);if(n!==(127&n))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const r=u0(t),i=u0(t),o=o0(t);let s=[];for(let d=0;d<o;d++){const e=d0(t,0,GX);s.push(new YX(Ze.from(e)))}const a=d0(t,0,GX),c=o0(t);let l=[];for(let d=0;d<c;d++){const e=u0(t),n=d0(t,0,o0(t)),r=d0(t,0,o0(t)),i=CY.encode(Ze.from(r));l.push({programIdIndex:e,accounts:n,data:i})}const u={header:{numRequiredSignatures:n,numReadonlySignedAccounts:r,numReadonlyUnsignedAccounts:i},recentBlockhash:CY.encode(Ze.from(a)),accountKeys:s,instructions:l};return new h0(u)}}class f0{constructor(e){this.header=void 0,this.staticAccountKeys=void 0,this.recentBlockhash=void 0,this.compiledInstructions=void 0,this.addressTableLookups=void 0,this.header=e.header,this.staticAccountKeys=e.staticAccountKeys,this.recentBlockhash=e.recentBlockhash,this.compiledInstructions=e.compiledInstructions,this.addressTableLookups=e.addressTableLookups}get version(){return 0}get numAccountKeysFromLookups(){let e=0;for(const t of this.addressTableLookups)e+=t.readonlyIndexes.length+t.writableIndexes.length;return e}getAccountKeys(e){let t;if(e&&"accountKeysFromLookups"in e&&e.accountKeysFromLookups){if(this.numAccountKeysFromLookups!=e.accountKeysFromLookups.writable.length+e.accountKeysFromLookups.readonly.length)throw new Error("Failed to get account keys because of a mismatch in the number of account keys from lookups");t=e.accountKeysFromLookups}else if(e&&"addressLookupTableAccounts"in e&&e.addressLookupTableAccounts)t=this.resolveAddressTableLookups(e.addressLookupTableAccounts);else if(this.addressTableLookups.length>0)throw new Error("Failed to get account keys because address table lookups were not resolved");return new t0(this.staticAccountKeys,t)}isAccountSigner(e){return e<this.header.numRequiredSignatures}isAccountWritable(e){const t=this.header.numRequiredSignatures,n=this.staticAccountKeys.length;if(e>=n){return e-n<this.addressTableLookups.reduce((e,t)=>e+t.writableIndexes.length,0)}if(e>=this.header.numRequiredSignatures){return e-t<n-t-this.header.numReadonlyUnsignedAccounts}return e<t-this.header.numReadonlySignedAccounts}resolveAddressTableLookups(e){const t={writable:[],readonly:[]};for(const n of this.addressTableLookups){const r=e.find(e=>e.key.equals(n.accountKey));if(!r)throw new Error(`Failed to find address lookup table account for table key ${n.accountKey.toBase58()}`);for(const e of n.writableIndexes){if(!(e<r.state.addresses.length))throw new Error(`Failed to find address for index ${e} in address lookup table ${n.accountKey.toBase58()}`);t.writable.push(r.state.addresses[e])}for(const e of n.readonlyIndexes){if(!(e<r.state.addresses.length))throw new Error(`Failed to find address for index ${e} in address lookup table ${n.accountKey.toBase58()}`);t.readonly.push(r.state.addresses[e])}}return t}static compile(e){const t=c0.compile(e.instructions,e.payerKey),n=new Array,r={writable:new Array,readonly:new Array},i=e.addressLookupTableAccounts||[];for(const c of i){const e=t.extractTableLookup(c);if(void 0!==e){const[t,{writable:i,readonly:o}]=e;n.push(t),r.writable.push(...i),r.readonly.push(...o)}}const[o,s]=t.getMessageComponents(),a=new t0(s,r).compileInstructions(e.instructions);return new f0({header:o,staticAccountKeys:s,recentBlockhash:e.recentBlockhash,compiledInstructions:a,addressTableLookups:n})}serialize(){const e=Array();s0(e,this.staticAccountKeys.length);const t=this.serializeInstructions(),n=Array();s0(n,this.compiledInstructions.length);const r=this.serializeAddressTableLookups(),i=Array();s0(i,this.addressTableLookups.length);const o=JJ([KJ("prefix"),JJ([KJ("numRequiredSignatures"),KJ("numReadonlySignedAccounts"),KJ("numReadonlyUnsignedAccounts")],"header"),XJ(e.length,"staticAccountKeysLength"),QJ(n0(),this.staticAccountKeys.length,"staticAccountKeys"),n0("recentBlockhash"),XJ(n.length,"instructionsLength"),XJ(t.length,"serializedInstructions"),XJ(i.length,"addressTableLookupsLength"),XJ(r.length,"serializedAddressTableLookups")]),s=new Uint8Array(JX),a=o.encode({prefix:128,header:this.header,staticAccountKeysLength:new Uint8Array(e),staticAccountKeys:this.staticAccountKeys.map(e=>e.toBytes()),recentBlockhash:CY.decode(this.recentBlockhash),instructionsLength:new Uint8Array(n),serializedInstructions:t,addressTableLookupsLength:new Uint8Array(i),serializedAddressTableLookups:r},s);return s.slice(0,a)}serializeInstructions(){let e=0;const t=new Uint8Array(JX);for(const n of this.compiledInstructions){const r=Array();s0(r,n.accountKeyIndexes.length);const i=Array();s0(i,n.data.length);e+=JJ([KJ("programIdIndex"),XJ(r.length,"encodedAccountKeyIndexesLength"),QJ(KJ(),n.accountKeyIndexes.length,"accountKeyIndexes"),XJ(i.length,"encodedDataLength"),XJ(n.data.length,"data")]).encode({programIdIndex:n.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(r),accountKeyIndexes:n.accountKeyIndexes,encodedDataLength:new Uint8Array(i),data:n.data},t,e)}return t.slice(0,e)}serializeAddressTableLookups(){let e=0;const t=new Uint8Array(JX);for(const n of this.addressTableLookups){const r=Array();s0(r,n.writableIndexes.length);const i=Array();s0(i,n.readonlyIndexes.length);e+=JJ([n0("accountKey"),XJ(r.length,"encodedWritableIndexesLength"),QJ(KJ(),n.writableIndexes.length,"writableIndexes"),XJ(i.length,"encodedReadonlyIndexesLength"),QJ(KJ(),n.readonlyIndexes.length,"readonlyIndexes")]).encode({accountKey:n.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(r),writableIndexes:n.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(i),readonlyIndexes:n.readonlyIndexes},t,e)}return t.slice(0,e)}static deserialize(e){let t=[...e];const n=u0(t),r=127&n;a0(n!==r,"Expected versioned message but received legacy message");a0(0===r,`Expected versioned message with version 0 but found version ${r}`);const i={numRequiredSignatures:u0(t),numReadonlySignedAccounts:u0(t),numReadonlyUnsignedAccounts:u0(t)},o=[],s=o0(t);for(let h=0;h<s;h++)o.push(new YX(d0(t,0,GX)));const a=CY.encode(d0(t,0,GX)),c=o0(t),l=[];for(let h=0;h<c;h++){const e=u0(t),n=d0(t,0,o0(t)),r=o0(t),i=new Uint8Array(d0(t,0,r));l.push({programIdIndex:e,accountKeyIndexes:n,data:i})}const u=o0(t),d=[];for(let h=0;h<u;h++){const e=new YX(d0(t,0,GX)),n=d0(t,0,o0(t)),r=d0(t,0,o0(t));d.push({accountKey:e,writableIndexes:n,readonlyIndexes:r})}return new f0({header:i,staticAccountKeys:o,recentBlockhash:a,compiledInstructions:l,addressTableLookups:d})}}let p0=function(e){return e[e.BLOCKHEIGHT_EXCEEDED=0]="BLOCKHEIGHT_EXCEEDED",e[e.PROCESSED=1]="PROCESSED",e[e.TIMED_OUT=2]="TIMED_OUT",e[e.NONCE_INVALID=3]="NONCE_INVALID",e}({});const m0=Ze.alloc(64).fill(0);class g0{constructor(e){this.keys=void 0,this.programId=void 0,this.data=Ze.alloc(0),this.programId=e.programId,this.keys=e.keys,e.data&&(this.data=e.data)}toJSON(){return{keys:this.keys.map(({pubkey:e,isSigner:t,isWritable:n})=>({pubkey:e.toJSON(),isSigner:t,isWritable:n})),programId:this.programId.toJSON(),data:[...this.data]}}}class y0{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(e){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,e)if(e.feePayer&&(this.feePayer=e.feePayer),e.signatures&&(this.signatures=e.signatures),Object.prototype.hasOwnProperty.call(e,"nonceInfo")){const{minContextSlot:t,nonceInfo:n}=e;this.minNonceContextSlot=t,this.nonceInfo=n}else if(Object.prototype.hasOwnProperty.call(e,"lastValidBlockHeight")){const{blockhash:t,lastValidBlockHeight:n}=e;this.recentBlockhash=t,this.lastValidBlockHeight=n}else{const{recentBlockhash:t,nonceInfo:n}=e;n&&(this.nonceInfo=n),this.recentBlockhash=t}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(e=>e.toJSON()),signers:this.signatures.map(({publicKey:e})=>e.toJSON())}}add(...e){if(0===e.length)throw new Error("No instructions");return e.forEach(e=>{"instructions"in e?this.instructions=this.instructions.concat(e.instructions):"data"in e&&"programId"in e&&"keys"in e?this.instructions.push(e):this.instructions.push(new g0(e))}),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let e,t,n;if(this.nonceInfo?(e=this.nonceInfo.nonce,t=this.instructions[0]!=this.nonceInfo.nonceInstruction?[this.nonceInfo.nonceInstruction,...this.instructions]:this.instructions):(e=this.recentBlockhash,t=this.instructions),!e)throw new Error("Transaction recentBlockhash required");if(t.length<1&&console.warn("No instructions provided"),this.feePayer)n=this.feePayer;else{if(!(this.signatures.length>0&&this.signatures[0].publicKey))throw new Error("Transaction fee payer required");n=this.signatures[0].publicKey}for(let p=0;p<t.length;p++)if(void 0===t[p].programId)throw new Error(`Transaction instruction index ${p} has undefined program id`);const r=[],i=[];t.forEach(e=>{e.keys.forEach(e=>{i.push({...e})});const t=e.programId.toString();r.includes(t)||r.push(t)}),r.forEach(e=>{i.push({pubkey:new YX(e),isSigner:!1,isWritable:!1})});const o=[];i.forEach(e=>{const t=e.pubkey.toString(),n=o.findIndex(e=>e.pubkey.toString()===t);n>-1?(o[n].isWritable=o[n].isWritable||e.isWritable,o[n].isSigner=o[n].isSigner||e.isSigner):o.push(e)}),o.sort(function(e,t){if(e.isSigner!==t.isSigner)return e.isSigner?-1:1;if(e.isWritable!==t.isWritable)return e.isWritable?-1:1;return e.pubkey.toBase58().localeCompare(t.pubkey.toBase58(),"en",{localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"})});const s=o.findIndex(e=>e.pubkey.equals(n));if(s>-1){const[e]=o.splice(s,1);e.isSigner=!0,e.isWritable=!0,o.unshift(e)}else o.unshift({pubkey:n,isSigner:!0,isWritable:!0});for(const p of this.signatures){const e=o.findIndex(e=>e.pubkey.equals(p.publicKey));if(!(e>-1))throw new Error(`unknown signer: ${p.publicKey.toString()}`);o[e].isSigner||(o[e].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."))}let a=0,c=0,l=0;const u=[],d=[];o.forEach(({pubkey:e,isSigner:t,isWritable:n})=>{t?(u.push(e.toString()),a+=1,n||(c+=1)):(d.push(e.toString()),n||(l+=1))});const h=u.concat(d),f=t.map(e=>{const{data:t,programId:n}=e;return{programIdIndex:h.indexOf(n.toString()),accounts:e.keys.map(e=>h.indexOf(e.pubkey.toString())),data:CY.encode(t)}});return f.forEach(e=>{a0(e.programIdIndex>=0),e.accounts.forEach(e=>a0(e>=0))}),new h0({header:{numRequiredSignatures:a,numReadonlySignedAccounts:c,numReadonlyUnsignedAccounts:l},accountKeys:h,recentBlockhash:e,instructions:f})}_compile(){const e=this.compileMessage(),t=e.accountKeys.slice(0,e.header.numRequiredSignatures);if(this.signatures.length===t.length){if(this.signatures.every((e,n)=>t[n].equals(e.publicKey)))return e}return this.signatures=t.map(e=>({signature:null,publicKey:e})),e}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(e){return(await e.getFeeForMessage(this.compileMessage())).value}setSigners(...e){if(0===e.length)throw new Error("No signers");const t=new Set;this.signatures=e.filter(e=>{const n=e.toString();return!t.has(n)&&(t.add(n),!0)}).map(e=>({signature:null,publicKey:e}))}sign(...e){if(0===e.length)throw new Error("No signers");const t=new Set,n=[];for(const i of e){const e=i.publicKey.toString();t.has(e)||(t.add(e),n.push(i))}this.signatures=n.map(e=>({signature:null,publicKey:e.publicKey}));const r=this._compile();this._partialSign(r,...n)}partialSign(...e){if(0===e.length)throw new Error("No signers");const t=new Set,n=[];for(const i of e){const e=i.publicKey.toString();t.has(e)||(t.add(e),n.push(i))}const r=this._compile();this._partialSign(r,...n)}_partialSign(e,...t){const n=e.serialize();t.forEach(e=>{const t=((e,t)=>gY.sign(e,t.slice(0,32)))(n,e.secretKey);this._addSignature(e.publicKey,HX(t))})}addSignature(e,t){this._compile(),this._addSignature(e,t)}_addSignature(e,t){a0(64===t.length);const n=this.signatures.findIndex(t=>e.equals(t.publicKey));if(n<0)throw new Error(`unknown signer: ${e.toString()}`);this.signatures[n].signature=Ze.from(t)}verifySignatures(e=!0){return!this._getMessageSignednessErrors(this.serializeMessage(),e)}_getMessageSignednessErrors(e,t){const n={};for(const{signature:r,publicKey:i}of this.signatures)null===r?t&&(n.missing||(n.missing=[])).push(i):qX(r,e,i.toBytes())||(n.invalid||(n.invalid=[])).push(i);return n.invalid||n.missing?n:void 0}serialize(e){const{requireAllSignatures:t,verifySignatures:n}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},e),r=this.serializeMessage();if(n){const e=this._getMessageSignednessErrors(r,t);if(e){let t="Signature verification failed.";throw e.invalid&&(t+=`\nInvalid signature for public key${1===e.invalid.length?"":"(s)"} [\`${e.invalid.map(e=>e.toBase58()).join("`, `")}\`].`),e.missing&&(t+=`\nMissing signature for public key${1===e.missing.length?"":"(s)"} [\`${e.missing.map(e=>e.toBase58()).join("`, `")}\`].`),new Error(t)}}return this._serialize(r)}_serialize(e){const{signatures:t}=this,n=[];s0(n,t.length);const r=n.length+64*t.length+e.length,i=Ze.alloc(r);return a0(t.length<256),Ze.from(n).copy(i,0),t.forEach(({signature:e},t)=>{null!==e&&(a0(64===e.length,"signature has invalid length"),Ze.from(e).copy(i,n.length+64*t))}),e.copy(i,n.length+64*t.length),a0(i.length<=JX,`Transaction too large: ${i.length} > 1232`),i}get keys(){return a0(1===this.instructions.length),this.instructions[0].keys.map(e=>e.pubkey)}get programId(){return a0(1===this.instructions.length),this.instructions[0].programId}get data(){return a0(1===this.instructions.length),this.instructions[0].data}static from(e){let t=[...e];const n=o0(t);let r=[];for(let i=0;i<n;i++){const e=d0(t,0,64);r.push(CY.encode(Ze.from(e)))}return y0.populate(h0.from(t),r)}static populate(e,t=[]){const n=new y0;return n.recentBlockhash=e.recentBlockhash,e.header.numRequiredSignatures>0&&(n.feePayer=e.accountKeys[0]),t.forEach((t,r)=>{const i={signature:t==CY.encode(m0)?null:CY.decode(t),publicKey:e.accountKeys[r]};n.signatures.push(i)}),e.instructions.forEach(t=>{const r=t.accounts.map(t=>{const r=e.accountKeys[t];return{pubkey:r,isSigner:n.signatures.some(e=>e.publicKey.toString()===r.toString())||e.isAccountSigner(t),isWritable:e.isAccountWritable(t)}});n.instructions.push(new g0({keys:r,programId:e.accountKeys[t.programIdIndex],data:CY.decode(t.data)}))}),n._message=e,n._json=n.toJSON(),n}}new YX("SysvarC1ock11111111111111111111111111111111"),new YX("SysvarEpochSchedu1e111111111111111111111111"),new YX("Sysvar1nstructions1111111111111111111111111");const b0=new YX("SysvarRecentB1ockHashes11111111111111111111"),v0=new YX("SysvarRent111111111111111111111111111111111");new YX("SysvarRewards111111111111111111111111111111"),new YX("SysvarS1otHashes111111111111111111111111111"),new YX("SysvarS1otHistory11111111111111111111111111"),new YX("SysvarStakeHistory1111111111111111111111111");class w0 extends Error{constructor({action:e,signature:t,transactionMessage:n,logs:r}){const i=r?`Logs: \n${JSON.stringify(r.slice(-10),null,2)}. `:"",o="\nCatch the `SendTransactionError` and call `getLogs()` on it for full details.";let s;switch(e){case"send":s=`Transaction ${t} resulted in an error. \n${n}. `+i+o;break;case"simulate":s=`Simulation failed. \nMessage: ${n}. \n`+i+o;break;default:s=`Unknown action '${(e=>e)(e)}'`}super(s),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=t,this.transactionMessage=n,this.transactionLogs=r||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){const e=this.transactionLogs;if(null==e||"object"!=typeof e||!("then"in e))return e}async getLogs(e){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((t,n)=>{e.getTransaction(this.signature).then(e=>{if(e&&e.meta&&e.meta.logMessages){const n=e.meta.logMessages;this.transactionLogs=n,t(n)}else n(new Error("Log messages not found"))}).catch(n)})),await this.transactionLogs}}class _0 extends Error{constructor({code:e,message:t,data:n},r){super(null!=r?`${r}: ${t}`:t),this.code=void 0,this.data=void 0,this.code=e,this.data=n,this.name="SolanaJSONRPCError"}}function E0(e){return new Promise(t=>setTimeout(t,e))}function x0(e,t){const n=e.layout.span>=0?e.layout.span:i0(e,t),r=Ze.alloc(n),i=Object.assign({instruction:e.index},t);return e.layout.encode(i,r),r}const k0=ZJ("lamportsPerSignature"),S0=JJ([GJ("version"),GJ("state"),n0("authorizedPubkey"),n0("nonce"),JJ([k0],"feeCalculator")]),C0=S0.span;class I0{constructor(e){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=e.authorizedPubkey,this.nonce=e.nonce,this.feeCalculator=e.feeCalculator}static fromAccountData(e){const t=S0.decode(HX(e),0);return new I0({authorizedPubkey:new YX(t.authorizedPubkey),nonce:new YX(t.nonce).toString(),feeCalculator:t.feeCalculator})}}function A0(e){const t=XJ(8,e),n=t.decode.bind(t),r=t.encode.bind(t),i=t,o=cQ();return i.decode=(e,t)=>{const r=n(e,t);return o.decode(r)},i.encode=(e,t,n)=>{const i=o.encode(e);return r(i,t,n)},i}const P0=Object.freeze({Create:{index:0,layout:JJ([GJ("instruction"),YJ("lamports"),YJ("space"),n0("programId")])},Assign:{index:1,layout:JJ([GJ("instruction"),n0("programId")])},Transfer:{index:2,layout:JJ([GJ("instruction"),A0("lamports")])},CreateWithSeed:{index:3,layout:JJ([GJ("instruction"),n0("base"),r0("seed"),YJ("lamports"),YJ("space"),n0("programId")])},AdvanceNonceAccount:{index:4,layout:JJ([GJ("instruction")])},WithdrawNonceAccount:{index:5,layout:JJ([GJ("instruction"),YJ("lamports")])},InitializeNonceAccount:{index:6,layout:JJ([GJ("instruction"),n0("authorized")])},AuthorizeNonceAccount:{index:7,layout:JJ([GJ("instruction"),n0("authorized")])},Allocate:{index:8,layout:JJ([GJ("instruction"),YJ("space")])},AllocateWithSeed:{index:9,layout:JJ([GJ("instruction"),n0("base"),r0("seed"),YJ("space"),n0("programId")])},AssignWithSeed:{index:10,layout:JJ([GJ("instruction"),n0("base"),r0("seed"),n0("programId")])},TransferWithSeed:{index:11,layout:JJ([GJ("instruction"),A0("lamports"),r0("seed"),n0("programId")])},UpgradeNonceAccount:{index:12,layout:JJ([GJ("instruction")])}});class O0{constructor(){}static createAccount(e){const t=x0(P0.Create,{lamports:e.lamports,space:e.space,programId:HX(e.programId.toBuffer())});return new g0({keys:[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:t})}static transfer(e){let t,n;if("basePubkey"in e){t=x0(P0.TransferWithSeed,{lamports:BigInt(e.lamports),seed:e.seed,programId:HX(e.programId.toBuffer())}),n=[{pubkey:e.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}else{t=x0(P0.Transfer,{lamports:BigInt(e.lamports)}),n=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}return new g0({keys:n,programId:this.programId,data:t})}static assign(e){let t,n;if("basePubkey"in e){t=x0(P0.AssignWithSeed,{base:HX(e.basePubkey.toBuffer()),seed:e.seed,programId:HX(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{t=x0(P0.Assign,{programId:HX(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new g0({keys:n,programId:this.programId,data:t})}static createAccountWithSeed(e){const t=x0(P0.CreateWithSeed,{base:HX(e.basePubkey.toBuffer()),seed:e.seed,lamports:e.lamports,space:e.space,programId:HX(e.programId.toBuffer())});let n=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!1,isWritable:!0}];return e.basePubkey.equals(e.fromPubkey)||n.push({pubkey:e.basePubkey,isSigner:!0,isWritable:!1}),new g0({keys:n,programId:this.programId,data:t})}static createNonceAccount(e){const t=new y0;"basePubkey"in e&&"seed"in e?t.add(O0.createAccountWithSeed({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,basePubkey:e.basePubkey,seed:e.seed,lamports:e.lamports,space:C0,programId:this.programId})):t.add(O0.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,lamports:e.lamports,space:C0,programId:this.programId}));const n={noncePubkey:e.noncePubkey,authorizedPubkey:e.authorizedPubkey};return t.add(this.nonceInitialize(n)),t}static nonceInitialize(e){const t=x0(P0.InitializeNonceAccount,{authorized:HX(e.authorizedPubkey.toBuffer())}),n={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:b0,isSigner:!1,isWritable:!1},{pubkey:v0,isSigner:!1,isWritable:!1}],programId:this.programId,data:t};return new g0(n)}static nonceAdvance(e){const t=x0(P0.AdvanceNonceAccount),n={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:b0,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:t};return new g0(n)}static nonceWithdraw(e){const t=x0(P0.WithdrawNonceAccount,{lamports:e.lamports});return new g0({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0},{pubkey:b0,isSigner:!1,isWritable:!1},{pubkey:v0,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:t})}static nonceAuthorize(e){const t=x0(P0.AuthorizeNonceAccount,{authorized:HX(e.newAuthorizedPubkey.toBuffer())});return new g0({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:t})}static allocate(e){let t,n;if("basePubkey"in e){t=x0(P0.AllocateWithSeed,{base:HX(e.basePubkey.toBuffer()),seed:e.seed,space:e.space,programId:HX(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{t=x0(P0.Allocate,{space:e.space}),n=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new g0({keys:n,programId:this.programId,data:t})}}function M0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var T0,R0;function N0(){if(R0)return T0;R0=1;var e=Object.prototype.toString,t=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};function n(r,i){var o,s,a,c,l,u,d;if(!0===r)return"true";if(!1===r)return"false";switch(typeof r){case"object":if(null===r)return null;if(r.toJSON&&"function"==typeof r.toJSON)return n(r.toJSON(),i);if("[object Array]"===(d=e.call(r))){for(a="[",s=r.length-1,o=0;o<s;o++)a+=n(r[o],!0)+",";return s>-1&&(a+=n(r[o],!0)),a+"]"}if("[object Object]"===d){for(s=(c=t(r).sort()).length,a="",o=0;o<s;)void 0!==(u=n(r[l=c[o]],!1))&&(a&&(a+=","),a+=JSON.stringify(l)+":"+u),o++;return"{"+a+"}"}return JSON.stringify(r);case"function":case"undefined":return i?null:void 0;case"string":return JSON.stringify(r);default:return isFinite(r)?r:null}}return T0=function(e){var t=n(e,!1);if(void 0!==t)return""+t}}O0.programId=new YX("11111111111111111111111111111111"),new YX("BPFLoader2111111111111111111111111111111111");var L0=M0(N0());function B0(e){let t=0;for(;e>1;)e/=2,t++;return t}class j0{constructor(e,t,n,r,i){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=e,this.leaderScheduleSlotOffset=t,this.warmup=n,this.firstNormalEpoch=r,this.firstNormalSlot=i}getEpoch(e){return this.getEpochAndSlotIndex(e)[0]}getEpochAndSlotIndex(e){if(e<this.firstNormalSlot){const n=B0(0===(t=e+32+1)?1:(t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,1+(t|=t>>32)))-B0(32)-1;return[n,e-(this.getSlotsInEpoch(n)-32)]}{const t=e-this.firstNormalSlot,n=Math.floor(t/this.slotsPerEpoch);return[this.firstNormalEpoch+n,t%this.slotsPerEpoch]}var t}getFirstSlotInEpoch(e){return e<=this.firstNormalEpoch?32*(Math.pow(2,e)-1):(e-this.firstNormalEpoch)*this.slotsPerEpoch+this.firstNormalSlot}getLastSlotInEpoch(e){return this.getFirstSlotInEpoch(e)+this.getSlotsInEpoch(e)-1}getSlotsInEpoch(e){return e<this.firstNormalEpoch?Math.pow(2,e+B0(32)):this.slotsPerEpoch}}var D0=globalThis.fetch;class U0 extends yX{constructor(e,t,n){super(e=>{const n=function(e,t){return new mX(e,t)}(e,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...t});return this.underlyingSocket="socket"in n?n.socket:n,n},e,t,n),this.underlyingSocket=void 0}call(...e){var t;const n=null==(t=this.underlyingSocket)?void 0:t.readyState;return 1===n?super.call(...e):Promise.reject(new Error("Tried to call a JSON-RPC method `"+e[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+n+")"))}notify(...e){var t;const n=null==(t=this.underlyingSocket)?void 0:t.readyState;return 1===n?super.notify(...e):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+e[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+n+")"))}}class $0{constructor(e){this.key=void 0,this.state=void 0,this.key=e.key,this.state=e.state}isActive(){const e=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===e}static deserialize(e){const t=function(e,t){let n;try{n=e.layout.decode(t)}catch($He){throw new Error("invalid instruction; "+$He)}if(n.typeIndex!==e.index)throw new Error(`invalid account data; account type mismatch ${n.typeIndex} != ${e.index}`);return n}(F0,e),n=e.length-56;a0(n>=0,"lookup table is invalid"),a0(n%32==0,"lookup table is invalid");const r=n/32,{addresses:i}=JJ([QJ(n0(),r,"addresses")]).decode(e.slice(56));return{deactivationSlot:t.deactivationSlot,lastExtendedSlot:t.lastExtendedSlot,lastExtendedSlotStartIndex:t.lastExtendedStartIndex,authority:0!==t.authority.length?new YX(t.authority[0]):void 0,addresses:i.map(e=>new YX(e))}}}const F0={index:1,layout:JJ([GJ("typeIndex"),A0("deactivationSlot"),ZJ("lastExtendedSlot"),KJ("lastExtendedStartIndex"),KJ(),QJ(n0(),WJ(KJ(),-1),"authority")])},z0=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;const q0=NQ(xQ(YX),PQ(),e=>new YX(e)),H0=OQ([PQ(),kQ("base64")]),W0=NQ(xQ(Ze),H0,e=>Ze.from(e[0],"base64"));function K0(e){let t,n;if("string"==typeof e)t=e;else if(e){const{commitment:r,...i}=e;t=r,n=i}return{commitment:t,config:n}}function V0(e){return e.map(e=>"memcmp"in e?{...e,memcmp:{...e.memcmp,encoding:e.memcmp.encoding??"base58"}}:e)}function G0(e){return TQ([MQ({jsonrpc:kQ("2.0"),id:PQ(),result:e}),MQ({jsonrpc:kQ("2.0"),id:PQ(),error:MQ({code:RQ(),message:PQ(),data:IQ(wQ("any",()=>!0))})})])}const Z0=G0(RQ());function Y0(e){return NQ(G0(e),Z0,t=>"error"in t?t:{...t,result:yQ(t.result,e)})}function J0(e){return Y0(MQ({context:MQ({slot:CQ()}),value:e}))}function Q0(e){return MQ({context:MQ({slot:CQ()}),value:e})}function X0(e,t){return 0===e?new f0({header:t.header,staticAccountKeys:t.accountKeys.map(e=>new YX(e)),recentBlockhash:t.recentBlockhash,compiledInstructions:t.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:CY.decode(e.data)})),addressTableLookups:t.addressTableLookups}):new h0(t)}const e1=MQ({foundation:CQ(),foundationTerm:CQ(),initial:CQ(),taper:CQ(),terminal:CQ()}),t1=Y0(_Q(SQ(MQ({epoch:CQ(),effectiveSlot:CQ(),amount:CQ(),postBalance:CQ(),commission:IQ(SQ(CQ()))})))),n1=_Q(MQ({slot:CQ(),prioritizationFee:CQ()})),r1=MQ({total:CQ(),validator:CQ(),foundation:CQ(),epoch:CQ()}),i1=MQ({epoch:CQ(),slotIndex:CQ(),slotsInEpoch:CQ(),absoluteSlot:CQ(),blockHeight:IQ(CQ()),transactionCount:IQ(CQ())}),o1=MQ({slotsPerEpoch:CQ(),leaderScheduleSlotOffset:CQ(),warmup:EQ(),firstNormalEpoch:CQ(),firstNormalSlot:CQ()}),s1=AQ(PQ(),_Q(CQ())),a1=SQ(TQ([MQ({}),PQ()])),c1=MQ({err:a1}),l1=kQ("receivedSignature"),u1=MQ({"solana-core":PQ(),"feature-set":IQ(CQ())}),d1=MQ({program:PQ(),programId:q0,parsed:RQ()}),h1=MQ({programId:q0,accounts:_Q(q0),data:PQ()}),f1=J0(MQ({err:SQ(TQ([MQ({}),PQ()])),logs:SQ(_Q(PQ())),accounts:IQ(SQ(_Q(SQ(MQ({executable:EQ(),owner:PQ(),lamports:CQ(),data:_Q(PQ()),rentEpoch:IQ(CQ())}))))),unitsConsumed:IQ(CQ()),returnData:IQ(SQ(MQ({programId:PQ(),data:OQ([PQ(),kQ("base64")])}))),innerInstructions:IQ(SQ(_Q(MQ({index:CQ(),instructions:_Q(TQ([d1,h1]))}))))})),p1=J0(MQ({byIdentity:AQ(PQ(),_Q(CQ())),range:MQ({firstSlot:CQ(),lastSlot:CQ()})}));const m1=Y0(e1),g1=Y0(r1),y1=Y0(n1),b1=Y0(i1),v1=Y0(o1),w1=Y0(s1),_1=Y0(CQ()),E1=J0(MQ({total:CQ(),circulating:CQ(),nonCirculating:CQ(),nonCirculatingAccounts:_Q(q0)})),x1=MQ({amount:PQ(),uiAmount:SQ(CQ()),decimals:CQ(),uiAmountString:IQ(PQ())}),k1=J0(_Q(MQ({address:q0,amount:PQ(),uiAmount:SQ(CQ()),decimals:CQ(),uiAmountString:IQ(PQ())}))),S1=J0(_Q(MQ({pubkey:q0,account:MQ({executable:EQ(),owner:q0,lamports:CQ(),data:W0,rentEpoch:CQ()})}))),C1=MQ({program:PQ(),parsed:RQ(),space:CQ()}),I1=J0(_Q(MQ({pubkey:q0,account:MQ({executable:EQ(),owner:q0,lamports:CQ(),data:C1,rentEpoch:CQ()})}))),A1=J0(_Q(MQ({lamports:CQ(),address:q0}))),P1=MQ({executable:EQ(),owner:q0,lamports:CQ(),data:W0,rentEpoch:CQ()}),O1=MQ({pubkey:q0,account:P1}),M1=NQ(TQ([xQ(Ze),C1]),TQ([H0,C1]),e=>Array.isArray(e)?yQ(e,W0):e),T1=MQ({executable:EQ(),owner:q0,lamports:CQ(),data:M1,rentEpoch:CQ()}),R1=MQ({pubkey:q0,account:T1}),N1=MQ({state:TQ([kQ("active"),kQ("inactive"),kQ("activating"),kQ("deactivating")]),active:CQ(),inactive:CQ()}),L1=Y0(_Q(MQ({signature:PQ(),slot:CQ(),err:a1,memo:SQ(PQ()),blockTime:IQ(SQ(CQ()))}))),B1=Y0(_Q(MQ({signature:PQ(),slot:CQ(),err:a1,memo:SQ(PQ()),blockTime:IQ(SQ(CQ()))}))),j1=MQ({subscription:CQ(),result:Q0(P1)}),D1=MQ({pubkey:q0,account:P1}),U1=MQ({subscription:CQ(),result:Q0(D1)}),$1=MQ({parent:CQ(),slot:CQ(),root:CQ()}),F1=MQ({subscription:CQ(),result:$1}),z1=TQ([MQ({type:TQ([kQ("firstShredReceived"),kQ("completed"),kQ("optimisticConfirmation"),kQ("root")]),slot:CQ(),timestamp:CQ()}),MQ({type:kQ("createdBank"),parent:CQ(),slot:CQ(),timestamp:CQ()}),MQ({type:kQ("frozen"),slot:CQ(),timestamp:CQ(),stats:MQ({numTransactionEntries:CQ(),numSuccessfulTransactions:CQ(),numFailedTransactions:CQ(),maxTransactionsPerEntry:CQ()})}),MQ({type:kQ("dead"),slot:CQ(),timestamp:CQ(),err:PQ()})]),q1=MQ({subscription:CQ(),result:z1}),H1=MQ({subscription:CQ(),result:Q0(TQ([c1,l1]))}),W1=MQ({subscription:CQ(),result:CQ()}),K1=MQ({pubkey:PQ(),gossip:SQ(PQ()),tpu:SQ(PQ()),rpc:SQ(PQ()),version:SQ(PQ())}),V1=MQ({votePubkey:PQ(),nodePubkey:PQ(),activatedStake:CQ(),epochVoteAccount:EQ(),epochCredits:_Q(OQ([CQ(),CQ(),CQ()])),commission:CQ(),lastVote:CQ(),rootSlot:SQ(CQ())}),G1=Y0(MQ({current:_Q(V1),delinquent:_Q(V1)})),Z1=TQ([kQ("processed"),kQ("confirmed"),kQ("finalized")]),Y1=MQ({slot:CQ(),confirmations:SQ(CQ()),err:a1,confirmationStatus:IQ(Z1)}),J1=J0(_Q(SQ(Y1))),Q1=Y0(CQ()),X1=MQ({accountKey:q0,writableIndexes:_Q(CQ()),readonlyIndexes:_Q(CQ())}),e2=MQ({signatures:_Q(PQ()),message:MQ({accountKeys:_Q(PQ()),header:MQ({numRequiredSignatures:CQ(),numReadonlySignedAccounts:CQ(),numReadonlyUnsignedAccounts:CQ()}),instructions:_Q(MQ({accounts:_Q(CQ()),data:PQ(),programIdIndex:CQ()})),recentBlockhash:PQ(),addressTableLookups:IQ(_Q(X1))})}),t2=MQ({pubkey:q0,signer:EQ(),writable:EQ(),source:IQ(TQ([kQ("transaction"),kQ("lookupTable")]))}),n2=MQ({accountKeys:_Q(t2),signatures:_Q(PQ())}),r2=MQ({parsed:RQ(),program:PQ(),programId:q0}),i2=MQ({accounts:_Q(q0),data:PQ(),programId:q0}),o2=NQ(TQ([i2,r2]),TQ([MQ({parsed:RQ(),program:PQ(),programId:PQ()}),MQ({accounts:_Q(PQ()),data:PQ(),programId:PQ()})]),e=>yQ(e,"accounts"in e?i2:r2)),s2=MQ({signatures:_Q(PQ()),message:MQ({accountKeys:_Q(t2),instructions:_Q(o2),recentBlockhash:PQ(),addressTableLookups:IQ(SQ(_Q(X1)))})}),a2=MQ({accountIndex:CQ(),mint:PQ(),owner:IQ(PQ()),programId:IQ(PQ()),uiTokenAmount:x1}),c2=MQ({writable:_Q(q0),readonly:_Q(q0)}),l2=MQ({err:a1,fee:CQ(),innerInstructions:IQ(SQ(_Q(MQ({index:CQ(),instructions:_Q(MQ({accounts:_Q(CQ()),data:PQ(),programIdIndex:CQ()}))})))),preBalances:_Q(CQ()),postBalances:_Q(CQ()),logMessages:IQ(SQ(_Q(PQ()))),preTokenBalances:IQ(SQ(_Q(a2))),postTokenBalances:IQ(SQ(_Q(a2))),loadedAddresses:IQ(c2),computeUnitsConsumed:IQ(CQ()),costUnits:IQ(CQ())}),u2=MQ({err:a1,fee:CQ(),innerInstructions:IQ(SQ(_Q(MQ({index:CQ(),instructions:_Q(o2)})))),preBalances:_Q(CQ()),postBalances:_Q(CQ()),logMessages:IQ(SQ(_Q(PQ()))),preTokenBalances:IQ(SQ(_Q(a2))),postTokenBalances:IQ(SQ(_Q(a2))),loadedAddresses:IQ(c2),computeUnitsConsumed:IQ(CQ()),costUnits:IQ(CQ())}),d2=TQ([kQ(0),kQ("legacy")]),h2=MQ({pubkey:PQ(),lamports:CQ(),postBalance:SQ(CQ()),rewardType:SQ(PQ()),commission:IQ(SQ(CQ()))}),f2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:e2,meta:SQ(l2),version:IQ(d2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),p2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),m2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:n2,meta:SQ(l2),version:IQ(d2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),g2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:s2,meta:SQ(u2),version:IQ(d2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),y2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:n2,meta:SQ(u2),version:IQ(d2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),b2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),v2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:e2,meta:SQ(l2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ())}))),w2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),signatures:_Q(PQ()),blockTime:SQ(CQ())}))),_2=Y0(SQ(MQ({slot:CQ(),meta:SQ(l2),blockTime:IQ(SQ(CQ())),transaction:e2,version:IQ(d2)}))),E2=Y0(SQ(MQ({slot:CQ(),transaction:s2,meta:SQ(u2),blockTime:IQ(SQ(CQ())),version:IQ(d2)}))),x2=J0(MQ({blockhash:PQ(),lastValidBlockHeight:CQ()})),k2=J0(EQ()),S2=Y0(_Q(MQ({slot:CQ(),numTransactions:CQ(),numSlots:CQ(),samplePeriodSecs:CQ()}))),C2=J0(SQ(MQ({feeCalculator:MQ({lamportsPerSignature:CQ()})}))),I2=Y0(PQ()),A2=Y0(PQ()),P2=MQ({err:a1,logs:_Q(PQ()),signature:PQ()}),O2=MQ({result:Q0(P2),subscription:CQ()}),M2={"solana-client":"js/1.0.0-maintenance"};class T2{constructor(e,t){let n,r,i,o,s,a;var c;this._commitment=void 0,this._confirmTransactionInitialTimeout=void 0,this._rpcEndpoint=void 0,this._rpcWsEndpoint=void 0,this._rpcClient=void 0,this._rpcRequest=void 0,this._rpcBatchRequest=void 0,this._rpcWebSocket=void 0,this._rpcWebSocketConnected=!1,this._rpcWebSocketHeartbeat=null,this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketGeneration=0,this._disableBlockhashCaching=!1,this._pollingBlockhash=!1,this._blockhashInfo={latestBlockhash:null,lastFetch:0,transactionSignatures:[],simulatedSignatures:[]},this._nextClientSubscriptionId=0,this._subscriptionDisposeFunctionsByClientSubscriptionId={},this._subscriptionHashByClientSubscriptionId={},this._subscriptionStateChangeCallbacksByHash={},this._subscriptionCallbacksByServerSubscriptionId={},this._subscriptionsByHash={},this._subscriptionsAutoDisposedByRpc=new Set,this.getBlockHeight=(()=>{const e={};return async t=>{const{commitment:n,config:r}=K0(t),i=this._buildArgs([],n,void 0,r),o=L0(i);return e[o]=e[o]??(async()=>{try{const e=yQ(await this._rpcRequest("getBlockHeight",i),Y0(CQ()));if("error"in e)throw new _0(e.error,"failed to get block height information");return e.result}finally{delete e[o]}})(),await e[o]}})(),t&&"string"==typeof t?this._commitment=t:t&&(this._commitment=t.commitment,this._confirmTransactionInitialTimeout=t.confirmTransactionInitialTimeout,n=t.wsEndpoint,r=t.httpHeaders,i=t.fetch,o=t.fetchMiddleware,s=t.disableRetryOnRateLimit,a=t.httpAgent),this._rpcEndpoint=function(e){if(!1===/^https?:/.test(e))throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return e}(e),this._rpcWsEndpoint=n||function(e){const t=e.match(z0);if(null==t)throw TypeError(`Failed to validate endpoint URL \`${e}\``);const[n,r,i,o]=t,s=e.startsWith("https:")?"wss:":"ws:",a=null==i?null:parseInt(i.slice(1),10);return`${s}//${r}${null==a?"":`:${a+1}`}${o}`}(e),this._rpcClient=function(e,t,n,r,i,o){const s=n||D0;let a;null!=o&&console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments."),r&&(a=async(e,t)=>{const n=await new Promise((n,i)=>{try{r(e,t,(e,t)=>n([e,t]))}catch(cF){i(cF)}});return await s(...n)});const c=new pX(async(n,r)=>{const o={method:"POST",body:n,agent:void 0,headers:Object.assign({"Content-Type":"application/json"},t||{},M2)};try{let t,n=5,c=500;for(;t=a?await a(e,o):await s(e,o),429===t.status&&!0!==i&&(n-=1,0!==n);)console.error(`Server responded with ${t.status} ${t.statusText}. Retrying after ${c}ms delay...`),await E0(c),c*=2;const l=await t.text();t.ok?r(null,l):r(new Error(`${t.status} ${t.statusText}: ${l}`))}catch($He){$He instanceof Error&&r($He)}},{});return c}(e,r,i,o,s,a),this._rpcRequest=(c=this._rpcClient,(e,t)=>new Promise((n,r)=>{c.request(e,t,(e,t)=>{e?r(e):n(t)})})),this._rpcBatchRequest=function(e){return t=>new Promise((n,r)=>{0===t.length&&n([]);const i=t.map(t=>e.request(t.methodName,t.args));e.request(i,(e,t)=>{e?r(e):n(t)})})}(this._rpcClient),this._rpcWebSocket=new U0(this._rpcWsEndpoint,{autoconnect:!1,max_reconnects:1/0}),this._rpcWebSocket.on("open",this._wsOnOpen.bind(this)),this._rpcWebSocket.on("error",this._wsOnError.bind(this)),this._rpcWebSocket.on("close",this._wsOnClose.bind(this)),this._rpcWebSocket.on("accountNotification",this._wsOnAccountNotification.bind(this)),this._rpcWebSocket.on("programNotification",this._wsOnProgramAccountNotification.bind(this)),this._rpcWebSocket.on("slotNotification",this._wsOnSlotNotification.bind(this)),this._rpcWebSocket.on("slotsUpdatesNotification",this._wsOnSlotUpdatesNotification.bind(this)),this._rpcWebSocket.on("signatureNotification",this._wsOnSignatureNotification.bind(this)),this._rpcWebSocket.on("rootNotification",this._wsOnRootNotification.bind(this)),this._rpcWebSocket.on("logsNotification",this._wsOnLogsNotification.bind(this))}get commitment(){return this._commitment}get rpcEndpoint(){return this._rpcEndpoint}async getBalanceAndContext(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e.toBase58()],n,void 0,r),o=yQ(await this._rpcRequest("getBalance",i),J0(CQ()));if("error"in o)throw new _0(o.error,`failed to get balance for ${e.toBase58()}`);return o.result}async getBalance(e,t){return await this.getBalanceAndContext(e,t).then(e=>e.value).catch(t=>{throw new Error("failed to get balance of account "+e.toBase58()+": "+t)})}async getBlockTime(e){const t=yQ(await this._rpcRequest("getBlockTime",[e]),Y0(SQ(CQ())));if("error"in t)throw new _0(t.error,`failed to get block time for slot ${e}`);return t.result}async getMinimumLedgerSlot(){const e=yQ(await this._rpcRequest("minimumLedgerSlot",[]),Y0(CQ()));if("error"in e)throw new _0(e.error,"failed to get minimum ledger slot");return e.result}async getFirstAvailableBlock(){const e=yQ(await this._rpcRequest("getFirstAvailableBlock",[]),_1);if("error"in e)throw new _0(e.error,"failed to get first available block");return e.result}async getSupply(e){let t={};t="string"==typeof e?{commitment:e}:e?{...e,commitment:e&&e.commitment||this.commitment}:{commitment:this.commitment};const n=yQ(await this._rpcRequest("getSupply",[t]),E1);if("error"in n)throw new _0(n.error,"failed to get supply");return n.result}async getTokenSupply(e,t){const n=this._buildArgs([e.toBase58()],t),r=yQ(await this._rpcRequest("getTokenSupply",n),J0(x1));if("error"in r)throw new _0(r.error,"failed to get token supply");return r.result}async getTokenAccountBalance(e,t){const n=this._buildArgs([e.toBase58()],t),r=yQ(await this._rpcRequest("getTokenAccountBalance",n),J0(x1));if("error"in r)throw new _0(r.error,"failed to get token account balance");return r.result}async getTokenAccountsByOwner(e,t,n){const{commitment:r,config:i}=K0(n);let o=[e.toBase58()];"mint"in t?o.push({mint:t.mint.toBase58()}):o.push({programId:t.programId.toBase58()});const s=this._buildArgs(o,r,"base64",i),a=yQ(await this._rpcRequest("getTokenAccountsByOwner",s),S1);if("error"in a)throw new _0(a.error,`failed to get token accounts owned by account ${e.toBase58()}`);return a.result}async getParsedTokenAccountsByOwner(e,t,n){let r=[e.toBase58()];"mint"in t?r.push({mint:t.mint.toBase58()}):r.push({programId:t.programId.toBase58()});const i=this._buildArgs(r,n,"jsonParsed"),o=yQ(await this._rpcRequest("getTokenAccountsByOwner",i),I1);if("error"in o)throw new _0(o.error,`failed to get token accounts owned by account ${e.toBase58()}`);return o.result}async getLargestAccounts(e){const t={...e,commitment:e&&e.commitment||this.commitment},n=t.filter||t.commitment?[t]:[],r=yQ(await this._rpcRequest("getLargestAccounts",n),A1);if("error"in r)throw new _0(r.error,"failed to get largest accounts");return r.result}async getTokenLargestAccounts(e,t){const n=this._buildArgs([e.toBase58()],t),r=yQ(await this._rpcRequest("getTokenLargestAccounts",n),k1);if("error"in r)throw new _0(r.error,"failed to get token largest accounts");return r.result}async getAccountInfoAndContext(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e.toBase58()],n,"base64",r),o=yQ(await this._rpcRequest("getAccountInfo",i),J0(SQ(P1)));if("error"in o)throw new _0(o.error,`failed to get info about account ${e.toBase58()}`);return o.result}async getParsedAccountInfo(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e.toBase58()],n,"jsonParsed",r),o=yQ(await this._rpcRequest("getAccountInfo",i),J0(SQ(T1)));if("error"in o)throw new _0(o.error,`failed to get info about account ${e.toBase58()}`);return o.result}async getAccountInfo(e,t){try{return(await this.getAccountInfoAndContext(e,t)).value}catch(KAe){throw new Error("failed to get info about account "+e.toBase58()+": "+KAe)}}async getMultipleParsedAccounts(e,t){const{commitment:n,config:r}=K0(t),i=e.map(e=>e.toBase58()),o=this._buildArgs([i],n,"jsonParsed",r),s=yQ(await this._rpcRequest("getMultipleAccounts",o),J0(_Q(SQ(T1))));if("error"in s)throw new _0(s.error,`failed to get info for accounts ${i}`);return s.result}async getMultipleAccountsInfoAndContext(e,t){const{commitment:n,config:r}=K0(t),i=e.map(e=>e.toBase58()),o=this._buildArgs([i],n,"base64",r),s=yQ(await this._rpcRequest("getMultipleAccounts",o),J0(_Q(SQ(P1))));if("error"in s)throw new _0(s.error,`failed to get info for accounts ${i}`);return s.result}async getMultipleAccountsInfo(e,t){return(await this.getMultipleAccountsInfoAndContext(e,t)).value}async getStakeActivation(e,t,n){const{commitment:r,config:i}=K0(t),o=this._buildArgs([e.toBase58()],r,void 0,{...i,epoch:null!=n?n:null==i?void 0:i.epoch}),s=yQ(await this._rpcRequest("getStakeActivation",o),Y0(N1));if("error"in s)throw new _0(s.error,`failed to get Stake Activation ${e.toBase58()}`);return s.result}async getProgramAccounts(e,t){const{commitment:n,config:r}=K0(t),{encoding:i,...o}=r||{},s=this._buildArgs([e.toBase58()],n,i||"base64",{...o,...o.filters?{filters:V0(o.filters)}:null}),a=await this._rpcRequest("getProgramAccounts",s),c=_Q(O1),l=!0===o.withContext?yQ(a,J0(c)):yQ(a,Y0(c));if("error"in l)throw new _0(l.error,`failed to get accounts owned by program ${e.toBase58()}`);return l.result}async getParsedProgramAccounts(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e.toBase58()],n,"jsonParsed",r),o=yQ(await this._rpcRequest("getProgramAccounts",i),Y0(_Q(R1)));if("error"in o)throw new _0(o.error,`failed to get accounts owned by program ${e.toBase58()}`);return o.result}async confirmTransaction(e,t){var n;let r,i;if("string"==typeof e)r=e;else{const t=e;if(null==(n=t.abortSignal)?void 0:n.aborted)return Promise.reject(t.abortSignal.reason);r=t.signature}try{i=CY.decode(r)}catch($He){throw new Error("signature must be base58 encoded: "+r)}return a0(64===i.length,"signature has invalid length"),"string"==typeof e?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:t||this.commitment,signature:r}):"lastValidBlockHeight"in e?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t||this.commitment,strategy:e}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:t||this.commitment,strategy:e})}getCancellationPromise(e){return new Promise((t,n)=>{null!=e&&(e.aborted?n(e.reason):e.addEventListener("abort",()=>{n(e.reason)}))})}getTransactionConfirmationPromise({commitment:e,signature:t}){let n,r,i=!1;const o=new Promise((o,s)=>{try{n=this.onSignature(t,(e,t)=>{n=void 0;const r={context:t,value:e};o({__type:p0.PROCESSED,response:r})},e);const a=new Promise(e=>{null==n?e():r=this._onSubscriptionStateChange(n,t=>{"subscribed"===t&&e()})});(async()=>{if(await a,i)return;const n=await this.getSignatureStatus(t);if(i)return;if(null==n)return;const{context:r,value:c}=n;if(null!=c)if(null==c?void 0:c.err)s(c.err);else{switch(e){case"confirmed":case"single":case"singleGossip":if("processed"===c.confirmationStatus)return;break;case"finalized":case"max":case"root":if("processed"===c.confirmationStatus||"confirmed"===c.confirmationStatus)return}i=!0,o({__type:p0.PROCESSED,response:{context:r,value:c}})}})()}catch($He){s($He)}});return{abortConfirmation:()=>{r&&(r(),r=void 0),null!=n&&(this.removeSignatureListener(n),n=void 0)},confirmationPromise:o}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:e,strategy:{abortSignal:t,lastValidBlockHeight:n,signature:r}}){let i=!1;const o=new Promise(t=>{const r=async()=>{try{return await this.getBlockHeight(e)}catch(t){return-1}};(async()=>{let e=await r();if(!i){for(;e<=n;){if(await E0(1e3),i)return;if(e=await r(),i)return}t({__type:p0.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:s,confirmationPromise:a}=this.getTransactionConfirmationPromise({commitment:e,signature:r}),c=this.getCancellationPromise(t);let l;try{const e=await Promise.race([c,a,o]);if(e.__type!==p0.PROCESSED)throw new QX(r);l=e.response}finally{i=!0,s()}return l}async confirmTransactionUsingDurableNonceStrategy({commitment:e,strategy:{abortSignal:t,minContextSlot:n,nonceAccountPubkey:r,nonceValue:i,signature:o}}){let s=!1;const a=new Promise(t=>{let o=i,a=null;const c=async()=>{try{const{context:t,value:i}=await this.getNonceAndContext(r,{commitment:e,minContextSlot:n});return a=t.slot,null==i?void 0:i.nonce}catch(KAe){return o}};(async()=>{if(o=await c(),!s)for(;;){if(i!==o)return void t({__type:p0.NONCE_INVALID,slotInWhichNonceDidAdvance:a});if(await E0(2e3),s)return;if(o=await c(),s)return}})()}),{abortConfirmation:c,confirmationPromise:l}=this.getTransactionConfirmationPromise({commitment:e,signature:o}),u=this.getCancellationPromise(t);let d;try{const t=await Promise.race([u,l,a]);if(t.__type===p0.PROCESSED)d=t.response;else{let r;for(;;){const e=await this.getSignatureStatus(o);if(null==e)break;if(!(e.context.slot<(t.slotInWhichNonceDidAdvance??n))){r=e;break}await E0(400)}if(!(null==r?void 0:r.value))throw new e0(o);{const t=e||"finalized",{confirmationStatus:n}=r.value;switch(t){case"processed":case"recent":if("processed"!==n&&"confirmed"!==n&&"finalized"!==n)throw new e0(o);break;case"confirmed":case"single":case"singleGossip":if("confirmed"!==n&&"finalized"!==n)throw new e0(o);break;case"finalized":case"max":case"root":if("finalized"!==n)throw new e0(o)}d={context:r.context,value:{err:r.value.err}}}}}finally{s=!0,c()}return d}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:e,signature:t}){let n;const r=new Promise(t=>{let r=this._confirmTransactionInitialTimeout||6e4;switch(e){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":r=this._confirmTransactionInitialTimeout||3e4}n=setTimeout(()=>t({__type:p0.TIMED_OUT,timeoutMs:r}),r)}),{abortConfirmation:i,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:e,signature:t});let s;try{const e=await Promise.race([o,r]);if(e.__type!==p0.PROCESSED)throw new XX(t,e.timeoutMs/1e3);s=e.response}finally{clearTimeout(n),i()}return s}async getClusterNodes(){const e=yQ(await this._rpcRequest("getClusterNodes",[]),Y0(_Q(K1)));if("error"in e)throw new _0(e.error,"failed to get cluster nodes");return e.result}async getVoteAccounts(e){const t=this._buildArgs([],e),n=yQ(await this._rpcRequest("getVoteAccounts",t),G1);if("error"in n)throw new _0(n.error,"failed to get vote accounts");return n.result}async getSlot(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getSlot",r),Y0(CQ()));if("error"in i)throw new _0(i.error,"failed to get slot");return i.result}async getSlotLeader(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getSlotLeader",r),Y0(PQ()));if("error"in i)throw new _0(i.error,"failed to get slot leader");return i.result}async getSlotLeaders(e,t){const n=[e,t],r=yQ(await this._rpcRequest("getSlotLeaders",n),Y0(_Q(q0)));if("error"in r)throw new _0(r.error,"failed to get slot leaders");return r.result}async getSignatureStatus(e,t){const{context:n,value:r}=await this.getSignatureStatuses([e],t);a0(1===r.length);return{context:n,value:r[0]}}async getSignatureStatuses(e,t){const n=[e];t&&n.push(t);const r=yQ(await this._rpcRequest("getSignatureStatuses",n),J1);if("error"in r)throw new _0(r.error,"failed to get signature status");return r.result}async getTransactionCount(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getTransactionCount",r),Y0(CQ()));if("error"in i)throw new _0(i.error,"failed to get transaction count");return i.result}async getTotalSupply(e){return(await this.getSupply({commitment:e,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(e){const t=this._buildArgs([],e),n=yQ(await this._rpcRequest("getInflationGovernor",t),m1);if("error"in n)throw new _0(n.error,"failed to get inflation");return n.result}async getInflationReward(e,t,n){const{commitment:r,config:i}=K0(n),o=this._buildArgs([e.map(e=>e.toBase58())],r,void 0,{...i,epoch:null!=t?t:null==i?void 0:i.epoch}),s=yQ(await this._rpcRequest("getInflationReward",o),t1);if("error"in s)throw new _0(s.error,"failed to get inflation reward");return s.result}async getInflationRate(){const e=yQ(await this._rpcRequest("getInflationRate",[]),g1);if("error"in e)throw new _0(e.error,"failed to get inflation rate");return e.result}async getEpochInfo(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getEpochInfo",r),b1);if("error"in i)throw new _0(i.error,"failed to get epoch info");return i.result}async getEpochSchedule(){const e=yQ(await this._rpcRequest("getEpochSchedule",[]),v1);if("error"in e)throw new _0(e.error,"failed to get epoch schedule");const t=e.result;return new j0(t.slotsPerEpoch,t.leaderScheduleSlotOffset,t.warmup,t.firstNormalEpoch,t.firstNormalSlot)}async getLeaderSchedule(){const e=yQ(await this._rpcRequest("getLeaderSchedule",[]),w1);if("error"in e)throw new _0(e.error,"failed to get leader schedule");return e.result}async getMinimumBalanceForRentExemption(e,t){const n=this._buildArgs([e],t),r=yQ(await this._rpcRequest("getMinimumBalanceForRentExemption",n),Q1);return"error"in r?(console.warn("Unable to fetch minimum balance for rent exemption"),0):r.result}async getRecentBlockhashAndContext(e){const{context:t,value:{blockhash:n}}=await this.getLatestBlockhashAndContext(e);return{context:t,value:{blockhash:n,feeCalculator:{get lamportsPerSignature(){throw new Error("The capability to fetch `lamportsPerSignature` using the `getRecentBlockhash` API is no longer offered by the network. Use the `getFeeForMessage` API to obtain the fee for a given message.")},toJSON:()=>({})}}}}async getRecentPerformanceSamples(e){const t=yQ(await this._rpcRequest("getRecentPerformanceSamples",e?[e]:[]),S2);if("error"in t)throw new _0(t.error,"failed to get recent performance samples");return t.result}async getFeeCalculatorForBlockhash(e,t){const n=this._buildArgs([e],t),r=yQ(await this._rpcRequest("getFeeCalculatorForBlockhash",n),C2);if("error"in r)throw new _0(r.error,"failed to get fee calculator");const{context:i,value:o}=r.result;return{context:i,value:null!==o?o.feeCalculator:null}}async getFeeForMessage(e,t){const n=HX(e.serialize()).toString("base64"),r=this._buildArgs([n],t),i=yQ(await this._rpcRequest("getFeeForMessage",r),J0(SQ(CQ())));if("error"in i)throw new _0(i.error,"failed to get fee for message");if(null===i.result)throw new Error("invalid blockhash");return i.result}async getRecentPrioritizationFees(e){var t;const n=null==(t=null==e?void 0:e.lockedWritableAccounts)?void 0:t.map(e=>e.toBase58()),r=(null==n?void 0:n.length)?[n]:[],i=yQ(await this._rpcRequest("getRecentPrioritizationFees",r),y1);if("error"in i)throw new _0(i.error,"failed to get recent prioritization fees");return i.result}async getRecentBlockhash(e){try{return(await this.getRecentBlockhashAndContext(e)).value}catch(KAe){throw new Error("failed to get recent blockhash: "+KAe)}}async getLatestBlockhash(e){try{return(await this.getLatestBlockhashAndContext(e)).value}catch(KAe){throw new Error("failed to get recent blockhash: "+KAe)}}async getLatestBlockhashAndContext(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getLatestBlockhash",r),x2);if("error"in i)throw new _0(i.error,"failed to get latest blockhash");return i.result}async isBlockhashValid(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e],n,void 0,r),o=yQ(await this._rpcRequest("isBlockhashValid",i),k2);if("error"in o)throw new _0(o.error,"failed to determine if the blockhash `"+e+"`is valid");return o.result}async getVersion(){const e=yQ(await this._rpcRequest("getVersion",[]),Y0(u1));if("error"in e)throw new _0(e.error,"failed to get version");return e.result}async getGenesisHash(){const e=yQ(await this._rpcRequest("getGenesisHash",[]),Y0(PQ()));if("error"in e)throw new _0(e.error,"failed to get genesis hash");return e.result}async getBlock(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgsAtLeastConfirmed([e],n,void 0,r),o=await this._rpcRequest("getBlock",i);try{switch(null==r?void 0:r.transactionDetails){case"accounts":{const e=yQ(o,m2);if("error"in e)throw e.error;return e.result}case"none":{const e=yQ(o,p2);if("error"in e)throw e.error;return e.result}default:{const e=yQ(o,f2);if("error"in e)throw e.error;const{result:t}=e;return t?{...t,transactions:t.transactions.map(({transaction:e,meta:t,version:n})=>({meta:t,transaction:{...e,message:X0(n,e.message)},version:n}))}:null}}}catch(KAe){throw new _0(KAe,"failed to get confirmed block")}}async getParsedBlock(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",r),o=await this._rpcRequest("getBlock",i);try{switch(null==r?void 0:r.transactionDetails){case"accounts":{const e=yQ(o,y2);if("error"in e)throw e.error;return e.result}case"none":{const e=yQ(o,b2);if("error"in e)throw e.error;return e.result}default:{const e=yQ(o,g2);if("error"in e)throw e.error;return e.result}}}catch(KAe){throw new _0(KAe,"failed to get block")}}async getBlockProduction(e){let t,n;if("string"==typeof e)n=e;else if(e){const{commitment:r,...i}=e;n=r,t=i}const r=this._buildArgs([],n,"base64",t),i=yQ(await this._rpcRequest("getBlockProduction",r),p1);if("error"in i)throw new _0(i.error,"failed to get block production information");return i.result}async getTransaction(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgsAtLeastConfirmed([e],n,void 0,r),o=yQ(await this._rpcRequest("getTransaction",i),_2);if("error"in o)throw new _0(o.error,"failed to get transaction");const s=o.result;return s?{...s,transaction:{...s.transaction,message:X0(s.version,s.transaction.message)}}:s}async getParsedTransaction(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",r),o=yQ(await this._rpcRequest("getTransaction",i),E2);if("error"in o)throw new _0(o.error,"failed to get transaction");return o.result}async getParsedTransactions(e,t){const{commitment:n,config:r}=K0(t),i=e.map(e=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",r)}));return(await this._rpcBatchRequest(i)).map(e=>{const t=yQ(e,E2);if("error"in t)throw new _0(t.error,"failed to get transactions");return t.result})}async getTransactions(e,t){const{commitment:n,config:r}=K0(t),i=e.map(e=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([e],n,void 0,r)}));return(await this._rpcBatchRequest(i)).map(e=>{const t=yQ(e,_2);if("error"in t)throw new _0(t.error,"failed to get transactions");const n=t.result;return n?{...n,transaction:{...n.transaction,message:X0(n.version,n.transaction.message)}}:n})}async getConfirmedBlock(e,t){const n=this._buildArgsAtLeastConfirmed([e],t),r=yQ(await this._rpcRequest("getBlock",n),v2);if("error"in r)throw new _0(r.error,"failed to get confirmed block");const i=r.result;if(!i)throw new Error("Confirmed block "+e+" not found");const o={...i,transactions:i.transactions.map(({transaction:e,meta:t})=>{const n=new h0(e.message);return{meta:t,transaction:{...e,message:n}}})};return{...o,transactions:o.transactions.map(({transaction:e,meta:t})=>({meta:t,transaction:y0.populate(e.message,e.signatures)}))}}async getBlocks(e,t,n){const r=this._buildArgsAtLeastConfirmed(void 0!==t?[e,t]:[e],n),i=yQ(await this._rpcRequest("getBlocks",r),Y0(_Q(CQ())));if("error"in i)throw new _0(i.error,"failed to get blocks");return i.result}async getBlockSignatures(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,void 0,{transactionDetails:"signatures",rewards:!1}),r=yQ(await this._rpcRequest("getBlock",n),w2);if("error"in r)throw new _0(r.error,"failed to get block");const i=r.result;if(!i)throw new Error("Block "+e+" not found");return i}async getConfirmedBlockSignatures(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,void 0,{transactionDetails:"signatures",rewards:!1}),r=yQ(await this._rpcRequest("getBlock",n),w2);if("error"in r)throw new _0(r.error,"failed to get confirmed block");const i=r.result;if(!i)throw new Error("Confirmed block "+e+" not found");return i}async getConfirmedTransaction(e,t){const n=this._buildArgsAtLeastConfirmed([e],t),r=yQ(await this._rpcRequest("getTransaction",n),_2);if("error"in r)throw new _0(r.error,"failed to get transaction");const i=r.result;if(!i)return i;const o=new h0(i.transaction.message),s=i.transaction.signatures;return{...i,transaction:y0.populate(o,s)}}async getParsedConfirmedTransaction(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,"jsonParsed"),r=yQ(await this._rpcRequest("getTransaction",n),E2);if("error"in r)throw new _0(r.error,"failed to get confirmed transaction");return r.result}async getParsedConfirmedTransactions(e,t){const n=e.map(e=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([e],t,"jsonParsed")}));return(await this._rpcBatchRequest(n)).map(e=>{const t=yQ(e,E2);if("error"in t)throw new _0(t.error,"failed to get confirmed transactions");return t.result})}async getConfirmedSignaturesForAddress(e,t,n){let r={},i=await this.getFirstAvailableBlock();for(;!("until"in r)&&!(--t<=0||t<i);)try{const e=await this.getConfirmedBlockSignatures(t,"finalized");e.signatures.length>0&&(r.until=e.signatures[e.signatures.length-1].toString())}catch($He){if($He instanceof Error&&$He.message.includes("skipped"))continue;throw $He}let o=await this.getSlot("finalized");for(;!("before"in r||++n>o);)try{const e=await this.getConfirmedBlockSignatures(n);e.signatures.length>0&&(r.before=e.signatures[e.signatures.length-1].toString())}catch($He){if($He instanceof Error&&$He.message.includes("skipped"))continue;throw $He}return(await this.getConfirmedSignaturesForAddress2(e,r)).map(e=>e.signature)}async getConfirmedSignaturesForAddress2(e,t,n){const r=this._buildArgsAtLeastConfirmed([e.toBase58()],n,void 0,t),i=yQ(await this._rpcRequest("getConfirmedSignaturesForAddress2",r),L1);if("error"in i)throw new _0(i.error,"failed to get confirmed signatures for address");return i.result}async getSignaturesForAddress(e,t,n){const r=this._buildArgsAtLeastConfirmed([e.toBase58()],n,void 0,t),i=yQ(await this._rpcRequest("getSignaturesForAddress",r),B1);if("error"in i)throw new _0(i.error,"failed to get signatures for address");return i.result}async getAddressLookupTable(e,t){const{context:n,value:r}=await this.getAccountInfoAndContext(e,t);let i=null;return null!==r&&(i=new $0({key:e,state:$0.deserialize(r.data)})),{context:n,value:i}}async getNonceAndContext(e,t){const{context:n,value:r}=await this.getAccountInfoAndContext(e,t);let i=null;return null!==r&&(i=I0.fromAccountData(r.data)),{context:n,value:i}}async getNonce(e,t){return await this.getNonceAndContext(e,t).then(e=>e.value).catch(t=>{throw new Error("failed to get nonce for account "+e.toBase58()+": "+t)})}async requestAirdrop(e,t){const n=yQ(await this._rpcRequest("requestAirdrop",[e.toBase58(),t]),I2);if("error"in n)throw new _0(n.error,`airdrop to ${e.toBase58()} failed`);return n.result}async _blockhashWithExpiryBlockHeight(e){if(!e){for(;this._pollingBlockhash;)await E0(100);const e=Date.now()-this._blockhashInfo.lastFetch>=3e4;if(null!==this._blockhashInfo.latestBlockhash&&!e)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{const e=Date.now(),t=this._blockhashInfo.latestBlockhash,n=t?t.blockhash:null;for(let r=0;r<50;r++){const e=await this.getLatestBlockhash("finalized");if(n!==e.blockhash)return this._blockhashInfo={latestBlockhash:e,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},e;await E0(200)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-e}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,"base64",n),i=yQ(await this._rpcRequest("getStakeMinimumDelegation",r),J0(CQ()));if("error"in i)throw new _0(i.error,"failed to get stake minimum delegation");return i.result}async simulateTransaction(e,t,n){if("message"in e){const r=e.serialize(),i=Ze.from(r).toString("base64");if(Array.isArray(t)||void 0!==n)throw new Error("Invalid arguments");const o=t||{};o.encoding="base64","commitment"in o||(o.commitment=this.commitment),t&&"object"==typeof t&&"innerInstructions"in t&&(o.innerInstructions=t.innerInstructions);const s=[i,o],a=yQ(await this._rpcRequest("simulateTransaction",s),f1);if("error"in a)throw new Error("failed to simulate transaction: "+a.error.message);return a.result}let r;if(e instanceof y0){let t=e;r=new y0,r.feePayer=t.feePayer,r.instructions=e.instructions,r.nonceInfo=t.nonceInfo,r.signatures=t.signatures}else r=y0.populate(e),r._message=r._json=void 0;if(void 0!==t&&!Array.isArray(t))throw new Error("Invalid arguments");const i=t;if(r.nonceInfo&&i)r.sign(...i);else{let e=this._disableBlockhashCaching;for(;;){const t=await this._blockhashWithExpiryBlockHeight(e);if(r.lastValidBlockHeight=t.lastValidBlockHeight,r.recentBlockhash=t.blockhash,!i)break;if(r.sign(...i),!r.signature)throw new Error("!signature");const n=r.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(n)&&!this._blockhashInfo.transactionSignatures.includes(n)){this._blockhashInfo.simulatedSignatures.push(n);break}e=!0}}const o=r._compile(),s=o.serialize(),a=r._serialize(s).toString("base64"),c={encoding:"base64",commitment:this.commitment};if(n){const e=(Array.isArray(n)?n:o.nonProgramIds()).map(e=>e.toBase58());c.accounts={encoding:"base64",addresses:e}}i&&(c.sigVerify=!0),t&&"object"==typeof t&&"innerInstructions"in t&&(c.innerInstructions=t.innerInstructions);const l=[a,c],u=yQ(await this._rpcRequest("simulateTransaction",l),f1);if("error"in u){let e;if("data"in u.error&&(e=u.error.data.logs,e&&Array.isArray(e))){const t="\n ",n=t+e.join(t);console.error(u.error.message,n)}throw new w0({action:"simulate",signature:"",transactionMessage:u.error.message,logs:e})}return u.result}async sendTransaction(e,t,n){if("version"in e){if(t&&Array.isArray(t))throw new Error("Invalid arguments");const n=e.serialize();return await this.sendRawTransaction(n,t)}if(void 0===t||!Array.isArray(t))throw new Error("Invalid arguments");const r=t;if(e.nonceInfo)e.sign(...r);else{let t=this._disableBlockhashCaching;for(;;){const n=await this._blockhashWithExpiryBlockHeight(t);if(e.lastValidBlockHeight=n.lastValidBlockHeight,e.recentBlockhash=n.blockhash,e.sign(...r),!e.signature)throw new Error("!signature");const i=e.signature.toString("base64");if(!this._blockhashInfo.transactionSignatures.includes(i)){this._blockhashInfo.transactionSignatures.push(i);break}t=!0}}const i=e.serialize();return await this.sendRawTransaction(i,n)}async sendRawTransaction(e,t){const n=HX(e).toString("base64");return await this.sendEncodedTransaction(n,t)}async sendEncodedTransaction(e,t){const n={encoding:"base64"},r=t&&t.skipPreflight,i=!0===r?"processed":t&&t.preflightCommitment||this.commitment;t&&null!=t.maxRetries&&(n.maxRetries=t.maxRetries),t&&null!=t.minContextSlot&&(n.minContextSlot=t.minContextSlot),r&&(n.skipPreflight=r),i&&(n.preflightCommitment=i);const o=[e,n],s=yQ(await this._rpcRequest("sendTransaction",o),A2);if("error"in s){let e;throw"data"in s.error&&(e=s.error.data.logs),new w0({action:r?"send":"simulate",signature:"",transactionMessage:s.error.message,logs:e})}return s.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(e){this._rpcWebSocketConnected=!1,console.error("ws error:",e.message)}_wsOnClose(e){this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),1e3!==e?(this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([e,t])=>{this._setSubscription(e,{...t,state:"pending"})})):this._updateSubscriptions()}_setSubscription(e,t){var n;const r=null==(n=this._subscriptionsByHash[e])?void 0:n.state;if(this._subscriptionsByHash[e]=t,r!==t.state){const n=this._subscriptionStateChangeCallbacksByHash[e];n&&n.forEach(e=>{try{e(t.state)}catch{}})}}_onSubscriptionStateChange(e,t){var n;const r=this._subscriptionHashByClientSubscriptionId[e];if(null==r)return()=>{};const i=(n=this._subscriptionStateChangeCallbacksByHash)[r]||(n[r]=new Set);return i.add(t),()=>{i.delete(t),0===i.size&&delete this._subscriptionStateChangeCallbacksByHash[r]}}async _updateSubscriptions(){if(0===Object.keys(this._subscriptionsByHash).length)return void(this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch($He){Error}},500)));if(null!==this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected)return void this._rpcWebSocket.connect();const e=this._rpcWebSocketGeneration,t=()=>e===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async e=>{const n=this._subscriptionsByHash[e];if(void 0!==n)switch(n.state){case"pending":case"unsubscribed":if(0===n.callbacks.size)return delete this._subscriptionsByHash[e],"unsubscribed"===n.state&&delete this._subscriptionCallbacksByServerSubscriptionId[n.serverSubscriptionId],void(await this._updateSubscriptions());await(async()=>{const{args:r,method:i}=n;try{this._setSubscription(e,{...n,state:"subscribing"});const t=await this._rpcWebSocket.call(i,r);this._setSubscription(e,{...n,serverSubscriptionId:t,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[t]=n.callbacks,await this._updateSubscriptions()}catch(KAe){if(console.error(`Received ${KAe instanceof Error?"":"JSON-RPC "}error calling \`${i}\``,{args:r,error:KAe}),!t())return;this._setSubscription(e,{...n,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":0===n.callbacks.size&&await(async()=>{const{serverSubscriptionId:r,unsubscribeMethod:i}=n;if(this._subscriptionsAutoDisposedByRpc.has(r))this._subscriptionsAutoDisposedByRpc.delete(r);else{this._setSubscription(e,{...n,state:"unsubscribing"}),this._setSubscription(e,{...n,state:"unsubscribing"});try{await this._rpcWebSocket.call(i,[r])}catch(KAe){if(KAe instanceof Error&&console.error(`${i} error:`,KAe.message),!t())return;return this._setSubscription(e,{...n,state:"subscribed"}),void(await this._updateSubscriptions())}}this._setSubscription(e,{...n,state:"unsubscribed"}),await this._updateSubscriptions()})()}}))}_handleServerNotification(e,t){const n=this._subscriptionCallbacksByServerSubscriptionId[e];void 0!==n&&n.forEach(e=>{try{e(...t)}catch(KAe){console.error(KAe)}})}_wsOnAccountNotification(e){const{result:t,subscription:n}=yQ(e,j1);this._handleServerNotification(n,[t.value,t.context])}_makeSubscription(e,t){const n=this._nextClientSubscriptionId++,r=L0([e.method,t]),i=this._subscriptionsByHash[r];return void 0===i?this._subscriptionsByHash[r]={...e,args:t,callbacks:new Set([e.callback]),state:"pending"}:i.callbacks.add(e.callback),this._subscriptionHashByClientSubscriptionId[n]=r,this._subscriptionDisposeFunctionsByClientSubscriptionId[n]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[n],delete this._subscriptionHashByClientSubscriptionId[n];const t=this._subscriptionsByHash[r];a0(void 0!==t,`Could not find a \`Subscription\` when tearing down client subscription #${n}`),t.callbacks.delete(e.callback),await this._updateSubscriptions()},this._updateSubscriptions(),n}onAccountChange(e,t,n){const{commitment:r,config:i}=K0(n),o=this._buildArgs([e.toBase58()],r||this._commitment||"finalized","base64",i);return this._makeSubscription({callback:t,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},o)}async removeAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"account change")}_wsOnProgramAccountNotification(e){const{result:t,subscription:n}=yQ(e,U1);this._handleServerNotification(n,[{accountId:t.value.pubkey,accountInfo:t.value.account},t.context])}onProgramAccountChange(e,t,n,r){const{commitment:i,config:o}=K0(n),s=this._buildArgs([e.toBase58()],i||this._commitment||"finalized","base64",o||(r?{filters:V0(r)}:void 0));return this._makeSubscription({callback:t,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},s)}async removeProgramAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"program account change")}onLogs(e,t,n){const r=this._buildArgs(["object"==typeof e?{mentions:[e.toString()]}:e],n||this._commitment||"finalized");return this._makeSubscription({callback:t,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},r)}async removeOnLogsListener(e){await this._unsubscribeClientSubscription(e,"logs")}_wsOnLogsNotification(e){const{result:t,subscription:n}=yQ(e,O2);this._handleServerNotification(n,[t.value,t.context])}_wsOnSlotNotification(e){const{result:t,subscription:n}=yQ(e,F1);this._handleServerNotification(n,[t])}onSlotChange(e){return this._makeSubscription({callback:e,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(e){await this._unsubscribeClientSubscription(e,"slot change")}_wsOnSlotUpdatesNotification(e){const{result:t,subscription:n}=yQ(e,q1);this._handleServerNotification(n,[t])}onSlotUpdate(e){return this._makeSubscription({callback:e,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(e){await this._unsubscribeClientSubscription(e,"slot update")}async _unsubscribeClientSubscription(e,t){const n=this._subscriptionDisposeFunctionsByClientSubscriptionId[e];n?await n():console.warn(`Ignored unsubscribe request because an active subscription with id \`${e}\` for '${t}' events could not be found.`)}_buildArgs(e,t,n,r){const i=t||this._commitment;if(i||n||r){let t={};n&&(t.encoding=n),i&&(t.commitment=i),r&&(t=Object.assign(t,r)),e.push(t)}return e}_buildArgsAtLeastConfirmed(e,t,n,r){const i=t||this._commitment;if(i&&!["confirmed","finalized"].includes(i))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(e,t,n,r)}_wsOnSignatureNotification(e){const{result:t,subscription:n}=yQ(e,H1);"receivedSignature"!==t.value&&this._subscriptionsAutoDisposedByRpc.add(n),this._handleServerNotification(n,"receivedSignature"===t.value?[{type:"received"},t.context]:[{type:"status",result:t.value},t.context])}onSignature(e,t,n){const r=this._buildArgs([e],n||this._commitment||"finalized"),i=this._makeSubscription({callback:(e,n)=>{if("status"===e.type){t(e.result,n);try{this.removeSignatureListener(i)}catch(r){}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},r);return i}onSignatureWithOptions(e,t,n){const{commitment:r,...i}={...n,commitment:n&&n.commitment||this._commitment||"finalized"},o=this._buildArgs([e],r,void 0,i),s=this._makeSubscription({callback:(e,n)=>{t(e,n);try{this.removeSignatureListener(s)}catch(r){}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return s}async removeSignatureListener(e){await this._unsubscribeClientSubscription(e,"signature result")}_wsOnRootNotification(e){const{result:t,subscription:n}=yQ(e,W1);this._handleServerNotification(n,[t])}onRootChange(e){return this._makeSubscription({callback:e,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(e){await this._unsubscribeClientSubscription(e,"root change")}}var R2;Object.freeze({CreateLookupTable:{index:0,layout:JJ([GJ("instruction"),A0("recentSlot"),KJ("bumpSeed")])},FreezeLookupTable:{index:1,layout:JJ([GJ("instruction")])},ExtendLookupTable:{index:2,layout:JJ([GJ("instruction"),A0(),QJ(n0(),WJ(GJ(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:JJ([GJ("instruction")])},CloseLookupTable:{index:4,layout:JJ([GJ("instruction")])}}),new YX("AddressLookupTab1e1111111111111111111111111"),Object.freeze({RequestUnits:{index:0,layout:JJ([KJ("instruction"),GJ("units"),GJ("additionalFee")])},RequestHeapFrame:{index:1,layout:JJ([KJ("instruction"),GJ("bytes")])},SetComputeUnitLimit:{index:2,layout:JJ([KJ("instruction"),GJ("units")])},SetComputeUnitPrice:{index:3,layout:JJ([KJ("instruction"),A0("microLamports")])}}),new YX("ComputeBudget111111111111111111111111111111"),JJ([KJ("numSignatures"),KJ("padding"),VJ("signatureOffset"),VJ("signatureInstructionIndex"),VJ("publicKeyOffset"),VJ("publicKeyInstructionIndex"),VJ("messageDataOffset"),VJ("messageDataSize"),VJ("messageInstructionIndex")]),new YX("Ed25519SigVerify111111111111111111111111111"),FX.utils.isValidPrivateKey,JJ([KJ("numSignatures"),VJ("signatureOffset"),KJ("signatureInstructionIndex"),VJ("ethAddressOffset"),KJ("ethAddressInstructionIndex"),VJ("messageDataOffset"),VJ("messageDataSize"),KJ("messageInstructionIndex"),XJ(20,"ethAddress"),XJ(64,"signature"),KJ("recoveryId")]),new YX("KeccakSecp256k11111111111111111111111111111"),new YX("StakeConfig11111111111111111111111111111111");class N2{constructor(e,t,n){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=n}}R2=N2,N2.default=new R2(0,0,YX.default),Object.freeze({Initialize:{index:0,layout:JJ([GJ("instruction"),((e="authorized")=>JJ([n0("staker"),n0("withdrawer")],e))(),((e="lockup")=>JJ([YJ("unixTimestamp"),YJ("epoch"),n0("custodian")],e))()])},Authorize:{index:1,layout:JJ([GJ("instruction"),n0("newAuthorized"),GJ("stakeAuthorizationType")])},Delegate:{index:2,layout:JJ([GJ("instruction")])},Split:{index:3,layout:JJ([GJ("instruction"),YJ("lamports")])},Withdraw:{index:4,layout:JJ([GJ("instruction"),YJ("lamports")])},Deactivate:{index:5,layout:JJ([GJ("instruction")])},Merge:{index:7,layout:JJ([GJ("instruction")])},AuthorizeWithSeed:{index:8,layout:JJ([GJ("instruction"),n0("newAuthorized"),GJ("stakeAuthorizationType"),r0("authoritySeed"),n0("authorityOwner")])}}),new YX("Stake11111111111111111111111111111111111111"),Object.freeze({InitializeAccount:{index:0,layout:JJ([GJ("instruction"),((e="voteInit")=>JJ([n0("nodePubkey"),n0("authorizedVoter"),n0("authorizedWithdrawer"),KJ("commission")],e))()])},Authorize:{index:1,layout:JJ([GJ("instruction"),n0("newAuthorized"),GJ("voteAuthorizationType")])},Withdraw:{index:3,layout:JJ([GJ("instruction"),YJ("lamports")])},UpdateValidatorIdentity:{index:4,layout:JJ([GJ("instruction")])},AuthorizeWithSeed:{index:10,layout:JJ([GJ("instruction"),((e="voteAuthorizeWithSeedArgs")=>JJ([GJ("voteAuthorizationType"),n0("currentAuthorityDerivedKeyOwnerPubkey"),r0("currentAuthorityDerivedKeySeed"),n0("newAuthorized")],e))()])}}),new YX("Vote111111111111111111111111111111111111111"),new YX("Va1idator1nfo111111111111111111111111111111"),MQ({name:PQ(),website:IQ(PQ()),details:IQ(PQ()),iconUrl:IQ(PQ()),keybaseUsername:IQ(PQ())}),new YX("Vote111111111111111111111111111111111111111"),JJ([n0("nodePubkey"),n0("authorizedWithdrawer"),KJ("commission"),ZJ(),QJ(JJ([ZJ("slot"),GJ("confirmationCount")]),WJ(GJ(),-8),"votes"),KJ("rootSlotValid"),ZJ("rootSlot"),ZJ(),QJ(JJ([ZJ("epoch"),n0("authorizedVoter")]),WJ(GJ(),-8),"authorizedVoters"),JJ([QJ(JJ([n0("authorizedPubkey"),ZJ("epochOfLastAuthorizedSwitch"),ZJ("targetEpoch")]),32,"buf"),ZJ("idx"),KJ("isEmpty")],"priorVoters"),ZJ(),QJ(JJ([ZJ("epoch"),ZJ("credits"),ZJ("prevCredits")]),WJ(GJ(),-8),"epochCredits"),JJ([ZJ("slot"),ZJ("timestamp")],"lastTimestamp")]);const L2=1e9,B2=Object.freeze(Object.defineProperty({__proto__:null,AddressLookupTableAccount:$0,BLOCKHASH_CACHE_TIMEOUT_MS:3e4,Connection:T2,EpochSchedule:j0,FeeCalculatorLayout:k0,LAMPORTS_PER_SOL:L2,Lockup:N2,MAX_SEED_LENGTH:32,Message:h0,MessageAccountKeys:t0,MessageV0:f0,NONCE_ACCOUNT_LENGTH:C0,NonceAccount:I0,PACKET_DATA_SIZE:JX,PUBLIC_KEY_LENGTH:GX,PublicKey:YX,SIGNATURE_LENGTH_IN_BYTES:64,SOLANA_SCHEMA:KX,SYSTEM_INSTRUCTION_LAYOUTS:P0,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:b0,SYSVAR_RENT_PUBKEY:v0,SendTransactionError:w0,SolanaJSONRPCError:_0,Struct:WX,SystemProgram:O0,Transaction:y0,TransactionExpiredBlockheightExceededError:QX,TransactionExpiredNonceInvalidError:e0,TransactionExpiredTimeoutError:XX,TransactionInstruction:g0,TransactionStatus:p0,VERSION_PREFIX_MASK:127},Symbol.toStringTag,{value:"Module"})),j2=new YX("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new YX("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const D2=new YX("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new YX("So11111111111111111111111111111111111111112"),new YX("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");const U2=e=>({decode:e.decode.bind(e),encode:e.encode.bind(e)});var $2={};Object.defineProperty($2,"__esModule",{value:!0});var F2=$2.toBigIntLE=function(e){{const t=Ke.from(e);t.reverse();const n=t.toString("hex");return 0===n.length?BigInt(0):BigInt(`0x${n}`)}};$2.toBigIntBE=function(e){{const t=e.toString("hex");return 0===t.length?BigInt(0):BigInt(`0x${t}`)}};var z2=$2.toBufferLE=function(e,t){{const n=e.toString(16),r=Ke.from(n.padStart(2*t,"0").slice(0,2*t),"hex");return r.reverse(),r}};$2.toBufferBE=function(e,t){{const n=e.toString(16);return Ke.from(n.padStart(2*t,"0").slice(0,2*t),"hex")}};const q2=(H2=8,e=>{const t=XJ(H2,e),{encode:n,decode:r}=U2(t),i=t;return i.decode=(e,t)=>{const n=r(e,t);return F2(Ke.from(n))},i.encode=(e,t,r)=>{const i=z2(e,H2);return n(i,t,r)},i});var H2;const W2=e=>{const t=KJ(e),{encode:n,decode:r}=U2(t),i=t;return i.decode=(e,t)=>!!r(e,t),i.encode=(e,t,r)=>{const i=Number(e);return n(i,t,r)},i},K2=e=>{const t=XJ(32,e),{encode:n,decode:r}=U2(t),i=t;return i.decode=(e,t)=>{const n=r(e,t);return new YX(n)},i.encode=(e,t,r)=>{const i=e.toBuffer();return n(i,t,r)},i};class V2 extends Error{constructor(e){super(e)}}class G2 extends V2{constructor(){super(...arguments),this.name="TokenAccountNotFoundError"}}class Z2 extends V2{constructor(){super(...arguments),this.name="TokenInvalidAccountError"}}class Y2 extends V2{constructor(){super(...arguments),this.name="TokenInvalidAccountOwnerError"}}class J2 extends V2{constructor(){super(...arguments),this.name="TokenInvalidAccountSizeError"}}class Q2 extends V2{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}var X2,e5,t5,n5;(e5=X2||(X2={}))[e5.InitializeMint=0]="InitializeMint",e5[e5.InitializeAccount=1]="InitializeAccount",e5[e5.InitializeMultisig=2]="InitializeMultisig",e5[e5.Transfer=3]="Transfer",e5[e5.Approve=4]="Approve",e5[e5.Revoke=5]="Revoke",e5[e5.SetAuthority=6]="SetAuthority",e5[e5.MintTo=7]="MintTo",e5[e5.Burn=8]="Burn",e5[e5.CloseAccount=9]="CloseAccount",e5[e5.FreezeAccount=10]="FreezeAccount",e5[e5.ThawAccount=11]="ThawAccount",e5[e5.TransferChecked=12]="TransferChecked",e5[e5.ApproveChecked=13]="ApproveChecked",e5[e5.MintToChecked=14]="MintToChecked",e5[e5.BurnChecked=15]="BurnChecked",e5[e5.InitializeAccount2=16]="InitializeAccount2",e5[e5.SyncNative=17]="SyncNative",e5[e5.InitializeAccount3=18]="InitializeAccount3",e5[e5.InitializeMultisig2=19]="InitializeMultisig2",e5[e5.InitializeMint2=20]="InitializeMint2",e5[e5.GetAccountDataSize=21]="GetAccountDataSize",e5[e5.InitializeImmutableOwner=22]="InitializeImmutableOwner",e5[e5.AmountToUiAmount=23]="AmountToUiAmount",e5[e5.UiAmountToAmount=24]="UiAmountToAmount",e5[e5.InitializeMintCloseAuthority=25]="InitializeMintCloseAuthority",e5[e5.TransferFeeExtension=26]="TransferFeeExtension",e5[e5.ConfidentialTransferExtension=27]="ConfidentialTransferExtension",e5[e5.DefaultAccountStateExtension=28]="DefaultAccountStateExtension",e5[e5.Reallocate=29]="Reallocate",e5[e5.MemoTransferExtension=30]="MemoTransferExtension",e5[e5.CreateNativeMint=31]="CreateNativeMint",e5[e5.InitializeNonTransferableMint=32]="InitializeNonTransferableMint",e5[e5.InterestBearingMintExtension=33]="InterestBearingMintExtension",e5[e5.CpiGuardExtension=34]="CpiGuardExtension",e5[e5.InitializePermanentDelegate=35]="InitializePermanentDelegate",e5[e5.TransferHookExtension=36]="TransferHookExtension",e5[e5.MetadataPointerExtension=39]="MetadataPointerExtension",e5[e5.GroupPointerExtension=40]="GroupPointerExtension",e5[e5.GroupMemberPointerExtension=41]="GroupMemberPointerExtension",e5[e5.ScaledUiAmountExtension=43]="ScaledUiAmountExtension",e5[e5.PausableExtension=44]="PausableExtension",(n5=t5||(t5={}))[n5.Uninitialized=0]="Uninitialized",n5[n5.Mint=1]="Mint",n5[n5.Account=2]="Account";const r5=JJ([KJ("m"),KJ("n"),W2("isInitialized"),K2("signer1"),K2("signer2"),K2("signer3"),K2("signer4"),K2("signer5"),K2("signer6"),K2("signer7"),K2("signer8"),K2("signer9"),K2("signer10"),K2("signer11")]).span;var i5,o5;(o5=i5||(i5={}))[o5.Uninitialized=0]="Uninitialized",o5[o5.Initialized=1]="Initialized",o5[o5.Frozen=2]="Frozen";const s5=JJ([K2("mint"),K2("owner"),q2("amount"),GJ("delegateOption"),K2("delegate"),KJ("state"),GJ("isNativeOption"),q2("isNative"),q2("delegatedAmount"),GJ("closeAuthorityOption"),K2("closeAuthority")]),a5=s5.span;async function c5(e,t,n,r=j2){return function(e,t,n=j2){if(!t)throw new G2;if(!t.owner.equals(n))throw new Y2;if(t.data.length<a5)throw new J2;const r=s5.decode(t.data.slice(0,a5));let i=Ke.alloc(0);if(t.data.length>a5){if(t.data.length===r5)throw new J2;if(t.data[a5]!=t5.Account)throw new Z2;i=t.data.slice(a5+1)}return{address:e,mint:r.mint,owner:r.owner,amount:r.amount,delegate:r.delegateOption?r.delegate:null,delegatedAmount:r.delegatedAmount,isInitialized:r.state!==i5.Uninitialized,isFrozen:r.state===i5.Frozen,isNative:!!r.isNativeOption,rentExemptReserve:r.isNativeOption?r.isNative:null,closeAuthority:r.closeAuthorityOption?r.closeAuthority:null,tlvData:i}}(t,await e.getAccountInfo(t,n),r)}async function l5(e,t,n=!1,r=j2,i=D2){if(!n&&!YX.isOnCurve(t.toBuffer()))throw new Q2;const[o]=await YX.findProgramAddress([t.toBuffer(),r.toBuffer(),e.toBuffer()],i);return o}function u5(e,t,n,r,i=j2,o=D2){return function(e,t,n,r,i,o=j2,s=D2){const a=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:O0.programId,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1}];return new g0({keys:a,programId:s,data:i})}(e,t,n,r,Ke.alloc(0),i,o)}JJ([GJ("mintAuthorityOption"),K2("mintAuthority"),q2("supply"),KJ("decimals"),W2("isInitialized"),GJ("freezeAuthorityOption"),K2("freezeAuthority")]).span;const d5=JJ([KJ("instruction"),q2("amount")]);function h5(e,t,n,r,i=[],o=j2){const s=function(e,t,n){if(n.length){e.push({pubkey:t,isSigner:!1,isWritable:!1});for(const t of n)e.push({pubkey:t instanceof YX?t:t.publicKey,isSigner:!0,isWritable:!1})}else e.push({pubkey:t,isSigner:!0,isWritable:!1});return e}([{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0}],n,i),a=Ke.alloc(d5.span);return d5.encode({instruction:X2.Transfer,amount:BigInt(r)},a),new g0({keys:s,programId:o,data:a})}const f5=({options:e=[],value:t,onChange:n,placeholder:r,renderOption:i,getOptionKey:o,getOptionValue:s,getSearchableText:a,disabled:c=!1})=>{const[l,u]=Yt.useState(!1),[d,h]=Yt.useState(""),[f,p]=Yt.useState({top:0,left:0,width:400,maxHeight:450}),m=Yt.useRef(null),g=Yt.useRef(null),y=e.filter(e=>(a?a(e):"").toLowerCase().includes(d.toLowerCase())),b=e.find(e=>s(e)===t),v=()=>{if(g.current){const e=window.innerWidth,t=window.innerHeight,n=Math.min(400,e-40),r=Math.min(450,t-100);p({top:t/2-r/2,left:e/2-n/2,width:n,maxHeight:r})}};Yt.useEffect(()=>{const e=e=>{m.current&&!m.current.contains(e.target)&&g.current&&!g.current.contains(e.target)&&(u(!1),h(""))},t=()=>{l&&v()};return l&&(v(),document.addEventListener("mousedown",e),window.addEventListener("resize",t)),()=>{document.removeEventListener("mousedown",e),window.removeEventListener("resize",t)}},[l]);const w=l&&bf.jsxs(bf.Fragment,{children:[bf.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-30 transition-opacity",style:{zIndex:999998},onClick:()=>{u(!1),h("")}}),bf.jsxs("div",{ref:m,className:"fixed bg-white border-2 border-gray-200 rounded-3xl shadow-2xl overflow-hidden",style:{top:f.top,left:f.left,width:f.width,maxHeight:f.maxHeight,zIndex:999999,transform:"translateZ(0)",boxShadow:"0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.05)"},children:[bf.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 bg-gradient-to-r from-[#7042D2]/10 to-purple-50",children:[bf.jsx("h3",{className:"text-lg font-semibold text-[#7042D2]",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:r||"Select Option"}),bf.jsx("button",{onClick:()=>{u(!1),h("")},className:"text-gray-500 hover:text-gray-700 transition-colors p-1 rounded-full hover:bg-gray-100",children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),bf.jsx("div",{className:"p-4 border-b border-gray-200 bg-gray-50",children:bf.jsx("input",{type:"text",placeholder:"Search networks and tokens...",value:d,onChange:e=>h(e.target.value),className:"w-full p-3 border border-gray-300 rounded-xl focus:outline-none focus:ring-2 focus:ring-[#7042D2]/20 focus:border-[#7042D2] text-base",style:{fontFamily:"Bricolage Grotesque, sans-serif"},autoFocus:!0})}),bf.jsx("div",{className:"overflow-y-auto custom-scrollbar",style:{maxHeight:(f.maxHeight||450)-180+"px",minHeight:"200px"},children:0===y.length?bf.jsxs("div",{className:"p-8 text-gray-500 text-center",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:[bf.jsx("div",{className:"text-4xl mb-3",children:"🔍"}),bf.jsx("div",{className:"text-lg mb-2",children:"No options found"}),bf.jsx("div",{className:"text-sm text-gray-400",children:"Try a different search term"})]}):bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{className:"px-4 py-3 bg-gray-50 border-b border-gray-100 text-sm text-gray-600",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:[bf.jsx("span",{className:"font-semibold",children:y.length})," option",1!==y.length?"s":""," available"]}),bf.jsx("div",{className:"p-2",children:y.map(e=>bf.jsx("button",{type:"button",onClick:()=>{n(s(e)),u(!1),h("")},className:"w-full p-4 text-left hover:bg-[#7042D2]/10 transition-all duration-200 rounded-xl mb-2 last:mb-0 "+(s(e)===t?"bg-[#7042D2]/20 text-[#7042D2] border-2 border-[#7042D2]/30":"text-gray-800 border-2 border-transparent hover:border-[#7042D2]/20"),style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:i(e)},o(e)))})]})}),bf.jsx("div",{className:"p-3 bg-gradient-to-r from-gray-50 to-gray-100 border-t border-gray-200 text-center",children:bf.jsx("div",{className:"text-xs text-gray-500",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:y.length>5?"↕️ Scroll to see more options":"✨ Select your preferred option"})})]})]});return bf.jsxs(bf.Fragment,{children:[bf.jsx("div",{className:"relative",children:bf.jsx("button",{ref:g,type:"button",onClick:()=>{c||(l||v(),u(!l))},disabled:c,className:`w-full p-4 border-2 rounded-2xl bg-gradient-to-r from-white to-gray-50 text-left focus:outline-none focus:ring-3 focus:ring-[#7042D2]/20 focus:border-[#7042D2] transition-all duration-300 ease-out shadow-lg hover:shadow-xl ${c?"opacity-50 cursor-not-allowed":"hover:border-[#7042D2]/50 cursor-pointer"} ${l?"border-[#7042D2] ring-3 ring-[#7042D2]/20":"border-gray-200"}`,style:{minHeight:"60px",fontFamily:"Bricolage Grotesque, sans-serif",fontSize:"16px",fontWeight:"500"},children:bf.jsxs("div",{className:"flex items-center justify-between",children:[bf.jsx("div",{className:"flex items-center space-x-3",children:b?i(b):bf.jsx("span",{className:"text-gray-500",children:r})}),bf.jsx("div",{className:"transform transition-transform duration-200 "+(l?"rotate-180":""),children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5 text-[#7042D2]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})})]})})}),"undefined"!=typeof document&&document.body&&sf.createPortal(w,document.body),bf.jsx("style",{children:"\n .custom-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: #7042D2 #f1f1f1;\n }\n .custom-scrollbar::-webkit-scrollbar {\n width: 12px;\n }\n .custom-scrollbar::-webkit-scrollbar-track {\n background: #f8f9fa;\n border-radius: 10px;\n margin: 4px;\n }\n .custom-scrollbar::-webkit-scrollbar-thumb {\n background: linear-gradient(180deg, #7042D2 0%, #5b34b1 100%);\n border-radius: 10px;\n border: 2px solid #f8f9fa;\n }\n .custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: linear-gradient(180deg, #5b34b1 0%, #4c2a93 100%);\n }\n .custom-scrollbar::-webkit-scrollbar-corner {\n background: #f8f9fa;\n }\n "})]})},p5=({currentStep:e,targetStep:t,children:n,className:r="",duration:i=300})=>{const[o,s]=Yt.useState(e===t),[a,c]=Yt.useState(e===t);return Yt.useEffect(()=>{e===t?(c(!0),setTimeout(()=>s(!0),10)):(s(!1),setTimeout(()=>c(!1),i))},[e,t,i]),a?bf.jsx("div",{className:`\n transition-all duration-300 ease-out\n ${o?"transform translate-y-0 opacity-100":"transform translate-y-full opacity-0"}\n ${r}\n `,style:{transitionDuration:`${i}ms`},children:n}):null},m5=({status:e,message:t,theme:n="light",payment:r=null,transactionHash:i=null,selectedPaymentMethod:o=null,selectedNetwork:s=null,merchantName:a="Merchant",onClose:c=null})=>{const[l,u]=Yt.useState(!1),[d,h]=Yt.useState(0);Yt.useEffect(()=>{if("processing"===e){const e=setInterval(()=>{h(e=>e>=90?e:e+15*Math.random())},500);return()=>clearInterval(e)}},[e]);const f=async()=>{if(i)try{await navigator.clipboard.writeText(i),u(!0),setTimeout(()=>u(!1),2e3)}catch($He){}},p=()=>{switch(e){case"processing":return bf.jsxs("div",{className:"relative",children:[bf.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-4 border-t-[#7042D2] border-blue-500/20"}),bf.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:bf.jsx("div",{className:"w-6 h-6 bg-[#7042D2] rounded-full animate-pulse"})})]});case"success":return bf.jsx("div",{className:"rounded-full h-16 w-16 bg-green-500 flex items-center justify-center animate-bounce",children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-10 w-10 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})});case"error":return bf.jsx("div",{className:"rounded-full h-12 w-12 bg-red-100 flex items-center justify-center",children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-8 w-8 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})});default:return null}};return"processing"===e?bf.jsxs("div",{className:"flex flex-col items-center justify-center py-6 px-4",children:[bf.jsx("div",{className:"mb-6",children:p()}),bf.jsx("h3",{className:"text-xl font-bold mb-3 text-gray-900",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Processing Payment"}),bf.jsx("p",{className:"text-center text-gray-600 mb-6",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Your transaction has been sent to the blockchain and is being processed..."}),bf.jsxs("div",{className:"w-full max-w-xs mb-4",children:[bf.jsx("div",{className:"bg-gray-200 rounded-full h-3",children:bf.jsx("div",{className:"bg-[#7042D2] h-3 rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),bf.jsxs("div",{className:"text-center mt-2 text-sm text-gray-500",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:["Processing... ",Math.round(d),"%"]})]}),bf.jsxs("div",{className:"text-center space-y-2",children:[bf.jsxs("div",{className:"flex items-center justify-center space-x-2",children:[bf.jsx("div",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),bf.jsx("span",{className:"text-sm text-gray-600",children:"Transaction submitted"})]}),bf.jsxs("div",{className:"flex items-center justify-center space-x-2",children:[bf.jsx("div",{className:"w-2 h-2 bg-yellow-500 rounded-full animate-pulse"}),bf.jsx("span",{className:"text-sm text-gray-600",children:"Confirming on blockchain..."})]}),bf.jsxs("div",{className:"flex items-center justify-center space-x-2",children:[bf.jsx("div",{className:"w-2 h-2 bg-gray-300 rounded-full"}),bf.jsx("span",{className:"text-sm text-gray-400",children:"Finalizing payment..."})]})]}),bf.jsx("div",{className:"mt-6 p-3 bg-blue-50 rounded-lg border border-blue-200",children:bf.jsx("p",{className:"text-xs text-blue-800 text-center",children:"Please don't close this window. This usually takes 10-30 seconds."})})]}):"success"===e?bf.jsxs("div",{className:"flex flex-col items-center justify-center py-6 px-4",children:[bf.jsx("div",{className:"mb-6",children:p()}),bf.jsx("h3",{className:"text-2xl font-bold mb-3 text-gray-900",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Payment Successful!"}),r&&o&&bf.jsxs("p",{className:"text-center max-w-[235px] mb-6 text-gray-600",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:["Your payment of ",bf.jsxs("span",{className:"text-[#7042D2] font-semibold",children:[r.totalAmount||r.amount," ",o.currency]})," has been completed."]}),i&&bf.jsxs("div",{className:"w-full mb-6 px-4",children:[bf.jsx("p",{className:"text-sm font-medium mb-2 text-gray-700",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Transaction Details"}),bf.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg border cursor-pointer transition-colors bg-gray-50 border-gray-200 hover:bg-gray-100 mb-3",onClick:f,children:[bf.jsx("span",{className:"font-mono text-sm text-gray-700",children:(m=i,m?m.length<=16?m:`${m.slice(0,8)}...${m.slice(-8)}`:"")}),bf.jsxs("div",{className:"flex items-center",children:[l?bf.jsx("span",{className:"text-green-500 text-xs font-medium mr-2",children:"Copied!"}):null,bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-gray-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]}),(()=>{const e=((e,t)=>{if(!e||!t)return null;const n="string"==typeof t?t:t.shortName||t.name;return{ethereum:`https://etherscan.io/tx/${e}`,bsc:`https://bscscan.com/tx/${e}`,polygon:`https://polygonscan.com/tx/${e}`,arbitrum:`https://arbiscan.io/tx/${e}`,optimism:`https://optimistic.etherscan.io/tx/${e}`,avalanche:`https://snowtrace.io/tx/${e}`,celo:`https://celoscan.io/tx/${e}`,base:`https://basescan.org/tx/${e}`,solana:`https://explorer.solana.com/tx/${e}`,"solana-mainnet":`https://explorer.solana.com/tx/${e}`,"solana-devnet":`https://explorer.solana.com/tx/${e}?cluster=devnet`,"solana devnet":`https://explorer.solana.com/tx/${e}?cluster=devnet`}[null==n?void 0:n.toLowerCase()]||null})(i,s),t=(e=>{if(!e)return"Explorer";const t="string"==typeof e?e:e.shortName||e.name;return{ethereum:"Etherscan",bsc:"BscScan",polygon:"PolygonScan",arbitrum:"Arbiscan",optimism:"Optimistic Etherscan",avalanche:"SnowTrace",celo:"CeloScan",base:"BaseScan",solana:"Solana Explorer","solana-mainnet":"Solana Explorer","solana-devnet":"Solana Explorer (Devnet)","solana devnet":"Solana Explorer (Devnet)"}[null==t?void 0:t.toLowerCase()]||"Explorer"})(s);return s&&e&&bf.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full p-3 rounded-lg border border-[#7042D2] bg-white hover:bg-purple-50 transition-colors group",children:[bf.jsxs("span",{className:"text-sm font-medium text-[#7042D2]",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:["View on ",t]}),bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-[#7042D2] group-hover:translate-x-1 transition-transform",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})})()]}),c&&bf.jsx("button",{onClick:c,className:"w-full py-3 px-4 bg-[#7042D2] text-white font-semibold rounded-2xl text-lg shadow-md hover:bg-[#5b34b1] transition-colors",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Close"})]}):bf.jsxs("div",{className:"flex flex-col items-center justify-center py-6",children:[bf.jsx("div",{className:"mb-4",children:p()}),bf.jsx("h3",{className:"text-xl font-bold mb-2 text-gray-900",children:"processing"===e?"Processing Payment":"error"===e?"Payment Failed":"Unknown Status"}),bf.jsx("p",{className:"text-center text-gray-600",children:t})]});var m};var g5={},y5={},b5={};let v5;const w5=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];b5.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return 4*e+17},b5.getSymbolTotalCodewords=function(e){return w5[e]},b5.getBCHDigit=function(e){let t=0;for(;0!==e;)t++,e>>>=1;return t},b5.setToSJISFunction=function(e){if("function"!=typeof e)throw new Error('"toSJISFunc" is not a valid function.');v5=e},b5.isKanjiModeEnabled=function(){return void 0!==v5},b5.toSJIS=function(e){return v5(e)};var _5,E5={};function x5(){this.buffer=[],this.length=0}(_5=E5).L={bit:1},_5.M={bit:0},_5.Q={bit:3},_5.H={bit:2},_5.isValid=function(e){return e&&void 0!==e.bit&&e.bit>=0&&e.bit<4},_5.from=function(e,t){if(_5.isValid(e))return e;try{return function(e){if("string"!=typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return _5.L;case"m":case"medium":return _5.M;case"q":case"quartile":return _5.Q;case"h":case"high":return _5.H;default:throw new Error("Unknown EC Level: "+e)}}(e)}catch(KAe){return t}},x5.prototype={get:function(e){const t=Math.floor(e/8);return 1==(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(let n=0;n<t;n++)this.putBit(1==(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var k5=x5;function S5(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}S5.prototype.set=function(e,t,n,r){const i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},S5.prototype.get=function(e,t){return this.data[e*this.size+t]},S5.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},S5.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var C5=S5,I5={};!function(e){const t=b5.getSymbolSize;e.getRowColCoords=function(e){if(1===e)return[];const n=Math.floor(e/7)+2,r=t(e),i=145===r?26:2*Math.ceil((r-13)/(2*n-2)),o=[r-7];for(let t=1;t<n-1;t++)o[t]=o[t-1]-i;return o.push(6),o.reverse()},e.getPositions=function(t){const n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)0===e&&0===t||0===e&&t===i-1||e===i-1&&0===t||n.push([r[e],r[t]]);return n}}(I5);var A5={};const P5=b5.getSymbolSize;A5.getPositions=function(e){const t=P5(e);return[[0,0],[t-7,0],[0,t-7]]};var O5={};!function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t=3,n=3,r=40,i=10;function o(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}e.isValid=function(e){return null!=e&&""!==e&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){const n=e.size;let r=0,i=0,o=0,s=null,a=null;for(let c=0;c<n;c++){i=o=0,s=a=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===s?i++:(i>=5&&(r+=t+(i-5)),s=n,i=1),n=e.get(l,c),n===a?o++:(o>=5&&(r+=t+(o-5)),a=n,o=1)}i>=5&&(r+=t+(i-5)),o>=5&&(r+=t+(o-5))}return r},e.getPenaltyN2=function(e){const t=e.size;let r=0;for(let n=0;n<t-1;n++)for(let i=0;i<t-1;i++){const t=e.get(n,i)+e.get(n,i+1)+e.get(n+1,i)+e.get(n+1,i+1);4!==t&&0!==t||r++}return r*n},e.getPenaltyN3=function(e){const t=e.size;let n=0,i=0,o=0;for(let r=0;r<t;r++){i=o=0;for(let s=0;s<t;s++)i=i<<1&2047|e.get(r,s),s>=10&&(1488===i||93===i)&&n++,o=o<<1&2047|e.get(s,r),s>=10&&(1488===o||93===o)&&n++}return n*r},e.getPenaltyN4=function(e){let t=0;const n=e.data.length;for(let r=0;r<n;r++)t+=e.data[r];return Math.abs(Math.ceil(100*t/n/5)-10)*i},e.applyMask=function(e,t){const n=t.size;for(let r=0;r<n;r++)for(let i=0;i<n;i++)t.isReserved(i,r)||t.xor(i,r,o(e,i,r))},e.getBestMask=function(t,n){const r=Object.keys(e.Patterns).length;let i=0,o=1/0;for(let s=0;s<r;s++){n(s),e.applyMask(s,t);const r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(s,t),r<o&&(o=r,i=s)}return i}}(O5);var M5={};const T5=E5,R5=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],N5=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];M5.getBlocksCount=function(e,t){switch(t){case T5.L:return R5[4*(e-1)+0];case T5.M:return R5[4*(e-1)+1];case T5.Q:return R5[4*(e-1)+2];case T5.H:return R5[4*(e-1)+3];default:return}},M5.getTotalCodewordsCount=function(e,t){switch(t){case T5.L:return N5[4*(e-1)+0];case T5.M:return N5[4*(e-1)+1];case T5.Q:return N5[4*(e-1)+2];case T5.H:return N5[4*(e-1)+3];default:return}};var L5={},B5={};const j5=new Uint8Array(512),D5=new Uint8Array(256);!function(){let e=1;for(let t=0;t<255;t++)j5[t]=e,D5[e]=t,e<<=1,256&e&&(e^=285);for(let t=255;t<512;t++)j5[t]=j5[t-255]}(),B5.log=function(e){if(e<1)throw new Error("log("+e+")");return D5[e]},B5.exp=function(e){return j5[e]},B5.mul=function(e,t){return 0===e||0===t?0:j5[D5[e]+D5[t]]},function(e){const t=B5;e.mul=function(e,n){const r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let o=0;o<n.length;o++)r[i+o]^=t.mul(e[i],n[o]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){const e=r[0];for(let o=0;o<n.length;o++)r[o]^=t.mul(n[o],e);let i=0;for(;i<r.length&&0===r[i];)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}}(L5);const U5=L5;function $5(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}$5.prototype.initialize=function(e){this.degree=e,this.genPoly=U5.generateECPolynomial(this.degree)},$5.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");const t=new Uint8Array(e.length+this.degree);t.set(e);const n=U5.mod(t,this.genPoly),r=this.degree-n.length;if(r>0){const e=new Uint8Array(this.degree);return e.set(n,r),e}return n};var F5=$5,z5={},q5={},H5={isValid:function(e){return!isNaN(e)&&e>=1&&e<=40}},W5={};const K5="[0-9]+";let V5="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";V5=V5.replace(/u/g,"\\u");const G5="(?:(?![A-Z0-9 $%*+\\-./:]|"+V5+")(?:.|[\r\n]))+";W5.KANJI=new RegExp(V5,"g"),W5.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),W5.BYTE=new RegExp(G5,"g"),W5.NUMERIC=new RegExp(K5,"g"),W5.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const Z5=new RegExp("^"+V5+"$"),Y5=new RegExp("^"+K5+"$"),J5=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");W5.testKanji=function(e){return Z5.test(e)},W5.testNumeric=function(e){return Y5.test(e)},W5.testAlphanumeric=function(e){return J5.test(e)},function(e){const t=H5,n=W5;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!t.isValid(n))throw new Error("Invalid version: "+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},e.isValid=function(e){return e&&e.bit&&e.ccBits},e.from=function(t,n){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(KAe){return n}}}(q5),function(e){const t=b5,n=M5,r=E5,i=q5,o=H5,s=t.getBCHDigit(7973);function a(e,t){return i.getCharCountIndicator(e,t)+4}function c(e,t){let n=0;return e.forEach(function(e){const r=a(e.mode,t);n+=r+e.getBitsLength()}),n}e.from=function(e,t){return o.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,s){if(!o.isValid(e))throw new Error("Invalid QR Code version");void 0===s&&(s=i.BYTE);const c=8*(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r));if(s===i.MIXED)return c;const l=c-a(s,e);switch(s){case i.NUMERIC:return Math.floor(l/10*3);case i.ALPHANUMERIC:return Math.floor(l/11*2);case i.KANJI:return Math.floor(l/13);case i.BYTE:default:return Math.floor(l/8)}},e.getBestVersionForData=function(t,n){let o;const s=r.from(n,r.M);if(Array.isArray(t)){if(t.length>1)return function(t,n){for(let r=1;r<=40;r++)if(c(t,r)<=e.getCapacity(r,n,i.MIXED))return r}(t,s);if(0===t.length)return 1;o=t[0]}else o=t;return function(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}(o.mode,o.getLength(),s)},e.getEncodedBits=function(e){if(!o.isValid(e)||e<7)throw new Error("Invalid QR Code version");let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=7973<<t.getBCHDigit(n)-s;return e<<12|n}}(z5);var Q5={};const X5=b5,e3=X5.getBCHDigit(1335);Q5.getEncodedBits=function(e,t){const n=e.bit<<3|t;let r=n<<10;for(;X5.getBCHDigit(r)-e3>=0;)r^=1335<<X5.getBCHDigit(r)-e3;return 21522^(n<<10|r)};var t3={};const n3=q5;function r3(e){this.mode=n3.NUMERIC,this.data=e.toString()}r3.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r3.prototype.getLength=function(){return this.data.length},r3.prototype.getBitsLength=function(){return r3.getBitsLength(this.data.length)},r3.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);const i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,3*i+1))};var i3=r3;const o3=q5,s3=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function a3(e){this.mode=o3.ALPHANUMERIC,this.data=e}a3.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},a3.prototype.getLength=function(){return this.data.length},a3.prototype.getBitsLength=function(){return a3.getBitsLength(this.data.length)},a3.prototype.write=function(e){let t;for(t=0;t+2<=this.data.length;t+=2){let n=45*s3.indexOf(this.data[t]);n+=s3.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(s3.indexOf(this.data[t]),6)};var c3=a3;const l3=q5;function u3(e){this.mode=l3.BYTE,this.data="string"==typeof e?(new TextEncoder).encode(e):new Uint8Array(e)}u3.getBitsLength=function(e){return 8*e},u3.prototype.getLength=function(){return this.data.length},u3.prototype.getBitsLength=function(){return u3.getBitsLength(this.data.length)},u3.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)};var d3=u3;const h3=q5,f3=b5;function p3(e){this.mode=h3.KANJI,this.data=e}p3.getBitsLength=function(e){return 13*e},p3.prototype.getLength=function(){return this.data.length},p3.prototype.getBitsLength=function(){return p3.getBitsLength(this.data.length)},p3.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=f3.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else{if(!(n>=57408&&n<=60351))throw new Error("Invalid SJIS character: "+this.data[t]+"\nMake sure your charset is UTF-8");n-=49472}n=192*(n>>>8&255)+(255&n),e.put(n,13)}};var m3=p3,g3={exports:{}};!function(e){var t={single_source_shortest_paths:function(e,n,r){var i={},o={};o[n]=0;var s,a,c,l,u,d,h,f=t.PriorityQueue.make();for(f.push(n,0);!f.empty();)for(c in a=(s=f.pop()).value,l=s.cost,u=e[a]||{})u.hasOwnProperty(c)&&(d=l+u[c],h=o[c],(void 0===o[c]||h>d)&&(o[c]=d,f.push(c,d),i[c]=a));if(void 0!==r&&void 0===o[r]){var p=["Could not find a path from ",n," to ",r,"."].join("");throw new Error(p)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,n,r){var i=t.single_source_shortest_paths(e,n,r);return t.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var n,r=t.PriorityQueue,i={};for(n in e=e||{},r)r.hasOwnProperty(n)&&(i[n]=r[n]);return i.queue=[],i.sorter=e.sorter||r.default_sorter,i},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};e.exports=t}(g3);var y3=g3.exports;!function(e){const t=q5,n=i3,r=c3,i=d3,o=m3,s=W5,a=b5,c=y3;function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){const r=[];let i;for(;null!==(i=e.exec(n));)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){const n=u(s.NUMERIC,t.NUMERIC,e),r=u(s.ALPHANUMERIC,t.ALPHANUMERIC,e);let i,o;a.isKanjiModeEnabled()?(i=u(s.BYTE,t.BYTE,e),o=u(s.KANJI,t.KANJI,e)):(i=u(s.BYTE_KANJI,t.BYTE,e),o=[]);return n.concat(r,i,o).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function h(e,s){switch(s){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return o.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function f(e,s){let c;const l=t.getBestModeForData(e);if(c=t.from(s,l),c!==t.BYTE&&c.bit<l.bit)throw new Error('"'+e+'" cannot be encoded with mode '+t.toString(c)+".\n Suggested mode is: "+t.toString(l));switch(c!==t.KANJI||a.isKanjiModeEnabled()||(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new o(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return"string"==typeof t?e.push(f(t,null)):t.data&&e.push(f(t.data,t.mode)),e},[])},e.fromString=function(n,r){const i=function(e){const n=[];for(let r=0;r<e.length;r++){const i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}(d(n,a.isKanjiModeEnabled())),o=function(e,n){const r={},i={start:{}};let o=["start"];for(let s=0;s<e.length;s++){const a=e[s],c=[];for(let e=0;e<a.length;e++){const l=a[e],u=""+s+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<o.length;e++){const s=o[e];r[s]&&r[s].node.mode===l.mode?(i[s][u]=h(r[s].lastCount+l.length,l.mode)-h(r[s].lastCount,l.mode),r[s].lastCount+=l.length):(r[s]&&(r[s].lastCount=l.length),i[s][u]=h(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}o=c}for(let t=0;t<o.length;t++)i[o[t]].end=0;return{map:i,table:r}}(i,r),s=c.find_path(o.map,"start","end"),u=[];for(let e=1;e<s.length-1;e++)u.push(o.table[s[e]].node);return e.fromArray(function(e){return e.reduce(function(e,t){const n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}(u))},e.rawSplit=function(t){return e.fromArray(d(t,a.isKanjiModeEnabled()))}}(t3);const b3=b5,v3=E5,w3=k5,_3=C5,E3=I5,x3=A5,k3=O5,S3=M5,C3=F5,I3=z5,A3=Q5,P3=q5,O3=t3;function M3(e,t,n){const r=e.size,i=A3.getEncodedBits(t,n);let o,s;for(o=0;o<15;o++)s=1==(i>>o&1),o<6?e.set(o,8,s,!0):o<8?e.set(o+1,8,s,!0):e.set(r-15+o,8,s,!0),o<8?e.set(8,r-o-1,s,!0):o<9?e.set(8,15-o-1+1,s,!0):e.set(8,15-o-1,s,!0);e.set(r-8,8,1,!0)}function T3(e,t,n){const r=new w3;n.forEach(function(t){r.put(t.mode.bit,4),r.put(t.getLength(),P3.getCharCountIndicator(t.mode,e)),t.write(r)});const i=8*(b3.getSymbolTotalCodewords(e)-S3.getTotalCodewordsCount(e,t));for(r.getLengthInBits()+4<=i&&r.put(0,4);r.getLengthInBits()%8!=0;)r.putBit(0);const o=(i-r.getLengthInBits())/8;for(let s=0;s<o;s++)r.put(s%2?17:236,8);return function(e,t,n){const r=b3.getSymbolTotalCodewords(t),i=S3.getTotalCodewordsCount(t,n),o=r-i,s=S3.getBlocksCount(t,n),a=r%s,c=s-a,l=Math.floor(r/s),u=Math.floor(o/s),d=u+1,h=l-u,f=new C3(h);let p=0;const m=new Array(s),g=new Array(s);let y=0;const b=new Uint8Array(e.buffer);for(let x=0;x<s;x++){const e=x<c?u:d;m[x]=b.slice(p,p+e),g[x]=f.encode(m[x]),p+=e,y=Math.max(y,e)}const v=new Uint8Array(r);let w,_,E=0;for(w=0;w<y;w++)for(_=0;_<s;_++)w<m[_].length&&(v[E++]=m[_][w]);for(w=0;w<h;w++)for(_=0;_<s;_++)v[E++]=g[_][w];return v}(r,e,t)}function R3(e,t,n,r){let i;if(Array.isArray(e))i=O3.fromArray(e);else{if("string"!=typeof e)throw new Error("Invalid data");{let r=t;if(!r){const t=O3.rawSplit(e);r=I3.getBestVersionForData(t,n)}i=O3.fromString(e,r||40)}}const o=I3.getBestVersionForData(i,n);if(!o)throw new Error("The amount of data is too big to be stored in a QR Code");if(t){if(t<o)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+o+".\n")}else t=o;const s=T3(t,n,i),a=b3.getSymbolSize(t),c=new _3(a);return function(e,t){const n=e.size,r=x3.getPositions(t);for(let i=0;i<r.length;i++){const t=r[i][0],o=r[i][1];for(let r=-1;r<=7;r++)if(!(t+r<=-1||n<=t+r))for(let i=-1;i<=7;i++)o+i<=-1||n<=o+i||(r>=0&&r<=6&&(0===i||6===i)||i>=0&&i<=6&&(0===r||6===r)||r>=2&&r<=4&&i>=2&&i<=4?e.set(t+r,o+i,!0,!0):e.set(t+r,o+i,!1,!0))}}(c,t),function(e){const t=e.size;for(let n=8;n<t-8;n++){const t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}(c),function(e,t){const n=E3.getPositions(t);for(let r=0;r<n.length;r++){const t=n[r][0],i=n[r][1];for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)-2===n||2===n||-2===r||2===r||0===n&&0===r?e.set(t+n,i+r,!0,!0):e.set(t+n,i+r,!1,!0)}}(c,t),M3(c,n,0),t>=7&&function(e,t){const n=e.size,r=I3.getEncodedBits(t);let i,o,s;for(let a=0;a<18;a++)i=Math.floor(a/3),o=a%3+n-8-3,s=1==(r>>a&1),e.set(i,o,s,!0),e.set(o,i,s,!0)}(c,t),function(e,t){const n=e.size;let r=-1,i=n-1,o=7,s=0;for(let a=n-1;a>0;a-=2)for(6===a&&a--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,a-n)){let r=!1;s<t.length&&(r=1==(t[s]>>>o&1)),e.set(i,a-n,r),o--,-1===o&&(s++,o=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}(c,s),isNaN(r)&&(r=k3.getBestMask(c,M3.bind(null,c,n))),k3.applyMask(r,c),M3(c,n,r),{modules:c,version:t,errorCorrectionLevel:n,maskPattern:r,segments:i}}y5.create=function(e,t){if(void 0===e||""===e)throw new Error("No input text");let n,r,i=v3.M;return void 0!==t&&(i=v3.from(t.errorCorrectionLevel,v3.M),n=I3.from(t.version),r=k3.from(t.maskPattern),t.toSJISFunc&&b3.setToSJISFunction(t.toSJISFunc)),R3(e,n,i,r)};var N3={},L3={};!function(e){function t(e){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||5===t.length||t.length>8)throw new Error("Invalid hex color: "+e);3!==t.length&&4!==t.length||(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),6===t.length&&t.push("F","F");const n=parseInt(t.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:255&n,hex:"#"+t.slice(0,6).join("")}}e.getOptions=function(e){e||(e={}),e.color||(e.color={});const n=void 0===e.margin||null===e.margin||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:t(e.color.dark||"#000000ff"),light:t(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+2*t.margin?t.width/(e+2*t.margin):t.scale},e.getImageWidth=function(t,n){const r=e.getScale(t,n);return Math.floor((t+2*n.margin)*r)},e.qrToImageData=function(t,n,r){const i=n.modules.size,o=n.modules.data,s=e.getScale(i,r),a=Math.floor((i+2*r.margin)*s),c=r.margin*s,l=[r.color.light,r.color.dark];for(let e=0;e<a;e++)for(let n=0;n<a;n++){let u=4*(e*a+n),d=r.color.light;if(e>=c&&n>=c&&e<a-c&&n<a-c){d=l[o[Math.floor((e-c)/s)*i+Math.floor((n-c)/s)]?1:0]}t[u++]=d.r,t[u++]=d.g,t[u++]=d.b,t[u]=d.a}}}(L3),function(e){const t=L3;e.render=function(e,n,r){let i=r,o=n;void 0!==i||n&&n.getContext||(i=n,n=void 0),n||(o=function(){try{return document.createElement("canvas")}catch(KAe){throw new Error("You need to specify a canvas element")}}()),i=t.getOptions(i);const s=t.getImageWidth(e.modules.size,i),a=o.getContext("2d"),c=a.createImageData(s,s);return t.qrToImageData(c.data,e,i),function(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=n,t.width=n,t.style.height=n+"px",t.style.width=n+"px"}(a,o,s),a.putImageData(c,0,0),o},e.renderToDataURL=function(t,n,r){let i=r;void 0!==i||n&&n.getContext||(i=n,n=void 0),i||(i={});const o=e.render(t,n,i),s=i.type||"image/png",a=i.rendererOpts||{};return o.toDataURL(s,a.quality)}}(N3);var B3={};const j3=L3;function D3(e,t){const n=e.a/255,r=t+'="'+e.hex+'"';return n<1?r+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':r}function U3(e,t,n){let r=e+t;return void 0!==n&&(r+=" "+n),r}B3.render=function(e,t,n){const r=j3.getOptions(t),i=e.modules.size,o=e.modules.data,s=i+2*r.margin,a=r.color.light.a?"<path "+D3(r.color.light,"fill")+' d="M0 0h'+s+"v"+s+'H0z"/>':"",c="<path "+D3(r.color.dark,"stroke")+' d="'+function(e,t,n){let r="",i=0,o=!1,s=0;for(let a=0;a<e.length;a++){const c=Math.floor(a%t),l=Math.floor(a/t);c||o||(o=!0),e[a]?(s++,a>0&&c>0&&e[a-1]||(r+=o?U3("M",c+n,.5+l+n):U3("m",i,0),i=0,o=!1),c+1<t&&e[a+1]||(r+=U3("h",s),s=0)):i++}return r}(o,i,r.margin)+'"/>',l='viewBox="0 0 '+s+" "+s+'"',u='<svg xmlns="http://www.w3.org/2000/svg" '+(r.width?'width="'+r.width+'" height="'+r.width+'" ':"")+l+' shape-rendering="crispEdges">'+a+c+"</svg>\n";return"function"==typeof n&&n(null,u),u};const $3=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then},F3=y5,z3=N3,q3=B3;function H3(e,t,n,r,i){const o=[].slice.call(arguments,1),s=o.length,a="function"==typeof o[s-1];if(!a&&!$3())throw new Error("Callback required as last argument");if(!a){if(s<1)throw new Error("Too few arguments provided");return 1===s?(n=t,t=r=void 0):2!==s||t.getContext||(r=n,n=t,t=void 0),new Promise(function(i,o){try{const o=F3.create(n,r);i(e(o,t,r))}catch(KAe){o(KAe)}})}if(s<2)throw new Error("Too few arguments provided");2===s?(i=n,n=t,t=r=void 0):3===s&&(t.getContext&&void 0===i?(i=r,r=void 0):(i=r,r=n,n=t,t=void 0));try{const o=F3.create(n,r);i(null,e(o,t,r))}catch(KAe){i(KAe)}}g5.create=F3.create,g5.toCanvas=H3.bind(null,z3.render),g5.toDataURL=H3.bind(null,z3.renderToDataURL),g5.toString=H3.bind(null,function(e,t,n){return q3.render(e,n)});const W3={bitcoin:1,ethereum:1027,bsc:1839,polygon:3890,cardano:2010,avalanche:5805,fantom:3513,arbitrum:11841,optimism:11840,USDT:825,USDC:3408,BUSD:4687,DAI:4943,FRAX:6952,TUSD:2563,USDP:5992,USDD:5994,FDUSD:26081,PYUSD:28295,WBTC:3717,LINK:1975,UNI:7083,AAVE:7278,COMP:5692,YFI:5864,MKR:1518,SUSHI:6758,CRV:6538,SNX:2586,UMA:5617,BAL:5728,MANA:1966,SAND:6210,APE:18876,LDO:8e3,GRT:6719,ENS:13855,RPL:2943,SHIB:5994,MATIC:3890,BNB:1839,ADA:2010,SOL:5426,DOT:6636,AVAX:5805,TRX:1958,ALGO:4030,FTM:3513,ARB:11841,OP:11840,"1INCH":8104,DYDX:11156,ICP:8916,FIL:2280,CAKE:7186,RUNE:4157,ALPHA:7232,BNT:1727,KNC:1982,ZRX:1896,REN:2539,LRC:1934,WETH:2396,WMATIC:3890,WBNB:1839,UST:7129,USTC:7129,LUSD:8115,MIM:9681,FEI:8642,TRIBE:8741,RAI:8525,SUSD:2927},K3={ethereum:"https://s2.coinmarketcap.com/static/img/coins/64x64/1027.png",bsc:"https://s2.coinmarketcap.com/static/img/coins/64x64/1839.png",polygon:"https://s2.coinmarketcap.com/static/img/coins/64x64/28321.png",arbitrum:"https://s2.coinmarketcap.com/static/img/coins/64x64/11841.png",avalanche:"https://s2.coinmarketcap.com/static/img/coins/64x64/5805.png",celo:"https://s2.coinmarketcap.com/static/img/coins/64x64/5567.png",optimism:"https://s2.coinmarketcap.com/static/img/coins/64x64/11840.png",base:"https://s2.coinmarketcap.com/static/img/coins/64x64/1027.png",eth:"https://s2.coinmarketcap.com/static/img/coins/64x64/1027.png",bnb:"https://s2.coinmarketcap.com/static/img/coins/64x64/1839.png",trx:"https://s2.coinmarketcap.com/static/img/coins/64x64/1958.png",algo:"https://s2.coinmarketcap.com/static/img/coins/64x64/4030.png",matic:"https://s2.coinmarketcap.com/static/img/coins/64x64/28321.png",arb:"https://s2.coinmarketcap.com/static/img/coins/64x64/11841.png",avax:"https://s2.coinmarketcap.com/static/img/coins/64x64/5805.png",op:"https://s2.coinmarketcap.com/static/img/coins/64x64/11840.png",sol:"https://s2.coinmarketcap.com/static/img/coins/64x64/5426.png",solana:"https://s2.coinmarketcap.com/static/img/coins/64x64/5426.png","solana-mainnet":"https://s2.coinmarketcap.com/static/img/coins/64x64/5426.png","solana-devnet":"https://s2.coinmarketcap.com/static/img/coins/64x64/5426.png"},V3={metamask:"https://upload.wikimedia.org/wikipedia/commons/3/36/MetaMask_Fox.svg",coinbase:"https://avatars.githubusercontent.com/u/18060234?s=280&v=4",rabby:"https://rabby.io/logo-128.png",zerion:"https://app.zerion.io/favicon-32x32.png",okx:"https://static.okx.com/cdn/assets/imgs/248/58E63FEA47A2B7D7.png",binance:"https://bin.bnbstatic.com/static/images/common/favicon.ico",cryptocom:"https://crypto.com/favicon.ico","1inch":"https://1inch.io/favicon.svg",hot:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTQiIGZpbGw9IiNGRjZBNkEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGQ9Ik0xMCAxMmg0djhoLTR2LTJoMnYtNGgtMnYtMnptNiAwaDJ2MmgtdjdoLTJ2LTIiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==",walletconnect:"https://avatars.githubusercontent.com/u/37784886?s=200&v=4",phantom:"https://phantom.app/img/phantom-logo.svg",solflare:"https://solflare.com/assets/logo.svg",backpack:"https://www.backpack.exchange/_next/image?url=%2Fbackpack-logo.png&w=128&q=75",trust:"https://trustwallet.com/assets/images/favicon.png",default:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTQiIGZpbGw9IiM2MzY2RjEiIHN0cm9rZT0iI0Y5RkFGQiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGQ9Ik0xMCAxMmgxMnY4SDEweiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHJ4PSIxIi8+CjxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjEiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg=="},G3=e=>(e=>{if(!e)return null;const t=W3[e.toUpperCase()];return t?`https://s2.coinmarketcap.com/static/img/coins/64x64/${t}.png`:null})(e),Z3=(e,t)=>{const n=e.toLowerCase(),r=t.toLowerCase();for(const[i,o]of Object.entries(V3))if(n.includes(i)||r.includes(i))return o;return V3.default},Y3=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),J3=e=>{switch(e){case"trust":return window.ethereum&&!0===window.ethereum.isTrust;case"metaMask":return window.ethereum&&!0===window.ethereum.isMetaMask;case"injected":return window.ethereum&&!window.ethereum.isMetaMask&&!window.ethereum.isCoinbaseWallet;default:return!1}},Q3=(e,t)=>{if(!t)return[];if(!["ethereum","bsc","polygon","arbitrum","optimism","avalanche","celo","base","monad"].includes(t.shortName))return[];return[...(e||[]).map(e=>(e=>({type:e.id,name:e.name,icon:Z3(e.name,e.id),description:`Connect using ${e.name}`,isInstalled:!0,connector:e,isWagmi:!0}))(e)),...Y3()?[{type:"trust",name:"Trust Wallet",icon:"🛡️",description:"Multi-chain wallet with transaction deep links",isInstalled:!1,connector:null,isWagmi:!1,mobileOnly:!0,hasTransactionDeepLinks:!0}]:[]]},X3=(e,t,n,r,i="metamask",o=null)=>{if(!e)return null;try{const t="https://payment.coinley.io",r=new URLSearchParams,o=(null==e?void 0:e.id)||(null==e?void 0:e.splitterPaymentId);if(!o)return null;r.set("paymentId",o),r.set("preferredWallet",i),r.set("isMobile","true");const s=`${t}?${r.toString()}`;let a;switch(i){case"metamask":a=`https://metamask.app.link/dapp/${s.replace("https://","")}`;break;case"trust":const e=(null==n?void 0:n.chainId)||1;a=`https://link.trustwallet.com/open_url?coin_id=${(e=>{const t="string"==typeof e&&e.startsWith("0x")?parseInt(e,16):parseInt(e);return[1,56,137,42161,10,43114,42220,8453,143].includes(t)?60:{}[t]||60})(e)}&url=${encodeURIComponent(s)}`;break;case"coinbase":a=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(s)}`;break;default:a=s}return a}catch(cF){return null}},e6=(e,t)=>{if(!t)return null;try{switch(e){case"metamask":return t.includes("metamask.app.link")?t:`https://metamask.app.link/dapp/${t.replace("https://","")}`;case"trust":return t.includes("link.trustwallet.com")?t:`https://link.trustwallet.com/open_url?coin_id=60&url=${encodeURIComponent(t)}`;case"coinbase":return t.includes("go.cb-w.com")?t:`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(t)}`;default:return t}}catch(cF){return t}},t6=Object.freeze(Object.defineProperty({__proto__:null,generateMobilePaymentDeepLink:e6,generateQRPaymentURI:X3},Symbol.toStringTag,{value:"Module"})),n6=({walletAddress:e,amount:t,currency:n,network:r,theme:i="light",paymentData:o=null,onPaymentDetected:s=null,config:a=null,selectedToken:c=null,selectedNetwork:l=null,preferredWallet:u="metamask",compact:d=!1})=>{const[h,f]=Yt.useState(""),[p,m]=Yt.useState(""),[g,y]=Yt.useState(!0),[b,v]=Yt.useState(!1),[w,_]=Yt.useState(!1),E=Yt.useRef(null);return Yt.useEffect(()=>{(async()=>{if(null==o?void 0:o.id){y(!0);try{if(!c||!c.contractAddress)throw new Error("Cannot generate QR code: Token contract address required");if(!l||!l.chainId)throw new Error("Cannot generate QR code: Network chain ID required");const e=X3(o,0,l,0,u);if(e.includes("metamask.app.link")||e.includes("link.trustwallet.com")||e.includes("go.cb-w.com"),!e)throw new Error("Failed to generate Coinley payment URL");f(e);const t=Y3(),n=await g5.toDataURL(e,{width:d?140:t?350:280,margin:2,errorCorrectionLevel:"M",color:{dark:"dark"===i?"#FFFFFF":"#000000",light:"dark"===i?"#000000":"#FFFFFF"}});m(n),y(!1)}catch(cF){y(!1)}}else y(!1)})()},[o,t,n,r,i,c,l,a,u]),Yt.useEffect(()=>()=>{E.current&&clearInterval(E.current)},[]),bf.jsx("div",{className:"flex flex-col items-center",children:bf.jsxs("div",{className:"flex gap-3 items-start w-full mb-2",children:[bf.jsx("div",{className:"p-1.5 rounded-lg bg-white shadow-sm border flex-shrink-0",children:g?bf.jsx("div",{className:"flex items-center justify-center",style:{width:140,height:140},children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-purple-600 mx-auto mb-1"}),bf.jsx("div",{className:"text-xs text-gray-600",children:"Generating..."})]})}):p?bf.jsx("img",{src:p,alt:"Payment QR Code",className:"rounded-lg",style:{width:140,height:140}}):bf.jsx("div",{className:"flex items-center justify-center bg-gray-100 rounded-lg",style:{width:140,height:140},children:bf.jsxs("div",{className:"text-center p-2",children:[bf.jsx("div",{className:"text-lg mb-1",children:"⚠️"}),bf.jsx("div",{className:"text-xs text-gray-600",children:(null==o?void 0:o.id)?"QR Failed":"Payment not created"})]})})}),bf.jsxs("div",{className:"flex-1 flex flex-col justify-center",children:[bf.jsxs("div",{className:"p-2 bg-gray-50 rounded-lg mb-2",children:[bf.jsxs("div",{className:"flex justify-between items-center mb-1",children:[bf.jsx("span",{className:"text-xs font-medium text-gray-600",children:"Amount:"}),bf.jsxs("span",{className:"text-sm font-bold text-[#7042D2]",children:[t," ",n]})]}),bf.jsxs("div",{className:"flex justify-between items-center",children:[bf.jsx("span",{className:"text-xs text-gray-500",children:"Network:"}),bf.jsx("span",{className:"text-xs font-medium text-gray-700",children:r})]})]}),w?bf.jsxs("div",{className:"flex items-center justify-center text-xs font-semibold text-green-600 p-1.5 bg-green-50 rounded-lg",children:[bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-3.5 w-3.5 mr-1",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}),"Payment Received!"]}):bf.jsx("div",{className:"p-1.5 rounded-lg bg-blue-50 border border-blue-200",children:bf.jsx("p",{className:"text-xs text-blue-700 text-center leading-tight",children:"📱 Scan with phone camera"})})]})]})})},r6=({selectedNetwork:e,onWalletSelect:t,onConnect:n,connectedWallet:r,loading:i,paymentData:o=null,selectedToken:s=null,api:a=null,onSolanaConnect:c=null,solanaWallet:l=null})=>{const[u,d]=Yt.useState(null),h=Yt.useMemo(()=>e?DG(e.type||e.shortName||e.id):RG,[e])===NG,{connectors:f}=qP(),{isConnected:p,address:m}=kA(),g=Yt.useMemo(()=>{if(h){return l.availableWallets.map(e=>({type:e.id,name:e.name,icon:Z3(e.name,e.id)||"🔗",description:e.adapter?"Available":"Not installed",isSolana:!0,wallet:e}))}return Q3(f,e)},[h,l.availableWallets,f,e]),y=async(t,n)=>{if(Y3())if(o)try{const{generateQRPaymentURI:r,generateMobilePaymentDeepLink:i}=await Promise.resolve().then(()=>t6),c=r(o,s,e,(null==a?void 0:a.config)||{},n);if(!c)throw new Error("Failed to generate payment URL");const l=i(n,c);if(!l)throw new Error(`Failed to generate ${t.name} deep link`);window.location.href=l}catch(cF){alert(`Failed to open ${t.name}: ${cF.message}`)}else alert("Please create a payment first before selecting a mobile wallet.");else alert(`Please install ${t.name} mobile app or use the browser extension if available.`)};return e?0===g.length?bf.jsxs("div",{className:"text-center p-4",children:[bf.jsxs("p",{className:"text-gray-500 mb-4",children:["No compatible wallets found for ",e.name]}),bf.jsx("div",{className:"p-3 bg-amber-50 rounded-lg border border-amber-200",children:bf.jsxs("div",{className:"text-sm text-amber-800",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:[bf.jsx("div",{className:"font-medium mb-2",children:"Install a compatible wallet:"}),bf.jsx("div",{className:"space-y-1 text-xs",children:h?bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{children:["• ",bf.jsx("a",{href:MG.PHANTOM.downloadUrl,target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install Phantom Wallet"})]}),bf.jsxs("div",{children:["• ",bf.jsx("a",{href:MG.SOLFLARE.downloadUrl,target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install Solflare Wallet"})]}),bf.jsxs("div",{children:["• ",bf.jsx("a",{href:MG.BACKPACK.downloadUrl,target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install Backpack Wallet"})]})]}):bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{children:["• ",bf.jsx("a",{href:"https://metamask.io/download/",target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install MetaMask Wallet"})]}),bf.jsxs("div",{children:["• ",bf.jsx("a",{href:"https://www.coinbase.com/wallet",target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install Coinbase Wallet"})]})]})})]})})]}):bf.jsxs("div",{className:"space-y-4",children:[bf.jsxs("label",{className:"block text-sm font-medium text-gray-700",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:["Select Wallet for ",e.name]}),bf.jsx(f5,{options:g,value:(null==r?void 0:r.walletType)||u||"",onChange:async e=>{d(e);const r=g.find(t=>t.type===e);if(r){if(t(e),r.isSolana){if(r.isWalletConnect)return void alert("WalletConnect for Solana: Please use Phantom, Solflare, or another Solana wallet that supports WalletConnect scanning from their mobile app.");try{const t=await l.connectWallet(e);c&&await c({walletType:e,publicKey:t,wallet:l})}catch(cF){console.error("Failed to connect Solana wallet:",cF),alert(`Failed to connect: ${cF.message}`)}return}r.isWagmi&&r.connector?await n(r.connector):r.isWagmi||await y(r,e)}},placeholder:"Choose your wallet...",renderOption:e=>{var t,n,o,s,a,c,d;return bf.jsxs("div",{className:"flex items-center space-x-3",children:[bf.jsxs("div",{className:"w-8 h-8 flex items-center justify-center",children:[e.icon.startsWith("http")||e.icon.startsWith("data:")?bf.jsx("img",{src:e.icon,alt:e.name,className:"w-6 h-6 rounded-full object-contain",onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="block"}}):bf.jsx("div",{className:"text-2xl",children:e.icon}),bf.jsx("div",{className:"text-xl",style:{display:"none"},children:"🔗"})]}),bf.jsxs("div",{className:"flex-1",children:[bf.jsxs("div",{className:"font-semibold text-gray-800 flex items-center",children:[e.name,!e.isSolana&&J3(e.type)&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-blue-100 text-blue-700 text-xs rounded-full",children:"DETECTED"}),e.isSolana&&(null==(t=e.wallet)?void 0:t.adapter)&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-blue-100 text-blue-700 text-xs rounded-full",children:"DETECTED"}),e.isSolana&&(null==(n=l.connectedWallet)?void 0:n.id)===e.type&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-green-100 text-green-700 text-xs rounded-full",children:"CONNECTED"}),!e.isSolana&&(null==r?void 0:r.walletType)===e.type&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-green-100 text-green-700 text-xs rounded-full",children:"CONNECTED"})]}),bf.jsx("div",{className:"text-sm text-gray-500",children:e.isSolana&&(null==(o=l.connectedWallet)?void 0:o.id)===e.type?`Connected • ${null==(s=l.publicKey)?void 0:s.slice(0,6)}...${null==(a=l.publicKey)?void 0:a.slice(-4)}`:(null==r?void 0:r.walletType)===e.type?`Connected • ${null==(c=r.account)?void 0:c.slice(0,6)}...${null==(d=r.account)?void 0:d.slice(-4)}`:e.description})]}),i&&u===e.type&&bf.jsx("div",{className:"animate-spin rounded-full h-5 w-5 border-b-2 border-[#7042D2]"})]})},getOptionKey:e=>e.type,getOptionValue:e=>e.type,getSearchableText:e=>`${e.name} ${e.description}`,disabled:i})]}):bf.jsx("div",{className:"text-center p-4",children:bf.jsx("p",{className:"text-gray-500",children:"Please select a network first"})})},i6=(()=>{if(void 0!==aO&&aO.env)return!1;if("undefined"!=typeof window){const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||e.includes("192.168.")}return!1})()||(()=>{if("undefined"!=typeof window){const e=new URLSearchParams(window.location.search);return"true"===e.get("debug")||"true"===e.get("debugMode")}return!1})(),o6=({paymentData:e,selectedToken:t,selectedNetwork:n,config:r,onPaymentStarted:i=()=>{},onError:o=()=>{}})=>{var s,a;const[c,l]=Yt.useState(null),[u,d]=Yt.useState(!1),[h,f]=Yt.useState([]),[p,m]=Yt.useState(!1),[g,y]=Yt.useState(0);Yt.useEffect(()=>{var r,i,o;(null==e?void 0:e.id)&&(null==t?void 0:t.contractAddress)&&(null==n?void 0:n.chainId)&&((null==(r=null==e?void 0:e.contractCall)?void 0:r.contractAddress)||(null==e?void 0:e.contractAddress))?b("success","✅ Payment data complete",{paymentId:e.id,tokenContract:t.contractAddress,chainId:n.chainId,paymentContract:(null==(o=null==e?void 0:e.contractCall)?void 0:o.contractAddress)||(null==e?void 0:e.contractAddress)}):(b("debug","⏳ Waiting for complete payment data",{hasPaymentId:!!(null==e?void 0:e.id),hasTokenContract:!!(null==t?void 0:t.contractAddress),hasChainId:!!(null==n?void 0:n.chainId),hasPaymentContract:!(!(null==(i=null==e?void 0:e.contractCall)?void 0:i.contractAddress)&&!(null==e?void 0:e.contractAddress)),checkCount:g}),y(e=>e+1))},[e,t,n,g]);const b=(e,t,n=null)=>{const r=(new Date).toLocaleTimeString(),i={id:Date.now()+Math.random(),type:e,message:t,data:n,timestamp:r};i6&&(f(e=>[...e,i].slice(-20)),e.toUpperCase())},v=[{id:"metamask",name:"MetaMask",icon:"🦊",description:"Connect with MetaMask mobile"},{id:"trust",name:"Trust Wallet",icon:"🛡️",description:"Connect with Trust Wallet"},{id:"coinbase",name:"Coinbase Wallet",icon:"💙",description:"Connect with Coinbase Wallet"}];if(!e)return bf.jsx("div",{className:"p-4 bg-amber-50 rounded-lg border border-amber-200",children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"text-amber-800 font-medium mb-2",children:"⚠️ Payment Required"}),bf.jsx("div",{className:"text-sm text-amber-700",children:"Please create a payment before selecting a wallet"})]})});const w=(null==e?void 0:e.id)&&(null==t?void 0:t.contractAddress)&&(null==n?void 0:n.chainId)&&((null==(s=null==e?void 0:e.contractCall)?void 0:s.contractAddress)||(null==e?void 0:e.contractAddress));return bf.jsx("div",{className:"space-y-4",children:w?bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{className:"space-y-2",children:[bf.jsx("label",{className:"block text-sm font-medium text-gray-700",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Select Mobile Wallet"}),bf.jsx(f5,{options:v,value:c||"",onChange:async s=>{const a=v.find(e=>e.id===s);if(a){l(s),d(!0);try{if(b("info",`🚀 Mobile wallet selected: ${a.name}`),!e)throw new Error("Payment data not available. Please create payment first.");b("debug","🔍 Payment Data Check",{hasPaymentData:!!e,hasSelectedToken:!!t,hasSelectedNetwork:!!n,hasConfig:!!r,paymentId:(null==e?void 0:e.id)||(null==e?void 0:e.splitterPaymentId),tokenAddress:null==t?void 0:t.contractAddress,networkChainId:null==n?void 0:n.chainId,amount:(null==e?void 0:e.totalAmount)||(null==e?void 0:e.amount)||(null==r?void 0:r.amount)});const o=X3(e,0,n,0,s);if(!o)throw new Error("Failed to generate payment URL");b("success","📱 Generated payment URL",{url:o,length:o.length});const c=e6(s,o);if(!c)throw new Error(`Failed to generate ${a.name} deep link`);b("success",`🔗 Deep link generated for ${a.name}`,{deepLink:c}),i({walletType:s,walletName:a.name,paymentUrl:o,deepLink:c}),setTimeout(()=>{b("info",`📱 Opening ${a.name}...`),window.location.href=c},500)}catch(cF){b("error","❌ Mobile wallet connection failed",{error:cF.message,walletId:s,hasPaymentData:!!e,hasSelectedToken:!!t,hasSelectedNetwork:!!n}),o(cF.message),d(!1),l(null)}}},placeholder:"Choose your wallet...",renderOption:e=>bf.jsxs("div",{className:"flex items-center space-x-3",children:[bf.jsx("div",{className:"w-8 h-8 flex items-center justify-center",children:bf.jsx("div",{className:"text-2xl",children:e.icon})}),bf.jsxs("div",{className:"flex-1",children:[bf.jsxs("div",{className:"font-semibold text-gray-800",children:[e.name,c===e.id&&u&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-blue-100 text-blue-700 text-xs rounded-full animate-pulse",children:"Opening..."})]}),bf.jsx("div",{className:"text-sm text-gray-500",children:e.description})]})]}),getOptionKey:e=>e.id,getOptionValue:e=>e.id,getSearchableText:e=>`${e.name} ${e.description}`,disabled:u}),bf.jsx("div",{className:"text-xs text-gray-500 mt-2",children:"Select a wallet to open it with your payment details"})]}),u&&c&&bf.jsx("div",{className:"p-3 bg-blue-50 border border-blue-200 rounded-lg animate-pulse",children:bf.jsxs("div",{className:"flex items-center space-x-2",children:[bf.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-2 border-blue-600 border-t-transparent"}),bf.jsxs("div",{className:"text-sm text-blue-700",children:["Opening ",null==(a=v.find(e=>e.id===c))?void 0:a.name,"..."]})]})}),bf.jsxs("div",{className:"p-3 bg-gray-50 rounded-lg",children:[bf.jsxs("div",{className:"flex justify-between items-center text-sm",children:[bf.jsx("span",{className:"text-gray-600",children:"Amount:"}),bf.jsxs("span",{className:"font-semibold text-gray-800",children:[e.totalAmount," ",(null==t?void 0:t.symbol)||"USDC"]})]}),bf.jsxs("div",{className:"flex justify-between items-center text-sm mt-1",children:[bf.jsx("span",{className:"text-gray-600",children:"Network:"}),bf.jsx("span",{className:"text-gray-800",children:(null==n?void 0:n.name)||"Ethereum"})]})]}),bf.jsx("div",{className:"p-3 bg-purple-50 border border-purple-200 rounded-lg",children:bf.jsxs("div",{className:"text-xs text-purple-700",children:[bf.jsx("div",{className:"font-medium mb-1",children:"📱 Mobile Payment"}),bf.jsx("div",{children:"Your selected wallet app will open with payment details pre-filled"})]})}),i6&&bf.jsxs("div",{className:"mt-4",children:[bf.jsxs("button",{onClick:()=>m(!p),className:"w-full text-xs py-2 px-3 bg-gray-100 text-gray-600 rounded-lg hover:bg-gray-200 transition-colors",children:[p?"🔽 Hide Debug Info":"🔧 Show Debug Info"," (",h.length," logs)"]}),p&&bf.jsxs("div",{className:"mt-2 p-3 bg-gray-900 text-green-400 rounded-lg text-xs font-mono max-h-80 overflow-y-auto",children:[bf.jsx("div",{className:"text-white mb-2 font-bold",children:"📱 Mobile Debug Panel"}),0===h.length?bf.jsx("div",{className:"text-gray-400",children:"No debug logs yet. Try selecting a wallet..."}):h.map(e=>bf.jsxs("div",{className:"mb-3 pb-2 border-b border-gray-700",children:[bf.jsxs("div",{className:"flex items-center justify-between mb-1",children:[bf.jsx("span",{className:"px-2 py-1 rounded text-xs font-bold "+("error"===e.type?"bg-red-600 text-white":"success"===e.type?"bg-green-600 text-white":"debug"===e.type?"bg-blue-600 text-white":"bg-gray-600 text-white"),children:e.type.toUpperCase()}),bf.jsx("span",{className:"text-gray-400",children:e.timestamp})]}),bf.jsx("div",{className:"text-yellow-300 mb-1",children:e.message}),e.data&&bf.jsx("div",{className:"text-gray-300 text-xs",children:bf.jsxs("details",{children:[bf.jsx("summary",{className:"cursor-pointer text-blue-300 hover:text-blue-200",children:"📊 Data"}),bf.jsx("pre",{className:"mt-1 p-2 bg-gray-800 rounded overflow-x-auto whitespace-pre-wrap",children:JSON.stringify(e.data,null,2)})]})})]},e.id)),bf.jsx("button",{onClick:()=>f([]),className:"mt-2 px-3 py-1 bg-red-600 text-white rounded text-xs hover:bg-red-700",children:"Clear Logs"})]})]})]}):bf.jsx("div",{className:"p-4 bg-amber-50 rounded-lg border border-amber-200",children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"text-amber-800 font-medium mb-2",children:"⏳ Preparing Payment..."}),bf.jsx("div",{className:"text-sm text-amber-700",children:"Payment is being prepared. Please wait a moment..."}),bf.jsx("div",{className:"mt-3",children:bf.jsx("div",{className:"animate-spin rounded-full h-6 w-6 border-2 border-amber-600 border-t-transparent mx-auto"})})]})})})},s6=({error:e,onRetry:t,onDismiss:n,context:r="payment",className:i=""})=>{if(!e)return null;const o=HG(e),s=(e=>{switch(e){case"user_rejected":return"info";case"insufficient_funds":case"wrong_network":case"wallet_disconnected":case"payment_pending":return"warning";case"network_error":case"gas_error":case"rate_limited":return"error";default:return"critical"}})(o.type),a=(e=>{switch(e){case"user_rejected":default:return"Try Again";case"insufficient_funds":return"Add Funds & Retry";case"wrong_network":return"Switch Network & Retry";case"wallet_disconnected":return"Reconnect Wallet";case"payment_pending":return"Check Again";case"network_error":case"rate_limited":return"Retry";case"popup_blocked":return"Allow Popups & Retry";case"mobile_wallet_error":return"Open Wallet App"}})(o.type),c={info:{container:"bg-blue-50 border-blue-200",title:"text-blue-800",message:"text-blue-700",icon:"ℹ️",button:"bg-blue-600 hover:bg-blue-700"},warning:{container:"bg-amber-50 border-amber-200",title:"text-amber-800",message:"text-amber-700",icon:"⚠️",button:"bg-amber-600 hover:bg-amber-700"},error:{container:"bg-red-50 border-red-200",title:"text-red-800",message:"text-red-700",icon:"❌",button:"bg-red-600 hover:bg-red-700"},critical:{container:"bg-red-50 border-red-300",title:"text-red-900",message:"text-red-800",icon:"🚨",button:"bg-red-700 hover:bg-red-800"}},l=c[s]||c.error;return bf.jsxs("div",{className:`p-4 border rounded-lg ${l.container} ${i}`,children:[bf.jsxs("div",{className:"flex items-start space-x-3",children:[bf.jsx("div",{className:"flex-shrink-0 text-xl",children:l.icon}),bf.jsxs("div",{className:"flex-1 min-w-0",children:[bf.jsx("div",{className:`font-semibold ${l.title} mb-1`,children:o.title}),bf.jsx("div",{className:`text-sm ${l.message} mb-2`,children:o.message}),o.suggestion&&bf.jsxs("div",{className:`text-xs ${l.message} opacity-90`,children:["💡 ",o.suggestion]})]}),n&&bf.jsx("button",{onClick:n,className:"flex-shrink-0 text-gray-400 hover:text-gray-600 transition-colors","aria-label":"Dismiss error",children:bf.jsx("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:bf.jsx("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})})]}),t&&bf.jsxs("div",{className:"mt-3 flex justify-end space-x-2",children:[n&&"info"===s&&bf.jsx("button",{onClick:n,className:"px-3 py-1.5 text-xs text-gray-600 hover:text-gray-800 transition-colors",children:"Cancel"}),bf.jsx("button",{onClick:t,className:`px-4 py-2 text-sm font-medium text-white rounded-md transition-colors ${l.button}`,children:a})]}),!1]})},a6="method",c6="confirm",l6="processing",u6="success",d6="wallet",h6="qr",f6="deposit",p6="Bricolage Grotesque, sans-serif",m6=({depositAddress:e,amount:t,currency:n,network:r,networkName:i,paymentId:o,expiresAt:s,requiredConfirmations:a=20,theme:c="light",api:l=null,onPaymentDetected:u=null,onPaymentConfirmed:d=null,onPaymentProcessing:h=null,onExpired:f=null,explorerUrl:p=null})=>{const[m,g]=Yt.useState(""),[y,b]=Yt.useState(!0),[v,w]=Yt.useState(!1),[_,E]=Yt.useState("awaiting"),[x,k]=Yt.useState("0"),[S,C]=Yt.useState(0),[I,A]=Yt.useState(null),[P,O]=Yt.useState(!1),[M,T]=Yt.useState(null),[R,N]=Yt.useState(null),L=Yt.useRef(null),B=Yt.useRef(null),j=Yt.useRef(!1),D=Yt.useRef(!1),U=Y3();Yt.useEffect(()=>{(async()=>{if(e){b(!0);try{const t=await g5.toDataURL(e,{width:U?200:180,margin:2,errorCorrectionLevel:"M",color:{dark:"dark"===c?"#FFFFFF":"#000000",light:"dark"===c?"#1F2937":"#FFFFFF"}});g(t),b(!1)}catch(cF){console.error("Failed to generate QR code:",cF),b(!1)}}else b(!1)})()},[e,c,U]),Yt.useEffect(()=>{if(!s)return;const e=()=>{const e=(new Date).getTime(),t=new Date(s).getTime()-e;if(t<=0)return O(!0),A(null),void(f&&f());const n=Math.floor(t%36e5/6e4),r=Math.floor(t%6e4/1e3);A(`${n}:${r.toString().padStart(2,"0")}`)};return e(),B.current=setInterval(e,1e3),()=>{B.current&&clearInterval(B.current)}},[s,f]);const $=Yt.useCallback(async()=>{if(l&&o&&"confirmed"!==_&&"swept"!==_)try{const n=await l.getDepositBalance(o);let r=!1,i="0";n.success&&(i=n.balance||"0",k(i),r=n.isComplete,parseFloat(i)>0&&"awaiting"===_&&(E("detected"),u&&u(n)),r&&"confirming"!==_&&"confirmed"!==_&&(E("confirming"),R||N(Date.now()),!j.current&&h&&(j.current=!0,h({balance:i,expectedAmount:t,depositAddress:e,paymentId:o}))));const s=await l.getDepositStatus(o);let c=null;if(s.success&&s.payment){const e=s.payment;c=e.status,C(e.confirmations||0),e.depositTxHash&&T(e.depositTxHash);const t="completed"===e.status||"swept"===e.status,n=e.depositTxHash||e.sweepTxHash||e.transactionHash;if(t&&n&&!D.current&&(D.current=!0,E("swept"===e.status?"swept":"confirmed"),d)){const t={...e,transactionHash:e.depositTxHash||e.sweepTxHash||e.transactionHash};d(t)}e.sweptAt&&"swept"!==_&&E("swept")}if(r&&R&&!D.current&&M){const t=Date.now()-R;t>=3e4&&(D.current=!0,E("confirmed"),d&&d({id:o,status:"completed",depositAddress:e,amount:i,depositTxHash:M,transactionHash:M,confirmations:S||a,sdkConfirmed:!0,confirmedAt:(new Date).toISOString()}))}}catch(cF){console.warn("Failed to check deposit status:",cF.message)}},[l,o,_,t,e,S,M,R,a,u,d,h]);Yt.useEffect(()=>{if(l&&o&&!P)return $(),L.current=setInterval($,5e3),()=>{L.current&&clearInterval(L.current)}},[l,o,P,$]);const F=(()=>{if(P)return{message:"Payment expired",color:"text-red-600",bgColor:"bg-red-50",icon:"⏰"};switch(_){case"detected":case"confirming":return{message:"Transfer detected! Processing...",color:"text-blue-600",bgColor:"bg-blue-50",icon:"⏳"};case"confirmed":return{message:"Payment confirmed!",color:"text-green-600",bgColor:"bg-green-50",icon:"✅"};case"swept":return{message:"Payment complete - Funds delivered!",color:"text-green-600",bgColor:"bg-green-50",icon:"🎉"};default:return{message:"Send exact amount to address below",color:"text-gray-600",bgColor:"bg-gray-50",icon:"📤"}}})(),z="dark"===c;return bf.jsxs("div",{className:"flex flex-col items-center w-full",style:{fontFamily:p6},children:[bf.jsx("div",{className:`w-full p-3 rounded-lg mb-4 ${F.bgColor} border ${z?"border-gray-600":"border-gray-200"}`,children:bf.jsxs("div",{className:`flex items-center justify-center ${F.color} font-medium`,children:[bf.jsx("span",{className:"mr-2",children:F.icon}),F.message]})}),bf.jsxs("div",{className:`flex ${U?"flex-col":"flex-row"} gap-4 w-full`,children:[bf.jsx("div",{className:"flex-shrink-0 "+(U?"mx-auto":""),children:bf.jsx("div",{className:`p-2 rounded-xl ${z?"bg-gray-800":"bg-white"} shadow-md border ${z?"border-gray-700":"border-gray-200"}`,children:y?bf.jsx("div",{className:"flex items-center justify-center",style:{width:U?200:180,height:U?200:180},children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-purple-600 mx-auto mb-2"}),bf.jsx("div",{className:"text-sm "+(z?"text-gray-400":"text-gray-600"),children:"Generating..."})]})}):m?bf.jsx("img",{src:m,alt:"Transfer Address QR",className:"rounded-lg",style:{width:U?200:180,height:U?200:180}}):bf.jsx("div",{className:"flex items-center justify-center rounded-lg "+(z?"bg-gray-700":"bg-gray-100"),style:{width:U?200:180,height:U?200:180},children:bf.jsx("span",{className:"text-sm "+(z?"text-gray-400":"text-gray-500"),children:"QR unavailable"})})})}),bf.jsxs("div",{className:"flex-1 flex flex-col justify-between",children:[bf.jsxs("div",{className:`p-3 rounded-lg mb-3 ${z?"bg-gray-800":"bg-purple-50"} border ${z?"border-gray-700":"border-purple-200"}`,children:[bf.jsx("div",{className:"text-xs font-medium mb-1 "+(z?"text-gray-400":"text-purple-600"),children:"Send Exactly:"}),bf.jsxs("div",{className:"text-2xl font-bold text-[#7042D2]",children:[t," ",n]}),bf.jsxs("div",{className:"text-xs mt-1 "+(z?"text-gray-400":"text-gray-500"),children:["on ",i||r]})]}),bf.jsxs("div",{className:`p-3 rounded-lg ${z?"bg-gray-800":"bg-gray-50"} border ${z?"border-gray-700":"border-gray-200"}`,children:[bf.jsx("div",{className:"text-xs font-medium mb-2 "+(z?"text-gray-400":"text-gray-600"),children:"Transfer Address:"}),bf.jsxs("div",{className:"flex items-center gap-2",children:[bf.jsx("code",{className:`flex-1 text-xs font-mono break-all p-2 rounded ${z?"bg-gray-900 text-gray-300":"bg-white text-gray-800"} border ${z?"border-gray-700":"border-gray-300"}`,children:e}),bf.jsx("button",{onClick:async()=>{try{await navigator.clipboard.writeText(e),w(!0),setTimeout(()=>w(!1),2e3)}catch(cF){console.error("Failed to copy:",cF)}},className:"p-2 rounded-lg transition-colors "+(v?"bg-green-500 text-white":z?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"),title:v?"Copied!":"Copy address",children:v?bf.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):bf.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})})]})]}),bf.jsxs("div",{className:"flex gap-2 mt-3",children:[I&&!P&&"awaiting"===_&&bf.jsxs("div",{className:`flex-1 p-2 rounded-lg text-center ${z?"bg-gray-800":"bg-orange-50"} border ${z?"border-gray-700":"border-orange-200"}`,children:[bf.jsx("div",{className:"text-xs "+(z?"text-gray-400":"text-orange-600"),children:"Expires in"}),bf.jsx("div",{className:"text-lg font-bold "+(z?"text-orange-400":"text-orange-600"),children:I})]}),parseFloat(x)>0&&bf.jsxs("div",{className:`flex-1 p-2 rounded-lg text-center ${z?"bg-gray-800":"bg-green-50"} border ${z?"border-gray-700":"border-green-200"}`,children:[bf.jsx("div",{className:"text-xs "+(z?"text-gray-400":"text-green-600"),children:"Received"}),bf.jsxs("div",{className:"text-lg font-bold "+(z?"text-green-400":"text-green-600"),children:[x," ",n]})]})]})]})]}),M&&p&&bf.jsx("div",{className:"w-full mt-4",children:bf.jsxs("a",{href:`${p}/tx/${M}`,target:"_blank",rel:"noopener noreferrer",className:`flex items-center justify-center gap-2 p-2 rounded-lg ${z?"bg-gray-800 text-blue-400 hover:bg-gray-700":"bg-blue-50 text-blue-600 hover:bg-blue-100"} transition-colors`,children:[bf.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})}),"View transaction on explorer"]})}),bf.jsxs("div",{className:`w-full mt-4 p-3 rounded-lg ${z?"bg-gray-800 border-gray-700":"bg-gray-50 border-gray-200"} border`,children:[bf.jsx("div",{className:"text-xs font-medium mb-2 "+(z?"text-gray-300":"text-gray-700"),children:"📋 Instructions:"}),bf.jsxs("ol",{className:"text-xs space-y-1 "+(z?"text-gray-400":"text-gray-600"),children:[bf.jsx("li",{children:"1. Copy the transfer address or scan QR code"}),bf.jsxs("li",{children:["2. Send ",bf.jsxs("strong",{children:[t," ",n]})," from any wallet"]}),bf.jsxs("li",{children:["3. Wait for ",a," confirmations"]}),bf.jsx("li",{children:"4. Payment will be automatically confirmed"})]})]})]})},g6=new kP,y6=({publicKey:e,apiKey:t,apiSecret:n,apiUrl:r,config:i,onSuccess:o,onError:s,onClose:a,isOpen:c,theme:l="light"})=>{var u;const d=((e,t,n)=>{const[r,i]=Yt.useState("method"),[o,s]=Yt.useState([]),[a,c]=Yt.useState([]),[l,u]=Yt.useState(null),[d,h]=Yt.useState(null),[f,p]=Yt.useState(null),[m,g]=Yt.useState(null),[y,b]=Yt.useState(!1),[v,w]=Yt.useState(""),[_,E]=Yt.useState(!1),[x,k]=Yt.useState("Processing transaction..."),[S,C]=Yt.useState("wallet"),[I,A]=Yt.useState(null),P=Yt.useRef(new CG(e,t,n)),O=()=>{if(!l)return!1;const e=parseInt(l.chainId);return[8453,56,42161,137,10,43114,143].includes(e)};return{currentStep:r,networks:o,tokens:a,selectedNetwork:l,selectedToken:d,paymentMethod:f,paymentData:m,loading:y,error:v,processing:_,processingMessage:x,paymentType:S,actualTransactionHash:I,setCurrentStep:i,setSelectedNetwork:u,setSelectedToken:h,setPaymentMethod:p,setPaymentData:g,setError:w,setProcessing:E,setProcessingMessage:k,setPaymentType:C,setActualTransactionHash:A,loadData:async()=>{var e,t;try{b(!0),w("");const[n,r]=await Promise.all([P.current.getNetworks(),P.current.getTokens()]),i=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test("undefined"!=typeof navigator?navigator.userAgent:""),o=(null==(e=n.networks)?void 0:e.reduce((e,t)=>{if("tron"===t.shortName||"algorand"===t.shortName)return e;const n="solana"===t.shortName||"solana"===t.chainType;if(n&&i)return e;if(!(n||t.chainId&&null!==t.chainId))return e;const r=n?`solana-${t.shortName}`:`${t.chainId}-${t.shortName}`;return e.some(e=>("solana"===e.shortName||"solana"===e.chainType?`solana-${e.shortName}`:`${e.chainId}-${e.shortName}`)===r)||e.push(t),e},[]))||[],a=(null==(t=r.stablecoins)?void 0:t.reduce((e,t)=>{var n,r,o,s,a;if(!["USDC","USDT","SOL"].includes(t.symbol))return e;if("tron"===(null==(n=t.Network)?void 0:n.shortName)||"algorand"===(null==(r=t.Network)?void 0:r.shortName))return e;if(("solana"===(null==(o=t.Network)?void 0:o.shortName)||"solana"===(null==(s=t.Network)?void 0:s.chainType))&&i)return e;const c=`${t.symbol}-${(null==(a=t.Network)?void 0:a.shortName)||t.networkId}`;return e.some(e=>{var t;return`${e.symbol}-${(null==(t=e.Network)?void 0:t.shortName)||e.networkId}`===c})||e.push(t),e},[]))||[];s(o),c(a)}catch($He){w("Failed to load payment options. Using fallback data.")}finally{b(!1)}},createPayment:async e=>{var t,n;try{b(!0),w("");const r=parseFloat(e.amount);if(!r||r<=0||isNaN(r))throw new Error("Invalid payment amount. Please ensure the order total is greater than zero before proceeding.");const o={amount:e.amount,currency:d.symbol,network:l.shortName,customerEmail:e.customerEmail,callbackUrl:e.callbackUrl,metadata:{...e.metadata,merchantWalletAddresses:e.merchantWalletAddresses,paymentMethod:f,selectedNetwork:l.shortName,selectedToken:d.symbol,wagmiEnabled:!0}},s=await P.current.createPayment(o);g(s.payment),JH.trackPaymentCreated(null==(t=s.payment)?void 0:t.id,e.amount,l.shortName,d.symbol),oW(null==(n=s.payment)?void 0:n.id,e.amount,l.shortName,d.symbol),i("confirm")}catch($He){w($He.message),JH.trackError("payment_creation_failed",$He.message,{amount:e.amount,network:null==l?void 0:l.shortName,token:null==d?void 0:d.symbol}),cW("payment_creation_failed",$He.message,{amount:e.amount,network:null==l?void 0:l.shortName,token:null==d?void 0:d.symbol})}finally{b(!1)}},failPayment:async(e="Payment cancelled by user")=>{if(null==m?void 0:m.id)try{await P.current.failPayment(m.id,e)}catch(t){}},resetState:()=>{i("method"),u(null),h(null),p(null),g(null),w(""),E(!1),A(null),C("wallet")},resetTransactionState:()=>{w(""),E(!1),A(null),i("confirm")},isDepositSupported:O,createDepositPayment:async e=>{var t,n;try{b(!0),w("");const r=parseFloat(e.amount);if(!r||r<=0||isNaN(r))throw new Error("Invalid payment amount. Please ensure the order total is greater than zero before proceeding.");if(!O())throw new Error(`Deposit address payments not supported on ${(null==l?void 0:l.name)||"this network"}. Use wallet payment instead.`);const o={amount:e.amount,currency:d.symbol,network:l.shortName,customerEmail:e.customerEmail,callbackUrl:e.callbackUrl,metadata:{...e.metadata,merchantWalletAddresses:e.merchantWalletAddresses,paymentMethod:"deposit_address",selectedNetwork:l.shortName,selectedToken:d.symbol}},s=await P.current.createDepositPayment(o);if(!s.success)throw new Error(s.error||"Failed to create deposit payment");return g({...s.payment,isDepositPayment:!0}),JH.trackPaymentCreated(null==(t=s.payment)?void 0:t.id,e.amount,l.shortName,d.symbol),oW(null==(n=s.payment)?void 0:n.id,e.amount,l.shortName,d.symbol),i("confirm"),s.payment}catch($He){throw w($He.message),JH.trackError("deposit_payment_creation_failed",$He.message,{amount:e.amount,network:null==l?void 0:l.shortName,token:null==d?void 0:d.symbol}),cW("deposit_payment_creation_failed",$He.message,{amount:e.amount,network:null==l?void 0:l.shortName,token:null==d?void 0:d.symbol}),$He}finally{b(!1)}},resetDepositPayment:()=>{g(e=>{if(null==e?void 0:e.isDepositPayment){const{isDepositPayment:t,depositAddress:n,expiresAt:r,requiredConfirmations:i,...o}=e;return o}return e})},api:P.current}})(r,e||t,e?null:n),h=UG(),f=(()=>{const[e,t]=Yt.useState(null),[n,r]=Yt.useState(null),[i,o]=Yt.useState(!1),[s,a]=Yt.useState(null),[c,l]=Yt.useState([]);Yt.useEffect(()=>{var e,t,n,r,i;const o=[];"undefined"!=typeof window&&(null==(e=window.solana)?void 0:e.isPhantom)&&o.push({...MG.PHANTOM,adapter:window.solana}),"undefined"!=typeof window&&(null==(t=window.solflare)?void 0:t.isSolflare)&&o.push({...MG.SOLFLARE,adapter:window.solflare}),"undefined"!=typeof window&&(null==(n=window.backpack)?void 0:n.isBackpack)&&o.push({...MG.BACKPACK,adapter:window.backpack}),"undefined"!=typeof window&&(null==(r=window.trustwallet)?void 0:r.solana)&&o.push({...MG.TRUST_WALLET,adapter:window.trustwallet.solana}),"undefined"!=typeof window&&(null==(i=window.magicEden)?void 0:i.solana)&&o.push({...MG.MAGIC_EDEN,adapter:window.magicEden.solana}),l(o)},[]);const u=Yt.useCallback(()=>{t(null),r(null)},[]),d=Yt.useCallback(e=>{if(e){const n=e.toString();r(n),t(e=>e?{...e,publicKey:n}:null)}else u()},[u]),h=Yt.useCallback(async e=>{o(!0),a(null);try{const n=c.find(t=>t.id===e);if(!n)throw new Error(`Wallet ${e} not found. Please install it first.`);const i=n.adapter,o=await i.connect(),s=(null==o?void 0:o.publicKey)||i.publicKey;if(!s)throw new Error("Failed to get wallet public key");const a=s.toString();return t({id:e,name:n.name,adapter:i,publicKey:a}),r(a),i.on&&(i.on("disconnect",u),i.on("accountChanged",d)),s.toString()}catch($He){console.error("❌ Error connecting to Solana wallet:",$He);let t=$He.message||"Failed to connect wallet";throw(4001===$He.code||t.includes("User rejected"))&&(t="Connection request was rejected"),a(t),new Error(t)}finally{o(!1)}},[c,u,d]),f=Yt.useCallback(async()=>{if(null==e?void 0:e.adapter)try{e.adapter.removeListener&&(e.adapter.removeListener("disconnect",u),e.adapter.removeListener("accountChanged",d)),await e.adapter.disconnect()}catch($He){console.error("Error disconnecting wallet:",$He)}t(null),r(null)},[e,u,d]),p=Yt.useCallback(e=>c.some(t=>t.id===e),[c]),m=Yt.useCallback(e=>{const t=Object.values(MG).find(t=>t.id===e);if(!t)return null;const n=/Android|iPhone|iPad|iPod/i.test(navigator.userAgent),r=/iPhone|iPad|iPod/i.test(navigator.userAgent),i=/Android/i.test(navigator.userAgent);if(n){if(r&&t.installUrl.ios)return t.installUrl.ios;if(i&&t.installUrl.android)return t.installUrl.android}return t.installUrl.chrome||t.downloadUrl},[]),g=Yt.useCallback(async(e,t=1e9)=>{if(!n)throw new Error("Wallet not connected");try{const{PublicKey:r}=await Promise.resolve().then(()=>B2),i=new r(n),o=await e.requestAirdrop(i,t);return await e.confirmTransaction(o),o}catch($He){throw console.error("❌ Airdrop failed:",$He),$He}},[n]);return{connectedWallet:e,publicKey:n,address:n,isConnecting:i,error:s,availableWallets:c,connectWallet:h,disconnectWallet:f,isWalletInstalled:p,getInstallUrl:m,requestAirdrop:g,isConnected:!!e&&!!n}})(),p=Yt.useMemo(()=>d.selectedNetwork?DG(d.selectedNetwork.type||d.selectedNetwork.shortName||d.selectedNetwork.id):RG,[d.selectedNetwork])===NG,m=Yt.useMemo(()=>!(!p||!d.selectedNetwork)&&(e=>{if(!e)return!1;const t=!0===e.isTestnet||"true"===e.isTestnet,n=(e.name||"").toLowerCase().includes("devnet"),r=(e.shortName||"").toLowerCase().includes("devnet"),i=(e.type||"").toLowerCase().includes("devnet"),o=(e.id||"").toLowerCase().includes("devnet");return t||n||r||i||o})(d.selectedNetwork),[p,d.selectedNetwork]),g=((e,t)=>{const[n,r]=Yt.useState(!1),[i,o]=Yt.useState(null),[s,a]=Yt.useState(null),c=Yt.useRef(0),l=Yt.useCallback(()=>{const t=Array.isArray(e)?e:[e];if(!t||0===t.length||!t[0])return null;const n=t[c.current%t.length];return new T2(n,"confirmed")},[e]);Yt.useCallback(()=>{const t=Array.isArray(e)?e:[e];c.current=(c.current+1)%t.length},[e]);const u=Yt.useCallback(async(e,n)=>{if(!(null==t?void 0:t.adapter)||!t.publicKey)throw new Error("Wallet not connected");r(!0),a(null),o(null);try{const i=l();if(!i)throw new Error("Solana RPC connection not available. Please select a Solana network.");const s=t.adapter,a=Math.floor(n*L2),c=5e-6,u=n+c,d=new YX(t.publicKey),h=await i.getBalance(d)/L2;if(h<u){const e=(u-h).toFixed(6);throw new Error(`Insufficient SOL balance. You have ${h.toFixed(6)} SOL but need ${u.toFixed(6)} SOL (${n} + ~${c} fee). Please add at least ${e} SOL to your wallet.`)}const f=new YX(e),p=(new y0).add(O0.transfer({fromPubkey:d,toPubkey:f,lamports:a})),{blockhash:m,lastValidBlockHeight:g}=await i.getLatestBlockhash();p.recentBlockhash=m,p.feePayer=d;const y=await s.signTransaction(p),b=await i.sendRawTransaction(y.serialize());return o(b),r(!1),{signature:b,success:!0}}catch($He){throw console.error("❌ SOL transaction failed:",$He),a($He.message||"Transaction failed"),r(!1),$He}},[t,l]),d=Yt.useCallback(async(e,n,i,s)=>{if(!(null==t?void 0:t.adapter)||!t.publicKey)throw new Error("Wallet not connected");r(!0),a(null),o(null);try{const a=l();if(!a)throw new Error("Solana RPC connection not available. Please select a Solana network.");const u=t.adapter,d=Math.floor(i*Math.pow(10,s)),h=new YX(t.publicKey),f=new YX(n),p=new YX(e),m=1e-5,g=await a.getBalance(h)/L2;if(g<m)throw new Error(`Insufficient SOL for transaction fee. You have ${g.toFixed(6)} SOL but need at least ${m} SOL for the network fee. Please add SOL to your wallet.`);try{const e=await l5(p,h,!1,j2,D2),t=await a.getTokenAccountBalance(e),n=parseFloat(t.value.uiAmount||0);if(n<i){const e=(i-n).toFixed(s);throw new Error(`Insufficient token balance. You have ${n.toFixed(s)} but need ${i.toFixed(s)}. Please add at least ${e} more tokens to your wallet.`)}}catch(c){if(c.message.includes("Insufficient"))throw c;throw new Error(`You don't have any of this token in your wallet. Please add ${i} tokens to continue.`)}const y=await l5(p,h,!1,j2,D2),b=await l5(p,f,!1,j2,D2),v=(new y0).add(h5(y,b,h,d,[],j2)),{blockhash:w,lastValidBlockHeight:_}=await a.getLatestBlockhash();v.recentBlockhash=w,v.feePayer=h;const E=await u.signTransaction(v),x=await a.sendRawTransaction(E.serialize());return o(x),r(!1),{signature:x,success:!0}}catch($He){console.error("❌ SPL Token transaction failed:",$He);let t=$He.message||"Transaction failed";throw t.includes("Account not found")?t="Recipient token account not found. They need to have received this token before.":t.includes("insufficient")?t="Insufficient balance":t.includes("User rejected")&&(t="Transaction was rejected"),a(t),r(!1),new Error(t)}},[t,l]),h=Yt.useCallback(async e=>{try{const n=l();if(!n)return console.warn("⚠️ Cannot fetch SOL balance: RPC connection not available"),0;const r=new YX(e||t.publicKey);return await n.getBalance(r)/L2}catch($He){return console.error("Error getting SOL balance:",$He),0}},[t,l]),f=Yt.useCallback(async(e,n)=>{try{const r=l();if(!r)return console.warn("⚠️ Cannot fetch SPL token balance: RPC connection not available"),0;const i=new YX(n||t.publicKey),o=new YX(e),s=await l5(o,i,!1,j2,D2),a=await r.getTokenAccountBalance(s);return parseFloat(a.value.uiAmount||0)}catch($He){return console.error("Error getting SPL token balance:",$He),0}},[t,l]),p=Yt.useCallback(async()=>{try{const e=l();return e?(await e.getRecentBlockhash(),5e-6):5e-6}catch($He){return console.error("Error estimating fee:",$He),5e-6}},[l]);return{isProcessing:n,txSignature:i,error:s,sendSOL:u,sendSPLToken:d,sendSplitPayment:Yt.useCallback(async({tokenMintAddress:e,merchantAddress:n,coinleyAddress:i,merchantAmount:s,coinleyAmount:c,decimals:u=6})=>{if(!(null==t?void 0:t.adapter)||!t.publicKey)throw new Error("Wallet not connected");r(!0),a(null),o(null);try{const a=l();if(!a)throw new Error("Solana RPC connection not available. Please select a Solana network.");const h=t.adapter,f=Math.floor(s*Math.pow(10,u)),p=Math.floor(c*Math.pow(10,u)),m=s+c,g=new YX(t.publicKey),y=new YX(n),b=new YX(i),v=new YX(e),w=.01,_=await a.getBalance(g)/L2;if(_<w)throw new Error(`Insufficient SOL for transaction fee. You have ${_.toFixed(6)} SOL but need at least ${w} SOL for the network fee. Please add SOL to your wallet.`);try{const e=await l5(v,g,!1,j2,D2),t=await a.getTokenAccountBalance(e),n=parseFloat(t.value.uiAmount||0);if(n<m){const e=(m-n).toFixed(u);throw new Error(`Insufficient token balance. You have ${n.toFixed(u)} but need ${m.toFixed(u)} for this payment. Please add at least ${e} more tokens to your wallet.`)}}catch(d){if(d.message.includes("Insufficient"))throw d;throw new Error(`You don't have any of this token in your wallet. Please add ${m.toFixed(u)} tokens to continue.`)}const E=await l5(v,g,!1,j2,D2),x=await l5(v,y,!1,j2,D2),k=await l5(v,b,!1,j2,D2),S=new y0;try{await c5(a,x)}catch(KAe){S.add(u5(g,x,y,v,j2,D2))}try{await c5(a,k)}catch(KAe){S.add(u5(g,k,b,v,j2,D2))}S.add(h5(E,x,g,f,[],j2)),S.add(h5(E,k,g,p,[],j2));const{blockhash:C,lastValidBlockHeight:I}=await a.getLatestBlockhash();S.recentBlockhash=C,S.feePayer=g;const A=await h.signTransaction(S),P=await a.sendRawTransaction(A.serialize());return o(P),r(!1),{signature:P,success:!0,merchantAmount:s,coinleyAmount:c,totalAmount:m}}catch($He){console.error("❌ Split payment failed:",$He);let t=$He.message||"Transaction failed";throw t.includes("insufficient")||t.includes("0x1")?t="Insufficient token balance":t.includes("User rejected")&&(t="Transaction was rejected"),a(t),r(!1),new Error(t)}},[t,l]),getSOLBalance:h,getSPLTokenBalance:f,estimateFee:p,resetTransaction:Yt.useCallback(()=>{r(!1),o(null),a(null)},[]),connection:l()}})(Yt.useMemo(()=>{if(!p||!d.selectedNetwork)return[];return IG},[p,d.selectedNetwork,m]),f.connectedWallet),[y,b]=Yt.useState("metamask"),[v,w]=Yt.useState(!1),[_,E]=Yt.useState(()=>!("undefined"==typeof window||!window.sessionStorage)&&"true"===sessionStorage.getItem("coinley_mobile_payment_started")),[x,k]=Yt.useState(!1);Yt.useEffect(()=>{w(Y3())},[]);const{currentStep:S,networks:C,tokens:I,selectedNetwork:A,selectedToken:P,paymentData:O,loading:M,error:T,paymentType:R,loadData:N,createPayment:L,createDepositPayment:B,isDepositSupported:j,failPayment:D,resetState:U,setSelectedNetwork:$,setSelectedToken:F,setPaymentType:z,setPaymentData:q,setCurrentStep:H,setError:W}=d,{connectedWallet:K,address:V,connectWallet:G,handleWalletSelection:Z,resetState:Y}=h,J=GG(O,P,A,V,d.api,h),{executePaymentTransaction:Q,processFinalPayment:X,transactionStep:ee,transactionError:te,currentTransactionHash:ne}=J;Yt.useEffect(()=>{S===u6&&"undefined"!=typeof window&&window.sessionStorage&&sessionStorage.removeItem("coinley_mobile_payment_started")},[S]),Yt.useEffect(()=>{if(c){N(),U(),JH.trackModalOpened(null==i?void 0:i.merchantName,null==i?void 0:i.amount),eW(),tW(null==i?void 0:i.merchantName,null==i?void 0:i.amount);const e=window.scrollY;document.body.style.position="fixed",document.body.style.top=`-${e}px`,document.body.style.width="100%",document.body.style.overflow="hidden"}else{const e=document.body.style.top;document.body.style.position="",document.body.style.top="",document.body.style.width="",document.body.style.overflow="",window.scrollTo(0,-1*parseInt(e||"0"))}return()=>{if(c){const e=document.body.style.top;document.body.style.position="",document.body.style.top="",document.body.style.width="",document.body.style.overflow="",window.scrollTo(0,-1*parseInt(e||"0"))}}},[c]),Yt.useEffect(()=>{if("processing"===ee||"approve"===ee||"splitPayment"===ee){const e=setTimeout(()=>{W("Transaction timed out. Please try again."),H(c6),J.resetTransaction()},12e4);return()=>clearTimeout(e)}},[ee]),Yt.useEffect(()=>{if(S!==l6||R!==f6||!(null==O?void 0:O.id))return;const e=setInterval(async()=>{try{const t=await d.api.getDepositStatus(O.id);if(t.success&&t.payment){const n=t.payment.status,r=t.payment.depositTxHash||t.payment.sweepTxHash||t.payment.transactionHash;"completed"!==n&&"swept"!==n||!r?("completed"!==n&&"swept"!==n||r)&&("failed"!==n&&"sweep_failed"!==n||(clearInterval(e),W("Payment failed. Please try again."),H(c6))):(clearInterval(e),H(u6),o&&o({paymentId:O.id,transactionHash:r,depositAddress:t.payment.depositAddress,network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:t.payment}))}}catch(t){console.warn("[DepositPolling] Error checking status:",t.message)}},5e3);return()=>{clearInterval(e)}},[S,R,null==O?void 0:O.id,A,P,o]);const re=()=>{var e;J.resetTransaction(),null==(e=g.resetTransaction)||e.call(g),null==Y||Y(),W(""),k(!1),E(!1),"undefined"!=typeof window&&window.sessionStorage&&sessionStorage.removeItem("coinley_mobile_payment_started"),"undefined"!=typeof window&&(window.coinleyPendingSplitPayment=null)},ie=async()=>{JH.trackModalClosed("user_cancelled"),nW("user_cancelled"),re(),await D(),a()},oe={ethereum:{text:"High fees",color:"text-red-500"},polygon:{text:"~$0.01 fees",color:"text-green-500"},bsc:{text:"~$0.02 fees",color:"text-green-500"},base:{text:"~$0.03 fees",color:"text-green-500"},optimism:{text:"~$0.60 fees",color:"text-yellow-600"},arbitrum:{text:"~$0.50 fees",color:"text-yellow-600"},avalanche:{text:"Low fees",color:"text-green-500"},celo:{text:"Low fees",color:"text-green-500"},solana:{text:"~$0.001 fees",color:"text-green-500"}};return c?bf.jsxs("div",{className:"fixed inset-0 z-50",children:[bf.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 transition-opacity",onClick:ie,"aria-hidden":"true"}),bf.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4",style:{zIndex:51},children:bf.jsxs("div",{className:"relative pt-4 w-full max-w-md max-h-[90vh] mx-auto shadow-xl bg-gray-100 rounded-3xl flex flex-col overflow-hidden",style:{zIndex:52},children:[bf.jsxs("div",{className:"flex-shrink-0 bg-white flex justify-between items-center mb-3 mr-3 ml-3 py-3 px-2 rounded-full",children:[bf.jsxs("div",{className:"flex-1 flex items-center gap-2 px-4",children:[bf.jsx("div",{className:"w-7 h-7 rounded-full flex items-center justify-center",children:bf.jsx("img",{src:vG,alt:"Coinley"})}),bf.jsx("span",{className:"text-base font-semibold text-gray-800",style:{fontFamily:p6},children:"Payment Details"})]}),S!==u6&&S!==l6&&bf.jsx("button",{onClick:ie,className:"text-gray-500 hover:text-gray-700 focus:outline-none",children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5 mr-2",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),i&&S!==u6&&bf.jsx("div",{className:"flex-shrink-0 mb-3 px-4",children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"text-xs text-gray-600",children:"Total Amount"}),bf.jsxs("div",{className:"text-3xl font-bold text-[#7042D2] mt-1 leading-tight tracking-tight",style:{fontFamily:p6},children:["$",(se=i.amount,parseFloat(se).toFixed(2))]}),bf.jsx("div",{className:"mt-1 text-xs text-gray-500",children:"No additional fees"}),bf.jsx("div",{className:"text-xs text-gray-600 mt-2",children:"Payment to:"}),bf.jsxs("div",{className:"text-sm font-semibold mt-0.5 flex gap-1.5 items-center justify-center",style:{fontFamily:p6},children:[bf.jsx("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:bf.jsx("path",{d:"M15.3 7.50065L15.8 10.0007H4.2L4.7 7.50065H15.3ZM16.6667 3.33398H3.33333V5.00065H16.6667V3.33398ZM16.6667 5.83398H3.33333L2.5 10.0007V11.6673H3.33333V16.6673H11.6667V11.6673H15V16.6673H16.6667V11.6673H17.5V10.0007L16.6667 5.83398ZM5 15.0007V11.6673H10V15.0007H5Z",fill:"#7042D2"})}),i.merchantName||"Merchant"]})]})}),bf.jsxs("div",{className:"flex-1 overflow-y-auto overscroll-contain",children:[bf.jsx(p5,{currentStep:S,targetStep:a6,children:bf.jsxs("div",{className:"pb-4 pt-3 px-5 bg-white rounded-t-2xl",children:[bf.jsx("h3",{className:"font-semibold text-center mb-3 text-sm",style:{fontFamily:p6},children:"Choose Payment Method"}),bf.jsxs("div",{className:"space-y-3 mb-4",children:[bf.jsx("label",{className:"block text-sm font-medium text-gray-700",style:{fontFamily:p6},children:"Select Network"}),bf.jsx(f5,{options:C,value:(null==A?void 0:A.id)||"",onChange:e=>{const t=C.find(t=>t.id===e);re(),$(t),F(null),JH.trackNetworkSelected(null==t?void 0:t.name,null==i?void 0:i.merchantName),rW(null==t?void 0:t.name,null==i?void 0:i.merchantName)},placeholder:"Choose your network...",renderOption:e=>{var t,n,r;const i="object"==typeof(o=e)&&(null==o?void 0:o.logo)?o.logo:"object"==typeof o&&(null==o?void 0:o.shortName)?K3[o.shortName.toLowerCase()]:"string"==typeof o?K3[o.toLowerCase()]:null;var o;const s=oe[null==(t=e.shortName)?void 0:t.toLowerCase()];return bf.jsxs("div",{className:"flex items-center space-x-3 w-full",children:[i?bf.jsx("img",{src:i,alt:e.name,className:"w-8 h-8 rounded-full",onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,bf.jsx("div",{className:"w-8 h-8 rounded-full bg-gray-200 flex items-center justify-center",style:{display:i?"none":"flex"},children:bf.jsx("span",{className:"text-xs font-bold text-gray-600",children:null==(n=e.shortName)?void 0:n.slice(0,2).toUpperCase()})}),bf.jsxs("div",{className:"flex-1",children:[bf.jsxs("div",{className:"flex items-center justify-between",children:[bf.jsx("span",{className:"font-semibold text-gray-800",children:e.name}),s&&bf.jsx("span",{className:`text-xs font-medium ${s.color}`,children:s.text})]}),bf.jsx("div",{className:"text-sm text-gray-500",children:null==(r=e.shortName)?void 0:r.toUpperCase()})]})]})},getOptionKey:e=>e.id,getOptionValue:e=>e.id,getSearchableText:e=>`${e.name} ${e.shortName}`,disabled:M})]}),A&&bf.jsxs("div",{className:"space-y-3 mb-4",children:[bf.jsx("label",{className:"block text-sm font-medium text-gray-700",style:{fontFamily:p6},children:"Select Token"}),bf.jsx(f5,{options:I.filter(e=>{var t;return(null==(t=e.Network)?void 0:t.shortName)===(null==A?void 0:A.shortName)||e.networkId===(null==A?void 0:A.id)}),value:(null==P?void 0:P.id)||"",onChange:e=>{const t=I.filter(e=>{var t;return(null==(t=e.Network)?void 0:t.shortName)===(null==A?void 0:A.shortName)||e.networkId===(null==A?void 0:A.id)}).find(t=>t.id===e);F(t),JH.trackTokenSelected(null==t?void 0:t.symbol,null==A?void 0:A.name,null==i?void 0:i.merchantName),iW(null==t?void 0:t.symbol,null==A?void 0:A.name,null==i?void 0:i.merchantName)},placeholder:"Choose your token...",renderOption:e=>{var t,n;const r=G3(e.symbol);return bf.jsxs("div",{className:"flex items-center space-x-3",children:[r?bf.jsx("img",{src:r,alt:e.symbol,className:"w-8 h-8 rounded-full",onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,bf.jsx("div",{className:"w-8 h-8 rounded-full bg-gray-200 flex items-center justify-center",style:{display:r?"none":"flex"},children:bf.jsx("span",{className:"text-xs font-bold text-gray-600",children:null==(t=e.symbol)?void 0:t.slice(0,2)})}),bf.jsxs("div",{children:[bf.jsxs("div",{className:"font-semibold text-gray-800",children:[e.name," (",e.symbol,")"]}),bf.jsxs("div",{className:"text-sm text-gray-500",children:[(null==(n=e.Network)?void 0:n.name)||"Unknown Network",e.isStablecoin&&bf.jsx("span",{className:"ml-2 text-green-600",children:"• Stablecoin"})]})]})]})},getOptionKey:e=>e.id,getOptionValue:e=>e.id,getSearchableText:e=>`${e.name} ${e.symbol}`,disabled:M})]}),A&&P&&bf.jsx("button",{onClick:()=>L(i),disabled:M,className:"w-full bg-[#7042D2] text-white py-4 px-4 rounded-xl hover:bg-[#5b34b1] disabled:opacity-50 font-semibold transition-all duration-200 shadow-lg hover:shadow-xl",style:{fontFamily:p6},children:M?"Creating Payment...":"Continue"})]})}),bf.jsx(p5,{currentStep:S,targetStep:c6,children:A&&P&&O&&bf.jsxs("div",{className:"pb-4 pt-4 px-4 bg-white rounded-t-2xl",children:[!v&&bf.jsx("div",{className:"mb-4",children:bf.jsxs("div",{className:"flex border-b border-gray-200",children:[bf.jsx("button",{onClick:()=>z(d6),className:"py-3 px-4 text-sm font-semibold transition-all duration-200 "+(R===d6?"border-b-2 border-[#7042D2] text-[#7042D2]":"text-gray-500 hover:text-gray-700"),style:{fontFamily:p6},children:"Wallet"}),j()&&bf.jsx("button",{onClick:()=>z(f6),className:"py-3 px-4 text-sm font-semibold transition-all duration-200 "+(R===f6?"border-b-2 border-[#7042D2] text-[#7042D2]":"text-gray-500 hover:text-gray-700"),style:{fontFamily:p6},children:"Transfer"}),bf.jsx("button",{onClick:()=>z(h6),className:"py-3 px-4 text-sm font-semibold transition-all duration-200 "+(R===h6?"border-b-2 border-[#7042D2] text-[#7042D2]":"text-gray-500 hover:text-gray-700"),style:{fontFamily:p6},children:"QR Code"})]})}),v?bf.jsx(o6,{paymentData:O,selectedToken:P,selectedNetwork:A,config:i,onPaymentStarted:e=>{E(!0),"undefined"!=typeof window&&window.sessionStorage&&sessionStorage.setItem("coinley_mobile_payment_started","true"),e.walletName},onError:e=>{W(e)}}):R===d6?bf.jsx(r6,{selectedNetwork:A,onWalletSelect:Z,onConnect:async e=>{await G(e,A)},connectedWallet:p?f.connectedWallet:K,loading:M,solanaWallet:f,onSolanaConnect:async({walletType:e,publicKey:t,wallet:n})=>{}}):null,R===h6&&bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{className:"mb-2",children:[bf.jsx("div",{className:"text-xs font-medium text-gray-600 mb-1.5 text-center",style:{fontFamily:p6},children:"Optimize QR for:"}),bf.jsx("div",{className:"flex gap-1.5 justify-center flex-wrap",children:[{id:"metamask",name:"MetaMask",icon:"🦊"},{id:"trust",name:"Trust",icon:"🛡️"},{id:"coinbase",name:"Coinbase",icon:"💙"}].map(e=>bf.jsxs("button",{onClick:()=>b(e.id),className:"flex items-center gap-1 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 "+(y===e.id?"bg-[#7042D2] text-white shadow-md":"bg-gray-100 text-gray-700 hover:bg-gray-200"),style:{fontFamily:p6},children:[bf.jsx("span",{className:"text-sm",children:e.icon}),bf.jsx("span",{children:e.name})]},e.id))})]}),bf.jsx(n6,{amount:(null==O?void 0:O.totalAmount)||(null==O?void 0:O.amount)||(null==i?void 0:i.amount),currency:null==P?void 0:P.symbol,network:null==A?void 0:A.shortName,theme:l,paymentData:O,config:i,selectedToken:P,selectedNetwork:A,preferredWallet:y,compact:!0})]}),R===f6&&(null==O?void 0:O.isDepositPayment)&&bf.jsxs(bf.Fragment,{children:[bf.jsx(m6,{depositAddress:O.depositAddress,amount:O.amount,currency:null==P?void 0:P.symbol,network:null==A?void 0:A.shortName,networkName:null==A?void 0:A.name,paymentId:O.id,expiresAt:O.expiresAt,requiredConfirmations:O.requiredConfirmations||20,theme:l,api:d.api,explorerUrl:(null==(u=O.explorer)?void 0:u.address)?O.explorer.address.split("/address/")[0]:null,onPaymentDetected:e=>{},onPaymentProcessing:e=>{H(l6)},onPaymentConfirmed:e=>{const t=e.transactionHash||e.depositTxHash||e.sweepTxHash;H(u6),o&&t&&o({paymentId:e.id,transactionHash:t,sweepTxHash:e.sweepTxHash,network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:e,sdkConfirmed:e.sdkConfirmed||!1})},onExpired:()=>{W("Payment expired. Please create a new payment.")}}),bf.jsx("div",{className:"mt-4",children:bf.jsx("button",{type:"button",onClick:()=>{z(f6),q(e=>e?{...e,isDepositPayment:!1,depositAddress:null,expiresAt:null,requiredConfirmations:null}:e),re()},className:"w-full py-2.5 px-3 bg-gray-200 hover:bg-gray-300 text-[#7042D2] font-semibold rounded-xl transition-all duration-200 text-sm",style:{fontFamily:p6},children:"Go Back"})})]}),R===f6&&!(null==O?void 0:O.isDepositPayment)&&bf.jsxs("div",{className:"text-center py-6",children:[bf.jsxs("div",{className:"mb-4",children:[bf.jsx("div",{className:"text-4xl mb-2",children:"💸"}),bf.jsx("h3",{className:"text-lg font-semibold text-gray-800",style:{fontFamily:p6},children:"Transfer Payment"}),bf.jsx("p",{className:"text-sm text-gray-600 mt-1",children:"Get a unique address to send crypto from any wallet"})]}),bf.jsx("button",{onClick:async()=>{try{await B(i)}catch($He){}},disabled:M,className:"w-full bg-[#7042D2] text-white py-3 px-4 rounded-xl hover:bg-[#5b34b1] disabled:opacity-50 font-semibold transition-all duration-200",style:{fontFamily:p6},children:M?"Generating Address...":"Generate Transfer Address"}),bf.jsx("p",{className:"text-xs text-gray-500 mt-3",children:"Supported on Base, BSC, Arbitrum, Polygon, Optimism & Avalanche"})]}),(T||te)&&bf.jsx("div",{className:"mt-4",children:bf.jsx(s6,{error:te||T,onRetry:()=>{W(""),J.resetTransaction(),"error"===ee&&K&&Q()},onDismiss:()=>{W(""),J.resetTransaction()},context:"payment"})}),!(R===f6&&(null==O?void 0:O.isDepositPayment))&&bf.jsxs("div",{className:"grid grid-cols-2 gap-2 mt-4",children:[bf.jsx("button",{type:"button",onClick:()=>{re(),H(a6)},className:"w-full py-2.5 px-3 bg-gray-200 hover:bg-gray-300 text-[#7042D2] font-semibold rounded-xl transition-all duration-200 text-sm",style:{fontFamily:p6},children:"Back"}),bf.jsx("button",{type:"button",onClick:async()=>{var e,t,n,r,i,s,a,c,l,u,h,y,b,w,E,x,S,C,I,M,T,N,L,B,j,D;if(v&&_){if(!(null==O?void 0:O.id))return void W("Payment ID not found. Please refresh and try again.");try{k(!0),H(l6),W("");const p=await d.api.checkPaymentStatus(O.id),m="completed"===(null==(e=p.payment)?void 0:e.status)||"swept"===(null==(t=p.payment)?void 0:t.status),g=(null==(n=p.payment)?void 0:n.transactionHash)||(null==(r=p.payment)?void 0:r.sweepTxHash)||(null==(i=p.payment)?void 0:i.depositTxHash);if(m&&g)H(u6),o&&o({paymentId:O.id,transactionHash:g,senderAddress:p.payment.senderWalletAddress||p.payment.fromAddress||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:p.payment});else if(m&&!g){(async()=>{var e,t,n;for(let r=0;r<12;r++){await new Promise(e=>setTimeout(e,5e3));const r=await d.api.checkPaymentStatus(O.id),i=(null==(e=r.payment)?void 0:e.transactionHash)||(null==(t=r.payment)?void 0:t.sweepTxHash)||(null==(n=r.payment)?void 0:n.depositTxHash);if(i)return H(u6),void(o&&o({paymentId:O.id,transactionHash:i,senderAddress:r.payment.senderWalletAddress||r.payment.fromAddress||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:r.payment}))}W("Payment confirmed but transaction details unavailable. Please contact support."),H(c6)})()}else if("pending"===(null==(s=p.payment)?void 0:s.status)){const e=await d.api.verifyQRPayment(O.id),t=(null==(a=e.onChainData)?void 0:a.transactionHash)||(null==(c=e.payment)?void 0:c.transactionHash);if(e.success&&e.verified&&t)H(u6),o&&o({paymentId:O.id,transactionHash:t,senderAddress:(null==(l=e.onChainData)?void 0:l.from)||(null==(u=e.payment)?void 0:u.senderWalletAddress)||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:e.payment});else{const t=e.message||"Payment not yet confirmed on blockchain";W(`${t}. Please complete the payment in your wallet and try again.`),H(c6)}}else"failed"===(null==(h=p.payment)?void 0:h.status)?(W("Payment failed. Please try creating a new payment."),H(c6)):(W("Payment not found. Please verify the payment ID and try again."),H(c6))}catch(U){W(`Verification failed: ${U.message}. Please ensure payment was completed and try again.`),H(c6)}finally{k(!1)}}else if(R!==h6){if(p&&f.isConnected||K&&V)try{let e;if(H(l6),W(""),!p&&J.setTransactionError&&J.setTransactionError(""),p){const t=(null==O?void 0:O.recipientWallet)||(null==O?void 0:O.merchantWallet)||(null==O?void 0:O.merchantWalletAddress);if(!t)throw new Error("Merchant wallet address not found");if("SOL"===P.symbol||P.isNative){e=(await g.sendSOL(t,parseFloat(O.totalAmount||O.amount))).signature}else{const n=parseFloat(O.totalAmount||O.amount),r=P.decimals||6,i=null==(L=P.symbol)?void 0:L.toUpperCase();let o=P.address||P.contractAddress;if(o&&o.length>=32&&o.length<=44&&!o.startsWith("0x"));else{const e=(m?TG:OG)[i];(null==e?void 0:e.address)&&(o=e.address)}if(O.coinleyWallet&&O.merchantPercentage&&O.coinleyPercentage){const i=n*O.merchantPercentage/1e4,s=n*O.coinleyPercentage/1e4;e=(await g.sendSplitPayment({tokenMintAddress:o,merchantAddress:t,coinleyAddress:O.coinleyWallet,merchantAmount:i,coinleyAmount:s,decimals:r})).signature}else{e=(await g.sendSPLToken(o,t,n,r)).signature}}await d.api.processPayment(O.id,e,A.shortName,f.publicKey)}else e=await Q();if(e&&(W(""),J.setTransactionError(""),H(u6),o)){const t={paymentId:O.id,transactionHash:e,senderAddress:p?null==f?void 0:f.publicKey:V,network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:O};o(t)}}catch(U){H(c6),(null==(B=U.message)?void 0:B.includes("User rejected"))||(null==(j=U.message)?void 0:j.includes("User denied"))||4001===U.code||"ACTION_REJECTED"===U.code?W("Transaction was cancelled by user. Please try again."):W(U.message||"Transaction failed. Please try again."),p?null==(D=g.resetTransaction)||D.call(g):J.resetTransaction()}}else{if(!(null==O?void 0:O.id))return void W("Payment ID not found. Please refresh and try again.");try{H(l6),W("");const e=await d.api.checkPaymentStatus(O.id),t="completed"===(null==(y=e.payment)?void 0:y.status)||"swept"===(null==(b=e.payment)?void 0:b.status),n=(null==(w=e.payment)?void 0:w.transactionHash)||(null==(E=e.payment)?void 0:E.sweepTxHash)||(null==(x=e.payment)?void 0:x.depositTxHash);if(t&&n)H(u6),o&&o({paymentId:O.id,transactionHash:n,senderAddress:e.payment.senderWalletAddress||e.payment.fromAddress||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:e.payment});else if(t&&!n){(async()=>{var e,t,n;for(let r=0;r<12;r++){await new Promise(e=>setTimeout(e,5e3));const r=await d.api.checkPaymentStatus(O.id),i=(null==(e=r.payment)?void 0:e.transactionHash)||(null==(t=r.payment)?void 0:t.sweepTxHash)||(null==(n=r.payment)?void 0:n.depositTxHash);if(i)return H(u6),void(o&&o({paymentId:O.id,transactionHash:i,senderAddress:r.payment.senderWalletAddress||r.payment.fromAddress||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:r.payment}))}W("Payment confirmed but transaction details unavailable. Please contact support."),H(c6)})()}else if("pending"===(null==(S=e.payment)?void 0:S.status)){const e=await d.api.verifyQRPayment(O.id),t=(null==(C=e.onChainData)?void 0:C.transactionHash)||(null==(I=e.payment)?void 0:I.transactionHash);if(e.success&&e.verified&&t)H(u6),o&&o({paymentId:O.id,transactionHash:t,senderAddress:(null==(M=e.onChainData)?void 0:M.from)||(null==(T=e.payment)?void 0:T.senderWalletAddress)||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:e.payment});else{const t=e.message||"Payment not yet confirmed on blockchain";W(`${t}. Please complete the payment and try again.`),H(c6)}}else"failed"===(null==(N=e.payment)?void 0:N.status)?(W("Payment failed. Please try creating a new payment."),H(c6)):(W("Payment not found. Please verify the payment ID and try again."),H(c6))}catch(U){W(`Verification failed: ${U.message}. Please ensure payment was completed and try again.`),H(c6)}}},className:"bg-green-600 text-white w-full py-2.5 px-3 font-semibold rounded-xl hover:bg-green-700 transition-all duration-200 shadow-lg hover:shadow-xl disabled:opacity-50 text-sm",disabled:R===d6&&!v&&!p&&!K||R===d6&&!v&&p&&!f.isConnected||v&&!_||"processing"===ee||g.isProcessing||x,style:{fontFamily:p6},children:x?"Verifying...":"processing"===ee||g.isProcessing?"Processing...":v&&_?"I Have Paid":v?"Select Wallet":R===h6?"I Have Paid":"Pay Now"})]})]})}),bf.jsx(p5,{currentStep:S,targetStep:l6,children:bf.jsx(m5,{status:"processing",message:R===f6?"Transfer received! Confirming on blockchain...":p?g.isProcessing?"Confirming Solana transaction...":"Processing your Solana payment...":"approve"===ee?"Approving token spending...":"splitPayment"===ee?"Processing payment split...":ne?"Confirming transaction on blockchain...":"Processing your payment...",theme:l,transactionHash:p?g.txSignature:ne,selectedNetwork:A})}),bf.jsx(p5,{currentStep:S,targetStep:u6,children:bf.jsx(m5,{status:"success",message:"Payment completed successfully!",theme:l,payment:O,transactionHash:p?g.txSignature||(null==O?void 0:O.transactionHash):ne||(null==O?void 0:O.transactionHash),selectedPaymentMethod:P,selectedNetwork:A,merchantName:(null==i?void 0:i.merchantName)||"Merchant",onClose:a})}),(T||te)&&bf.jsxs("div",{className:"p-4 bg-red-50 border border-red-200 rounded-lg mx-6 mb-4",children:[bf.jsx("p",{className:"text-red-800 text-sm",children:T||te}),bf.jsx("button",{onClick:()=>{W(""),J.setTransactionError("")},className:"mt-2 text-red-600 hover:text-red-800 text-xs underline",children:"Dismiss"})]})]}),S!==u6&&bf.jsxs("div",{className:"text-center text-xs text-gray-500 flex items-center justify-center gap-1 py-6 bg-white rounded-b-3xl",style:{fontFamily:p6},children:[bf.jsxs("p",{children:["Powered by ",bf.jsx("span",{className:"text-[#7042D2] font-semibold",children:"Coinley"})," - Multi-Wallet Support"]}),bf.jsxs("svg",{className:"inline w-4 h-4 text-green-500 ml-1",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[bf.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2",fill:"none"}),bf.jsx("path",{d:"M9 12l2 2 4-4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})]})]})})]}):null;var se},b6=e=>bf.jsx(JI,{config:SG,children:bf.jsx(NP,{client:g6,children:bf.jsx(y6,{...e})})});!function(){const e=Ze;"undefined"!=typeof globalThis&&(globalThis.Buffer=e),"undefined"!=typeof window&&(window.Buffer=e),void 0!==Ne&&(Ne.Buffer=e),"undefined"!=typeof self&&(self.Buffer=e)}();class v6{constructor(e={}){if(!e.publicKey&&!e.apiKey)throw new Error("CoinleyVanilla: publicKey or apiKey is required");if(!e.publicKey&&!e.apiSecret)throw new Error("CoinleyVanilla: apiSecret is required when using apiKey");if(!e.apiUrl)throw new Error("CoinleyVanilla: apiUrl is required");this.config={publicKey:e.publicKey||null,apiKey:e.apiKey||null,apiSecret:e.apiSecret||null,apiUrl:e.apiUrl.replace(/\/$/,""),theme:e.theme||"light",debug:e.debug||!1,...e},this.isOpen=!1,this.root=null,this.container=null,this.callbacks={},this.currentPayment=null,this.config.debug}open(e,t={}){if(!this.isOpen)try{this._validatePaymentConfig(e),this.callbacks=t,this.currentPayment=e,this._createContainer(),this.root=af(this.container),this.isOpen=!0,this.root.render(Jt.createElement(b6,{publicKey:this.config.publicKey,apiKey:this.config.apiKey,apiSecret:this.config.apiSecret,apiUrl:this.config.apiUrl,isOpen:!0,theme:this.config.theme,config:{amount:e.amount,customerEmail:e.customerEmail,merchantName:e.merchantName||"Merchant",callbackUrl:e.callbackUrl||this._getDefaultCallbackUrl(),merchantWalletAddresses:e.merchantWalletAddresses||{},preferredNetwork:e.preferredNetwork,preferredCurrency:e.preferredCurrency,metadata:{...e.metadata,source:"vanilla-sdk",sdkVersion:"2.0.0",timestamp:(new Date).toISOString()}},onSuccess:this._handleSuccess.bind(this),onError:this._handleError.bind(this),onClose:this._handleClose.bind(this)})),this.config.debug}catch(cF){t.onError&&t.onError(cF.message||"Failed to open payment modal")}}close(){this.isOpen&&(this._cleanup(),this.config.debug)}isPaymentOpen(){return this.isOpen}updateConfig(e){this.config={...this.config,...e},this.config.debug}getConfig(){return{...this.config}}getCurrentPayment(){return this.currentPayment?{...this.currentPayment}:null}_validatePaymentConfig(e){if(!e)throw new Error("Payment configuration is required");if(!e.amount||"number"!=typeof e.amount||e.amount<=0)throw new Error("Valid amount (number > 0) is required");if(!e.customerEmail||"string"!=typeof e.customerEmail)throw new Error("Customer email is required");if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.customerEmail))throw new Error("Invalid email format");if(e.merchantWalletAddresses){if("object"!=typeof e.merchantWalletAddresses)throw new Error("merchantWalletAddresses must be an object");Object.keys(e.merchantWalletAddresses).length}}_createContainer(){this.container||(this.container=document.createElement("div"),this.container.id="coinley-payment-container",this.container.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999999;\n ",document.body.appendChild(this.container))}_getDefaultCallbackUrl(){return"undefined"!=typeof window?`${window.location.origin}/api/webhooks/coinley`:""}_handleSuccess(e,t,n){this.config.debug,this.callbacks.onSuccess&&this.callbacks.onSuccess(e,t,n)}_handleError(e){this.config.debug,this.callbacks.onError&&this.callbacks.onError(e)}_handleClose(){this._cleanup(),this.callbacks.onClose&&this.callbacks.onClose()}_cleanup(){if(this.isOpen=!1,this.root){try{this.root.unmount()}catch(cF){}this.root=null}this.container&&this.container.parentNode&&(this.container.parentNode.removeChild(this.container),this.container=null),this.currentPayment=null}}function w6(){document.querySelectorAll('script[src*="coinley-vanilla"]').forEach(e=>{const t=e.getAttribute("data-public-key"),n=e.getAttribute("data-api-key"),r=e.getAttribute("data-api-secret"),i=e.getAttribute("data-api-url"),o=e.getAttribute("data-theme")||"light",s=e.hasAttribute("data-debug");if((t||n&&r)&&i)try{window.coinley=new v6({publicKey:t,apiKey:n,apiSecret:r,apiUrl:i,theme:o,debug:s})}catch(cF){}})}"undefined"!=typeof window&&(window.CoinleyVanilla=v6,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",w6):w6());var _6,E6,x6,k6,S6,C6,I6,A6,P6,O6,M6,T6,R6={},N6=[],L6=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,B6=Array.isArray;function j6(e,t){for(var n in t)e[n]=t[n];return e}function D6(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function U6(e,t,n){var r,i,o,s={};for(o in t)"key"==o?r=t[o]:"ref"==o?i=t[o]:s[o]=t[o];if(arguments.length>2&&(s.children=arguments.length>3?_6.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===s[o]&&(s[o]=e.defaultProps[o]);return $6(e,s,r,i,null)}function $6(e,t,n,r,i){var o={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==i?++x6:i,__i:-1,__u:0};return null==i&&null!=E6.vnode&&E6.vnode(o),o}function F6(e){return e.children}function z6(e,t){this.props=e,this.context=t}function q6(e,t){if(null==t)return e.__?q6(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?q6(e):null}function H6(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return H6(e)}}function W6(e){(!e.__d&&(e.__d=!0)&&S6.push(e)&&!K6.__r++||C6!==E6.debounceRendering)&&((C6=E6.debounceRendering)||I6)(K6)}function K6(){var e,t,n,r,i,o,s,a;for(S6.sort(A6);e=S6.shift();)e.__d&&(t=S6.length,r=void 0,o=(i=(n=e).__v).__e,s=[],a=[],n.__P&&((r=j6({},i)).__v=i.__v+1,E6.vnode&&E6.vnode(r),X6(n.__P,r,i,n.__n,n.__P.namespaceURI,32&i.__u?[o]:null,s,null==o?q6(i):o,!!(32&i.__u),a),r.__v=i.__v,r.__.__k[r.__i]=r,e4(s,r,a),r.__e!=o&&H6(r)),S6.length>t&&S6.sort(A6));K6.__r=0}function V6(e,t,n,r,i,o,s,a,c,l,u){var d,h,f,p,m,g=r&&r.__k||N6,y=t.length;for(n.__d=c,function(e,t,n){var r,i,o,s,a,c=t.length,l=n.length,u=l,d=0;for(e.__k=[],r=0;r<c;r++)null!=(i=t[r])&&"boolean"!=typeof i&&"function"!=typeof i?(s=r+d,(i=e.__k[r]="string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?$6(null,i,null,null,null):B6(i)?$6(F6,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?$6(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=e,i.__b=e.__b+1,o=null,-1!==(a=i.__i=Z6(i,n,s,u))&&(u--,(o=n[a])&&(o.__u|=131072)),null==o||null===o.__v?(-1==a&&d--,"function"!=typeof i.type&&(i.__u|=65536)):a!==s&&(a==s-1?d--:a==s+1?d++:(a>s?d--:d++,i.__u|=65536))):i=e.__k[r]=null;if(u)for(r=0;r<l;r++)null!=(o=n[r])&&!(131072&o.__u)&&(o.__e==e.__d&&(e.__d=q6(o)),n4(o,o))}(n,t,g),c=n.__d,d=0;d<y;d++)null!=(f=n.__k[d])&&(h=-1===f.__i?R6:g[f.__i]||R6,f.__i=d,X6(e,f,h,i,o,s,a,c,l,u),p=f.__e,f.ref&&h.ref!=f.ref&&(h.ref&&t4(h.ref,null,f),u.push(f.ref,f.__c||p,f)),null==m&&null!=p&&(m=p),65536&f.__u||h.__k===f.__k?c=G6(f,c,e):"function"==typeof f.type&&void 0!==f.__d?c=f.__d:p&&(c=p.nextSibling),f.__d=void 0,f.__u&=-196609);n.__d=c,n.__e=m}function G6(e,t,n){var r,i;if("function"==typeof e.type){for(r=e.__k,i=0;r&&i<r.length;i++)r[i]&&(r[i].__=e,t=G6(r[i],t,n));return t}e.__e!=t&&(t&&e.type&&!n.contains(t)&&(t=q6(e)),n.insertBefore(e.__e,t||null),t=e.__e);do{t=t&&t.nextSibling}while(null!=t&&8===t.nodeType);return t}function Z6(e,t,n,r){var i=e.key,o=e.type,s=n-1,a=n+1,c=t[n];if(null===c||c&&i==c.key&&o===c.type&&!(131072&c.__u))return n;if(r>(null==c||131072&c.__u?0:1))for(;s>=0||a<t.length;){if(s>=0){if((c=t[s])&&!(131072&c.__u)&&i==c.key&&o===c.type)return s;s--}if(a<t.length){if((c=t[a])&&!(131072&c.__u)&&i==c.key&&o===c.type)return a;a++}}return-1}function Y6(e,t,n){"-"===t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||L6.test(t)?n:n+"px"}function J6(e,t,n,r,i){var o;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||Y6(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||Y6(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])o=t!==(t=t.replace(/(PointerCapture)$|Capture$/i,"$1")),t=t.toLowerCase()in e||"onFocusOut"===t||"onFocusIn"===t?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+o]=n,n?r?n.u=r.u:(n.u=P6,e.addEventListener(t,o?M6:O6,o)):e.removeEventListener(t,o?M6:O6,o);else{if("http://www.w3.org/2000/svg"==i)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=t&&"height"!=t&&"href"!=t&&"list"!=t&&"form"!=t&&"tabIndex"!=t&&"download"!=t&&"rowSpan"!=t&&"colSpan"!=t&&"role"!=t&&"popover"!=t&&t in e)try{e[t]=null==n?"":n;break e}catch(s){}"function"==typeof n||(null==n||!1===n&&"-"!==t[4]?e.removeAttribute(t):e.setAttribute(t,"popover"==t&&1==n?"":n))}}function Q6(e){return function(t){if(this.l){var n=this.l[t.type+e];if(null==t.t)t.t=P6++;else if(t.t<n.u)return;return n(E6.event?E6.event(t):t)}}}function X6(e,t,n,r,i,o,s,a,c,l){var u,d,h,f,p,m,g,y,b,v,w,_,E,x,k,S,C=t.type;if(void 0!==t.constructor)return null;128&n.__u&&(c=!!(32&n.__u),o=[a=t.__e=n.__e]),(u=E6.__b)&&u(t);e:if("function"==typeof C)try{if(y=t.props,b="prototype"in C&&C.prototype.render,v=(u=C.contextType)&&r[u.__c],w=u?v?v.props.value:u.__:r,n.__c?g=(d=t.__c=n.__c).__=d.__E:(b?t.__c=d=new C(y,w):(t.__c=d=new z6(y,w),d.constructor=C,d.render=r4),v&&v.sub(d),d.props=y,d.state||(d.state={}),d.context=w,d.__n=r,h=d.__d=!0,d.__h=[],d._sb=[]),b&&null==d.__s&&(d.__s=d.state),b&&null!=C.getDerivedStateFromProps&&(d.__s==d.state&&(d.__s=j6({},d.__s)),j6(d.__s,C.getDerivedStateFromProps(y,d.__s))),f=d.props,p=d.state,d.__v=t,h)b&&null==C.getDerivedStateFromProps&&null!=d.componentWillMount&&d.componentWillMount(),b&&null!=d.componentDidMount&&d.__h.push(d.componentDidMount);else{if(b&&null==C.getDerivedStateFromProps&&y!==f&&null!=d.componentWillReceiveProps&&d.componentWillReceiveProps(y,w),!d.__e&&(null!=d.shouldComponentUpdate&&!1===d.shouldComponentUpdate(y,d.__s,w)||t.__v===n.__v)){for(t.__v!==n.__v&&(d.props=y,d.state=d.__s,d.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),_=0;_<d._sb.length;_++)d.__h.push(d._sb[_]);d._sb=[],d.__h.length&&s.push(d);break e}null!=d.componentWillUpdate&&d.componentWillUpdate(y,d.__s,w),b&&null!=d.componentDidUpdate&&d.__h.push(function(){d.componentDidUpdate(f,p,m)})}if(d.context=w,d.props=y,d.__P=e,d.__e=!1,E=E6.__r,x=0,b){for(d.state=d.__s,d.__d=!1,E&&E(t),u=d.render(d.props,d.state,d.context),k=0;k<d._sb.length;k++)d.__h.push(d._sb[k]);d._sb=[]}else do{d.__d=!1,E&&E(t),u=d.render(d.props,d.state,d.context),d.state=d.__s}while(d.__d&&++x<25);d.state=d.__s,null!=d.getChildContext&&(r=j6(j6({},r),d.getChildContext())),b&&!h&&null!=d.getSnapshotBeforeUpdate&&(m=d.getSnapshotBeforeUpdate(f,p)),V6(e,B6(S=null!=u&&u.type===F6&&null==u.key?u.props.children:u)?S:[S],t,n,r,i,o,s,a,c,l),d.base=t.__e,t.__u&=-161,d.__h.length&&s.push(d),g&&(d.__E=d.__=null)}catch(I){if(t.__v=null,c||null!=o){for(t.__u|=c?160:32;a&&8===a.nodeType&&a.nextSibling;)a=a.nextSibling;o[o.indexOf(a)]=null,t.__e=a}else t.__e=n.__e,t.__k=n.__k;E6.__e(I,t,n)}else null==o&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=function(e,t,n,r,i,o,s,a,c){var l,u,d,h,f,p,m,g=n.props,y=t.props,b=t.type;if("svg"===b?i="http://www.w3.org/2000/svg":"math"===b?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),null!=o)for(l=0;l<o.length;l++)if((f=o[l])&&"setAttribute"in f==!!b&&(b?f.localName===b:3===f.nodeType)){e=f,o[l]=null;break}if(null==e){if(null===b)return document.createTextNode(y);e=document.createElementNS(i,b,y.is&&y),a&&(E6.__m&&E6.__m(t,o),a=!1),o=null}if(null===b)g===y||a&&e.data===y||(e.data=y);else{if(o=o&&_6.call(e.childNodes),g=n.props||R6,!a&&null!=o)for(g={},l=0;l<e.attributes.length;l++)g[(f=e.attributes[l]).name]=f.value;for(l in g)if(f=g[l],"children"==l);else if("dangerouslySetInnerHTML"==l)d=f;else if(!(l in y)){if("value"==l&&"defaultValue"in y||"checked"==l&&"defaultChecked"in y)continue;J6(e,l,null,f,i)}for(l in y)f=y[l],"children"==l?h=f:"dangerouslySetInnerHTML"==l?u=f:"value"==l?p=f:"checked"==l?m=f:a&&"function"!=typeof f||g[l]===f||J6(e,l,f,g[l],i);if(u)a||d&&(u.__html===d.__html||u.__html===e.innerHTML)||(e.innerHTML=u.__html),t.__k=[];else if(d&&(e.innerHTML=""),V6(e,B6(h)?h:[h],t,n,r,"foreignObject"===b?"http://www.w3.org/1999/xhtml":i,o,s,o?o[0]:n.__k&&q6(n,0),a,c),null!=o)for(l=o.length;l--;)D6(o[l]);a||(l="value","progress"===b&&null==p?e.removeAttribute("value"):void 0!==p&&(p!==e[l]||"progress"===b&&!p||"option"===b&&p!==g[l])&&J6(e,l,p,g[l],i),l="checked",void 0!==m&&m!==e[l]&&J6(e,l,m,g[l],i))}return e}(n.__e,t,n,r,i,o,s,c,l);(u=E6.diffed)&&u(t)}function e4(e,t,n){t.__d=void 0;for(var r=0;r<n.length;r++)t4(n[r],n[++r],n[++r]);E6.__c&&E6.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(n){E6.__e(n,t.__v)}})}function t4(e,t,n){try{if("function"==typeof e){var r="function"==typeof e.__u;r&&e.__u(),r&&null==t||(e.__u=e(t))}else e.current=t}catch(i){E6.__e(i,n)}}function n4(e,t,n){var r,i;if(E6.unmount&&E6.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||t4(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(o){E6.__e(o,t)}r.base=r.__P=null}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&n4(r[i],t,n||"function"!=typeof e.type);n||D6(e.__e),e.__c=e.__=e.__e=e.__d=void 0}function r4(e,t,n){return this.constructor(e,n)}function i4(e,t,n){var r,i,o,s;E6.__&&E6.__(e,t),i=(r="function"==typeof n)?null:n&&n.__k||t.__k,o=[],s=[],X6(t,e=(!r&&n||t).__k=U6(F6,null,[e]),i||R6,R6,t.namespaceURI,!r&&n?[n]:i?null:t.firstChild?_6.call(t.childNodes):null,o,!r&&n?n:i?i.__e:t.firstChild,r,s),e4(o,e,s)}_6=N6.slice,E6={__e:function(e,t,n,r){for(var i,o,s;t=t.__;)if((i=t.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),s=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),s=i.__d),s)return i.__E=i}catch(a){e=a}throw e}},x6=0,k6=function(e){return null!=e&&null==e.constructor},z6.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=j6({},this.state),"function"==typeof e&&(e=e(j6({},n),this.props)),e&&j6(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),W6(this))},z6.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),W6(this))},z6.prototype.render=F6,S6=[],I6="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,A6=function(e,t){return e.__v.__b-t.__v.__b},K6.__r=0,P6=0,O6=Q6(!1),M6=Q6(!0),T6=0;const o4=Object.freeze(Object.defineProperty({__proto__:null,Component:z6,Fragment:F6,cloneElement:function(e,t,n){var r,i,o,s,a=j6({},e.props);for(o in e.type&&e.type.defaultProps&&(s=e.type.defaultProps),t)"key"==o?r=t[o]:"ref"==o?i=t[o]:a[o]=void 0===t[o]&&void 0!==s?s[o]:t[o];return arguments.length>2&&(a.children=arguments.length>3?_6.call(arguments,2):n),$6(e.type,a,r||e.key,i||e.ref,null)},createContext:function(e,t){var n={__c:t="__cC"+T6++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(function(e){e.__e=!0,W6(e)})},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n},createElement:U6,createRef:function(){return{current:null}},h:U6,hydrate:function e(t,n){i4(t,n,e)},get isValidElement(){return k6},get options(){return E6},render:i4,toChildArray:function e(t,n){return n=n||[],null==t||"boolean"==typeof t||(B6(t)?t.some(function(t){e(t,n)}):n.push(t)),n}},Symbol.toStringTag,{value:"Module"}));function s4(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=s4(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}function a4(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=s4(e))&&(r&&(r+=" "),r+=t);return r}const c4=Object.freeze(Object.defineProperty({__proto__:null,clsx:a4,default:a4},Symbol.toStringTag,{value:"Module"}));var l4,u4,d4,h4,f4=0,p4=[],m4=E6,g4=m4.__b,y4=m4.__r,b4=m4.diffed,v4=m4.__c,w4=m4.unmount,_4=m4.__;function E4(e,t){m4.__h&&m4.__h(u4,e,f4||t),f4=0;var n=u4.__H||(u4.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function x4(e){return f4=1,k4(N4,e)}function k4(e,t,n){var r=E4(l4++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):N4(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=u4,!u4.u)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return!!e.__c});if(i.every(function(e){return!e.__N}))return!o||o.call(this,e,t,n);var s=!1;return i.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(s=!0)}}),!(!s&&r.__c.props===e)&&(!o||o.call(this,e,t,n))};u4.u=!0;var o=u4.shouldComponentUpdate,s=u4.componentWillUpdate;u4.componentWillUpdate=function(e,t,n){if(this.__e){var r=o;o=void 0,i(e,t,n),o=r}s&&s.call(this,e,t,n)},u4.shouldComponentUpdate=i}return r.__N||r.__}function S4(e,t){var n=E4(l4++,3);!m4.__s&&R4(n.__H,t)&&(n.__=e,n.i=t,u4.__H.__h.push(n))}function C4(e,t){var n=E4(l4++,4);!m4.__s&&R4(n.__H,t)&&(n.__=e,n.i=t,u4.__h.push(n))}function I4(e,t){var n=E4(l4++,7);return R4(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function A4(){for(var e;e=p4.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(M4),e.__H.__h.forEach(T4),e.__H.__h=[]}catch(x$){e.__H.__h=[],m4.__e(x$,e.__v)}}m4.__b=function(e){u4=null,g4&&g4(e)},m4.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),_4&&_4(e,t)},m4.__r=function(e){y4&&y4(e),l4=0;var t=(u4=e.__c).__H;t&&(d4===u4?(t.__h=[],u4.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0})):(t.__h.forEach(M4),t.__h.forEach(T4),t.__h=[],l4=0)),d4=u4},m4.diffed=function(e){b4&&b4(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==p4.push(t)&&h4===m4.requestAnimationFrame||((h4=m4.requestAnimationFrame)||O4)(A4)),t.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.i=void 0})),d4=u4=null},m4.__c=function(e,t){t.some(function(e){try{e.__h.forEach(M4),e.__h=e.__h.filter(function(e){return!e.__||T4(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],m4.__e(n,e.__v)}}),v4&&v4(e,t)},m4.unmount=function(e){w4&&w4(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{M4(e)}catch(n){t=n}}),n.__H=void 0,t&&m4.__e(t,n.__v))};var P4="function"==typeof requestAnimationFrame;function O4(e){var t,n=function(){clearTimeout(r),P4&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);P4&&(t=requestAnimationFrame(n))}function M4(e){var t=u4,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),u4=t}function T4(e){var t=u4;e.__c=e.__(),u4=t}function R4(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function N4(e,t){return"function"==typeof t?t(e):t}const L4=Object.freeze(Object.defineProperty({__proto__:null,useCallback:function(e,t){return f4=8,I4(function(){return e},t)},useContext:function(e){var t=u4.context[e.__c],n=E4(l4++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(u4)),t.props.value):e.__},useDebugValue:function(e,t){m4.useDebugValue&&m4.useDebugValue(t?t(e):e)},useEffect:S4,useErrorBoundary:function(e){var t=E4(l4++,10),n=x4();return t.__=e,u4.componentDidCatch||(u4.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]},useId:function(){var e=E4(l4++,11);if(!e.__){for(var t=u4.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__},useImperativeHandle:function(e,t,n){f4=6,C4(function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},null==n?n:n.concat(e))},useLayoutEffect:C4,useMemo:I4,useReducer:k4,useRef:function(e){return f4=5,I4(function(){return{current:e}},[])},useState:x4},Symbol.toStringTag,{value:"Module"})),B4=[{inputs:[{name:"preOpGas",type:"uint256"},{name:"paid",type:"uint256"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"targetSuccess",type:"bool"},{name:"targetResult",type:"bytes"}],name:"ExecutionResult",type:"error"},{inputs:[{name:"opIndex",type:"uint256"},{name:"reason",type:"string"}],name:"FailedOp",type:"error"},{inputs:[{name:"sender",type:"address"}],name:"SenderAddressResult",type:"error"},{inputs:[{name:"aggregator",type:"address"}],name:"SignatureValidationFailed",type:"error"},{inputs:[{components:[{name:"preOpGas",type:"uint256"},{name:"prefund",type:"uint256"},{name:"sigFailed",type:"bool"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"paymasterContext",type:"bytes"}],name:"returnInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"senderInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"factoryInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"paymasterInfo",type:"tuple"}],name:"ValidationResult",type:"error"},{inputs:[{components:[{name:"preOpGas",type:"uint256"},{name:"prefund",type:"uint256"},{name:"sigFailed",type:"bool"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"paymasterContext",type:"bytes"}],name:"returnInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"senderInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"factoryInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"paymasterInfo",type:"tuple"},{components:[{name:"aggregator",type:"address"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"stakeInfo",type:"tuple"}],name:"aggregatorInfo",type:"tuple"}],name:"ValidationResultWithAggregation",type:"error"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!1,name:"factory",type:"address"},{indexed:!1,name:"paymaster",type:"address"}],name:"AccountDeployed",type:"event"},{anonymous:!1,inputs:[],name:"BeforeExecution",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"aggregator",type:"address"}],name:"SignatureAggregatorChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"totalStaked",type:"uint256"},{indexed:!1,name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawAddress",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!0,name:"paymaster",type:"address"},{indexed:!1,name:"nonce",type:"uint256"},{indexed:!1,name:"success",type:"bool"},{indexed:!1,name:"actualGasCost",type:"uint256"},{indexed:!1,name:"actualGasUsed",type:"uint256"}],name:"UserOperationEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!1,name:"nonce",type:"uint256"},{indexed:!1,name:"revertReason",type:"bytes"}],name:"UserOperationRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawAddress",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[],name:"SIG_VALIDATION_FAILED",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"initCode",type:"bytes"},{name:"sender",type:"address"},{name:"paymasterAndData",type:"bytes"}],name:"_validateSenderAndPaymaster",outputs:[],stateMutability:"view",type:"function"},{inputs:[{name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{name:"",type:"address"}],name:"deposits",outputs:[{name:"deposit",type:"uint112"},{name:"staked",type:"bool"},{name:"stake",type:"uint112"},{name:"unstakeDelaySec",type:"uint32"},{name:"withdrawTime",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{name:"deposit",type:"uint112"},{name:"staked",type:"bool"},{name:"stake",type:"uint112"},{name:"unstakeDelaySec",type:"uint32"},{name:"withdrawTime",type:"uint48"}],name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{name:"sender",type:"address"},{name:"key",type:"uint192"}],name:"getNonce",outputs:[{name:"nonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"initCode",type:"bytes"}],name:"getSenderAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],name:"getUserOpHash",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOps",type:"tuple[]"},{name:"aggregator",type:"address"},{name:"signature",type:"bytes"}],name:"opsPerAggregator",type:"tuple[]"},{name:"beneficiary",type:"address"}],name:"handleAggregatedOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"ops",type:"tuple[]"},{name:"beneficiary",type:"address"}],name:"handleOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"key",type:"uint192"}],name:"incrementNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"callData",type:"bytes"},{components:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"paymaster",type:"address"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"}],name:"mUserOp",type:"tuple"},{name:"userOpHash",type:"bytes32"},{name:"prefund",type:"uint256"},{name:"contextOffset",type:"uint256"},{name:"preOpGas",type:"uint256"}],name:"opInfo",type:"tuple"},{name:"context",type:"bytes"}],name:"innerHandleOp",outputs:[{name:"actualGasCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"",type:"address"},{name:"",type:"uint192"}],name:"nonceSequenceNumber",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"op",type:"tuple"},{name:"target",type:"address"},{name:"targetCallData",type:"bytes"}],name:"simulateHandleOp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],name:"simulateValidation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unlockStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"withdrawAddress",type:"address"}],name:"withdrawStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"withdrawAddress",type:"address"},{name:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];function j4(e){const{authorization:t,factory:n,factoryData:r}=e;if("0x7702"===n||"0x7702000000000000000000000000000000000000"===n){if(!t)return"0x7702000000000000000000000000000000000000";return ug([t.address,r??"0x"])}return n?ug([n,r??"0x"]):"0x"}function D4(e){const{callGasLimit:t,callData:n,maxPriorityFeePerGas:r,maxFeePerGas:i,paymaster:o,paymasterData:s,paymasterPostOpGasLimit:a,paymasterSignature:c,paymasterVerificationGasLimit:l,sender:u,signature:d="0x",verificationGasLimit:h}=e;return{accountGasLimits:ug([hp(Ip(h||0n),{size:16}),hp(Ip(t||0n),{size:16})]),callData:n,initCode:j4(e),gasFees:ug([hp(Ip(r||0n),{size:16}),hp(Ip(i||0n),{size:16})]),nonce:e.nonce??0n,paymasterAndData:o?ug([o,hp(Ip(l||0n),{size:16}),hp(Ip(a||0n),{size:16}),s||"0x",...c?[c]:[]]):"0x",preVerificationGas:e.preVerificationGas??0n,sender:u,signature:d}}const U4={PackedUserOperation:[{type:"address",name:"sender"},{type:"uint256",name:"nonce"},{type:"bytes",name:"initCode"},{type:"bytes",name:"callData"},{type:"bytes32",name:"accountGasLimits"},{type:"uint256",name:"preVerificationGas"},{type:"bytes32",name:"gasFees"},{type:"bytes",name:"paymasterAndData"}]};function $4(e){const{chainId:t,entryPointAddress:n,entryPointVersion:r}=e,i=e.userOperation,{authorization:o,callData:s="0x",callGasLimit:a,maxFeePerGas:c,maxPriorityFeePerGas:l,nonce:u,paymasterAndData:d="0x",preVerificationGas:h,sender:f,verificationGasLimit:p}=i;if("0.8"===r||"0.9"===r)return Wx(function(e){const{chainId:t,entryPointAddress:n,userOperation:r}=e,i=D4(r);return{types:U4,primaryType:"PackedUserOperation",domain:{name:"ERC4337",version:"1",chainId:t,verifyingContract:n},message:i}}({chainId:t,entryPointAddress:n,userOperation:i}));const m=(()=>{var e,t;if("0.6"===r){const n=null==(e=i.initCode)?void 0:e.slice(0,42),r=null==(t=i.initCode)?void 0:t.slice(42),m=j4({authorization:o,factory:n,factoryData:r});return mg([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"bytes32"}],[f,u,qm(m),qm(s),a,p,h,c,l,qm(d)])}if("0.7"===r){const e=D4(i);return mg([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[e.sender,e.nonce,qm(e.initCode),qm(e.callData),e.accountGasLimits,e.preVerificationGas,e.gasFees,qm(e.paymasterAndData)])}throw new Error(`entryPointVersion "${r}" not supported.`)})();return qm(mg([{type:"bytes32"},{type:"address"},{type:"uint256"}],[qm(m),n,BigInt(t)]))}class F4 extends Lf{constructor({cause:e}){super("Smart Account is not deployed.",{cause:e,metaMessages:["This could arise when:","- No `factory`/`factoryData` or `initCode` properties are provided for Smart Account deployment.","- An incorrect `sender` address is provided."],name:"AccountNotDeployedError"})}}Object.defineProperty(F4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa20/});class z4 extends Lf{constructor({cause:e,data:t,message:n}={}){var r;const i=null==(r=null==n?void 0:n.replace("execution reverted: ",""))?void 0:r.replace("execution reverted","");super(`Execution reverted ${i?`with reason: ${i}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}Object.defineProperty(z4,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32521}),Object.defineProperty(z4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class q4 extends Lf{constructor({cause:e}){super("Failed to send funds to beneficiary.",{cause:e,name:"FailedToSendToBeneficiaryError"})}}Object.defineProperty(q4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa91/});class H4 extends Lf{constructor({cause:e}){super("Gas value overflowed.",{cause:e,metaMessages:["This could arise when:","- one of the gas values exceeded 2**120 (uint120)"].filter(Boolean),name:"GasValuesOverflowError"})}}Object.defineProperty(H4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa94/});class W4 extends Lf{constructor({cause:e}){super("The `handleOps` function was called by the Bundler with a gas limit too low.",{cause:e,name:"HandleOpsOutOfGasError"})}}Object.defineProperty(W4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa95/});class K4 extends Lf{constructor({cause:e,factory:t,factoryData:n,initCode:r}){super("Failed to simulate deployment for Smart Account.",{cause:e,metaMessages:["This could arise when:","- Invalid `factory`/`factoryData` or `initCode` properties are present","- Smart Account deployment execution ran out of gas (low `verificationGasLimit` value)","- Smart Account deployment execution reverted with an error\n",t&&`factory: ${t}`,n&&`factoryData: ${n}`,r&&`initCode: ${r}`].filter(Boolean),name:"InitCodeFailedError"})}}Object.defineProperty(K4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa13/});class V4 extends Lf{constructor({cause:e,factory:t,factoryData:n,initCode:r}){super("Smart Account initialization implementation did not create an account.",{cause:e,metaMessages:["This could arise when:","- `factory`/`factoryData` or `initCode` properties are invalid","- Smart Account initialization implementation is incorrect\n",t&&`factory: ${t}`,n&&`factoryData: ${n}`,r&&`initCode: ${r}`].filter(Boolean),name:"InitCodeMustCreateSenderError"})}}Object.defineProperty(V4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa15/});class G4 extends Lf{constructor({cause:e,factory:t,factoryData:n,initCode:r,sender:i}){super("Smart Account initialization implementation does not return the expected sender.",{cause:e,metaMessages:["This could arise when:","Smart Account initialization implementation does not return a sender address\n",t&&`factory: ${t}`,n&&`factoryData: ${n}`,r&&`initCode: ${r}`,i&&`sender: ${i}`].filter(Boolean),name:"InitCodeMustReturnSenderError"})}}Object.defineProperty(G4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa14/});class Z4 extends Lf{constructor({cause:e}){super("Smart Account does not have sufficient funds to execute the User Operation.",{cause:e,metaMessages:["This could arise when:","- the Smart Account does not have sufficient funds to cover the required prefund, or","- a Paymaster was not provided"].filter(Boolean),name:"InsufficientPrefundError"})}}Object.defineProperty(Z4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa21/});class Y4 extends Lf{constructor({cause:e}){super("Bundler attempted to call an invalid function on the EntryPoint.",{cause:e,name:"InternalCallOnlyError"})}}Object.defineProperty(Y4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa92/});class J4 extends Lf{constructor({cause:e}){super("Bundler used an invalid aggregator for handling aggregated User Operations.",{cause:e,name:"InvalidAggregatorError"})}}Object.defineProperty(J4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa96/});class Q4 extends Lf{constructor({cause:e,nonce:t}){super("Invalid Smart Account nonce used for User Operation.",{cause:e,metaMessages:[t&&`nonce: ${t}`].filter(Boolean),name:"InvalidAccountNonceError"})}}Object.defineProperty(Q4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa25/});class X4 extends Lf{constructor({cause:e}){super("Bundler has not set a beneficiary address.",{cause:e,name:"InvalidBeneficiaryError"})}}Object.defineProperty(X4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa90/});class e8 extends Lf{constructor({cause:e}){super("Invalid fields set on User Operation.",{cause:e,name:"InvalidFieldsError"})}}Object.defineProperty(e8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class t8 extends Lf{constructor({cause:e,paymasterAndData:t}){super("Paymaster properties provided are invalid.",{cause:e,metaMessages:["This could arise when:","- the `paymasterAndData` property is of an incorrect length\n",t&&`paymasterAndData: ${t}`].filter(Boolean),name:"InvalidPaymasterAndDataError"})}}Object.defineProperty(t8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa93/});class n8 extends Lf{constructor({cause:e}){super("Paymaster deposit for the User Operation is too low.",{cause:e,metaMessages:["This could arise when:","- the Paymaster has deposited less than the expected amount via the `deposit` function"].filter(Boolean),name:"PaymasterDepositTooLowError"})}}Object.defineProperty(n8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32508}),Object.defineProperty(n8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa31/});class r8 extends Lf{constructor({cause:e}){super("The `validatePaymasterUserOp` function on the Paymaster reverted.",{cause:e,name:"PaymasterFunctionRevertedError"})}}Object.defineProperty(r8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa33/});class i8 extends Lf{constructor({cause:e}){super("The Paymaster contract has not been deployed.",{cause:e,name:"PaymasterNotDeployedError"})}}Object.defineProperty(i8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa30/});class o8 extends Lf{constructor({cause:e}){super("UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.",{cause:e,name:"PaymasterRateLimitError"})}}Object.defineProperty(o8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32504});class s8 extends Lf{constructor({cause:e}){super("UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.",{cause:e,name:"PaymasterStakeTooLowError"})}}Object.defineProperty(s8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32505});class a8 extends Lf{constructor({cause:e}){super("Paymaster `postOp` function reverted.",{cause:e,name:"PaymasterPostOpFunctionRevertedError"})}}Object.defineProperty(a8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa50/});class c8 extends Lf{constructor({cause:e,factory:t,factoryData:n,initCode:r}){super("Smart Account has already been deployed.",{cause:e,metaMessages:["Remove the following properties and try again:",t&&"`factory`",n&&"`factoryData`",r&&"`initCode`"].filter(Boolean),name:"SenderAlreadyConstructedError"})}}Object.defineProperty(c8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa10/});class l8 extends Lf{constructor({cause:e}){super("UserOperation rejected because account signature check failed (or paymaster signature, if the paymaster uses its data as signature).",{cause:e,name:"SignatureCheckFailedError"})}}Object.defineProperty(l8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32507});class u8 extends Lf{constructor({cause:e}){super("The `validateUserOp` function on the Smart Account reverted.",{cause:e,name:"SmartAccountFunctionRevertedError"})}}Object.defineProperty(u8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa23/});class d8 extends Lf{constructor({cause:e}){super("UserOperation rejected because account specified unsupported signature aggregator.",{cause:e,name:"UnsupportedSignatureAggregatorError"})}}Object.defineProperty(d8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32506});class h8 extends Lf{constructor({cause:e}){super("User Operation expired.",{cause:e,metaMessages:["This could arise when:","- the `validAfter` or `validUntil` values returned from `validateUserOp` on the Smart Account are not satisfied"].filter(Boolean),name:"UserOperationExpiredError"})}}Object.defineProperty(h8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa22/});class f8 extends Lf{constructor({cause:e}){super("Paymaster for User Operation expired.",{cause:e,metaMessages:["This could arise when:","- the `validAfter` or `validUntil` values returned from `validatePaymasterUserOp` on the Paymaster are not satisfied"].filter(Boolean),name:"UserOperationPaymasterExpiredError"})}}Object.defineProperty(f8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa32/});class p8 extends Lf{constructor({cause:e}){super("Signature provided for the User Operation is invalid.",{cause:e,metaMessages:["This could arise when:","- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Smart Account"].filter(Boolean),name:"UserOperationSignatureError"})}}Object.defineProperty(p8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa24/});class m8 extends Lf{constructor({cause:e}){super("Signature provided for the User Operation is invalid.",{cause:e,metaMessages:["This could arise when:","- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Paymaster"].filter(Boolean),name:"UserOperationPaymasterSignatureError"})}}Object.defineProperty(m8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa34/});class g8 extends Lf{constructor({cause:e}){super("User Operation rejected by EntryPoint's `simulateValidation` during account creation or validation.",{cause:e,name:"UserOperationRejectedByEntryPointError"})}}Object.defineProperty(g8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32500});class y8 extends Lf{constructor({cause:e}){super("User Operation rejected by Paymaster's `validatePaymasterUserOp`.",{cause:e,name:"UserOperationRejectedByPaymasterError"})}}Object.defineProperty(y8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32501});class b8 extends Lf{constructor({cause:e}){super("User Operation rejected with op code validation error.",{cause:e,name:"UserOperationRejectedByOpCodeError"})}}Object.defineProperty(b8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32502});class v8 extends Lf{constructor({cause:e}){super("UserOperation out of time-range: either wallet or paymaster returned a time-range, and it is already expired (or will expire soon).",{cause:e,name:"UserOperationOutOfTimeRangeError"})}}Object.defineProperty(v8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32503});class w8 extends Lf{constructor({cause:e}){super(`An error occurred while executing user operation: ${null==e?void 0:e.shortMessage}`,{cause:e,name:"UnknownBundlerError"})}}class _8 extends Lf{constructor({cause:e}){super("User Operation verification gas limit exceeded.",{cause:e,metaMessages:["This could arise when:","- the gas used for verification exceeded the `verificationGasLimit`"].filter(Boolean),name:"VerificationGasLimitExceededError"})}}Object.defineProperty(_8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa40/});class E8 extends Lf{constructor({cause:e}){super("User Operation verification gas limit is too low.",{cause:e,metaMessages:["This could arise when:","- the `verificationGasLimit` is too low to verify the User Operation"].filter(Boolean),name:"VerificationGasLimitTooLowError"})}}Object.defineProperty(E8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa41/});class x8 extends Lf{constructor(e,{callData:t,callGasLimit:n,docsPath:r,factory:i,factoryData:o,initCode:s,maxFeePerGas:a,maxPriorityFeePerGas:c,nonce:l,paymaster:u,paymasterAndData:d,paymasterData:h,paymasterPostOpGasLimit:f,paymasterVerificationGasLimit:p,preVerificationGas:m,sender:g,signature:y,verificationGasLimit:b}){const v=eb({callData:t,callGasLimit:n,factory:i,factoryData:o,initCode:s,maxFeePerGas:void 0!==a&&`${Yy(a)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${Yy(c)} gwei`,nonce:l,paymaster:u,paymasterAndData:d,paymasterData:h,paymasterPostOpGasLimit:f,paymasterVerificationGasLimit:p,preVerificationGas:m,sender:g,signature:y,verificationGasLimit:b});super(e.shortMessage,{cause:e,docsPath:r,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Request Arguments:",v].filter(Boolean),name:"UserOperationExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class k8 extends Lf{constructor({hash:e}){super(`User Operation receipt with hash "${e}" could not be found. The User Operation may not have been processed yet.`,{name:"UserOperationReceiptNotFoundError"})}}class S8 extends Lf{constructor({hash:e}){super(`User Operation with hash "${e}" could not be found.`,{name:"UserOperationNotFoundError"})}}class C8 extends Lf{constructor({hash:e}){super(`Timed out while waiting for User Operation with hash "${e}" to be confirmed.`,{name:"WaitForUserOperationReceiptTimeoutError"})}}const I8=[z4,e8,n8,o8,s8,l8,d8,v8,g8,y8,b8];function A8(e,{calls:t,docsPath:n,...r}){const i=(()=>{const n=function(e,t){const n=(e.details||"").toLowerCase();if(F4.message.test(n))return new F4({cause:e});if(q4.message.test(n))return new q4({cause:e});if(H4.message.test(n))return new H4({cause:e});if(W4.message.test(n))return new W4({cause:e});if(K4.message.test(n))return new K4({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(V4.message.test(n))return new V4({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(G4.message.test(n))return new G4({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode,sender:t.sender});if(Z4.message.test(n))return new Z4({cause:e});if(Y4.message.test(n))return new Y4({cause:e});if(Q4.message.test(n))return new Q4({cause:e,nonce:t.nonce});if(J4.message.test(n))return new J4({cause:e});if(X4.message.test(n))return new X4({cause:e});if(t8.message.test(n))return new t8({cause:e});if(n8.message.test(n))return new n8({cause:e});if(r8.message.test(n))return new r8({cause:e});if(i8.message.test(n))return new i8({cause:e});if(a8.message.test(n))return new a8({cause:e});if(u8.message.test(n))return new u8({cause:e});if(c8.message.test(n))return new c8({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(h8.message.test(n))return new h8({cause:e});if(f8.message.test(n))return new f8({cause:e});if(m8.message.test(n))return new m8({cause:e});if(p8.message.test(n))return new p8({cause:e});if(_8.message.test(n))return new _8({cause:e});if(E8.message.test(n))return new E8({cause:e});const r=e.walk(e=>I8.some(t=>t.code===e.code));if(r){if(r.code===z4.code)return new z4({cause:e,data:r.data,message:r.details});if(r.code===e8.code)return new e8({cause:e});if(r.code===n8.code)return new n8({cause:e});if(r.code===o8.code)return new o8({cause:e});if(r.code===s8.code)return new s8({cause:e});if(r.code===l8.code)return new l8({cause:e});if(r.code===d8.code)return new d8({cause:e});if(r.code===v8.code)return new v8({cause:e});if(r.code===g8.code)return new g8({cause:e});if(r.code===y8.code)return new y8({cause:e});if(r.code===b8.code)return new b8({cause:e})}return new w8({cause:e})}(e,r);if(t&&n instanceof z4){const e=function(e){let t;return e.walk(e=>{var n,r,i,o;const s=e;if("string"==typeof s.data||"string"==typeof(null==(n=s.data)?void 0:n.revertData)||!(s instanceof Lf)&&"string"==typeof s.message){const e=null==(o=(i=(null==(r=s.data)?void 0:r.revertData)||s.data||s.message).match)?void 0:o.call(i,/(0x[A-Za-z0-9]*)/);if(e)return t=e[1],!0}return!1}),t}(n),r=null==t?void 0:t.filter(e=>e.abi);if(e&&r.length>0)return function(e){const{calls:t,revertData:n}=e,{abi:r,functionName:i,args:o,to:s}=(()=>{const e=null==t?void 0:t.filter(e=>Boolean(e.abi));if(1===e.length)return e[0];const r=e.filter(e=>{try{return Boolean(zy({abi:e.abi,data:n}))}catch{return!1}});return 1===r.length?r[0]:{abi:[],functionName:e.reduce((e,t)=>`${e?`${e} | `:""}${t.functionName}`,""),args:void 0,to:void 0}})(),a="0x"===n?new hb({functionName:i}):new db({abi:r,data:n,functionName:i});return new ub(a,{abi:r,args:o,contractAddress:s,functionName:i})}({calls:r,revertData:e})}return n})();return new x8(i,{docsPath:n,...r})}function P8(e){const t={};var n;return void 0!==e.callData&&(t.callData=e.callData),void 0!==e.callGasLimit&&(t.callGasLimit=Ip(e.callGasLimit)),void 0!==e.factory&&(t.factory=e.factory),void 0!==e.factoryData&&(t.factoryData=e.factoryData),void 0!==e.initCode&&(t.initCode=e.initCode),void 0!==e.maxFeePerGas&&(t.maxFeePerGas=Ip(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=Ip(e.maxPriorityFeePerGas)),void 0!==e.nonce&&(t.nonce=Ip(e.nonce)),void 0!==e.paymaster&&(t.paymaster=e.paymaster),void 0!==e.paymasterAndData&&(t.paymasterAndData=e.paymasterAndData||"0x"),void 0!==e.paymasterData&&(t.paymasterData=e.paymasterData),void 0!==e.paymasterPostOpGasLimit&&(t.paymasterPostOpGasLimit=Ip(e.paymasterPostOpGasLimit)),void 0!==e.paymasterSignature&&(t.paymasterSignature=e.paymasterSignature),void 0!==e.paymasterVerificationGasLimit&&(t.paymasterVerificationGasLimit=Ip(e.paymasterVerificationGasLimit)),void 0!==e.preVerificationGas&&(t.preVerificationGas=Ip(e.preVerificationGas)),void 0!==e.sender&&(t.sender=e.sender),void 0!==e.signature&&(t.signature=e.signature),void 0!==e.verificationGasLimit&&(t.verificationGasLimit=Ip(e.verificationGasLimit)),void 0!==e.authorization&&(t.eip7702Auth={address:(n=e.authorization).address,chainId:Ip(n.chainId),nonce:Ip(n.nonce),r:n.r?Ip(BigInt(n.r),{size:32}):hp("0x",{size:32}),s:n.s?Ip(BigInt(n.s),{size:32}):hp("0x",{size:32}),yParity:n.yParity?Ip(n.yParity,{size:1}):hp("0x",{size:32})}),t}async function O8(e,t){const{chainId:n,entryPointAddress:r,context:i,...o}=t,s=P8(o),{paymasterPostOpGasLimit:a,paymasterVerificationGasLimit:c,...l}=await e.request({method:"pm_getPaymasterData",params:[{...s,callGasLimit:s.callGasLimit??"0x0",verificationGasLimit:s.verificationGasLimit??"0x0",preVerificationGas:s.preVerificationGas??"0x0"},r,Ip(n),i]});return{...l,...a&&{paymasterPostOpGasLimit:wp(a)},...c&&{paymasterVerificationGasLimit:wp(c)}}}async function M8(e,t){const{chainId:n,entryPointAddress:r,context:i,...o}=t,s=P8(o),{paymasterPostOpGasLimit:a,paymasterVerificationGasLimit:c,...l}=await e.request({method:"pm_getPaymasterStubData",params:[{...s,callGasLimit:s.callGasLimit??"0x0",verificationGasLimit:s.verificationGasLimit??"0x0",preVerificationGas:s.preVerificationGas??"0x0"},r,Ip(n),i]});return{...l,...a&&{paymasterPostOpGasLimit:wp(a)},...c&&{paymasterVerificationGasLimit:wp(c)}}}const T8=["factory","fees","gas","paymaster","nonce","signature","authorization"];async function R8(e,t){var n;const r=t,{account:i=e.account,parameters:o=T8,stateOverride:s}=r;if(!i)throw new SC;const a=Dy(i),c=e,l=r.paymaster??(null==c?void 0:c.paymaster),u="string"==typeof l?l:void 0,{getPaymasterStubData:d,getPaymasterData:h}=(()=>{if(!0===l)return{getPaymasterStubData:e=>Ib(c,M8,"getPaymasterStubData")(e),getPaymasterData:e=>Ib(c,O8,"getPaymasterData")(e)};if("object"==typeof l){const{getPaymasterStubData:e,getPaymasterData:t}=l;return{getPaymasterStubData:t&&e?e:t,getPaymasterData:t&&e?t:void 0}}return{getPaymasterStubData:void 0,getPaymasterData:void 0}})(),f=r.paymasterContext?r.paymasterContext:null==c?void 0:c.paymasterContext;let p={...r,paymaster:u,sender:a.address};const[m,g,y,b,v]=await Promise.all([(async()=>r.calls?a.encodeCalls(r.calls.map(e=>{const t=e;return t.abi?{data:My(t),to:t.to,value:t.value}:t})):r.callData)(),(async()=>{if(!o.includes("factory"))return;if(r.initCode)return{initCode:r.initCode};if(r.factory&&r.factoryData)return{factory:r.factory,factoryData:r.factoryData};const{factory:e,factoryData:t}=await a.getFactoryArgs();return"0.6"===a.entryPoint.version?{initCode:e&&t?ug([e,t]):void 0}:{factory:e,factoryData:t}})(),(async()=>{var t;if(o.includes("fees")){if("bigint"==typeof r.maxFeePerGas&&"bigint"==typeof r.maxPriorityFeePerGas)return p;if(null==(t=null==c?void 0:c.userOperation)?void 0:t.estimateFeesPerGas){const e=await c.userOperation.estimateFeesPerGas({account:a,bundlerClient:c,userOperation:p});return{...p,...e}}try{const t=c.client??e,n=await Ib(t,lE,"estimateFeesPerGas")({chain:t.chain,type:"eip1559"});return{maxFeePerGas:"bigint"==typeof r.maxFeePerGas?r.maxFeePerGas:BigInt(2n*n.maxFeePerGas),maxPriorityFeePerGas:"bigint"==typeof r.maxPriorityFeePerGas?r.maxPriorityFeePerGas:BigInt(2n*n.maxPriorityFeePerGas)}}catch{return}}})(),(async()=>{if(o.includes("nonce"))return"bigint"==typeof r.nonce?r.nonce:a.getNonce()})(),(async()=>{if(o.includes("authorization")){if("object"==typeof r.authorization)return r.authorization;if(a.authorization&&!(await a.isDeployed())){const e=await async function(e,t){var n;const{account:r=e.account,chainId:i,nonce:o}=t;if(!r)throw new SC({docsPath:"/docs/eip7702/prepareAuthorization"});const s=Dy(r),a=(()=>{if(t.executor)return"self"===t.executor?t.executor:Dy(t.executor)})(),c={address:t.contractAddress??t.address,chainId:i,nonce:o};return void 0===c.chainId&&(c.chainId=(null==(n=e.chain)?void 0:n.id)??await Ib(e,KE,"getChainId")({})),void 0===c.nonce&&(c.nonce=await Ib(e,dE,"getTransactionCount")({address:s.address,blockTag:"pending"}),("self"===a||(null==a?void 0:a.address)&&ix(a.address,s.address))&&(c.nonce+=1)),c}(a.client,a.authorization);return{...e,r:"0xfffffffffffffffffffffffffffffff000000000000000000000000000000000",s:"0x7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",yParity:1}}}})()]);let w;async function _(){if(w)return w;if(e.chain)return e.chain.id;const t=await Ib(e,KE,"getChainId")({});return w=t,w}void 0!==m&&(p.callData=m),void 0!==g&&(p={...p,...g}),void 0!==y&&(p={...p,...y}),void 0!==b&&(p.nonce=b),void 0!==v&&(p.authorization=v),o.includes("signature")&&(void 0!==r.signature?p.signature=r.signature:p.signature=await a.getStubSignature(p)),"0.6"!==a.entryPoint.version||p.initCode||(p.initCode="0x");let E=!1;if(o.includes("paymaster")&&d&&!u&&!r.paymasterAndData){const{isFinal:e=!1,sponsor:t,...n}=await d({chainId:await _(),entryPointAddress:a.entryPoint.address,context:f,...p});E=e,p={...p,...n}}if("0.6"!==a.entryPoint.version||p.paymasterAndData||(p.paymasterAndData="0x"),o.includes("gas")){if(null==(n=a.userOperation)?void 0:n.estimateGas){const e=await a.userOperation.estimateGas(p);p={...p,...e}}if(void 0===p.callGasLimit||void 0===p.preVerificationGas||void 0===p.verificationGasLimit||p.paymaster&&void 0===p.paymasterPostOpGasLimit||p.paymaster&&void 0===p.paymasterVerificationGasLimit){const e=await Ib(c,N8,"estimateUserOperationGas")({account:a,callGasLimit:0n,preVerificationGas:0n,verificationGasLimit:0n,stateOverride:s,...p.paymaster?{paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n}:{},...p});p={...p,callGasLimit:p.callGasLimit??e.callGasLimit,preVerificationGas:p.preVerificationGas??e.preVerificationGas,verificationGasLimit:p.verificationGasLimit??e.verificationGasLimit,paymasterPostOpGasLimit:p.paymasterPostOpGasLimit??e.paymasterPostOpGasLimit,paymasterVerificationGasLimit:p.paymasterVerificationGasLimit??e.paymasterVerificationGasLimit}}}if(o.includes("paymaster")&&h&&!u&&!r.paymasterAndData&&!E){const e=await h({chainId:await _(),entryPointAddress:a.entryPoint.address,context:f,...p});p={...p,...e}}return delete p.calls,delete p.parameters,delete p.paymasterContext,"string"!=typeof p.paymaster&&delete p.paymaster,p}async function N8(e,t){var n;const{account:r=e.account,entryPointAddress:i,stateOverride:o}=t;if(!r&&!t.sender)throw new SC;const s=r?Dy(r):void 0,a=p_(o),c=s?await Ib(e,R8,"prepareUserOperation")({...t,parameters:["authorization","factory","nonce","paymaster","signature"]}):t;try{const t=[P8(c),i??(null==(n=null==s?void 0:s.entryPoint)?void 0:n.address)];return function(e){const t={};return e.callGasLimit&&(t.callGasLimit=BigInt(e.callGasLimit)),e.preVerificationGas&&(t.preVerificationGas=BigInt(e.preVerificationGas)),e.verificationGasLimit&&(t.verificationGasLimit=BigInt(e.verificationGasLimit)),e.paymasterPostOpGasLimit&&(t.paymasterPostOpGasLimit=BigInt(e.paymasterPostOpGasLimit)),e.paymasterVerificationGasLimit&&(t.paymasterVerificationGasLimit=BigInt(e.paymasterVerificationGasLimit)),t}(await e.request({method:"eth_estimateUserOperationGas",params:a?[...t,a]:[...t]}))}catch(cF){const n=t.calls;throw A8(cF,{...c,...n?{calls:n}:{}})}}function L8(e){const t={...e};return e.callGasLimit&&(t.callGasLimit=BigInt(e.callGasLimit)),e.maxFeePerGas&&(t.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.nonce&&(t.nonce=BigInt(e.nonce)),e.paymasterPostOpGasLimit&&(t.paymasterPostOpGasLimit=BigInt(e.paymasterPostOpGasLimit)),e.paymasterVerificationGasLimit&&(t.paymasterVerificationGasLimit=BigInt(e.paymasterVerificationGasLimit)),e.preVerificationGas&&(t.preVerificationGas=BigInt(e.preVerificationGas)),e.verificationGasLimit&&(t.verificationGasLimit=BigInt(e.verificationGasLimit)),t}async function B8(e,{hash:t}){const n=await e.request({method:"eth_getUserOperationReceipt",params:[t]},{dedupe:!0});if(!n)throw new k8({hash:t});return function(e){const t={...e};return e.actualGasCost&&(t.actualGasCost=BigInt(e.actualGasCost)),e.actualGasUsed&&(t.actualGasUsed=BigInt(e.actualGasUsed)),e.logs&&(t.logs=e.logs.map(e=>lx(e))),e.receipt&&(t.receipt=Rx(t.receipt)),t}(n)}function j8(e){return{estimateUserOperationGas:t=>N8(e,t),getChainId:()=>KE(e),getSupportedEntryPoints:()=>function(e){return e.request({method:"eth_supportedEntryPoints"})}(e),getUserOperation:t=>async function(e,{hash:t}){const n=await e.request({method:"eth_getUserOperationByHash",params:[t]},{dedupe:!0});if(!n)throw new S8({hash:t});const{blockHash:r,blockNumber:i,entryPoint:o,transactionHash:s,userOperation:a}=n;return{blockHash:r,blockNumber:BigInt(i),entryPoint:o,transactionHash:s,userOperation:L8(a)}}(e,t),getUserOperationReceipt:t=>B8(e,t),prepareUserOperation:t=>R8(e,t),sendUserOperation:t=>async function(e,t){var n,r;const{account:i=e.account,entryPointAddress:o}=t;if(!i&&!t.sender)throw new SC;const s=i?Dy(i):void 0,a=s?await Ib(e,R8,"prepareUserOperation")(t):t,c=t.signature||await(null==(n=null==s?void 0:s.signUserOperation)?void 0:n.call(s,a)),l=P8({...a,signature:c});try{return await e.request({method:"eth_sendUserOperation",params:[l,o??(null==(r=null==s?void 0:s.entryPoint)?void 0:r.address)]},{retryCount:0})}catch(cF){const n=t.calls;throw A8(cF,{...a,...n?{calls:n}:{},signature:c})}}(e,t),waitForUserOperationReceipt:t=>function(e,t){const{hash:n,pollingInterval:r=e.pollingInterval,retryCount:i,timeout:o=12e4}=t;let s=0;const a=qy(["waitForUserOperationReceipt",e.uid,n]);return new Promise((t,c)=>{const l=_C(a,{resolve:t,reject:c},t=>{const a=e=>{u(),e(),l()},c=o?setTimeout(()=>a(()=>t.reject(new C8({hash:n}))),o):void 0,u=EC(async()=>{i&&s>=i&&(clearTimeout(c),a(()=>t.reject(new C8({hash:n}))));try{const r=await Ib(e,B8,"getUserOperationReceipt")({hash:n});clearTimeout(c),a(()=>t.resolve(r))}catch($He){const n=$He;"UserOperationReceiptNotFoundError"!==n.name&&(clearTimeout(c),a(()=>t.reject(n)))}s++},{emitOnBegin:!0,interval:r});return u})})}(e,t)}}
|
|
59
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const jX={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},DX={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},UX=BigInt(2);const $X=LZ(jX.p,{sqrt:function(e){const t=jX.p,n=BigInt(3),r=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=kZ(u,n,t)*u%t,h=kZ(d,n,t)*u%t,f=kZ(h,UX,t)*l%t,p=kZ(f,i,t)*f%t,m=kZ(p,o,t)*p%t,g=kZ(m,a,t)*m%t,y=kZ(g,c,t)*g%t,b=kZ(y,a,t)*m%t,v=kZ(b,n,t)*u%t,w=kZ(v,s,t)*p%t,_=kZ(w,r,t)*l%t,E=kZ(_,UX,t);if(!$X.eql($X.sqr(E),e))throw new Error("Cannot find square root");return E}}),FX=BX({...jX,Fp:$X,lowS:!0,endo:DX},OE);function zX(e){try{return gY.ExtendedPoint.fromHex(e),!0}catch{return!1}}gY.utils.randomPrivateKey,gY.getPublicKey;const qX=gY.verify,HX=e=>Ze.isBuffer(e)?e:e instanceof Uint8Array?Ze.from(e.buffer,e.byteOffset,e.byteLength):Ze.from(e);let WX=class{constructor(e){Object.assign(this,e)}encode(){return Ze.from(rJ(KX,this))}static decode(e){return sJ(KX,this,e)}static decodeUnchecked(e){return HY(KX,this,e)}};const KX=new Map;var VX;const GX=32;let ZX=1;class YX extends WX{constructor(e){if(super({}),this._bn=void 0,function(e){return void 0!==e._bn}(e))this._bn=e._bn;else{if("string"==typeof e){const t=CY.decode(e);if(t.length!=GX)throw new Error("Invalid public key input");this._bn=new wY(t)}else this._bn=new wY(e);if(this._bn.byteLength()>GX)throw new Error("Invalid public key input")}}static unique(){const e=new YX(ZX);return ZX+=1,new YX(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return CY.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const e=this.toBuffer();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}toBuffer(){const e=this._bn.toArrayLike(Ze);if(e.length===GX)return e;const t=Ze.alloc(32);return e.copy(t,32-e.length),t}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(e,t,n){const r=Ze.concat([e.toBuffer(),Ze.from(t),n.toBuffer()]),i=RE(r);return new YX(i)}static createProgramAddressSync(e,t){let n=Ze.alloc(0);e.forEach(function(e){if(e.length>32)throw new TypeError("Max seed length exceeded");n=Ze.concat([n,HX(e)])}),n=Ze.concat([n,t.toBuffer(),Ze.from("ProgramDerivedAddress")]);const r=RE(n);if(zX(r))throw new Error("Invalid seeds, address must fall off the curve");return new YX(r)}static async createProgramAddress(e,t){return this.createProgramAddressSync(e,t)}static findProgramAddressSync(e,t){let n,r=255;for(;0!=r;){try{const i=e.concat(Ze.from([r]));n=this.createProgramAddressSync(i,t)}catch($He){if($He instanceof TypeError)throw $He;r--;continue}return[n,r]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(e,t){return this.findProgramAddressSync(e,t)}static isOnCurve(e){return zX(new YX(e).toBytes())}}VX=YX,YX.default=new VX("11111111111111111111111111111111"),KX.set(YX,{kind:"struct",fields:[["_bn","u256"]]}),new YX("BPFLoader1111111111111111111111111111111111");const JX=1232;class QX extends Error{constructor(e){super(`Signature ${e} has expired: block height exceeded.`),this.signature=void 0,this.signature=e}}Object.defineProperty(QX.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class XX extends Error{constructor(e,t){super(`Transaction was not confirmed in ${t.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${e} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=e}}Object.defineProperty(XX.prototype,"name",{value:"TransactionExpiredTimeoutError"});class e0 extends Error{constructor(e){super(`Signature ${e} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=e}}Object.defineProperty(e0.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class t0{constructor(e,t){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=e,this.accountKeysFromLookups=t}keySegments(){const e=[this.staticAccountKeys];return this.accountKeysFromLookups&&(e.push(this.accountKeysFromLookups.writable),e.push(this.accountKeysFromLookups.readonly)),e}get(e){for(const t of this.keySegments()){if(e<t.length)return t[e];e-=t.length}}get length(){return this.keySegments().flat().length}compileInstructions(e){if(this.length>256)throw new Error("Account index overflow encountered during compilation");const t=new Map;this.keySegments().flat().forEach((e,n)=>{t.set(e.toBase58(),n)});const n=e=>{const n=t.get(e.toBase58());if(void 0===n)throw new Error("Encountered an unknown instruction account key during compilation");return n};return e.map(e=>({programIdIndex:n(e.programId),accountKeyIndexes:e.keys.map(e=>n(e.pubkey)),data:e.data}))}}const n0=(e="publicKey")=>XJ(32,e),r0=(e="string")=>{const t=JJ([GJ("length"),GJ("lengthPadding"),XJ(WJ(GJ(),-8),"chars")],e),n=t.decode.bind(t),r=t.encode.bind(t),i=t;return i.decode=(e,t)=>n(e,t).chars.toString(),i.encode=(e,t,n)=>{const i={chars:Ze.from(e,"utf8")};return r(i,t,n)},i.alloc=e=>GJ().span+GJ().span+Ze.from(e,"utf8").length,i};function i0(e,t){const n=e=>{if(e.span>=0)return e.span;if("function"==typeof e.alloc)return e.alloc(t[e.property]);if("count"in e&&"elementLayout"in e){const r=t[e.property];if(Array.isArray(r))return r.length*n(e.elementLayout)}else if("fields"in e)return i0({layout:e},t[e.property]);return 0};let r=0;return e.layout.fields.forEach(e=>{r+=n(e)}),r}function o0(e){let t=0,n=0;for(;;){let r=e.shift();if(t|=(127&r)<<7*n,n+=1,!(128&r))break}return t}function s0(e,t){let n=t;for(;;){let t=127&n;if(n>>=7,0==n){e.push(t);break}t|=128,e.push(t)}}function a0(e,t){if(!e)throw new Error(t||"Assertion failed")}class c0{constructor(e,t){this.payer=void 0,this.keyMetaMap=void 0,this.payer=e,this.keyMetaMap=t}static compile(e,t){const n=new Map,r=e=>{const t=e.toBase58();let r=n.get(t);return void 0===r&&(r={isSigner:!1,isWritable:!1,isInvoked:!1},n.set(t,r)),r},i=r(t);i.isSigner=!0,i.isWritable=!0;for(const o of e){r(o.programId).isInvoked=!0;for(const e of o.keys){const t=r(e.pubkey);t.isSigner||(t.isSigner=e.isSigner),t.isWritable||(t.isWritable=e.isWritable)}}return new c0(t,n)}getMessageComponents(){const e=[...this.keyMetaMap.entries()];a0(e.length<=256,"Max static account keys length exceeded");const t=e.filter(([,e])=>e.isSigner&&e.isWritable),n=e.filter(([,e])=>e.isSigner&&!e.isWritable),r=e.filter(([,e])=>!e.isSigner&&e.isWritable),i=e.filter(([,e])=>!e.isSigner&&!e.isWritable),o={numRequiredSignatures:t.length+n.length,numReadonlySignedAccounts:n.length,numReadonlyUnsignedAccounts:i.length};{a0(t.length>0,"Expected at least one writable signer key");const[e]=t[0];a0(e===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}return[o,[...t.map(([e])=>new YX(e)),...n.map(([e])=>new YX(e)),...r.map(([e])=>new YX(e)),...i.map(([e])=>new YX(e))]]}extractTableLookup(e){const[t,n]=this.drainKeysFoundInLookupTable(e.state.addresses,e=>!e.isSigner&&!e.isInvoked&&e.isWritable),[r,i]=this.drainKeysFoundInLookupTable(e.state.addresses,e=>!e.isSigner&&!e.isInvoked&&!e.isWritable);if(0!==t.length||0!==r.length)return[{accountKey:e.key,writableIndexes:t,readonlyIndexes:r},{writable:n,readonly:i}]}drainKeysFoundInLookupTable(e,t){const n=new Array,r=new Array;for(const[i,o]of this.keyMetaMap.entries())if(t(o)){const t=new YX(i),o=e.findIndex(e=>e.equals(t));o>=0&&(a0(o<256,"Max lookup table index exceeded"),n.push(o),r.push(t),this.keyMetaMap.delete(i))}return[n,r]}}const l0="Reached end of buffer unexpectedly";function u0(e){if(0===e.length)throw new Error(l0);return e.shift()}function d0(e,...t){const[n]=t;if(2===t.length?n+(t[1]??0)>e.length:n>=e.length)throw new Error(l0);return e.splice(...t)}class h0{constructor(e){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=e.header,this.accountKeys=e.accountKeys.map(e=>new YX(e)),this.recentBlockhash=e.recentBlockhash,this.instructions=e.instructions,this.instructions.forEach(e=>this.indexToProgramIds.set(e.programIdIndex,this.accountKeys[e.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:CY.decode(e.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new t0(this.staticAccountKeys)}static compile(e){const t=c0.compile(e.instructions,e.payerKey),[n,r]=t.getMessageComponents(),i=new t0(r).compileInstructions(e.instructions).map(e=>({programIdIndex:e.programIdIndex,accounts:e.accountKeyIndexes,data:CY.encode(e.data)}));return new h0({header:n,accountKeys:r,recentBlockhash:e.recentBlockhash,instructions:i})}isAccountSigner(e){return e<this.header.numRequiredSignatures}isAccountWritable(e){const t=this.header.numRequiredSignatures;if(e>=this.header.numRequiredSignatures){return e-t<this.accountKeys.length-t-this.header.numReadonlyUnsignedAccounts}return e<t-this.header.numReadonlySignedAccounts}isProgramId(e){return this.indexToProgramIds.has(e)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter((e,t)=>!this.isProgramId(t))}serialize(){const e=this.accountKeys.length;let t=[];s0(t,e);const n=this.instructions.map(e=>{const{accounts:t,programIdIndex:n}=e,r=Array.from(CY.decode(e.data));let i=[];s0(i,t.length);let o=[];return s0(o,r.length),{programIdIndex:n,keyIndicesCount:Ze.from(i),keyIndices:t,dataLength:Ze.from(o),data:r}});let r=[];s0(r,n.length);let i=Ze.alloc(JX);Ze.from(r).copy(i);let o=r.length;n.forEach(e=>{const t=JJ([KJ("programIdIndex"),XJ(e.keyIndicesCount.length,"keyIndicesCount"),QJ(KJ("keyIndex"),e.keyIndices.length,"keyIndices"),XJ(e.dataLength.length,"dataLength"),QJ(KJ("userdatum"),e.data.length,"data")]).encode(e,i,o);o+=t}),i=i.slice(0,o);const s=JJ([XJ(1,"numRequiredSignatures"),XJ(1,"numReadonlySignedAccounts"),XJ(1,"numReadonlyUnsignedAccounts"),XJ(t.length,"keyCount"),QJ(n0("key"),e,"keys"),n0("recentBlockhash")]),a={numRequiredSignatures:Ze.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:Ze.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:Ze.from([this.header.numReadonlyUnsignedAccounts]),keyCount:Ze.from(t),keys:this.accountKeys.map(e=>HX(e.toBytes())),recentBlockhash:CY.decode(this.recentBlockhash)};let c=Ze.alloc(2048);const l=s.encode(a,c);return i.copy(c,l),c.slice(0,l+i.length)}static from(e){let t=[...e];const n=u0(t);if(n!==(127&n))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const r=u0(t),i=u0(t),o=o0(t);let s=[];for(let d=0;d<o;d++){const e=d0(t,0,GX);s.push(new YX(Ze.from(e)))}const a=d0(t,0,GX),c=o0(t);let l=[];for(let d=0;d<c;d++){const e=u0(t),n=d0(t,0,o0(t)),r=d0(t,0,o0(t)),i=CY.encode(Ze.from(r));l.push({programIdIndex:e,accounts:n,data:i})}const u={header:{numRequiredSignatures:n,numReadonlySignedAccounts:r,numReadonlyUnsignedAccounts:i},recentBlockhash:CY.encode(Ze.from(a)),accountKeys:s,instructions:l};return new h0(u)}}class f0{constructor(e){this.header=void 0,this.staticAccountKeys=void 0,this.recentBlockhash=void 0,this.compiledInstructions=void 0,this.addressTableLookups=void 0,this.header=e.header,this.staticAccountKeys=e.staticAccountKeys,this.recentBlockhash=e.recentBlockhash,this.compiledInstructions=e.compiledInstructions,this.addressTableLookups=e.addressTableLookups}get version(){return 0}get numAccountKeysFromLookups(){let e=0;for(const t of this.addressTableLookups)e+=t.readonlyIndexes.length+t.writableIndexes.length;return e}getAccountKeys(e){let t;if(e&&"accountKeysFromLookups"in e&&e.accountKeysFromLookups){if(this.numAccountKeysFromLookups!=e.accountKeysFromLookups.writable.length+e.accountKeysFromLookups.readonly.length)throw new Error("Failed to get account keys because of a mismatch in the number of account keys from lookups");t=e.accountKeysFromLookups}else if(e&&"addressLookupTableAccounts"in e&&e.addressLookupTableAccounts)t=this.resolveAddressTableLookups(e.addressLookupTableAccounts);else if(this.addressTableLookups.length>0)throw new Error("Failed to get account keys because address table lookups were not resolved");return new t0(this.staticAccountKeys,t)}isAccountSigner(e){return e<this.header.numRequiredSignatures}isAccountWritable(e){const t=this.header.numRequiredSignatures,n=this.staticAccountKeys.length;if(e>=n){return e-n<this.addressTableLookups.reduce((e,t)=>e+t.writableIndexes.length,0)}if(e>=this.header.numRequiredSignatures){return e-t<n-t-this.header.numReadonlyUnsignedAccounts}return e<t-this.header.numReadonlySignedAccounts}resolveAddressTableLookups(e){const t={writable:[],readonly:[]};for(const n of this.addressTableLookups){const r=e.find(e=>e.key.equals(n.accountKey));if(!r)throw new Error(`Failed to find address lookup table account for table key ${n.accountKey.toBase58()}`);for(const e of n.writableIndexes){if(!(e<r.state.addresses.length))throw new Error(`Failed to find address for index ${e} in address lookup table ${n.accountKey.toBase58()}`);t.writable.push(r.state.addresses[e])}for(const e of n.readonlyIndexes){if(!(e<r.state.addresses.length))throw new Error(`Failed to find address for index ${e} in address lookup table ${n.accountKey.toBase58()}`);t.readonly.push(r.state.addresses[e])}}return t}static compile(e){const t=c0.compile(e.instructions,e.payerKey),n=new Array,r={writable:new Array,readonly:new Array},i=e.addressLookupTableAccounts||[];for(const c of i){const e=t.extractTableLookup(c);if(void 0!==e){const[t,{writable:i,readonly:o}]=e;n.push(t),r.writable.push(...i),r.readonly.push(...o)}}const[o,s]=t.getMessageComponents(),a=new t0(s,r).compileInstructions(e.instructions);return new f0({header:o,staticAccountKeys:s,recentBlockhash:e.recentBlockhash,compiledInstructions:a,addressTableLookups:n})}serialize(){const e=Array();s0(e,this.staticAccountKeys.length);const t=this.serializeInstructions(),n=Array();s0(n,this.compiledInstructions.length);const r=this.serializeAddressTableLookups(),i=Array();s0(i,this.addressTableLookups.length);const o=JJ([KJ("prefix"),JJ([KJ("numRequiredSignatures"),KJ("numReadonlySignedAccounts"),KJ("numReadonlyUnsignedAccounts")],"header"),XJ(e.length,"staticAccountKeysLength"),QJ(n0(),this.staticAccountKeys.length,"staticAccountKeys"),n0("recentBlockhash"),XJ(n.length,"instructionsLength"),XJ(t.length,"serializedInstructions"),XJ(i.length,"addressTableLookupsLength"),XJ(r.length,"serializedAddressTableLookups")]),s=new Uint8Array(JX),a=o.encode({prefix:128,header:this.header,staticAccountKeysLength:new Uint8Array(e),staticAccountKeys:this.staticAccountKeys.map(e=>e.toBytes()),recentBlockhash:CY.decode(this.recentBlockhash),instructionsLength:new Uint8Array(n),serializedInstructions:t,addressTableLookupsLength:new Uint8Array(i),serializedAddressTableLookups:r},s);return s.slice(0,a)}serializeInstructions(){let e=0;const t=new Uint8Array(JX);for(const n of this.compiledInstructions){const r=Array();s0(r,n.accountKeyIndexes.length);const i=Array();s0(i,n.data.length);e+=JJ([KJ("programIdIndex"),XJ(r.length,"encodedAccountKeyIndexesLength"),QJ(KJ(),n.accountKeyIndexes.length,"accountKeyIndexes"),XJ(i.length,"encodedDataLength"),XJ(n.data.length,"data")]).encode({programIdIndex:n.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(r),accountKeyIndexes:n.accountKeyIndexes,encodedDataLength:new Uint8Array(i),data:n.data},t,e)}return t.slice(0,e)}serializeAddressTableLookups(){let e=0;const t=new Uint8Array(JX);for(const n of this.addressTableLookups){const r=Array();s0(r,n.writableIndexes.length);const i=Array();s0(i,n.readonlyIndexes.length);e+=JJ([n0("accountKey"),XJ(r.length,"encodedWritableIndexesLength"),QJ(KJ(),n.writableIndexes.length,"writableIndexes"),XJ(i.length,"encodedReadonlyIndexesLength"),QJ(KJ(),n.readonlyIndexes.length,"readonlyIndexes")]).encode({accountKey:n.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(r),writableIndexes:n.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(i),readonlyIndexes:n.readonlyIndexes},t,e)}return t.slice(0,e)}static deserialize(e){let t=[...e];const n=u0(t),r=127&n;a0(n!==r,"Expected versioned message but received legacy message");a0(0===r,`Expected versioned message with version 0 but found version ${r}`);const i={numRequiredSignatures:u0(t),numReadonlySignedAccounts:u0(t),numReadonlyUnsignedAccounts:u0(t)},o=[],s=o0(t);for(let h=0;h<s;h++)o.push(new YX(d0(t,0,GX)));const a=CY.encode(d0(t,0,GX)),c=o0(t),l=[];for(let h=0;h<c;h++){const e=u0(t),n=d0(t,0,o0(t)),r=o0(t),i=new Uint8Array(d0(t,0,r));l.push({programIdIndex:e,accountKeyIndexes:n,data:i})}const u=o0(t),d=[];for(let h=0;h<u;h++){const e=new YX(d0(t,0,GX)),n=d0(t,0,o0(t)),r=d0(t,0,o0(t));d.push({accountKey:e,writableIndexes:n,readonlyIndexes:r})}return new f0({header:i,staticAccountKeys:o,recentBlockhash:a,compiledInstructions:l,addressTableLookups:d})}}let p0=function(e){return e[e.BLOCKHEIGHT_EXCEEDED=0]="BLOCKHEIGHT_EXCEEDED",e[e.PROCESSED=1]="PROCESSED",e[e.TIMED_OUT=2]="TIMED_OUT",e[e.NONCE_INVALID=3]="NONCE_INVALID",e}({});const m0=Ze.alloc(64).fill(0);class g0{constructor(e){this.keys=void 0,this.programId=void 0,this.data=Ze.alloc(0),this.programId=e.programId,this.keys=e.keys,e.data&&(this.data=e.data)}toJSON(){return{keys:this.keys.map(({pubkey:e,isSigner:t,isWritable:n})=>({pubkey:e.toJSON(),isSigner:t,isWritable:n})),programId:this.programId.toJSON(),data:[...this.data]}}}class y0{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(e){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,e)if(e.feePayer&&(this.feePayer=e.feePayer),e.signatures&&(this.signatures=e.signatures),Object.prototype.hasOwnProperty.call(e,"nonceInfo")){const{minContextSlot:t,nonceInfo:n}=e;this.minNonceContextSlot=t,this.nonceInfo=n}else if(Object.prototype.hasOwnProperty.call(e,"lastValidBlockHeight")){const{blockhash:t,lastValidBlockHeight:n}=e;this.recentBlockhash=t,this.lastValidBlockHeight=n}else{const{recentBlockhash:t,nonceInfo:n}=e;n&&(this.nonceInfo=n),this.recentBlockhash=t}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(e=>e.toJSON()),signers:this.signatures.map(({publicKey:e})=>e.toJSON())}}add(...e){if(0===e.length)throw new Error("No instructions");return e.forEach(e=>{"instructions"in e?this.instructions=this.instructions.concat(e.instructions):"data"in e&&"programId"in e&&"keys"in e?this.instructions.push(e):this.instructions.push(new g0(e))}),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let e,t,n;if(this.nonceInfo?(e=this.nonceInfo.nonce,t=this.instructions[0]!=this.nonceInfo.nonceInstruction?[this.nonceInfo.nonceInstruction,...this.instructions]:this.instructions):(e=this.recentBlockhash,t=this.instructions),!e)throw new Error("Transaction recentBlockhash required");if(t.length<1&&console.warn("No instructions provided"),this.feePayer)n=this.feePayer;else{if(!(this.signatures.length>0&&this.signatures[0].publicKey))throw new Error("Transaction fee payer required");n=this.signatures[0].publicKey}for(let p=0;p<t.length;p++)if(void 0===t[p].programId)throw new Error(`Transaction instruction index ${p} has undefined program id`);const r=[],i=[];t.forEach(e=>{e.keys.forEach(e=>{i.push({...e})});const t=e.programId.toString();r.includes(t)||r.push(t)}),r.forEach(e=>{i.push({pubkey:new YX(e),isSigner:!1,isWritable:!1})});const o=[];i.forEach(e=>{const t=e.pubkey.toString(),n=o.findIndex(e=>e.pubkey.toString()===t);n>-1?(o[n].isWritable=o[n].isWritable||e.isWritable,o[n].isSigner=o[n].isSigner||e.isSigner):o.push(e)}),o.sort(function(e,t){if(e.isSigner!==t.isSigner)return e.isSigner?-1:1;if(e.isWritable!==t.isWritable)return e.isWritable?-1:1;return e.pubkey.toBase58().localeCompare(t.pubkey.toBase58(),"en",{localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"})});const s=o.findIndex(e=>e.pubkey.equals(n));if(s>-1){const[e]=o.splice(s,1);e.isSigner=!0,e.isWritable=!0,o.unshift(e)}else o.unshift({pubkey:n,isSigner:!0,isWritable:!0});for(const p of this.signatures){const e=o.findIndex(e=>e.pubkey.equals(p.publicKey));if(!(e>-1))throw new Error(`unknown signer: ${p.publicKey.toString()}`);o[e].isSigner||(o[e].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."))}let a=0,c=0,l=0;const u=[],d=[];o.forEach(({pubkey:e,isSigner:t,isWritable:n})=>{t?(u.push(e.toString()),a+=1,n||(c+=1)):(d.push(e.toString()),n||(l+=1))});const h=u.concat(d),f=t.map(e=>{const{data:t,programId:n}=e;return{programIdIndex:h.indexOf(n.toString()),accounts:e.keys.map(e=>h.indexOf(e.pubkey.toString())),data:CY.encode(t)}});return f.forEach(e=>{a0(e.programIdIndex>=0),e.accounts.forEach(e=>a0(e>=0))}),new h0({header:{numRequiredSignatures:a,numReadonlySignedAccounts:c,numReadonlyUnsignedAccounts:l},accountKeys:h,recentBlockhash:e,instructions:f})}_compile(){const e=this.compileMessage(),t=e.accountKeys.slice(0,e.header.numRequiredSignatures);if(this.signatures.length===t.length){if(this.signatures.every((e,n)=>t[n].equals(e.publicKey)))return e}return this.signatures=t.map(e=>({signature:null,publicKey:e})),e}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(e){return(await e.getFeeForMessage(this.compileMessage())).value}setSigners(...e){if(0===e.length)throw new Error("No signers");const t=new Set;this.signatures=e.filter(e=>{const n=e.toString();return!t.has(n)&&(t.add(n),!0)}).map(e=>({signature:null,publicKey:e}))}sign(...e){if(0===e.length)throw new Error("No signers");const t=new Set,n=[];for(const i of e){const e=i.publicKey.toString();t.has(e)||(t.add(e),n.push(i))}this.signatures=n.map(e=>({signature:null,publicKey:e.publicKey}));const r=this._compile();this._partialSign(r,...n)}partialSign(...e){if(0===e.length)throw new Error("No signers");const t=new Set,n=[];for(const i of e){const e=i.publicKey.toString();t.has(e)||(t.add(e),n.push(i))}const r=this._compile();this._partialSign(r,...n)}_partialSign(e,...t){const n=e.serialize();t.forEach(e=>{const t=((e,t)=>gY.sign(e,t.slice(0,32)))(n,e.secretKey);this._addSignature(e.publicKey,HX(t))})}addSignature(e,t){this._compile(),this._addSignature(e,t)}_addSignature(e,t){a0(64===t.length);const n=this.signatures.findIndex(t=>e.equals(t.publicKey));if(n<0)throw new Error(`unknown signer: ${e.toString()}`);this.signatures[n].signature=Ze.from(t)}verifySignatures(e=!0){return!this._getMessageSignednessErrors(this.serializeMessage(),e)}_getMessageSignednessErrors(e,t){const n={};for(const{signature:r,publicKey:i}of this.signatures)null===r?t&&(n.missing||(n.missing=[])).push(i):qX(r,e,i.toBytes())||(n.invalid||(n.invalid=[])).push(i);return n.invalid||n.missing?n:void 0}serialize(e){const{requireAllSignatures:t,verifySignatures:n}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},e),r=this.serializeMessage();if(n){const e=this._getMessageSignednessErrors(r,t);if(e){let t="Signature verification failed.";throw e.invalid&&(t+=`\nInvalid signature for public key${1===e.invalid.length?"":"(s)"} [\`${e.invalid.map(e=>e.toBase58()).join("`, `")}\`].`),e.missing&&(t+=`\nMissing signature for public key${1===e.missing.length?"":"(s)"} [\`${e.missing.map(e=>e.toBase58()).join("`, `")}\`].`),new Error(t)}}return this._serialize(r)}_serialize(e){const{signatures:t}=this,n=[];s0(n,t.length);const r=n.length+64*t.length+e.length,i=Ze.alloc(r);return a0(t.length<256),Ze.from(n).copy(i,0),t.forEach(({signature:e},t)=>{null!==e&&(a0(64===e.length,"signature has invalid length"),Ze.from(e).copy(i,n.length+64*t))}),e.copy(i,n.length+64*t.length),a0(i.length<=JX,`Transaction too large: ${i.length} > 1232`),i}get keys(){return a0(1===this.instructions.length),this.instructions[0].keys.map(e=>e.pubkey)}get programId(){return a0(1===this.instructions.length),this.instructions[0].programId}get data(){return a0(1===this.instructions.length),this.instructions[0].data}static from(e){let t=[...e];const n=o0(t);let r=[];for(let i=0;i<n;i++){const e=d0(t,0,64);r.push(CY.encode(Ze.from(e)))}return y0.populate(h0.from(t),r)}static populate(e,t=[]){const n=new y0;return n.recentBlockhash=e.recentBlockhash,e.header.numRequiredSignatures>0&&(n.feePayer=e.accountKeys[0]),t.forEach((t,r)=>{const i={signature:t==CY.encode(m0)?null:CY.decode(t),publicKey:e.accountKeys[r]};n.signatures.push(i)}),e.instructions.forEach(t=>{const r=t.accounts.map(t=>{const r=e.accountKeys[t];return{pubkey:r,isSigner:n.signatures.some(e=>e.publicKey.toString()===r.toString())||e.isAccountSigner(t),isWritable:e.isAccountWritable(t)}});n.instructions.push(new g0({keys:r,programId:e.accountKeys[t.programIdIndex],data:CY.decode(t.data)}))}),n._message=e,n._json=n.toJSON(),n}}new YX("SysvarC1ock11111111111111111111111111111111"),new YX("SysvarEpochSchedu1e111111111111111111111111"),new YX("Sysvar1nstructions1111111111111111111111111");const b0=new YX("SysvarRecentB1ockHashes11111111111111111111"),v0=new YX("SysvarRent111111111111111111111111111111111");new YX("SysvarRewards111111111111111111111111111111"),new YX("SysvarS1otHashes111111111111111111111111111"),new YX("SysvarS1otHistory11111111111111111111111111"),new YX("SysvarStakeHistory1111111111111111111111111");class w0 extends Error{constructor({action:e,signature:t,transactionMessage:n,logs:r}){const i=r?`Logs: \n${JSON.stringify(r.slice(-10),null,2)}. `:"",o="\nCatch the `SendTransactionError` and call `getLogs()` on it for full details.";let s;switch(e){case"send":s=`Transaction ${t} resulted in an error. \n${n}. `+i+o;break;case"simulate":s=`Simulation failed. \nMessage: ${n}. \n`+i+o;break;default:s=`Unknown action '${(e=>e)(e)}'`}super(s),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=t,this.transactionMessage=n,this.transactionLogs=r||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){const e=this.transactionLogs;if(null==e||"object"!=typeof e||!("then"in e))return e}async getLogs(e){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((t,n)=>{e.getTransaction(this.signature).then(e=>{if(e&&e.meta&&e.meta.logMessages){const n=e.meta.logMessages;this.transactionLogs=n,t(n)}else n(new Error("Log messages not found"))}).catch(n)})),await this.transactionLogs}}class _0 extends Error{constructor({code:e,message:t,data:n},r){super(null!=r?`${r}: ${t}`:t),this.code=void 0,this.data=void 0,this.code=e,this.data=n,this.name="SolanaJSONRPCError"}}function E0(e){return new Promise(t=>setTimeout(t,e))}function x0(e,t){const n=e.layout.span>=0?e.layout.span:i0(e,t),r=Ze.alloc(n),i=Object.assign({instruction:e.index},t);return e.layout.encode(i,r),r}const k0=ZJ("lamportsPerSignature"),S0=JJ([GJ("version"),GJ("state"),n0("authorizedPubkey"),n0("nonce"),JJ([k0],"feeCalculator")]),C0=S0.span;class I0{constructor(e){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=e.authorizedPubkey,this.nonce=e.nonce,this.feeCalculator=e.feeCalculator}static fromAccountData(e){const t=S0.decode(HX(e),0);return new I0({authorizedPubkey:new YX(t.authorizedPubkey),nonce:new YX(t.nonce).toString(),feeCalculator:t.feeCalculator})}}function A0(e){const t=XJ(8,e),n=t.decode.bind(t),r=t.encode.bind(t),i=t,o=cQ();return i.decode=(e,t)=>{const r=n(e,t);return o.decode(r)},i.encode=(e,t,n)=>{const i=o.encode(e);return r(i,t,n)},i}const P0=Object.freeze({Create:{index:0,layout:JJ([GJ("instruction"),YJ("lamports"),YJ("space"),n0("programId")])},Assign:{index:1,layout:JJ([GJ("instruction"),n0("programId")])},Transfer:{index:2,layout:JJ([GJ("instruction"),A0("lamports")])},CreateWithSeed:{index:3,layout:JJ([GJ("instruction"),n0("base"),r0("seed"),YJ("lamports"),YJ("space"),n0("programId")])},AdvanceNonceAccount:{index:4,layout:JJ([GJ("instruction")])},WithdrawNonceAccount:{index:5,layout:JJ([GJ("instruction"),YJ("lamports")])},InitializeNonceAccount:{index:6,layout:JJ([GJ("instruction"),n0("authorized")])},AuthorizeNonceAccount:{index:7,layout:JJ([GJ("instruction"),n0("authorized")])},Allocate:{index:8,layout:JJ([GJ("instruction"),YJ("space")])},AllocateWithSeed:{index:9,layout:JJ([GJ("instruction"),n0("base"),r0("seed"),YJ("space"),n0("programId")])},AssignWithSeed:{index:10,layout:JJ([GJ("instruction"),n0("base"),r0("seed"),n0("programId")])},TransferWithSeed:{index:11,layout:JJ([GJ("instruction"),A0("lamports"),r0("seed"),n0("programId")])},UpgradeNonceAccount:{index:12,layout:JJ([GJ("instruction")])}});class O0{constructor(){}static createAccount(e){const t=x0(P0.Create,{lamports:e.lamports,space:e.space,programId:HX(e.programId.toBuffer())});return new g0({keys:[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:t})}static transfer(e){let t,n;if("basePubkey"in e){t=x0(P0.TransferWithSeed,{lamports:BigInt(e.lamports),seed:e.seed,programId:HX(e.programId.toBuffer())}),n=[{pubkey:e.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}else{t=x0(P0.Transfer,{lamports:BigInt(e.lamports)}),n=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}return new g0({keys:n,programId:this.programId,data:t})}static assign(e){let t,n;if("basePubkey"in e){t=x0(P0.AssignWithSeed,{base:HX(e.basePubkey.toBuffer()),seed:e.seed,programId:HX(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{t=x0(P0.Assign,{programId:HX(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new g0({keys:n,programId:this.programId,data:t})}static createAccountWithSeed(e){const t=x0(P0.CreateWithSeed,{base:HX(e.basePubkey.toBuffer()),seed:e.seed,lamports:e.lamports,space:e.space,programId:HX(e.programId.toBuffer())});let n=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!1,isWritable:!0}];return e.basePubkey.equals(e.fromPubkey)||n.push({pubkey:e.basePubkey,isSigner:!0,isWritable:!1}),new g0({keys:n,programId:this.programId,data:t})}static createNonceAccount(e){const t=new y0;"basePubkey"in e&&"seed"in e?t.add(O0.createAccountWithSeed({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,basePubkey:e.basePubkey,seed:e.seed,lamports:e.lamports,space:C0,programId:this.programId})):t.add(O0.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,lamports:e.lamports,space:C0,programId:this.programId}));const n={noncePubkey:e.noncePubkey,authorizedPubkey:e.authorizedPubkey};return t.add(this.nonceInitialize(n)),t}static nonceInitialize(e){const t=x0(P0.InitializeNonceAccount,{authorized:HX(e.authorizedPubkey.toBuffer())}),n={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:b0,isSigner:!1,isWritable:!1},{pubkey:v0,isSigner:!1,isWritable:!1}],programId:this.programId,data:t};return new g0(n)}static nonceAdvance(e){const t=x0(P0.AdvanceNonceAccount),n={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:b0,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:t};return new g0(n)}static nonceWithdraw(e){const t=x0(P0.WithdrawNonceAccount,{lamports:e.lamports});return new g0({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0},{pubkey:b0,isSigner:!1,isWritable:!1},{pubkey:v0,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:t})}static nonceAuthorize(e){const t=x0(P0.AuthorizeNonceAccount,{authorized:HX(e.newAuthorizedPubkey.toBuffer())});return new g0({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:t})}static allocate(e){let t,n;if("basePubkey"in e){t=x0(P0.AllocateWithSeed,{base:HX(e.basePubkey.toBuffer()),seed:e.seed,space:e.space,programId:HX(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{t=x0(P0.Allocate,{space:e.space}),n=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new g0({keys:n,programId:this.programId,data:t})}}function M0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var T0,R0;function N0(){if(R0)return T0;R0=1;var e=Object.prototype.toString,t=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};function n(r,i){var o,s,a,c,l,u,d;if(!0===r)return"true";if(!1===r)return"false";switch(typeof r){case"object":if(null===r)return null;if(r.toJSON&&"function"==typeof r.toJSON)return n(r.toJSON(),i);if("[object Array]"===(d=e.call(r))){for(a="[",s=r.length-1,o=0;o<s;o++)a+=n(r[o],!0)+",";return s>-1&&(a+=n(r[o],!0)),a+"]"}if("[object Object]"===d){for(s=(c=t(r).sort()).length,a="",o=0;o<s;)void 0!==(u=n(r[l=c[o]],!1))&&(a&&(a+=","),a+=JSON.stringify(l)+":"+u),o++;return"{"+a+"}"}return JSON.stringify(r);case"function":case"undefined":return i?null:void 0;case"string":return JSON.stringify(r);default:return isFinite(r)?r:null}}return T0=function(e){var t=n(e,!1);if(void 0!==t)return""+t}}O0.programId=new YX("11111111111111111111111111111111"),new YX("BPFLoader2111111111111111111111111111111111");var L0=M0(N0());function B0(e){let t=0;for(;e>1;)e/=2,t++;return t}class j0{constructor(e,t,n,r,i){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=e,this.leaderScheduleSlotOffset=t,this.warmup=n,this.firstNormalEpoch=r,this.firstNormalSlot=i}getEpoch(e){return this.getEpochAndSlotIndex(e)[0]}getEpochAndSlotIndex(e){if(e<this.firstNormalSlot){const n=B0(0===(t=e+32+1)?1:(t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,1+(t|=t>>32)))-B0(32)-1;return[n,e-(this.getSlotsInEpoch(n)-32)]}{const t=e-this.firstNormalSlot,n=Math.floor(t/this.slotsPerEpoch);return[this.firstNormalEpoch+n,t%this.slotsPerEpoch]}var t}getFirstSlotInEpoch(e){return e<=this.firstNormalEpoch?32*(Math.pow(2,e)-1):(e-this.firstNormalEpoch)*this.slotsPerEpoch+this.firstNormalSlot}getLastSlotInEpoch(e){return this.getFirstSlotInEpoch(e)+this.getSlotsInEpoch(e)-1}getSlotsInEpoch(e){return e<this.firstNormalEpoch?Math.pow(2,e+B0(32)):this.slotsPerEpoch}}var D0=globalThis.fetch;class U0 extends yX{constructor(e,t,n){super(e=>{const n=function(e,t){return new mX(e,t)}(e,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...t});return this.underlyingSocket="socket"in n?n.socket:n,n},e,t,n),this.underlyingSocket=void 0}call(...e){var t;const n=null==(t=this.underlyingSocket)?void 0:t.readyState;return 1===n?super.call(...e):Promise.reject(new Error("Tried to call a JSON-RPC method `"+e[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+n+")"))}notify(...e){var t;const n=null==(t=this.underlyingSocket)?void 0:t.readyState;return 1===n?super.notify(...e):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+e[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+n+")"))}}class $0{constructor(e){this.key=void 0,this.state=void 0,this.key=e.key,this.state=e.state}isActive(){const e=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===e}static deserialize(e){const t=function(e,t){let n;try{n=e.layout.decode(t)}catch($He){throw new Error("invalid instruction; "+$He)}if(n.typeIndex!==e.index)throw new Error(`invalid account data; account type mismatch ${n.typeIndex} != ${e.index}`);return n}(F0,e),n=e.length-56;a0(n>=0,"lookup table is invalid"),a0(n%32==0,"lookup table is invalid");const r=n/32,{addresses:i}=JJ([QJ(n0(),r,"addresses")]).decode(e.slice(56));return{deactivationSlot:t.deactivationSlot,lastExtendedSlot:t.lastExtendedSlot,lastExtendedSlotStartIndex:t.lastExtendedStartIndex,authority:0!==t.authority.length?new YX(t.authority[0]):void 0,addresses:i.map(e=>new YX(e))}}}const F0={index:1,layout:JJ([GJ("typeIndex"),A0("deactivationSlot"),ZJ("lastExtendedSlot"),KJ("lastExtendedStartIndex"),KJ(),QJ(n0(),WJ(KJ(),-1),"authority")])},z0=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;const q0=NQ(xQ(YX),PQ(),e=>new YX(e)),H0=OQ([PQ(),kQ("base64")]),W0=NQ(xQ(Ze),H0,e=>Ze.from(e[0],"base64"));function K0(e){let t,n;if("string"==typeof e)t=e;else if(e){const{commitment:r,...i}=e;t=r,n=i}return{commitment:t,config:n}}function V0(e){return e.map(e=>"memcmp"in e?{...e,memcmp:{...e.memcmp,encoding:e.memcmp.encoding??"base58"}}:e)}function G0(e){return TQ([MQ({jsonrpc:kQ("2.0"),id:PQ(),result:e}),MQ({jsonrpc:kQ("2.0"),id:PQ(),error:MQ({code:RQ(),message:PQ(),data:IQ(wQ("any",()=>!0))})})])}const Z0=G0(RQ());function Y0(e){return NQ(G0(e),Z0,t=>"error"in t?t:{...t,result:yQ(t.result,e)})}function J0(e){return Y0(MQ({context:MQ({slot:CQ()}),value:e}))}function Q0(e){return MQ({context:MQ({slot:CQ()}),value:e})}function X0(e,t){return 0===e?new f0({header:t.header,staticAccountKeys:t.accountKeys.map(e=>new YX(e)),recentBlockhash:t.recentBlockhash,compiledInstructions:t.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:CY.decode(e.data)})),addressTableLookups:t.addressTableLookups}):new h0(t)}const e1=MQ({foundation:CQ(),foundationTerm:CQ(),initial:CQ(),taper:CQ(),terminal:CQ()}),t1=Y0(_Q(SQ(MQ({epoch:CQ(),effectiveSlot:CQ(),amount:CQ(),postBalance:CQ(),commission:IQ(SQ(CQ()))})))),n1=_Q(MQ({slot:CQ(),prioritizationFee:CQ()})),r1=MQ({total:CQ(),validator:CQ(),foundation:CQ(),epoch:CQ()}),i1=MQ({epoch:CQ(),slotIndex:CQ(),slotsInEpoch:CQ(),absoluteSlot:CQ(),blockHeight:IQ(CQ()),transactionCount:IQ(CQ())}),o1=MQ({slotsPerEpoch:CQ(),leaderScheduleSlotOffset:CQ(),warmup:EQ(),firstNormalEpoch:CQ(),firstNormalSlot:CQ()}),s1=AQ(PQ(),_Q(CQ())),a1=SQ(TQ([MQ({}),PQ()])),c1=MQ({err:a1}),l1=kQ("receivedSignature"),u1=MQ({"solana-core":PQ(),"feature-set":IQ(CQ())}),d1=MQ({program:PQ(),programId:q0,parsed:RQ()}),h1=MQ({programId:q0,accounts:_Q(q0),data:PQ()}),f1=J0(MQ({err:SQ(TQ([MQ({}),PQ()])),logs:SQ(_Q(PQ())),accounts:IQ(SQ(_Q(SQ(MQ({executable:EQ(),owner:PQ(),lamports:CQ(),data:_Q(PQ()),rentEpoch:IQ(CQ())}))))),unitsConsumed:IQ(CQ()),returnData:IQ(SQ(MQ({programId:PQ(),data:OQ([PQ(),kQ("base64")])}))),innerInstructions:IQ(SQ(_Q(MQ({index:CQ(),instructions:_Q(TQ([d1,h1]))}))))})),p1=J0(MQ({byIdentity:AQ(PQ(),_Q(CQ())),range:MQ({firstSlot:CQ(),lastSlot:CQ()})}));const m1=Y0(e1),g1=Y0(r1),y1=Y0(n1),b1=Y0(i1),v1=Y0(o1),w1=Y0(s1),_1=Y0(CQ()),E1=J0(MQ({total:CQ(),circulating:CQ(),nonCirculating:CQ(),nonCirculatingAccounts:_Q(q0)})),x1=MQ({amount:PQ(),uiAmount:SQ(CQ()),decimals:CQ(),uiAmountString:IQ(PQ())}),k1=J0(_Q(MQ({address:q0,amount:PQ(),uiAmount:SQ(CQ()),decimals:CQ(),uiAmountString:IQ(PQ())}))),S1=J0(_Q(MQ({pubkey:q0,account:MQ({executable:EQ(),owner:q0,lamports:CQ(),data:W0,rentEpoch:CQ()})}))),C1=MQ({program:PQ(),parsed:RQ(),space:CQ()}),I1=J0(_Q(MQ({pubkey:q0,account:MQ({executable:EQ(),owner:q0,lamports:CQ(),data:C1,rentEpoch:CQ()})}))),A1=J0(_Q(MQ({lamports:CQ(),address:q0}))),P1=MQ({executable:EQ(),owner:q0,lamports:CQ(),data:W0,rentEpoch:CQ()}),O1=MQ({pubkey:q0,account:P1}),M1=NQ(TQ([xQ(Ze),C1]),TQ([H0,C1]),e=>Array.isArray(e)?yQ(e,W0):e),T1=MQ({executable:EQ(),owner:q0,lamports:CQ(),data:M1,rentEpoch:CQ()}),R1=MQ({pubkey:q0,account:T1}),N1=MQ({state:TQ([kQ("active"),kQ("inactive"),kQ("activating"),kQ("deactivating")]),active:CQ(),inactive:CQ()}),L1=Y0(_Q(MQ({signature:PQ(),slot:CQ(),err:a1,memo:SQ(PQ()),blockTime:IQ(SQ(CQ()))}))),B1=Y0(_Q(MQ({signature:PQ(),slot:CQ(),err:a1,memo:SQ(PQ()),blockTime:IQ(SQ(CQ()))}))),j1=MQ({subscription:CQ(),result:Q0(P1)}),D1=MQ({pubkey:q0,account:P1}),U1=MQ({subscription:CQ(),result:Q0(D1)}),$1=MQ({parent:CQ(),slot:CQ(),root:CQ()}),F1=MQ({subscription:CQ(),result:$1}),z1=TQ([MQ({type:TQ([kQ("firstShredReceived"),kQ("completed"),kQ("optimisticConfirmation"),kQ("root")]),slot:CQ(),timestamp:CQ()}),MQ({type:kQ("createdBank"),parent:CQ(),slot:CQ(),timestamp:CQ()}),MQ({type:kQ("frozen"),slot:CQ(),timestamp:CQ(),stats:MQ({numTransactionEntries:CQ(),numSuccessfulTransactions:CQ(),numFailedTransactions:CQ(),maxTransactionsPerEntry:CQ()})}),MQ({type:kQ("dead"),slot:CQ(),timestamp:CQ(),err:PQ()})]),q1=MQ({subscription:CQ(),result:z1}),H1=MQ({subscription:CQ(),result:Q0(TQ([c1,l1]))}),W1=MQ({subscription:CQ(),result:CQ()}),K1=MQ({pubkey:PQ(),gossip:SQ(PQ()),tpu:SQ(PQ()),rpc:SQ(PQ()),version:SQ(PQ())}),V1=MQ({votePubkey:PQ(),nodePubkey:PQ(),activatedStake:CQ(),epochVoteAccount:EQ(),epochCredits:_Q(OQ([CQ(),CQ(),CQ()])),commission:CQ(),lastVote:CQ(),rootSlot:SQ(CQ())}),G1=Y0(MQ({current:_Q(V1),delinquent:_Q(V1)})),Z1=TQ([kQ("processed"),kQ("confirmed"),kQ("finalized")]),Y1=MQ({slot:CQ(),confirmations:SQ(CQ()),err:a1,confirmationStatus:IQ(Z1)}),J1=J0(_Q(SQ(Y1))),Q1=Y0(CQ()),X1=MQ({accountKey:q0,writableIndexes:_Q(CQ()),readonlyIndexes:_Q(CQ())}),e2=MQ({signatures:_Q(PQ()),message:MQ({accountKeys:_Q(PQ()),header:MQ({numRequiredSignatures:CQ(),numReadonlySignedAccounts:CQ(),numReadonlyUnsignedAccounts:CQ()}),instructions:_Q(MQ({accounts:_Q(CQ()),data:PQ(),programIdIndex:CQ()})),recentBlockhash:PQ(),addressTableLookups:IQ(_Q(X1))})}),t2=MQ({pubkey:q0,signer:EQ(),writable:EQ(),source:IQ(TQ([kQ("transaction"),kQ("lookupTable")]))}),n2=MQ({accountKeys:_Q(t2),signatures:_Q(PQ())}),r2=MQ({parsed:RQ(),program:PQ(),programId:q0}),i2=MQ({accounts:_Q(q0),data:PQ(),programId:q0}),o2=NQ(TQ([i2,r2]),TQ([MQ({parsed:RQ(),program:PQ(),programId:PQ()}),MQ({accounts:_Q(PQ()),data:PQ(),programId:PQ()})]),e=>yQ(e,"accounts"in e?i2:r2)),s2=MQ({signatures:_Q(PQ()),message:MQ({accountKeys:_Q(t2),instructions:_Q(o2),recentBlockhash:PQ(),addressTableLookups:IQ(SQ(_Q(X1)))})}),a2=MQ({accountIndex:CQ(),mint:PQ(),owner:IQ(PQ()),programId:IQ(PQ()),uiTokenAmount:x1}),c2=MQ({writable:_Q(q0),readonly:_Q(q0)}),l2=MQ({err:a1,fee:CQ(),innerInstructions:IQ(SQ(_Q(MQ({index:CQ(),instructions:_Q(MQ({accounts:_Q(CQ()),data:PQ(),programIdIndex:CQ()}))})))),preBalances:_Q(CQ()),postBalances:_Q(CQ()),logMessages:IQ(SQ(_Q(PQ()))),preTokenBalances:IQ(SQ(_Q(a2))),postTokenBalances:IQ(SQ(_Q(a2))),loadedAddresses:IQ(c2),computeUnitsConsumed:IQ(CQ()),costUnits:IQ(CQ())}),u2=MQ({err:a1,fee:CQ(),innerInstructions:IQ(SQ(_Q(MQ({index:CQ(),instructions:_Q(o2)})))),preBalances:_Q(CQ()),postBalances:_Q(CQ()),logMessages:IQ(SQ(_Q(PQ()))),preTokenBalances:IQ(SQ(_Q(a2))),postTokenBalances:IQ(SQ(_Q(a2))),loadedAddresses:IQ(c2),computeUnitsConsumed:IQ(CQ()),costUnits:IQ(CQ())}),d2=TQ([kQ(0),kQ("legacy")]),h2=MQ({pubkey:PQ(),lamports:CQ(),postBalance:SQ(CQ()),rewardType:SQ(PQ()),commission:IQ(SQ(CQ()))}),f2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:e2,meta:SQ(l2),version:IQ(d2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),p2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),m2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:n2,meta:SQ(l2),version:IQ(d2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),g2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:s2,meta:SQ(u2),version:IQ(d2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),y2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:n2,meta:SQ(u2),version:IQ(d2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),b2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),rewards:IQ(_Q(h2)),blockTime:SQ(CQ()),blockHeight:SQ(CQ())}))),v2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),transactions:_Q(MQ({transaction:e2,meta:SQ(l2)})),rewards:IQ(_Q(h2)),blockTime:SQ(CQ())}))),w2=Y0(SQ(MQ({blockhash:PQ(),previousBlockhash:PQ(),parentSlot:CQ(),signatures:_Q(PQ()),blockTime:SQ(CQ())}))),_2=Y0(SQ(MQ({slot:CQ(),meta:SQ(l2),blockTime:IQ(SQ(CQ())),transaction:e2,version:IQ(d2)}))),E2=Y0(SQ(MQ({slot:CQ(),transaction:s2,meta:SQ(u2),blockTime:IQ(SQ(CQ())),version:IQ(d2)}))),x2=J0(MQ({blockhash:PQ(),lastValidBlockHeight:CQ()})),k2=J0(EQ()),S2=Y0(_Q(MQ({slot:CQ(),numTransactions:CQ(),numSlots:CQ(),samplePeriodSecs:CQ()}))),C2=J0(SQ(MQ({feeCalculator:MQ({lamportsPerSignature:CQ()})}))),I2=Y0(PQ()),A2=Y0(PQ()),P2=MQ({err:a1,logs:_Q(PQ()),signature:PQ()}),O2=MQ({result:Q0(P2),subscription:CQ()}),M2={"solana-client":"js/1.0.0-maintenance"};class T2{constructor(e,t){let n,r,i,o,s,a;var c;this._commitment=void 0,this._confirmTransactionInitialTimeout=void 0,this._rpcEndpoint=void 0,this._rpcWsEndpoint=void 0,this._rpcClient=void 0,this._rpcRequest=void 0,this._rpcBatchRequest=void 0,this._rpcWebSocket=void 0,this._rpcWebSocketConnected=!1,this._rpcWebSocketHeartbeat=null,this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketGeneration=0,this._disableBlockhashCaching=!1,this._pollingBlockhash=!1,this._blockhashInfo={latestBlockhash:null,lastFetch:0,transactionSignatures:[],simulatedSignatures:[]},this._nextClientSubscriptionId=0,this._subscriptionDisposeFunctionsByClientSubscriptionId={},this._subscriptionHashByClientSubscriptionId={},this._subscriptionStateChangeCallbacksByHash={},this._subscriptionCallbacksByServerSubscriptionId={},this._subscriptionsByHash={},this._subscriptionsAutoDisposedByRpc=new Set,this.getBlockHeight=(()=>{const e={};return async t=>{const{commitment:n,config:r}=K0(t),i=this._buildArgs([],n,void 0,r),o=L0(i);return e[o]=e[o]??(async()=>{try{const e=yQ(await this._rpcRequest("getBlockHeight",i),Y0(CQ()));if("error"in e)throw new _0(e.error,"failed to get block height information");return e.result}finally{delete e[o]}})(),await e[o]}})(),t&&"string"==typeof t?this._commitment=t:t&&(this._commitment=t.commitment,this._confirmTransactionInitialTimeout=t.confirmTransactionInitialTimeout,n=t.wsEndpoint,r=t.httpHeaders,i=t.fetch,o=t.fetchMiddleware,s=t.disableRetryOnRateLimit,a=t.httpAgent),this._rpcEndpoint=function(e){if(!1===/^https?:/.test(e))throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return e}(e),this._rpcWsEndpoint=n||function(e){const t=e.match(z0);if(null==t)throw TypeError(`Failed to validate endpoint URL \`${e}\``);const[n,r,i,o]=t,s=e.startsWith("https:")?"wss:":"ws:",a=null==i?null:parseInt(i.slice(1),10);return`${s}//${r}${null==a?"":`:${a+1}`}${o}`}(e),this._rpcClient=function(e,t,n,r,i,o){const s=n||D0;let a;null!=o&&console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments."),r&&(a=async(e,t)=>{const n=await new Promise((n,i)=>{try{r(e,t,(e,t)=>n([e,t]))}catch(cF){i(cF)}});return await s(...n)});const c=new pX(async(n,r)=>{const o={method:"POST",body:n,agent:void 0,headers:Object.assign({"Content-Type":"application/json"},t||{},M2)};try{let t,n=5,c=500;for(;t=a?await a(e,o):await s(e,o),429===t.status&&!0!==i&&(n-=1,0!==n);)console.error(`Server responded with ${t.status} ${t.statusText}. Retrying after ${c}ms delay...`),await E0(c),c*=2;const l=await t.text();t.ok?r(null,l):r(new Error(`${t.status} ${t.statusText}: ${l}`))}catch($He){$He instanceof Error&&r($He)}},{});return c}(e,r,i,o,s,a),this._rpcRequest=(c=this._rpcClient,(e,t)=>new Promise((n,r)=>{c.request(e,t,(e,t)=>{e?r(e):n(t)})})),this._rpcBatchRequest=function(e){return t=>new Promise((n,r)=>{0===t.length&&n([]);const i=t.map(t=>e.request(t.methodName,t.args));e.request(i,(e,t)=>{e?r(e):n(t)})})}(this._rpcClient),this._rpcWebSocket=new U0(this._rpcWsEndpoint,{autoconnect:!1,max_reconnects:1/0}),this._rpcWebSocket.on("open",this._wsOnOpen.bind(this)),this._rpcWebSocket.on("error",this._wsOnError.bind(this)),this._rpcWebSocket.on("close",this._wsOnClose.bind(this)),this._rpcWebSocket.on("accountNotification",this._wsOnAccountNotification.bind(this)),this._rpcWebSocket.on("programNotification",this._wsOnProgramAccountNotification.bind(this)),this._rpcWebSocket.on("slotNotification",this._wsOnSlotNotification.bind(this)),this._rpcWebSocket.on("slotsUpdatesNotification",this._wsOnSlotUpdatesNotification.bind(this)),this._rpcWebSocket.on("signatureNotification",this._wsOnSignatureNotification.bind(this)),this._rpcWebSocket.on("rootNotification",this._wsOnRootNotification.bind(this)),this._rpcWebSocket.on("logsNotification",this._wsOnLogsNotification.bind(this))}get commitment(){return this._commitment}get rpcEndpoint(){return this._rpcEndpoint}async getBalanceAndContext(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e.toBase58()],n,void 0,r),o=yQ(await this._rpcRequest("getBalance",i),J0(CQ()));if("error"in o)throw new _0(o.error,`failed to get balance for ${e.toBase58()}`);return o.result}async getBalance(e,t){return await this.getBalanceAndContext(e,t).then(e=>e.value).catch(t=>{throw new Error("failed to get balance of account "+e.toBase58()+": "+t)})}async getBlockTime(e){const t=yQ(await this._rpcRequest("getBlockTime",[e]),Y0(SQ(CQ())));if("error"in t)throw new _0(t.error,`failed to get block time for slot ${e}`);return t.result}async getMinimumLedgerSlot(){const e=yQ(await this._rpcRequest("minimumLedgerSlot",[]),Y0(CQ()));if("error"in e)throw new _0(e.error,"failed to get minimum ledger slot");return e.result}async getFirstAvailableBlock(){const e=yQ(await this._rpcRequest("getFirstAvailableBlock",[]),_1);if("error"in e)throw new _0(e.error,"failed to get first available block");return e.result}async getSupply(e){let t={};t="string"==typeof e?{commitment:e}:e?{...e,commitment:e&&e.commitment||this.commitment}:{commitment:this.commitment};const n=yQ(await this._rpcRequest("getSupply",[t]),E1);if("error"in n)throw new _0(n.error,"failed to get supply");return n.result}async getTokenSupply(e,t){const n=this._buildArgs([e.toBase58()],t),r=yQ(await this._rpcRequest("getTokenSupply",n),J0(x1));if("error"in r)throw new _0(r.error,"failed to get token supply");return r.result}async getTokenAccountBalance(e,t){const n=this._buildArgs([e.toBase58()],t),r=yQ(await this._rpcRequest("getTokenAccountBalance",n),J0(x1));if("error"in r)throw new _0(r.error,"failed to get token account balance");return r.result}async getTokenAccountsByOwner(e,t,n){const{commitment:r,config:i}=K0(n);let o=[e.toBase58()];"mint"in t?o.push({mint:t.mint.toBase58()}):o.push({programId:t.programId.toBase58()});const s=this._buildArgs(o,r,"base64",i),a=yQ(await this._rpcRequest("getTokenAccountsByOwner",s),S1);if("error"in a)throw new _0(a.error,`failed to get token accounts owned by account ${e.toBase58()}`);return a.result}async getParsedTokenAccountsByOwner(e,t,n){let r=[e.toBase58()];"mint"in t?r.push({mint:t.mint.toBase58()}):r.push({programId:t.programId.toBase58()});const i=this._buildArgs(r,n,"jsonParsed"),o=yQ(await this._rpcRequest("getTokenAccountsByOwner",i),I1);if("error"in o)throw new _0(o.error,`failed to get token accounts owned by account ${e.toBase58()}`);return o.result}async getLargestAccounts(e){const t={...e,commitment:e&&e.commitment||this.commitment},n=t.filter||t.commitment?[t]:[],r=yQ(await this._rpcRequest("getLargestAccounts",n),A1);if("error"in r)throw new _0(r.error,"failed to get largest accounts");return r.result}async getTokenLargestAccounts(e,t){const n=this._buildArgs([e.toBase58()],t),r=yQ(await this._rpcRequest("getTokenLargestAccounts",n),k1);if("error"in r)throw new _0(r.error,"failed to get token largest accounts");return r.result}async getAccountInfoAndContext(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e.toBase58()],n,"base64",r),o=yQ(await this._rpcRequest("getAccountInfo",i),J0(SQ(P1)));if("error"in o)throw new _0(o.error,`failed to get info about account ${e.toBase58()}`);return o.result}async getParsedAccountInfo(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e.toBase58()],n,"jsonParsed",r),o=yQ(await this._rpcRequest("getAccountInfo",i),J0(SQ(T1)));if("error"in o)throw new _0(o.error,`failed to get info about account ${e.toBase58()}`);return o.result}async getAccountInfo(e,t){try{return(await this.getAccountInfoAndContext(e,t)).value}catch(KAe){throw new Error("failed to get info about account "+e.toBase58()+": "+KAe)}}async getMultipleParsedAccounts(e,t){const{commitment:n,config:r}=K0(t),i=e.map(e=>e.toBase58()),o=this._buildArgs([i],n,"jsonParsed",r),s=yQ(await this._rpcRequest("getMultipleAccounts",o),J0(_Q(SQ(T1))));if("error"in s)throw new _0(s.error,`failed to get info for accounts ${i}`);return s.result}async getMultipleAccountsInfoAndContext(e,t){const{commitment:n,config:r}=K0(t),i=e.map(e=>e.toBase58()),o=this._buildArgs([i],n,"base64",r),s=yQ(await this._rpcRequest("getMultipleAccounts",o),J0(_Q(SQ(P1))));if("error"in s)throw new _0(s.error,`failed to get info for accounts ${i}`);return s.result}async getMultipleAccountsInfo(e,t){return(await this.getMultipleAccountsInfoAndContext(e,t)).value}async getStakeActivation(e,t,n){const{commitment:r,config:i}=K0(t),o=this._buildArgs([e.toBase58()],r,void 0,{...i,epoch:null!=n?n:null==i?void 0:i.epoch}),s=yQ(await this._rpcRequest("getStakeActivation",o),Y0(N1));if("error"in s)throw new _0(s.error,`failed to get Stake Activation ${e.toBase58()}`);return s.result}async getProgramAccounts(e,t){const{commitment:n,config:r}=K0(t),{encoding:i,...o}=r||{},s=this._buildArgs([e.toBase58()],n,i||"base64",{...o,...o.filters?{filters:V0(o.filters)}:null}),a=await this._rpcRequest("getProgramAccounts",s),c=_Q(O1),l=!0===o.withContext?yQ(a,J0(c)):yQ(a,Y0(c));if("error"in l)throw new _0(l.error,`failed to get accounts owned by program ${e.toBase58()}`);return l.result}async getParsedProgramAccounts(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e.toBase58()],n,"jsonParsed",r),o=yQ(await this._rpcRequest("getProgramAccounts",i),Y0(_Q(R1)));if("error"in o)throw new _0(o.error,`failed to get accounts owned by program ${e.toBase58()}`);return o.result}async confirmTransaction(e,t){var n;let r,i;if("string"==typeof e)r=e;else{const t=e;if(null==(n=t.abortSignal)?void 0:n.aborted)return Promise.reject(t.abortSignal.reason);r=t.signature}try{i=CY.decode(r)}catch($He){throw new Error("signature must be base58 encoded: "+r)}return a0(64===i.length,"signature has invalid length"),"string"==typeof e?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:t||this.commitment,signature:r}):"lastValidBlockHeight"in e?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t||this.commitment,strategy:e}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:t||this.commitment,strategy:e})}getCancellationPromise(e){return new Promise((t,n)=>{null!=e&&(e.aborted?n(e.reason):e.addEventListener("abort",()=>{n(e.reason)}))})}getTransactionConfirmationPromise({commitment:e,signature:t}){let n,r,i=!1;const o=new Promise((o,s)=>{try{n=this.onSignature(t,(e,t)=>{n=void 0;const r={context:t,value:e};o({__type:p0.PROCESSED,response:r})},e);const a=new Promise(e=>{null==n?e():r=this._onSubscriptionStateChange(n,t=>{"subscribed"===t&&e()})});(async()=>{if(await a,i)return;const n=await this.getSignatureStatus(t);if(i)return;if(null==n)return;const{context:r,value:c}=n;if(null!=c)if(null==c?void 0:c.err)s(c.err);else{switch(e){case"confirmed":case"single":case"singleGossip":if("processed"===c.confirmationStatus)return;break;case"finalized":case"max":case"root":if("processed"===c.confirmationStatus||"confirmed"===c.confirmationStatus)return}i=!0,o({__type:p0.PROCESSED,response:{context:r,value:c}})}})()}catch($He){s($He)}});return{abortConfirmation:()=>{r&&(r(),r=void 0),null!=n&&(this.removeSignatureListener(n),n=void 0)},confirmationPromise:o}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:e,strategy:{abortSignal:t,lastValidBlockHeight:n,signature:r}}){let i=!1;const o=new Promise(t=>{const r=async()=>{try{return await this.getBlockHeight(e)}catch(t){return-1}};(async()=>{let e=await r();if(!i){for(;e<=n;){if(await E0(1e3),i)return;if(e=await r(),i)return}t({__type:p0.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:s,confirmationPromise:a}=this.getTransactionConfirmationPromise({commitment:e,signature:r}),c=this.getCancellationPromise(t);let l;try{const e=await Promise.race([c,a,o]);if(e.__type!==p0.PROCESSED)throw new QX(r);l=e.response}finally{i=!0,s()}return l}async confirmTransactionUsingDurableNonceStrategy({commitment:e,strategy:{abortSignal:t,minContextSlot:n,nonceAccountPubkey:r,nonceValue:i,signature:o}}){let s=!1;const a=new Promise(t=>{let o=i,a=null;const c=async()=>{try{const{context:t,value:i}=await this.getNonceAndContext(r,{commitment:e,minContextSlot:n});return a=t.slot,null==i?void 0:i.nonce}catch(KAe){return o}};(async()=>{if(o=await c(),!s)for(;;){if(i!==o)return void t({__type:p0.NONCE_INVALID,slotInWhichNonceDidAdvance:a});if(await E0(2e3),s)return;if(o=await c(),s)return}})()}),{abortConfirmation:c,confirmationPromise:l}=this.getTransactionConfirmationPromise({commitment:e,signature:o}),u=this.getCancellationPromise(t);let d;try{const t=await Promise.race([u,l,a]);if(t.__type===p0.PROCESSED)d=t.response;else{let r;for(;;){const e=await this.getSignatureStatus(o);if(null==e)break;if(!(e.context.slot<(t.slotInWhichNonceDidAdvance??n))){r=e;break}await E0(400)}if(!(null==r?void 0:r.value))throw new e0(o);{const t=e||"finalized",{confirmationStatus:n}=r.value;switch(t){case"processed":case"recent":if("processed"!==n&&"confirmed"!==n&&"finalized"!==n)throw new e0(o);break;case"confirmed":case"single":case"singleGossip":if("confirmed"!==n&&"finalized"!==n)throw new e0(o);break;case"finalized":case"max":case"root":if("finalized"!==n)throw new e0(o)}d={context:r.context,value:{err:r.value.err}}}}}finally{s=!0,c()}return d}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:e,signature:t}){let n;const r=new Promise(t=>{let r=this._confirmTransactionInitialTimeout||6e4;switch(e){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":r=this._confirmTransactionInitialTimeout||3e4}n=setTimeout(()=>t({__type:p0.TIMED_OUT,timeoutMs:r}),r)}),{abortConfirmation:i,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:e,signature:t});let s;try{const e=await Promise.race([o,r]);if(e.__type!==p0.PROCESSED)throw new XX(t,e.timeoutMs/1e3);s=e.response}finally{clearTimeout(n),i()}return s}async getClusterNodes(){const e=yQ(await this._rpcRequest("getClusterNodes",[]),Y0(_Q(K1)));if("error"in e)throw new _0(e.error,"failed to get cluster nodes");return e.result}async getVoteAccounts(e){const t=this._buildArgs([],e),n=yQ(await this._rpcRequest("getVoteAccounts",t),G1);if("error"in n)throw new _0(n.error,"failed to get vote accounts");return n.result}async getSlot(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getSlot",r),Y0(CQ()));if("error"in i)throw new _0(i.error,"failed to get slot");return i.result}async getSlotLeader(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getSlotLeader",r),Y0(PQ()));if("error"in i)throw new _0(i.error,"failed to get slot leader");return i.result}async getSlotLeaders(e,t){const n=[e,t],r=yQ(await this._rpcRequest("getSlotLeaders",n),Y0(_Q(q0)));if("error"in r)throw new _0(r.error,"failed to get slot leaders");return r.result}async getSignatureStatus(e,t){const{context:n,value:r}=await this.getSignatureStatuses([e],t);a0(1===r.length);return{context:n,value:r[0]}}async getSignatureStatuses(e,t){const n=[e];t&&n.push(t);const r=yQ(await this._rpcRequest("getSignatureStatuses",n),J1);if("error"in r)throw new _0(r.error,"failed to get signature status");return r.result}async getTransactionCount(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getTransactionCount",r),Y0(CQ()));if("error"in i)throw new _0(i.error,"failed to get transaction count");return i.result}async getTotalSupply(e){return(await this.getSupply({commitment:e,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(e){const t=this._buildArgs([],e),n=yQ(await this._rpcRequest("getInflationGovernor",t),m1);if("error"in n)throw new _0(n.error,"failed to get inflation");return n.result}async getInflationReward(e,t,n){const{commitment:r,config:i}=K0(n),o=this._buildArgs([e.map(e=>e.toBase58())],r,void 0,{...i,epoch:null!=t?t:null==i?void 0:i.epoch}),s=yQ(await this._rpcRequest("getInflationReward",o),t1);if("error"in s)throw new _0(s.error,"failed to get inflation reward");return s.result}async getInflationRate(){const e=yQ(await this._rpcRequest("getInflationRate",[]),g1);if("error"in e)throw new _0(e.error,"failed to get inflation rate");return e.result}async getEpochInfo(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getEpochInfo",r),b1);if("error"in i)throw new _0(i.error,"failed to get epoch info");return i.result}async getEpochSchedule(){const e=yQ(await this._rpcRequest("getEpochSchedule",[]),v1);if("error"in e)throw new _0(e.error,"failed to get epoch schedule");const t=e.result;return new j0(t.slotsPerEpoch,t.leaderScheduleSlotOffset,t.warmup,t.firstNormalEpoch,t.firstNormalSlot)}async getLeaderSchedule(){const e=yQ(await this._rpcRequest("getLeaderSchedule",[]),w1);if("error"in e)throw new _0(e.error,"failed to get leader schedule");return e.result}async getMinimumBalanceForRentExemption(e,t){const n=this._buildArgs([e],t),r=yQ(await this._rpcRequest("getMinimumBalanceForRentExemption",n),Q1);return"error"in r?(console.warn("Unable to fetch minimum balance for rent exemption"),0):r.result}async getRecentBlockhashAndContext(e){const{context:t,value:{blockhash:n}}=await this.getLatestBlockhashAndContext(e);return{context:t,value:{blockhash:n,feeCalculator:{get lamportsPerSignature(){throw new Error("The capability to fetch `lamportsPerSignature` using the `getRecentBlockhash` API is no longer offered by the network. Use the `getFeeForMessage` API to obtain the fee for a given message.")},toJSON:()=>({})}}}}async getRecentPerformanceSamples(e){const t=yQ(await this._rpcRequest("getRecentPerformanceSamples",e?[e]:[]),S2);if("error"in t)throw new _0(t.error,"failed to get recent performance samples");return t.result}async getFeeCalculatorForBlockhash(e,t){const n=this._buildArgs([e],t),r=yQ(await this._rpcRequest("getFeeCalculatorForBlockhash",n),C2);if("error"in r)throw new _0(r.error,"failed to get fee calculator");const{context:i,value:o}=r.result;return{context:i,value:null!==o?o.feeCalculator:null}}async getFeeForMessage(e,t){const n=HX(e.serialize()).toString("base64"),r=this._buildArgs([n],t),i=yQ(await this._rpcRequest("getFeeForMessage",r),J0(SQ(CQ())));if("error"in i)throw new _0(i.error,"failed to get fee for message");if(null===i.result)throw new Error("invalid blockhash");return i.result}async getRecentPrioritizationFees(e){var t;const n=null==(t=null==e?void 0:e.lockedWritableAccounts)?void 0:t.map(e=>e.toBase58()),r=(null==n?void 0:n.length)?[n]:[],i=yQ(await this._rpcRequest("getRecentPrioritizationFees",r),y1);if("error"in i)throw new _0(i.error,"failed to get recent prioritization fees");return i.result}async getRecentBlockhash(e){try{return(await this.getRecentBlockhashAndContext(e)).value}catch(KAe){throw new Error("failed to get recent blockhash: "+KAe)}}async getLatestBlockhash(e){try{return(await this.getLatestBlockhashAndContext(e)).value}catch(KAe){throw new Error("failed to get recent blockhash: "+KAe)}}async getLatestBlockhashAndContext(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,void 0,n),i=yQ(await this._rpcRequest("getLatestBlockhash",r),x2);if("error"in i)throw new _0(i.error,"failed to get latest blockhash");return i.result}async isBlockhashValid(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgs([e],n,void 0,r),o=yQ(await this._rpcRequest("isBlockhashValid",i),k2);if("error"in o)throw new _0(o.error,"failed to determine if the blockhash `"+e+"`is valid");return o.result}async getVersion(){const e=yQ(await this._rpcRequest("getVersion",[]),Y0(u1));if("error"in e)throw new _0(e.error,"failed to get version");return e.result}async getGenesisHash(){const e=yQ(await this._rpcRequest("getGenesisHash",[]),Y0(PQ()));if("error"in e)throw new _0(e.error,"failed to get genesis hash");return e.result}async getBlock(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgsAtLeastConfirmed([e],n,void 0,r),o=await this._rpcRequest("getBlock",i);try{switch(null==r?void 0:r.transactionDetails){case"accounts":{const e=yQ(o,m2);if("error"in e)throw e.error;return e.result}case"none":{const e=yQ(o,p2);if("error"in e)throw e.error;return e.result}default:{const e=yQ(o,f2);if("error"in e)throw e.error;const{result:t}=e;return t?{...t,transactions:t.transactions.map(({transaction:e,meta:t,version:n})=>({meta:t,transaction:{...e,message:X0(n,e.message)},version:n}))}:null}}}catch(KAe){throw new _0(KAe,"failed to get confirmed block")}}async getParsedBlock(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",r),o=await this._rpcRequest("getBlock",i);try{switch(null==r?void 0:r.transactionDetails){case"accounts":{const e=yQ(o,y2);if("error"in e)throw e.error;return e.result}case"none":{const e=yQ(o,b2);if("error"in e)throw e.error;return e.result}default:{const e=yQ(o,g2);if("error"in e)throw e.error;return e.result}}}catch(KAe){throw new _0(KAe,"failed to get block")}}async getBlockProduction(e){let t,n;if("string"==typeof e)n=e;else if(e){const{commitment:r,...i}=e;n=r,t=i}const r=this._buildArgs([],n,"base64",t),i=yQ(await this._rpcRequest("getBlockProduction",r),p1);if("error"in i)throw new _0(i.error,"failed to get block production information");return i.result}async getTransaction(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgsAtLeastConfirmed([e],n,void 0,r),o=yQ(await this._rpcRequest("getTransaction",i),_2);if("error"in o)throw new _0(o.error,"failed to get transaction");const s=o.result;return s?{...s,transaction:{...s.transaction,message:X0(s.version,s.transaction.message)}}:s}async getParsedTransaction(e,t){const{commitment:n,config:r}=K0(t),i=this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",r),o=yQ(await this._rpcRequest("getTransaction",i),E2);if("error"in o)throw new _0(o.error,"failed to get transaction");return o.result}async getParsedTransactions(e,t){const{commitment:n,config:r}=K0(t),i=e.map(e=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",r)}));return(await this._rpcBatchRequest(i)).map(e=>{const t=yQ(e,E2);if("error"in t)throw new _0(t.error,"failed to get transactions");return t.result})}async getTransactions(e,t){const{commitment:n,config:r}=K0(t),i=e.map(e=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([e],n,void 0,r)}));return(await this._rpcBatchRequest(i)).map(e=>{const t=yQ(e,_2);if("error"in t)throw new _0(t.error,"failed to get transactions");const n=t.result;return n?{...n,transaction:{...n.transaction,message:X0(n.version,n.transaction.message)}}:n})}async getConfirmedBlock(e,t){const n=this._buildArgsAtLeastConfirmed([e],t),r=yQ(await this._rpcRequest("getBlock",n),v2);if("error"in r)throw new _0(r.error,"failed to get confirmed block");const i=r.result;if(!i)throw new Error("Confirmed block "+e+" not found");const o={...i,transactions:i.transactions.map(({transaction:e,meta:t})=>{const n=new h0(e.message);return{meta:t,transaction:{...e,message:n}}})};return{...o,transactions:o.transactions.map(({transaction:e,meta:t})=>({meta:t,transaction:y0.populate(e.message,e.signatures)}))}}async getBlocks(e,t,n){const r=this._buildArgsAtLeastConfirmed(void 0!==t?[e,t]:[e],n),i=yQ(await this._rpcRequest("getBlocks",r),Y0(_Q(CQ())));if("error"in i)throw new _0(i.error,"failed to get blocks");return i.result}async getBlockSignatures(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,void 0,{transactionDetails:"signatures",rewards:!1}),r=yQ(await this._rpcRequest("getBlock",n),w2);if("error"in r)throw new _0(r.error,"failed to get block");const i=r.result;if(!i)throw new Error("Block "+e+" not found");return i}async getConfirmedBlockSignatures(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,void 0,{transactionDetails:"signatures",rewards:!1}),r=yQ(await this._rpcRequest("getBlock",n),w2);if("error"in r)throw new _0(r.error,"failed to get confirmed block");const i=r.result;if(!i)throw new Error("Confirmed block "+e+" not found");return i}async getConfirmedTransaction(e,t){const n=this._buildArgsAtLeastConfirmed([e],t),r=yQ(await this._rpcRequest("getTransaction",n),_2);if("error"in r)throw new _0(r.error,"failed to get transaction");const i=r.result;if(!i)return i;const o=new h0(i.transaction.message),s=i.transaction.signatures;return{...i,transaction:y0.populate(o,s)}}async getParsedConfirmedTransaction(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,"jsonParsed"),r=yQ(await this._rpcRequest("getTransaction",n),E2);if("error"in r)throw new _0(r.error,"failed to get confirmed transaction");return r.result}async getParsedConfirmedTransactions(e,t){const n=e.map(e=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([e],t,"jsonParsed")}));return(await this._rpcBatchRequest(n)).map(e=>{const t=yQ(e,E2);if("error"in t)throw new _0(t.error,"failed to get confirmed transactions");return t.result})}async getConfirmedSignaturesForAddress(e,t,n){let r={},i=await this.getFirstAvailableBlock();for(;!("until"in r)&&!(--t<=0||t<i);)try{const e=await this.getConfirmedBlockSignatures(t,"finalized");e.signatures.length>0&&(r.until=e.signatures[e.signatures.length-1].toString())}catch($He){if($He instanceof Error&&$He.message.includes("skipped"))continue;throw $He}let o=await this.getSlot("finalized");for(;!("before"in r||++n>o);)try{const e=await this.getConfirmedBlockSignatures(n);e.signatures.length>0&&(r.before=e.signatures[e.signatures.length-1].toString())}catch($He){if($He instanceof Error&&$He.message.includes("skipped"))continue;throw $He}return(await this.getConfirmedSignaturesForAddress2(e,r)).map(e=>e.signature)}async getConfirmedSignaturesForAddress2(e,t,n){const r=this._buildArgsAtLeastConfirmed([e.toBase58()],n,void 0,t),i=yQ(await this._rpcRequest("getConfirmedSignaturesForAddress2",r),L1);if("error"in i)throw new _0(i.error,"failed to get confirmed signatures for address");return i.result}async getSignaturesForAddress(e,t,n){const r=this._buildArgsAtLeastConfirmed([e.toBase58()],n,void 0,t),i=yQ(await this._rpcRequest("getSignaturesForAddress",r),B1);if("error"in i)throw new _0(i.error,"failed to get signatures for address");return i.result}async getAddressLookupTable(e,t){const{context:n,value:r}=await this.getAccountInfoAndContext(e,t);let i=null;return null!==r&&(i=new $0({key:e,state:$0.deserialize(r.data)})),{context:n,value:i}}async getNonceAndContext(e,t){const{context:n,value:r}=await this.getAccountInfoAndContext(e,t);let i=null;return null!==r&&(i=I0.fromAccountData(r.data)),{context:n,value:i}}async getNonce(e,t){return await this.getNonceAndContext(e,t).then(e=>e.value).catch(t=>{throw new Error("failed to get nonce for account "+e.toBase58()+": "+t)})}async requestAirdrop(e,t){const n=yQ(await this._rpcRequest("requestAirdrop",[e.toBase58(),t]),I2);if("error"in n)throw new _0(n.error,`airdrop to ${e.toBase58()} failed`);return n.result}async _blockhashWithExpiryBlockHeight(e){if(!e){for(;this._pollingBlockhash;)await E0(100);const e=Date.now()-this._blockhashInfo.lastFetch>=3e4;if(null!==this._blockhashInfo.latestBlockhash&&!e)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{const e=Date.now(),t=this._blockhashInfo.latestBlockhash,n=t?t.blockhash:null;for(let r=0;r<50;r++){const e=await this.getLatestBlockhash("finalized");if(n!==e.blockhash)return this._blockhashInfo={latestBlockhash:e,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},e;await E0(200)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-e}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(e){const{commitment:t,config:n}=K0(e),r=this._buildArgs([],t,"base64",n),i=yQ(await this._rpcRequest("getStakeMinimumDelegation",r),J0(CQ()));if("error"in i)throw new _0(i.error,"failed to get stake minimum delegation");return i.result}async simulateTransaction(e,t,n){if("message"in e){const r=e.serialize(),i=Ze.from(r).toString("base64");if(Array.isArray(t)||void 0!==n)throw new Error("Invalid arguments");const o=t||{};o.encoding="base64","commitment"in o||(o.commitment=this.commitment),t&&"object"==typeof t&&"innerInstructions"in t&&(o.innerInstructions=t.innerInstructions);const s=[i,o],a=yQ(await this._rpcRequest("simulateTransaction",s),f1);if("error"in a)throw new Error("failed to simulate transaction: "+a.error.message);return a.result}let r;if(e instanceof y0){let t=e;r=new y0,r.feePayer=t.feePayer,r.instructions=e.instructions,r.nonceInfo=t.nonceInfo,r.signatures=t.signatures}else r=y0.populate(e),r._message=r._json=void 0;if(void 0!==t&&!Array.isArray(t))throw new Error("Invalid arguments");const i=t;if(r.nonceInfo&&i)r.sign(...i);else{let e=this._disableBlockhashCaching;for(;;){const t=await this._blockhashWithExpiryBlockHeight(e);if(r.lastValidBlockHeight=t.lastValidBlockHeight,r.recentBlockhash=t.blockhash,!i)break;if(r.sign(...i),!r.signature)throw new Error("!signature");const n=r.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(n)&&!this._blockhashInfo.transactionSignatures.includes(n)){this._blockhashInfo.simulatedSignatures.push(n);break}e=!0}}const o=r._compile(),s=o.serialize(),a=r._serialize(s).toString("base64"),c={encoding:"base64",commitment:this.commitment};if(n){const e=(Array.isArray(n)?n:o.nonProgramIds()).map(e=>e.toBase58());c.accounts={encoding:"base64",addresses:e}}i&&(c.sigVerify=!0),t&&"object"==typeof t&&"innerInstructions"in t&&(c.innerInstructions=t.innerInstructions);const l=[a,c],u=yQ(await this._rpcRequest("simulateTransaction",l),f1);if("error"in u){let e;if("data"in u.error&&(e=u.error.data.logs,e&&Array.isArray(e))){const t="\n ",n=t+e.join(t);console.error(u.error.message,n)}throw new w0({action:"simulate",signature:"",transactionMessage:u.error.message,logs:e})}return u.result}async sendTransaction(e,t,n){if("version"in e){if(t&&Array.isArray(t))throw new Error("Invalid arguments");const n=e.serialize();return await this.sendRawTransaction(n,t)}if(void 0===t||!Array.isArray(t))throw new Error("Invalid arguments");const r=t;if(e.nonceInfo)e.sign(...r);else{let t=this._disableBlockhashCaching;for(;;){const n=await this._blockhashWithExpiryBlockHeight(t);if(e.lastValidBlockHeight=n.lastValidBlockHeight,e.recentBlockhash=n.blockhash,e.sign(...r),!e.signature)throw new Error("!signature");const i=e.signature.toString("base64");if(!this._blockhashInfo.transactionSignatures.includes(i)){this._blockhashInfo.transactionSignatures.push(i);break}t=!0}}const i=e.serialize();return await this.sendRawTransaction(i,n)}async sendRawTransaction(e,t){const n=HX(e).toString("base64");return await this.sendEncodedTransaction(n,t)}async sendEncodedTransaction(e,t){const n={encoding:"base64"},r=t&&t.skipPreflight,i=!0===r?"processed":t&&t.preflightCommitment||this.commitment;t&&null!=t.maxRetries&&(n.maxRetries=t.maxRetries),t&&null!=t.minContextSlot&&(n.minContextSlot=t.minContextSlot),r&&(n.skipPreflight=r),i&&(n.preflightCommitment=i);const o=[e,n],s=yQ(await this._rpcRequest("sendTransaction",o),A2);if("error"in s){let e;throw"data"in s.error&&(e=s.error.data.logs),new w0({action:r?"send":"simulate",signature:"",transactionMessage:s.error.message,logs:e})}return s.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(e){this._rpcWebSocketConnected=!1,console.error("ws error:",e.message)}_wsOnClose(e){this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),1e3!==e?(this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([e,t])=>{this._setSubscription(e,{...t,state:"pending"})})):this._updateSubscriptions()}_setSubscription(e,t){var n;const r=null==(n=this._subscriptionsByHash[e])?void 0:n.state;if(this._subscriptionsByHash[e]=t,r!==t.state){const n=this._subscriptionStateChangeCallbacksByHash[e];n&&n.forEach(e=>{try{e(t.state)}catch{}})}}_onSubscriptionStateChange(e,t){var n;const r=this._subscriptionHashByClientSubscriptionId[e];if(null==r)return()=>{};const i=(n=this._subscriptionStateChangeCallbacksByHash)[r]||(n[r]=new Set);return i.add(t),()=>{i.delete(t),0===i.size&&delete this._subscriptionStateChangeCallbacksByHash[r]}}async _updateSubscriptions(){if(0===Object.keys(this._subscriptionsByHash).length)return void(this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch($He){Error}},500)));if(null!==this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected)return void this._rpcWebSocket.connect();const e=this._rpcWebSocketGeneration,t=()=>e===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async e=>{const n=this._subscriptionsByHash[e];if(void 0!==n)switch(n.state){case"pending":case"unsubscribed":if(0===n.callbacks.size)return delete this._subscriptionsByHash[e],"unsubscribed"===n.state&&delete this._subscriptionCallbacksByServerSubscriptionId[n.serverSubscriptionId],void(await this._updateSubscriptions());await(async()=>{const{args:r,method:i}=n;try{this._setSubscription(e,{...n,state:"subscribing"});const t=await this._rpcWebSocket.call(i,r);this._setSubscription(e,{...n,serverSubscriptionId:t,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[t]=n.callbacks,await this._updateSubscriptions()}catch(KAe){if(console.error(`Received ${KAe instanceof Error?"":"JSON-RPC "}error calling \`${i}\``,{args:r,error:KAe}),!t())return;this._setSubscription(e,{...n,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":0===n.callbacks.size&&await(async()=>{const{serverSubscriptionId:r,unsubscribeMethod:i}=n;if(this._subscriptionsAutoDisposedByRpc.has(r))this._subscriptionsAutoDisposedByRpc.delete(r);else{this._setSubscription(e,{...n,state:"unsubscribing"}),this._setSubscription(e,{...n,state:"unsubscribing"});try{await this._rpcWebSocket.call(i,[r])}catch(KAe){if(KAe instanceof Error&&console.error(`${i} error:`,KAe.message),!t())return;return this._setSubscription(e,{...n,state:"subscribed"}),void(await this._updateSubscriptions())}}this._setSubscription(e,{...n,state:"unsubscribed"}),await this._updateSubscriptions()})()}}))}_handleServerNotification(e,t){const n=this._subscriptionCallbacksByServerSubscriptionId[e];void 0!==n&&n.forEach(e=>{try{e(...t)}catch(KAe){console.error(KAe)}})}_wsOnAccountNotification(e){const{result:t,subscription:n}=yQ(e,j1);this._handleServerNotification(n,[t.value,t.context])}_makeSubscription(e,t){const n=this._nextClientSubscriptionId++,r=L0([e.method,t]),i=this._subscriptionsByHash[r];return void 0===i?this._subscriptionsByHash[r]={...e,args:t,callbacks:new Set([e.callback]),state:"pending"}:i.callbacks.add(e.callback),this._subscriptionHashByClientSubscriptionId[n]=r,this._subscriptionDisposeFunctionsByClientSubscriptionId[n]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[n],delete this._subscriptionHashByClientSubscriptionId[n];const t=this._subscriptionsByHash[r];a0(void 0!==t,`Could not find a \`Subscription\` when tearing down client subscription #${n}`),t.callbacks.delete(e.callback),await this._updateSubscriptions()},this._updateSubscriptions(),n}onAccountChange(e,t,n){const{commitment:r,config:i}=K0(n),o=this._buildArgs([e.toBase58()],r||this._commitment||"finalized","base64",i);return this._makeSubscription({callback:t,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},o)}async removeAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"account change")}_wsOnProgramAccountNotification(e){const{result:t,subscription:n}=yQ(e,U1);this._handleServerNotification(n,[{accountId:t.value.pubkey,accountInfo:t.value.account},t.context])}onProgramAccountChange(e,t,n,r){const{commitment:i,config:o}=K0(n),s=this._buildArgs([e.toBase58()],i||this._commitment||"finalized","base64",o||(r?{filters:V0(r)}:void 0));return this._makeSubscription({callback:t,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},s)}async removeProgramAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"program account change")}onLogs(e,t,n){const r=this._buildArgs(["object"==typeof e?{mentions:[e.toString()]}:e],n||this._commitment||"finalized");return this._makeSubscription({callback:t,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},r)}async removeOnLogsListener(e){await this._unsubscribeClientSubscription(e,"logs")}_wsOnLogsNotification(e){const{result:t,subscription:n}=yQ(e,O2);this._handleServerNotification(n,[t.value,t.context])}_wsOnSlotNotification(e){const{result:t,subscription:n}=yQ(e,F1);this._handleServerNotification(n,[t])}onSlotChange(e){return this._makeSubscription({callback:e,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(e){await this._unsubscribeClientSubscription(e,"slot change")}_wsOnSlotUpdatesNotification(e){const{result:t,subscription:n}=yQ(e,q1);this._handleServerNotification(n,[t])}onSlotUpdate(e){return this._makeSubscription({callback:e,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(e){await this._unsubscribeClientSubscription(e,"slot update")}async _unsubscribeClientSubscription(e,t){const n=this._subscriptionDisposeFunctionsByClientSubscriptionId[e];n?await n():console.warn(`Ignored unsubscribe request because an active subscription with id \`${e}\` for '${t}' events could not be found.`)}_buildArgs(e,t,n,r){const i=t||this._commitment;if(i||n||r){let t={};n&&(t.encoding=n),i&&(t.commitment=i),r&&(t=Object.assign(t,r)),e.push(t)}return e}_buildArgsAtLeastConfirmed(e,t,n,r){const i=t||this._commitment;if(i&&!["confirmed","finalized"].includes(i))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(e,t,n,r)}_wsOnSignatureNotification(e){const{result:t,subscription:n}=yQ(e,H1);"receivedSignature"!==t.value&&this._subscriptionsAutoDisposedByRpc.add(n),this._handleServerNotification(n,"receivedSignature"===t.value?[{type:"received"},t.context]:[{type:"status",result:t.value},t.context])}onSignature(e,t,n){const r=this._buildArgs([e],n||this._commitment||"finalized"),i=this._makeSubscription({callback:(e,n)=>{if("status"===e.type){t(e.result,n);try{this.removeSignatureListener(i)}catch(r){}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},r);return i}onSignatureWithOptions(e,t,n){const{commitment:r,...i}={...n,commitment:n&&n.commitment||this._commitment||"finalized"},o=this._buildArgs([e],r,void 0,i),s=this._makeSubscription({callback:(e,n)=>{t(e,n);try{this.removeSignatureListener(s)}catch(r){}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return s}async removeSignatureListener(e){await this._unsubscribeClientSubscription(e,"signature result")}_wsOnRootNotification(e){const{result:t,subscription:n}=yQ(e,W1);this._handleServerNotification(n,[t])}onRootChange(e){return this._makeSubscription({callback:e,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(e){await this._unsubscribeClientSubscription(e,"root change")}}var R2;Object.freeze({CreateLookupTable:{index:0,layout:JJ([GJ("instruction"),A0("recentSlot"),KJ("bumpSeed")])},FreezeLookupTable:{index:1,layout:JJ([GJ("instruction")])},ExtendLookupTable:{index:2,layout:JJ([GJ("instruction"),A0(),QJ(n0(),WJ(GJ(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:JJ([GJ("instruction")])},CloseLookupTable:{index:4,layout:JJ([GJ("instruction")])}}),new YX("AddressLookupTab1e1111111111111111111111111"),Object.freeze({RequestUnits:{index:0,layout:JJ([KJ("instruction"),GJ("units"),GJ("additionalFee")])},RequestHeapFrame:{index:1,layout:JJ([KJ("instruction"),GJ("bytes")])},SetComputeUnitLimit:{index:2,layout:JJ([KJ("instruction"),GJ("units")])},SetComputeUnitPrice:{index:3,layout:JJ([KJ("instruction"),A0("microLamports")])}}),new YX("ComputeBudget111111111111111111111111111111"),JJ([KJ("numSignatures"),KJ("padding"),VJ("signatureOffset"),VJ("signatureInstructionIndex"),VJ("publicKeyOffset"),VJ("publicKeyInstructionIndex"),VJ("messageDataOffset"),VJ("messageDataSize"),VJ("messageInstructionIndex")]),new YX("Ed25519SigVerify111111111111111111111111111"),FX.utils.isValidPrivateKey,JJ([KJ("numSignatures"),VJ("signatureOffset"),KJ("signatureInstructionIndex"),VJ("ethAddressOffset"),KJ("ethAddressInstructionIndex"),VJ("messageDataOffset"),VJ("messageDataSize"),KJ("messageInstructionIndex"),XJ(20,"ethAddress"),XJ(64,"signature"),KJ("recoveryId")]),new YX("KeccakSecp256k11111111111111111111111111111"),new YX("StakeConfig11111111111111111111111111111111");class N2{constructor(e,t,n){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=n}}R2=N2,N2.default=new R2(0,0,YX.default),Object.freeze({Initialize:{index:0,layout:JJ([GJ("instruction"),((e="authorized")=>JJ([n0("staker"),n0("withdrawer")],e))(),((e="lockup")=>JJ([YJ("unixTimestamp"),YJ("epoch"),n0("custodian")],e))()])},Authorize:{index:1,layout:JJ([GJ("instruction"),n0("newAuthorized"),GJ("stakeAuthorizationType")])},Delegate:{index:2,layout:JJ([GJ("instruction")])},Split:{index:3,layout:JJ([GJ("instruction"),YJ("lamports")])},Withdraw:{index:4,layout:JJ([GJ("instruction"),YJ("lamports")])},Deactivate:{index:5,layout:JJ([GJ("instruction")])},Merge:{index:7,layout:JJ([GJ("instruction")])},AuthorizeWithSeed:{index:8,layout:JJ([GJ("instruction"),n0("newAuthorized"),GJ("stakeAuthorizationType"),r0("authoritySeed"),n0("authorityOwner")])}}),new YX("Stake11111111111111111111111111111111111111"),Object.freeze({InitializeAccount:{index:0,layout:JJ([GJ("instruction"),((e="voteInit")=>JJ([n0("nodePubkey"),n0("authorizedVoter"),n0("authorizedWithdrawer"),KJ("commission")],e))()])},Authorize:{index:1,layout:JJ([GJ("instruction"),n0("newAuthorized"),GJ("voteAuthorizationType")])},Withdraw:{index:3,layout:JJ([GJ("instruction"),YJ("lamports")])},UpdateValidatorIdentity:{index:4,layout:JJ([GJ("instruction")])},AuthorizeWithSeed:{index:10,layout:JJ([GJ("instruction"),((e="voteAuthorizeWithSeedArgs")=>JJ([GJ("voteAuthorizationType"),n0("currentAuthorityDerivedKeyOwnerPubkey"),r0("currentAuthorityDerivedKeySeed"),n0("newAuthorized")],e))()])}}),new YX("Vote111111111111111111111111111111111111111"),new YX("Va1idator1nfo111111111111111111111111111111"),MQ({name:PQ(),website:IQ(PQ()),details:IQ(PQ()),iconUrl:IQ(PQ()),keybaseUsername:IQ(PQ())}),new YX("Vote111111111111111111111111111111111111111"),JJ([n0("nodePubkey"),n0("authorizedWithdrawer"),KJ("commission"),ZJ(),QJ(JJ([ZJ("slot"),GJ("confirmationCount")]),WJ(GJ(),-8),"votes"),KJ("rootSlotValid"),ZJ("rootSlot"),ZJ(),QJ(JJ([ZJ("epoch"),n0("authorizedVoter")]),WJ(GJ(),-8),"authorizedVoters"),JJ([QJ(JJ([n0("authorizedPubkey"),ZJ("epochOfLastAuthorizedSwitch"),ZJ("targetEpoch")]),32,"buf"),ZJ("idx"),KJ("isEmpty")],"priorVoters"),ZJ(),QJ(JJ([ZJ("epoch"),ZJ("credits"),ZJ("prevCredits")]),WJ(GJ(),-8),"epochCredits"),JJ([ZJ("slot"),ZJ("timestamp")],"lastTimestamp")]);const L2=1e9,B2=Object.freeze(Object.defineProperty({__proto__:null,AddressLookupTableAccount:$0,BLOCKHASH_CACHE_TIMEOUT_MS:3e4,Connection:T2,EpochSchedule:j0,FeeCalculatorLayout:k0,LAMPORTS_PER_SOL:L2,Lockup:N2,MAX_SEED_LENGTH:32,Message:h0,MessageAccountKeys:t0,MessageV0:f0,NONCE_ACCOUNT_LENGTH:C0,NonceAccount:I0,PACKET_DATA_SIZE:JX,PUBLIC_KEY_LENGTH:GX,PublicKey:YX,SIGNATURE_LENGTH_IN_BYTES:64,SOLANA_SCHEMA:KX,SYSTEM_INSTRUCTION_LAYOUTS:P0,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:b0,SYSVAR_RENT_PUBKEY:v0,SendTransactionError:w0,SolanaJSONRPCError:_0,Struct:WX,SystemProgram:O0,Transaction:y0,TransactionExpiredBlockheightExceededError:QX,TransactionExpiredNonceInvalidError:e0,TransactionExpiredTimeoutError:XX,TransactionInstruction:g0,TransactionStatus:p0,VERSION_PREFIX_MASK:127},Symbol.toStringTag,{value:"Module"})),j2=new YX("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new YX("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const D2=new YX("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new YX("So11111111111111111111111111111111111111112"),new YX("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");const U2=e=>({decode:e.decode.bind(e),encode:e.encode.bind(e)});var $2={};Object.defineProperty($2,"__esModule",{value:!0});var F2=$2.toBigIntLE=function(e){{const t=Ke.from(e);t.reverse();const n=t.toString("hex");return 0===n.length?BigInt(0):BigInt(`0x${n}`)}};$2.toBigIntBE=function(e){{const t=e.toString("hex");return 0===t.length?BigInt(0):BigInt(`0x${t}`)}};var z2=$2.toBufferLE=function(e,t){{const n=e.toString(16),r=Ke.from(n.padStart(2*t,"0").slice(0,2*t),"hex");return r.reverse(),r}};$2.toBufferBE=function(e,t){{const n=e.toString(16);return Ke.from(n.padStart(2*t,"0").slice(0,2*t),"hex")}};const q2=(H2=8,e=>{const t=XJ(H2,e),{encode:n,decode:r}=U2(t),i=t;return i.decode=(e,t)=>{const n=r(e,t);return F2(Ke.from(n))},i.encode=(e,t,r)=>{const i=z2(e,H2);return n(i,t,r)},i});var H2;const W2=e=>{const t=KJ(e),{encode:n,decode:r}=U2(t),i=t;return i.decode=(e,t)=>!!r(e,t),i.encode=(e,t,r)=>{const i=Number(e);return n(i,t,r)},i},K2=e=>{const t=XJ(32,e),{encode:n,decode:r}=U2(t),i=t;return i.decode=(e,t)=>{const n=r(e,t);return new YX(n)},i.encode=(e,t,r)=>{const i=e.toBuffer();return n(i,t,r)},i};class V2 extends Error{constructor(e){super(e)}}class G2 extends V2{constructor(){super(...arguments),this.name="TokenAccountNotFoundError"}}class Z2 extends V2{constructor(){super(...arguments),this.name="TokenInvalidAccountError"}}class Y2 extends V2{constructor(){super(...arguments),this.name="TokenInvalidAccountOwnerError"}}class J2 extends V2{constructor(){super(...arguments),this.name="TokenInvalidAccountSizeError"}}class Q2 extends V2{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}var X2,e5,t5,n5;(e5=X2||(X2={}))[e5.InitializeMint=0]="InitializeMint",e5[e5.InitializeAccount=1]="InitializeAccount",e5[e5.InitializeMultisig=2]="InitializeMultisig",e5[e5.Transfer=3]="Transfer",e5[e5.Approve=4]="Approve",e5[e5.Revoke=5]="Revoke",e5[e5.SetAuthority=6]="SetAuthority",e5[e5.MintTo=7]="MintTo",e5[e5.Burn=8]="Burn",e5[e5.CloseAccount=9]="CloseAccount",e5[e5.FreezeAccount=10]="FreezeAccount",e5[e5.ThawAccount=11]="ThawAccount",e5[e5.TransferChecked=12]="TransferChecked",e5[e5.ApproveChecked=13]="ApproveChecked",e5[e5.MintToChecked=14]="MintToChecked",e5[e5.BurnChecked=15]="BurnChecked",e5[e5.InitializeAccount2=16]="InitializeAccount2",e5[e5.SyncNative=17]="SyncNative",e5[e5.InitializeAccount3=18]="InitializeAccount3",e5[e5.InitializeMultisig2=19]="InitializeMultisig2",e5[e5.InitializeMint2=20]="InitializeMint2",e5[e5.GetAccountDataSize=21]="GetAccountDataSize",e5[e5.InitializeImmutableOwner=22]="InitializeImmutableOwner",e5[e5.AmountToUiAmount=23]="AmountToUiAmount",e5[e5.UiAmountToAmount=24]="UiAmountToAmount",e5[e5.InitializeMintCloseAuthority=25]="InitializeMintCloseAuthority",e5[e5.TransferFeeExtension=26]="TransferFeeExtension",e5[e5.ConfidentialTransferExtension=27]="ConfidentialTransferExtension",e5[e5.DefaultAccountStateExtension=28]="DefaultAccountStateExtension",e5[e5.Reallocate=29]="Reallocate",e5[e5.MemoTransferExtension=30]="MemoTransferExtension",e5[e5.CreateNativeMint=31]="CreateNativeMint",e5[e5.InitializeNonTransferableMint=32]="InitializeNonTransferableMint",e5[e5.InterestBearingMintExtension=33]="InterestBearingMintExtension",e5[e5.CpiGuardExtension=34]="CpiGuardExtension",e5[e5.InitializePermanentDelegate=35]="InitializePermanentDelegate",e5[e5.TransferHookExtension=36]="TransferHookExtension",e5[e5.MetadataPointerExtension=39]="MetadataPointerExtension",e5[e5.GroupPointerExtension=40]="GroupPointerExtension",e5[e5.GroupMemberPointerExtension=41]="GroupMemberPointerExtension",e5[e5.ScaledUiAmountExtension=43]="ScaledUiAmountExtension",e5[e5.PausableExtension=44]="PausableExtension",(n5=t5||(t5={}))[n5.Uninitialized=0]="Uninitialized",n5[n5.Mint=1]="Mint",n5[n5.Account=2]="Account";const r5=JJ([KJ("m"),KJ("n"),W2("isInitialized"),K2("signer1"),K2("signer2"),K2("signer3"),K2("signer4"),K2("signer5"),K2("signer6"),K2("signer7"),K2("signer8"),K2("signer9"),K2("signer10"),K2("signer11")]).span;var i5,o5;(o5=i5||(i5={}))[o5.Uninitialized=0]="Uninitialized",o5[o5.Initialized=1]="Initialized",o5[o5.Frozen=2]="Frozen";const s5=JJ([K2("mint"),K2("owner"),q2("amount"),GJ("delegateOption"),K2("delegate"),KJ("state"),GJ("isNativeOption"),q2("isNative"),q2("delegatedAmount"),GJ("closeAuthorityOption"),K2("closeAuthority")]),a5=s5.span;async function c5(e,t,n,r=j2){return function(e,t,n=j2){if(!t)throw new G2;if(!t.owner.equals(n))throw new Y2;if(t.data.length<a5)throw new J2;const r=s5.decode(t.data.slice(0,a5));let i=Ke.alloc(0);if(t.data.length>a5){if(t.data.length===r5)throw new J2;if(t.data[a5]!=t5.Account)throw new Z2;i=t.data.slice(a5+1)}return{address:e,mint:r.mint,owner:r.owner,amount:r.amount,delegate:r.delegateOption?r.delegate:null,delegatedAmount:r.delegatedAmount,isInitialized:r.state!==i5.Uninitialized,isFrozen:r.state===i5.Frozen,isNative:!!r.isNativeOption,rentExemptReserve:r.isNativeOption?r.isNative:null,closeAuthority:r.closeAuthorityOption?r.closeAuthority:null,tlvData:i}}(t,await e.getAccountInfo(t,n),r)}async function l5(e,t,n=!1,r=j2,i=D2){if(!n&&!YX.isOnCurve(t.toBuffer()))throw new Q2;const[o]=await YX.findProgramAddress([t.toBuffer(),r.toBuffer(),e.toBuffer()],i);return o}function u5(e,t,n,r,i=j2,o=D2){return function(e,t,n,r,i,o=j2,s=D2){const a=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:O0.programId,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1}];return new g0({keys:a,programId:s,data:i})}(e,t,n,r,Ke.alloc(0),i,o)}JJ([GJ("mintAuthorityOption"),K2("mintAuthority"),q2("supply"),KJ("decimals"),W2("isInitialized"),GJ("freezeAuthorityOption"),K2("freezeAuthority")]).span;const d5=JJ([KJ("instruction"),q2("amount")]);function h5(e,t,n,r,i=[],o=j2){const s=function(e,t,n){if(n.length){e.push({pubkey:t,isSigner:!1,isWritable:!1});for(const t of n)e.push({pubkey:t instanceof YX?t:t.publicKey,isSigner:!0,isWritable:!1})}else e.push({pubkey:t,isSigner:!0,isWritable:!1});return e}([{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0}],n,i),a=Ke.alloc(d5.span);return d5.encode({instruction:X2.Transfer,amount:BigInt(r)},a),new g0({keys:s,programId:o,data:a})}const f5=({options:e=[],value:t,onChange:n,placeholder:r,renderOption:i,getOptionKey:o,getOptionValue:s,getSearchableText:a,disabled:c=!1})=>{const[l,u]=Yt.useState(!1),[d,h]=Yt.useState(""),[f,p]=Yt.useState({top:0,left:0,width:400,maxHeight:450}),m=Yt.useRef(null),g=Yt.useRef(null),y=e.filter(e=>(a?a(e):"").toLowerCase().includes(d.toLowerCase())),b=e.find(e=>s(e)===t),v=()=>{if(g.current){const e=window.innerWidth,t=window.innerHeight,n=Math.min(400,e-40),r=Math.min(450,t-100);p({top:t/2-r/2,left:e/2-n/2,width:n,maxHeight:r})}};Yt.useEffect(()=>{const e=e=>{m.current&&!m.current.contains(e.target)&&g.current&&!g.current.contains(e.target)&&(u(!1),h(""))},t=()=>{l&&v()};return l&&(v(),document.addEventListener("mousedown",e),window.addEventListener("resize",t)),()=>{document.removeEventListener("mousedown",e),window.removeEventListener("resize",t)}},[l]);const w=l&&bf.jsxs(bf.Fragment,{children:[bf.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-30 transition-opacity",style:{zIndex:999998},onClick:()=>{u(!1),h("")}}),bf.jsxs("div",{ref:m,className:"fixed bg-white border-2 border-gray-200 rounded-3xl shadow-2xl overflow-hidden",style:{top:f.top,left:f.left,width:f.width,maxHeight:f.maxHeight,zIndex:999999,transform:"translateZ(0)",boxShadow:"0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.05)"},children:[bf.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 bg-gradient-to-r from-[#7042D2]/10 to-purple-50",children:[bf.jsx("h3",{className:"text-lg font-semibold text-[#7042D2]",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:r||"Select Option"}),bf.jsx("button",{onClick:()=>{u(!1),h("")},className:"text-gray-500 hover:text-gray-700 transition-colors p-1 rounded-full hover:bg-gray-100",children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),bf.jsx("div",{className:"p-4 border-b border-gray-200 bg-gray-50",children:bf.jsx("input",{type:"text",placeholder:"Search networks and tokens...",value:d,onChange:e=>h(e.target.value),className:"w-full p-3 border border-gray-300 rounded-xl focus:outline-none focus:ring-2 focus:ring-[#7042D2]/20 focus:border-[#7042D2] text-base",style:{fontFamily:"Bricolage Grotesque, sans-serif"},autoFocus:!0})}),bf.jsx("div",{className:"overflow-y-auto custom-scrollbar",style:{maxHeight:(f.maxHeight||450)-180+"px",minHeight:"200px"},children:0===y.length?bf.jsxs("div",{className:"p-8 text-gray-500 text-center",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:[bf.jsx("div",{className:"text-4xl mb-3",children:"🔍"}),bf.jsx("div",{className:"text-lg mb-2",children:"No options found"}),bf.jsx("div",{className:"text-sm text-gray-400",children:"Try a different search term"})]}):bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{className:"px-4 py-3 bg-gray-50 border-b border-gray-100 text-sm text-gray-600",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:[bf.jsx("span",{className:"font-semibold",children:y.length})," option",1!==y.length?"s":""," available"]}),bf.jsx("div",{className:"p-2",children:y.map(e=>bf.jsx("button",{type:"button",onClick:()=>{n(s(e)),u(!1),h("")},className:"w-full p-4 text-left hover:bg-[#7042D2]/10 transition-all duration-200 rounded-xl mb-2 last:mb-0 "+(s(e)===t?"bg-[#7042D2]/20 text-[#7042D2] border-2 border-[#7042D2]/30":"text-gray-800 border-2 border-transparent hover:border-[#7042D2]/20"),style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:i(e)},o(e)))})]})}),bf.jsx("div",{className:"p-3 bg-gradient-to-r from-gray-50 to-gray-100 border-t border-gray-200 text-center",children:bf.jsx("div",{className:"text-xs text-gray-500",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:y.length>5?"↕️ Scroll to see more options":"✨ Select your preferred option"})})]})]});return bf.jsxs(bf.Fragment,{children:[bf.jsx("div",{className:"relative",children:bf.jsx("button",{ref:g,type:"button",onClick:()=>{c||(l||v(),u(!l))},disabled:c,className:`w-full p-4 border-2 rounded-2xl bg-gradient-to-r from-white to-gray-50 text-left focus:outline-none focus:ring-3 focus:ring-[#7042D2]/20 focus:border-[#7042D2] transition-all duration-300 ease-out shadow-lg hover:shadow-xl ${c?"opacity-50 cursor-not-allowed":"hover:border-[#7042D2]/50 cursor-pointer"} ${l?"border-[#7042D2] ring-3 ring-[#7042D2]/20":"border-gray-200"}`,style:{minHeight:"60px",fontFamily:"Bricolage Grotesque, sans-serif",fontSize:"16px",fontWeight:"500"},children:bf.jsxs("div",{className:"flex items-center justify-between",children:[bf.jsx("div",{className:"flex items-center space-x-3",children:b?i(b):bf.jsx("span",{className:"text-gray-500",children:r})}),bf.jsx("div",{className:"transform transition-transform duration-200 "+(l?"rotate-180":""),children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5 text-[#7042D2]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})})]})})}),"undefined"!=typeof document&&document.body&&sf.createPortal(w,document.body),bf.jsx("style",{children:"\n .custom-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: #7042D2 #f1f1f1;\n }\n .custom-scrollbar::-webkit-scrollbar {\n width: 12px;\n }\n .custom-scrollbar::-webkit-scrollbar-track {\n background: #f8f9fa;\n border-radius: 10px;\n margin: 4px;\n }\n .custom-scrollbar::-webkit-scrollbar-thumb {\n background: linear-gradient(180deg, #7042D2 0%, #5b34b1 100%);\n border-radius: 10px;\n border: 2px solid #f8f9fa;\n }\n .custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: linear-gradient(180deg, #5b34b1 0%, #4c2a93 100%);\n }\n .custom-scrollbar::-webkit-scrollbar-corner {\n background: #f8f9fa;\n }\n "})]})},p5=({currentStep:e,targetStep:t,children:n,className:r="",duration:i=300})=>{const[o,s]=Yt.useState(e===t),[a,c]=Yt.useState(e===t);return Yt.useEffect(()=>{e===t?(c(!0),setTimeout(()=>s(!0),10)):(s(!1),setTimeout(()=>c(!1),i))},[e,t,i]),a?bf.jsx("div",{className:`\n transition-all duration-300 ease-out\n ${o?"transform translate-y-0 opacity-100":"transform translate-y-full opacity-0"}\n ${r}\n `,style:{transitionDuration:`${i}ms`},children:n}):null},m5=({status:e,message:t,theme:n="light",payment:r=null,transactionHash:i=null,selectedPaymentMethod:o=null,selectedNetwork:s=null,merchantName:a="Merchant",onClose:c=null})=>{const[l,u]=Yt.useState(!1),[d,h]=Yt.useState(0);Yt.useEffect(()=>{if("processing"===e){const e=setInterval(()=>{h(e=>e>=90?e:e+15*Math.random())},500);return()=>clearInterval(e)}},[e]);const f=async()=>{if(i)try{await navigator.clipboard.writeText(i),u(!0),setTimeout(()=>u(!1),2e3)}catch($He){}},p=()=>{switch(e){case"processing":return bf.jsxs("div",{className:"relative",children:[bf.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-4 border-t-[#7042D2] border-blue-500/20"}),bf.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:bf.jsx("div",{className:"w-6 h-6 bg-[#7042D2] rounded-full animate-pulse"})})]});case"success":return bf.jsx("div",{className:"rounded-full h-16 w-16 bg-green-500 flex items-center justify-center animate-bounce",children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-10 w-10 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})});case"error":return bf.jsx("div",{className:"rounded-full h-12 w-12 bg-red-100 flex items-center justify-center",children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-8 w-8 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})});default:return null}};return"processing"===e?bf.jsxs("div",{className:"flex flex-col items-center justify-center py-6 px-4",children:[bf.jsx("div",{className:"mb-6",children:p()}),bf.jsx("h3",{className:"text-xl font-bold mb-3 text-gray-900",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Processing Payment"}),bf.jsx("p",{className:"text-center text-gray-600 mb-6",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Your transaction has been sent to the blockchain and is being processed..."}),bf.jsxs("div",{className:"w-full max-w-xs mb-4",children:[bf.jsx("div",{className:"bg-gray-200 rounded-full h-3",children:bf.jsx("div",{className:"bg-[#7042D2] h-3 rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),bf.jsxs("div",{className:"text-center mt-2 text-sm text-gray-500",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:["Processing... ",Math.round(d),"%"]})]}),bf.jsxs("div",{className:"text-center space-y-2",children:[bf.jsxs("div",{className:"flex items-center justify-center space-x-2",children:[bf.jsx("div",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),bf.jsx("span",{className:"text-sm text-gray-600",children:"Transaction submitted"})]}),bf.jsxs("div",{className:"flex items-center justify-center space-x-2",children:[bf.jsx("div",{className:"w-2 h-2 bg-yellow-500 rounded-full animate-pulse"}),bf.jsx("span",{className:"text-sm text-gray-600",children:"Confirming on blockchain..."})]}),bf.jsxs("div",{className:"flex items-center justify-center space-x-2",children:[bf.jsx("div",{className:"w-2 h-2 bg-gray-300 rounded-full"}),bf.jsx("span",{className:"text-sm text-gray-400",children:"Finalizing payment..."})]})]}),bf.jsx("div",{className:"mt-6 p-3 bg-blue-50 rounded-lg border border-blue-200",children:bf.jsx("p",{className:"text-xs text-blue-800 text-center",children:"Please don't close this window. This usually takes 10-30 seconds."})})]}):"success"===e?bf.jsxs("div",{className:"flex flex-col items-center justify-center py-6 px-4",children:[bf.jsx("div",{className:"mb-6",children:p()}),bf.jsx("h3",{className:"text-2xl font-bold mb-3 text-gray-900",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Payment Successful!"}),r&&o&&bf.jsxs("p",{className:"text-center max-w-[235px] mb-6 text-gray-600",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:["Your payment of ",bf.jsxs("span",{className:"text-[#7042D2] font-semibold",children:[r.totalAmount||r.amount," ",o.currency]})," has been completed."]}),i&&bf.jsxs("div",{className:"w-full mb-6 px-4",children:[bf.jsx("p",{className:"text-sm font-medium mb-2 text-gray-700",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Transaction Details"}),bf.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg border cursor-pointer transition-colors bg-gray-50 border-gray-200 hover:bg-gray-100 mb-3",onClick:f,children:[bf.jsx("span",{className:"font-mono text-sm text-gray-700",children:(m=i,m?m.length<=16?m:`${m.slice(0,8)}...${m.slice(-8)}`:"")}),bf.jsxs("div",{className:"flex items-center",children:[l?bf.jsx("span",{className:"text-green-500 text-xs font-medium mr-2",children:"Copied!"}):null,bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-gray-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]}),(()=>{const e=((e,t)=>{if(!e||!t)return null;const n="string"==typeof t?t:t.shortName||t.name;return{ethereum:`https://etherscan.io/tx/${e}`,bsc:`https://bscscan.com/tx/${e}`,polygon:`https://polygonscan.com/tx/${e}`,arbitrum:`https://arbiscan.io/tx/${e}`,optimism:`https://optimistic.etherscan.io/tx/${e}`,avalanche:`https://snowtrace.io/tx/${e}`,celo:`https://celoscan.io/tx/${e}`,base:`https://basescan.org/tx/${e}`,solana:`https://explorer.solana.com/tx/${e}`,"solana-mainnet":`https://explorer.solana.com/tx/${e}`,"solana-devnet":`https://explorer.solana.com/tx/${e}?cluster=devnet`,"solana devnet":`https://explorer.solana.com/tx/${e}?cluster=devnet`}[null==n?void 0:n.toLowerCase()]||null})(i,s),t=(e=>{if(!e)return"Explorer";const t="string"==typeof e?e:e.shortName||e.name;return{ethereum:"Etherscan",bsc:"BscScan",polygon:"PolygonScan",arbitrum:"Arbiscan",optimism:"Optimistic Etherscan",avalanche:"SnowTrace",celo:"CeloScan",base:"BaseScan",solana:"Solana Explorer","solana-mainnet":"Solana Explorer","solana-devnet":"Solana Explorer (Devnet)","solana devnet":"Solana Explorer (Devnet)"}[null==t?void 0:t.toLowerCase()]||"Explorer"})(s);return s&&e&&bf.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full p-3 rounded-lg border border-[#7042D2] bg-white hover:bg-purple-50 transition-colors group",children:[bf.jsxs("span",{className:"text-sm font-medium text-[#7042D2]",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:["View on ",t]}),bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-[#7042D2] group-hover:translate-x-1 transition-transform",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})})()]}),c&&bf.jsx("button",{onClick:c,className:"w-full py-3 px-4 bg-[#7042D2] text-white font-semibold rounded-2xl text-lg shadow-md hover:bg-[#5b34b1] transition-colors",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Close"})]}):bf.jsxs("div",{className:"flex flex-col items-center justify-center py-6",children:[bf.jsx("div",{className:"mb-4",children:p()}),bf.jsx("h3",{className:"text-xl font-bold mb-2 text-gray-900",children:"processing"===e?"Processing Payment":"error"===e?"Payment Failed":"Unknown Status"}),bf.jsx("p",{className:"text-center text-gray-600",children:t})]});var m};var g5={},y5={},b5={};let v5;const w5=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];b5.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return 4*e+17},b5.getSymbolTotalCodewords=function(e){return w5[e]},b5.getBCHDigit=function(e){let t=0;for(;0!==e;)t++,e>>>=1;return t},b5.setToSJISFunction=function(e){if("function"!=typeof e)throw new Error('"toSJISFunc" is not a valid function.');v5=e},b5.isKanjiModeEnabled=function(){return void 0!==v5},b5.toSJIS=function(e){return v5(e)};var _5,E5={};function x5(){this.buffer=[],this.length=0}(_5=E5).L={bit:1},_5.M={bit:0},_5.Q={bit:3},_5.H={bit:2},_5.isValid=function(e){return e&&void 0!==e.bit&&e.bit>=0&&e.bit<4},_5.from=function(e,t){if(_5.isValid(e))return e;try{return function(e){if("string"!=typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return _5.L;case"m":case"medium":return _5.M;case"q":case"quartile":return _5.Q;case"h":case"high":return _5.H;default:throw new Error("Unknown EC Level: "+e)}}(e)}catch(KAe){return t}},x5.prototype={get:function(e){const t=Math.floor(e/8);return 1==(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(let n=0;n<t;n++)this.putBit(1==(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var k5=x5;function S5(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}S5.prototype.set=function(e,t,n,r){const i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},S5.prototype.get=function(e,t){return this.data[e*this.size+t]},S5.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},S5.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var C5=S5,I5={};!function(e){const t=b5.getSymbolSize;e.getRowColCoords=function(e){if(1===e)return[];const n=Math.floor(e/7)+2,r=t(e),i=145===r?26:2*Math.ceil((r-13)/(2*n-2)),o=[r-7];for(let t=1;t<n-1;t++)o[t]=o[t-1]-i;return o.push(6),o.reverse()},e.getPositions=function(t){const n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)0===e&&0===t||0===e&&t===i-1||e===i-1&&0===t||n.push([r[e],r[t]]);return n}}(I5);var A5={};const P5=b5.getSymbolSize;A5.getPositions=function(e){const t=P5(e);return[[0,0],[t-7,0],[0,t-7]]};var O5={};!function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t=3,n=3,r=40,i=10;function o(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}e.isValid=function(e){return null!=e&&""!==e&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){const n=e.size;let r=0,i=0,o=0,s=null,a=null;for(let c=0;c<n;c++){i=o=0,s=a=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===s?i++:(i>=5&&(r+=t+(i-5)),s=n,i=1),n=e.get(l,c),n===a?o++:(o>=5&&(r+=t+(o-5)),a=n,o=1)}i>=5&&(r+=t+(i-5)),o>=5&&(r+=t+(o-5))}return r},e.getPenaltyN2=function(e){const t=e.size;let r=0;for(let n=0;n<t-1;n++)for(let i=0;i<t-1;i++){const t=e.get(n,i)+e.get(n,i+1)+e.get(n+1,i)+e.get(n+1,i+1);4!==t&&0!==t||r++}return r*n},e.getPenaltyN3=function(e){const t=e.size;let n=0,i=0,o=0;for(let r=0;r<t;r++){i=o=0;for(let s=0;s<t;s++)i=i<<1&2047|e.get(r,s),s>=10&&(1488===i||93===i)&&n++,o=o<<1&2047|e.get(s,r),s>=10&&(1488===o||93===o)&&n++}return n*r},e.getPenaltyN4=function(e){let t=0;const n=e.data.length;for(let r=0;r<n;r++)t+=e.data[r];return Math.abs(Math.ceil(100*t/n/5)-10)*i},e.applyMask=function(e,t){const n=t.size;for(let r=0;r<n;r++)for(let i=0;i<n;i++)t.isReserved(i,r)||t.xor(i,r,o(e,i,r))},e.getBestMask=function(t,n){const r=Object.keys(e.Patterns).length;let i=0,o=1/0;for(let s=0;s<r;s++){n(s),e.applyMask(s,t);const r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(s,t),r<o&&(o=r,i=s)}return i}}(O5);var M5={};const T5=E5,R5=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],N5=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];M5.getBlocksCount=function(e,t){switch(t){case T5.L:return R5[4*(e-1)+0];case T5.M:return R5[4*(e-1)+1];case T5.Q:return R5[4*(e-1)+2];case T5.H:return R5[4*(e-1)+3];default:return}},M5.getTotalCodewordsCount=function(e,t){switch(t){case T5.L:return N5[4*(e-1)+0];case T5.M:return N5[4*(e-1)+1];case T5.Q:return N5[4*(e-1)+2];case T5.H:return N5[4*(e-1)+3];default:return}};var L5={},B5={};const j5=new Uint8Array(512),D5=new Uint8Array(256);!function(){let e=1;for(let t=0;t<255;t++)j5[t]=e,D5[e]=t,e<<=1,256&e&&(e^=285);for(let t=255;t<512;t++)j5[t]=j5[t-255]}(),B5.log=function(e){if(e<1)throw new Error("log("+e+")");return D5[e]},B5.exp=function(e){return j5[e]},B5.mul=function(e,t){return 0===e||0===t?0:j5[D5[e]+D5[t]]},function(e){const t=B5;e.mul=function(e,n){const r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let o=0;o<n.length;o++)r[i+o]^=t.mul(e[i],n[o]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){const e=r[0];for(let o=0;o<n.length;o++)r[o]^=t.mul(n[o],e);let i=0;for(;i<r.length&&0===r[i];)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}}(L5);const U5=L5;function $5(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}$5.prototype.initialize=function(e){this.degree=e,this.genPoly=U5.generateECPolynomial(this.degree)},$5.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");const t=new Uint8Array(e.length+this.degree);t.set(e);const n=U5.mod(t,this.genPoly),r=this.degree-n.length;if(r>0){const e=new Uint8Array(this.degree);return e.set(n,r),e}return n};var F5=$5,z5={},q5={},H5={isValid:function(e){return!isNaN(e)&&e>=1&&e<=40}},W5={};const K5="[0-9]+";let V5="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";V5=V5.replace(/u/g,"\\u");const G5="(?:(?![A-Z0-9 $%*+\\-./:]|"+V5+")(?:.|[\r\n]))+";W5.KANJI=new RegExp(V5,"g"),W5.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),W5.BYTE=new RegExp(G5,"g"),W5.NUMERIC=new RegExp(K5,"g"),W5.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const Z5=new RegExp("^"+V5+"$"),Y5=new RegExp("^"+K5+"$"),J5=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");W5.testKanji=function(e){return Z5.test(e)},W5.testNumeric=function(e){return Y5.test(e)},W5.testAlphanumeric=function(e){return J5.test(e)},function(e){const t=H5,n=W5;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!t.isValid(n))throw new Error("Invalid version: "+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},e.isValid=function(e){return e&&e.bit&&e.ccBits},e.from=function(t,n){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(KAe){return n}}}(q5),function(e){const t=b5,n=M5,r=E5,i=q5,o=H5,s=t.getBCHDigit(7973);function a(e,t){return i.getCharCountIndicator(e,t)+4}function c(e,t){let n=0;return e.forEach(function(e){const r=a(e.mode,t);n+=r+e.getBitsLength()}),n}e.from=function(e,t){return o.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,s){if(!o.isValid(e))throw new Error("Invalid QR Code version");void 0===s&&(s=i.BYTE);const c=8*(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r));if(s===i.MIXED)return c;const l=c-a(s,e);switch(s){case i.NUMERIC:return Math.floor(l/10*3);case i.ALPHANUMERIC:return Math.floor(l/11*2);case i.KANJI:return Math.floor(l/13);case i.BYTE:default:return Math.floor(l/8)}},e.getBestVersionForData=function(t,n){let o;const s=r.from(n,r.M);if(Array.isArray(t)){if(t.length>1)return function(t,n){for(let r=1;r<=40;r++)if(c(t,r)<=e.getCapacity(r,n,i.MIXED))return r}(t,s);if(0===t.length)return 1;o=t[0]}else o=t;return function(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}(o.mode,o.getLength(),s)},e.getEncodedBits=function(e){if(!o.isValid(e)||e<7)throw new Error("Invalid QR Code version");let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=7973<<t.getBCHDigit(n)-s;return e<<12|n}}(z5);var Q5={};const X5=b5,e3=X5.getBCHDigit(1335);Q5.getEncodedBits=function(e,t){const n=e.bit<<3|t;let r=n<<10;for(;X5.getBCHDigit(r)-e3>=0;)r^=1335<<X5.getBCHDigit(r)-e3;return 21522^(n<<10|r)};var t3={};const n3=q5;function r3(e){this.mode=n3.NUMERIC,this.data=e.toString()}r3.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r3.prototype.getLength=function(){return this.data.length},r3.prototype.getBitsLength=function(){return r3.getBitsLength(this.data.length)},r3.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);const i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,3*i+1))};var i3=r3;const o3=q5,s3=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function a3(e){this.mode=o3.ALPHANUMERIC,this.data=e}a3.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},a3.prototype.getLength=function(){return this.data.length},a3.prototype.getBitsLength=function(){return a3.getBitsLength(this.data.length)},a3.prototype.write=function(e){let t;for(t=0;t+2<=this.data.length;t+=2){let n=45*s3.indexOf(this.data[t]);n+=s3.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(s3.indexOf(this.data[t]),6)};var c3=a3;const l3=q5;function u3(e){this.mode=l3.BYTE,this.data="string"==typeof e?(new TextEncoder).encode(e):new Uint8Array(e)}u3.getBitsLength=function(e){return 8*e},u3.prototype.getLength=function(){return this.data.length},u3.prototype.getBitsLength=function(){return u3.getBitsLength(this.data.length)},u3.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)};var d3=u3;const h3=q5,f3=b5;function p3(e){this.mode=h3.KANJI,this.data=e}p3.getBitsLength=function(e){return 13*e},p3.prototype.getLength=function(){return this.data.length},p3.prototype.getBitsLength=function(){return p3.getBitsLength(this.data.length)},p3.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=f3.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else{if(!(n>=57408&&n<=60351))throw new Error("Invalid SJIS character: "+this.data[t]+"\nMake sure your charset is UTF-8");n-=49472}n=192*(n>>>8&255)+(255&n),e.put(n,13)}};var m3=p3,g3={exports:{}};!function(e){var t={single_source_shortest_paths:function(e,n,r){var i={},o={};o[n]=0;var s,a,c,l,u,d,h,f=t.PriorityQueue.make();for(f.push(n,0);!f.empty();)for(c in a=(s=f.pop()).value,l=s.cost,u=e[a]||{})u.hasOwnProperty(c)&&(d=l+u[c],h=o[c],(void 0===o[c]||h>d)&&(o[c]=d,f.push(c,d),i[c]=a));if(void 0!==r&&void 0===o[r]){var p=["Could not find a path from ",n," to ",r,"."].join("");throw new Error(p)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,n,r){var i=t.single_source_shortest_paths(e,n,r);return t.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var n,r=t.PriorityQueue,i={};for(n in e=e||{},r)r.hasOwnProperty(n)&&(i[n]=r[n]);return i.queue=[],i.sorter=e.sorter||r.default_sorter,i},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};e.exports=t}(g3);var y3=g3.exports;!function(e){const t=q5,n=i3,r=c3,i=d3,o=m3,s=W5,a=b5,c=y3;function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){const r=[];let i;for(;null!==(i=e.exec(n));)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){const n=u(s.NUMERIC,t.NUMERIC,e),r=u(s.ALPHANUMERIC,t.ALPHANUMERIC,e);let i,o;a.isKanjiModeEnabled()?(i=u(s.BYTE,t.BYTE,e),o=u(s.KANJI,t.KANJI,e)):(i=u(s.BYTE_KANJI,t.BYTE,e),o=[]);return n.concat(r,i,o).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function h(e,s){switch(s){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return o.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function f(e,s){let c;const l=t.getBestModeForData(e);if(c=t.from(s,l),c!==t.BYTE&&c.bit<l.bit)throw new Error('"'+e+'" cannot be encoded with mode '+t.toString(c)+".\n Suggested mode is: "+t.toString(l));switch(c!==t.KANJI||a.isKanjiModeEnabled()||(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new o(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return"string"==typeof t?e.push(f(t,null)):t.data&&e.push(f(t.data,t.mode)),e},[])},e.fromString=function(n,r){const i=function(e){const n=[];for(let r=0;r<e.length;r++){const i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}(d(n,a.isKanjiModeEnabled())),o=function(e,n){const r={},i={start:{}};let o=["start"];for(let s=0;s<e.length;s++){const a=e[s],c=[];for(let e=0;e<a.length;e++){const l=a[e],u=""+s+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<o.length;e++){const s=o[e];r[s]&&r[s].node.mode===l.mode?(i[s][u]=h(r[s].lastCount+l.length,l.mode)-h(r[s].lastCount,l.mode),r[s].lastCount+=l.length):(r[s]&&(r[s].lastCount=l.length),i[s][u]=h(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}o=c}for(let t=0;t<o.length;t++)i[o[t]].end=0;return{map:i,table:r}}(i,r),s=c.find_path(o.map,"start","end"),u=[];for(let e=1;e<s.length-1;e++)u.push(o.table[s[e]].node);return e.fromArray(function(e){return e.reduce(function(e,t){const n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}(u))},e.rawSplit=function(t){return e.fromArray(d(t,a.isKanjiModeEnabled()))}}(t3);const b3=b5,v3=E5,w3=k5,_3=C5,E3=I5,x3=A5,k3=O5,S3=M5,C3=F5,I3=z5,A3=Q5,P3=q5,O3=t3;function M3(e,t,n){const r=e.size,i=A3.getEncodedBits(t,n);let o,s;for(o=0;o<15;o++)s=1==(i>>o&1),o<6?e.set(o,8,s,!0):o<8?e.set(o+1,8,s,!0):e.set(r-15+o,8,s,!0),o<8?e.set(8,r-o-1,s,!0):o<9?e.set(8,15-o-1+1,s,!0):e.set(8,15-o-1,s,!0);e.set(r-8,8,1,!0)}function T3(e,t,n){const r=new w3;n.forEach(function(t){r.put(t.mode.bit,4),r.put(t.getLength(),P3.getCharCountIndicator(t.mode,e)),t.write(r)});const i=8*(b3.getSymbolTotalCodewords(e)-S3.getTotalCodewordsCount(e,t));for(r.getLengthInBits()+4<=i&&r.put(0,4);r.getLengthInBits()%8!=0;)r.putBit(0);const o=(i-r.getLengthInBits())/8;for(let s=0;s<o;s++)r.put(s%2?17:236,8);return function(e,t,n){const r=b3.getSymbolTotalCodewords(t),i=S3.getTotalCodewordsCount(t,n),o=r-i,s=S3.getBlocksCount(t,n),a=r%s,c=s-a,l=Math.floor(r/s),u=Math.floor(o/s),d=u+1,h=l-u,f=new C3(h);let p=0;const m=new Array(s),g=new Array(s);let y=0;const b=new Uint8Array(e.buffer);for(let x=0;x<s;x++){const e=x<c?u:d;m[x]=b.slice(p,p+e),g[x]=f.encode(m[x]),p+=e,y=Math.max(y,e)}const v=new Uint8Array(r);let w,_,E=0;for(w=0;w<y;w++)for(_=0;_<s;_++)w<m[_].length&&(v[E++]=m[_][w]);for(w=0;w<h;w++)for(_=0;_<s;_++)v[E++]=g[_][w];return v}(r,e,t)}function R3(e,t,n,r){let i;if(Array.isArray(e))i=O3.fromArray(e);else{if("string"!=typeof e)throw new Error("Invalid data");{let r=t;if(!r){const t=O3.rawSplit(e);r=I3.getBestVersionForData(t,n)}i=O3.fromString(e,r||40)}}const o=I3.getBestVersionForData(i,n);if(!o)throw new Error("The amount of data is too big to be stored in a QR Code");if(t){if(t<o)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+o+".\n")}else t=o;const s=T3(t,n,i),a=b3.getSymbolSize(t),c=new _3(a);return function(e,t){const n=e.size,r=x3.getPositions(t);for(let i=0;i<r.length;i++){const t=r[i][0],o=r[i][1];for(let r=-1;r<=7;r++)if(!(t+r<=-1||n<=t+r))for(let i=-1;i<=7;i++)o+i<=-1||n<=o+i||(r>=0&&r<=6&&(0===i||6===i)||i>=0&&i<=6&&(0===r||6===r)||r>=2&&r<=4&&i>=2&&i<=4?e.set(t+r,o+i,!0,!0):e.set(t+r,o+i,!1,!0))}}(c,t),function(e){const t=e.size;for(let n=8;n<t-8;n++){const t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}(c),function(e,t){const n=E3.getPositions(t);for(let r=0;r<n.length;r++){const t=n[r][0],i=n[r][1];for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)-2===n||2===n||-2===r||2===r||0===n&&0===r?e.set(t+n,i+r,!0,!0):e.set(t+n,i+r,!1,!0)}}(c,t),M3(c,n,0),t>=7&&function(e,t){const n=e.size,r=I3.getEncodedBits(t);let i,o,s;for(let a=0;a<18;a++)i=Math.floor(a/3),o=a%3+n-8-3,s=1==(r>>a&1),e.set(i,o,s,!0),e.set(o,i,s,!0)}(c,t),function(e,t){const n=e.size;let r=-1,i=n-1,o=7,s=0;for(let a=n-1;a>0;a-=2)for(6===a&&a--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,a-n)){let r=!1;s<t.length&&(r=1==(t[s]>>>o&1)),e.set(i,a-n,r),o--,-1===o&&(s++,o=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}(c,s),isNaN(r)&&(r=k3.getBestMask(c,M3.bind(null,c,n))),k3.applyMask(r,c),M3(c,n,r),{modules:c,version:t,errorCorrectionLevel:n,maskPattern:r,segments:i}}y5.create=function(e,t){if(void 0===e||""===e)throw new Error("No input text");let n,r,i=v3.M;return void 0!==t&&(i=v3.from(t.errorCorrectionLevel,v3.M),n=I3.from(t.version),r=k3.from(t.maskPattern),t.toSJISFunc&&b3.setToSJISFunction(t.toSJISFunc)),R3(e,n,i,r)};var N3={},L3={};!function(e){function t(e){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||5===t.length||t.length>8)throw new Error("Invalid hex color: "+e);3!==t.length&&4!==t.length||(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),6===t.length&&t.push("F","F");const n=parseInt(t.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:255&n,hex:"#"+t.slice(0,6).join("")}}e.getOptions=function(e){e||(e={}),e.color||(e.color={});const n=void 0===e.margin||null===e.margin||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:t(e.color.dark||"#000000ff"),light:t(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+2*t.margin?t.width/(e+2*t.margin):t.scale},e.getImageWidth=function(t,n){const r=e.getScale(t,n);return Math.floor((t+2*n.margin)*r)},e.qrToImageData=function(t,n,r){const i=n.modules.size,o=n.modules.data,s=e.getScale(i,r),a=Math.floor((i+2*r.margin)*s),c=r.margin*s,l=[r.color.light,r.color.dark];for(let e=0;e<a;e++)for(let n=0;n<a;n++){let u=4*(e*a+n),d=r.color.light;if(e>=c&&n>=c&&e<a-c&&n<a-c){d=l[o[Math.floor((e-c)/s)*i+Math.floor((n-c)/s)]?1:0]}t[u++]=d.r,t[u++]=d.g,t[u++]=d.b,t[u]=d.a}}}(L3),function(e){const t=L3;e.render=function(e,n,r){let i=r,o=n;void 0!==i||n&&n.getContext||(i=n,n=void 0),n||(o=function(){try{return document.createElement("canvas")}catch(KAe){throw new Error("You need to specify a canvas element")}}()),i=t.getOptions(i);const s=t.getImageWidth(e.modules.size,i),a=o.getContext("2d"),c=a.createImageData(s,s);return t.qrToImageData(c.data,e,i),function(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=n,t.width=n,t.style.height=n+"px",t.style.width=n+"px"}(a,o,s),a.putImageData(c,0,0),o},e.renderToDataURL=function(t,n,r){let i=r;void 0!==i||n&&n.getContext||(i=n,n=void 0),i||(i={});const o=e.render(t,n,i),s=i.type||"image/png",a=i.rendererOpts||{};return o.toDataURL(s,a.quality)}}(N3);var B3={};const j3=L3;function D3(e,t){const n=e.a/255,r=t+'="'+e.hex+'"';return n<1?r+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':r}function U3(e,t,n){let r=e+t;return void 0!==n&&(r+=" "+n),r}B3.render=function(e,t,n){const r=j3.getOptions(t),i=e.modules.size,o=e.modules.data,s=i+2*r.margin,a=r.color.light.a?"<path "+D3(r.color.light,"fill")+' d="M0 0h'+s+"v"+s+'H0z"/>':"",c="<path "+D3(r.color.dark,"stroke")+' d="'+function(e,t,n){let r="",i=0,o=!1,s=0;for(let a=0;a<e.length;a++){const c=Math.floor(a%t),l=Math.floor(a/t);c||o||(o=!0),e[a]?(s++,a>0&&c>0&&e[a-1]||(r+=o?U3("M",c+n,.5+l+n):U3("m",i,0),i=0,o=!1),c+1<t&&e[a+1]||(r+=U3("h",s),s=0)):i++}return r}(o,i,r.margin)+'"/>',l='viewBox="0 0 '+s+" "+s+'"',u='<svg xmlns="http://www.w3.org/2000/svg" '+(r.width?'width="'+r.width+'" height="'+r.width+'" ':"")+l+' shape-rendering="crispEdges">'+a+c+"</svg>\n";return"function"==typeof n&&n(null,u),u};const $3=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then},F3=y5,z3=N3,q3=B3;function H3(e,t,n,r,i){const o=[].slice.call(arguments,1),s=o.length,a="function"==typeof o[s-1];if(!a&&!$3())throw new Error("Callback required as last argument");if(!a){if(s<1)throw new Error("Too few arguments provided");return 1===s?(n=t,t=r=void 0):2!==s||t.getContext||(r=n,n=t,t=void 0),new Promise(function(i,o){try{const o=F3.create(n,r);i(e(o,t,r))}catch(KAe){o(KAe)}})}if(s<2)throw new Error("Too few arguments provided");2===s?(i=n,n=t,t=r=void 0):3===s&&(t.getContext&&void 0===i?(i=r,r=void 0):(i=r,r=n,n=t,t=void 0));try{const o=F3.create(n,r);i(null,e(o,t,r))}catch(KAe){i(KAe)}}g5.create=F3.create,g5.toCanvas=H3.bind(null,z3.render),g5.toDataURL=H3.bind(null,z3.renderToDataURL),g5.toString=H3.bind(null,function(e,t,n){return q3.render(e,n)});const W3={bitcoin:1,ethereum:1027,bsc:1839,polygon:3890,cardano:2010,avalanche:5805,fantom:3513,arbitrum:11841,optimism:11840,USDT:825,USDC:3408,BUSD:4687,DAI:4943,FRAX:6952,TUSD:2563,USDP:5992,USDD:5994,FDUSD:26081,PYUSD:28295,WBTC:3717,LINK:1975,UNI:7083,AAVE:7278,COMP:5692,YFI:5864,MKR:1518,SUSHI:6758,CRV:6538,SNX:2586,UMA:5617,BAL:5728,MANA:1966,SAND:6210,APE:18876,LDO:8e3,GRT:6719,ENS:13855,RPL:2943,SHIB:5994,MATIC:3890,BNB:1839,ADA:2010,SOL:5426,DOT:6636,AVAX:5805,TRX:1958,ALGO:4030,FTM:3513,ARB:11841,OP:11840,"1INCH":8104,DYDX:11156,ICP:8916,FIL:2280,CAKE:7186,RUNE:4157,ALPHA:7232,BNT:1727,KNC:1982,ZRX:1896,REN:2539,LRC:1934,WETH:2396,WMATIC:3890,WBNB:1839,UST:7129,USTC:7129,LUSD:8115,MIM:9681,FEI:8642,TRIBE:8741,RAI:8525,SUSD:2927},K3={ethereum:"https://s2.coinmarketcap.com/static/img/coins/64x64/1027.png",bsc:"https://s2.coinmarketcap.com/static/img/coins/64x64/1839.png",polygon:"https://s2.coinmarketcap.com/static/img/coins/64x64/28321.png",arbitrum:"https://s2.coinmarketcap.com/static/img/coins/64x64/11841.png",avalanche:"https://s2.coinmarketcap.com/static/img/coins/64x64/5805.png",celo:"https://s2.coinmarketcap.com/static/img/coins/64x64/5567.png",optimism:"https://s2.coinmarketcap.com/static/img/coins/64x64/11840.png",base:"https://s2.coinmarketcap.com/static/img/coins/64x64/1027.png",eth:"https://s2.coinmarketcap.com/static/img/coins/64x64/1027.png",bnb:"https://s2.coinmarketcap.com/static/img/coins/64x64/1839.png",trx:"https://s2.coinmarketcap.com/static/img/coins/64x64/1958.png",algo:"https://s2.coinmarketcap.com/static/img/coins/64x64/4030.png",matic:"https://s2.coinmarketcap.com/static/img/coins/64x64/28321.png",arb:"https://s2.coinmarketcap.com/static/img/coins/64x64/11841.png",avax:"https://s2.coinmarketcap.com/static/img/coins/64x64/5805.png",op:"https://s2.coinmarketcap.com/static/img/coins/64x64/11840.png",sol:"https://s2.coinmarketcap.com/static/img/coins/64x64/5426.png",solana:"https://s2.coinmarketcap.com/static/img/coins/64x64/5426.png","solana-mainnet":"https://s2.coinmarketcap.com/static/img/coins/64x64/5426.png","solana-devnet":"https://s2.coinmarketcap.com/static/img/coins/64x64/5426.png"},V3={metamask:"https://upload.wikimedia.org/wikipedia/commons/3/36/MetaMask_Fox.svg",coinbase:"https://avatars.githubusercontent.com/u/18060234?s=280&v=4",rabby:"https://rabby.io/logo-128.png",zerion:"https://app.zerion.io/favicon-32x32.png",okx:"https://static.okx.com/cdn/assets/imgs/248/58E63FEA47A2B7D7.png",binance:"https://bin.bnbstatic.com/static/images/common/favicon.ico",cryptocom:"https://crypto.com/favicon.ico","1inch":"https://1inch.io/favicon.svg",hot:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTQiIGZpbGw9IiNGRjZBNkEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGQ9Ik0xMCAxMmg0djhoLTR2LTJoMnYtNGgtMnYtMnptNiAwaDJ2MmgtdjdoLTJ2LTIiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==",walletconnect:"https://avatars.githubusercontent.com/u/37784886?s=200&v=4",phantom:"https://phantom.app/img/phantom-logo.svg",solflare:"https://solflare.com/assets/logo.svg",backpack:"https://www.backpack.exchange/_next/image?url=%2Fbackpack-logo.png&w=128&q=75",trust:"https://trustwallet.com/assets/images/favicon.png",default:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTQiIGZpbGw9IiM2MzY2RjEiIHN0cm9rZT0iI0Y5RkFGQiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGQ9Ik0xMCAxMmgxMnY4SDEweiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHJ4PSIxIi8+CjxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjEiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg=="},G3=e=>(e=>{if(!e)return null;const t=W3[e.toUpperCase()];return t?`https://s2.coinmarketcap.com/static/img/coins/64x64/${t}.png`:null})(e),Z3=(e,t)=>{const n=e.toLowerCase(),r=t.toLowerCase();for(const[i,o]of Object.entries(V3))if(n.includes(i)||r.includes(i))return o;return V3.default},Y3=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),J3=e=>{switch(e){case"trust":return window.ethereum&&!0===window.ethereum.isTrust;case"metaMask":return window.ethereum&&!0===window.ethereum.isMetaMask;case"injected":return window.ethereum&&!window.ethereum.isMetaMask&&!window.ethereum.isCoinbaseWallet;default:return!1}},Q3=(e,t)=>{if(!t)return[];if(!["ethereum","bsc","polygon","arbitrum","optimism","avalanche","celo","base","monad"].includes(t.shortName))return[];return[...(e||[]).map(e=>(e=>({type:e.id,name:e.name,icon:Z3(e.name,e.id),description:`Connect using ${e.name}`,isInstalled:!0,connector:e,isWagmi:!0}))(e)),...Y3()?[{type:"trust",name:"Trust Wallet",icon:"🛡️",description:"Multi-chain wallet with transaction deep links",isInstalled:!1,connector:null,isWagmi:!1,mobileOnly:!0,hasTransactionDeepLinks:!0}]:[]]},X3=(e,t,n,r,i="metamask",o=null)=>{if(!e)return null;try{const t="https://payment.coinley.io",r=new URLSearchParams,o=(null==e?void 0:e.id)||(null==e?void 0:e.splitterPaymentId);if(!o)return null;r.set("paymentId",o),r.set("preferredWallet",i),r.set("isMobile","true");const s=`${t}?${r.toString()}`;let a;switch(i){case"metamask":a=`https://metamask.app.link/dapp/${s.replace("https://","")}`;break;case"trust":const e=(null==n?void 0:n.chainId)||1;a=`https://link.trustwallet.com/open_url?coin_id=${(e=>{const t="string"==typeof e&&e.startsWith("0x")?parseInt(e,16):parseInt(e);return[1,56,137,42161,10,43114,42220,8453,143].includes(t)?60:{}[t]||60})(e)}&url=${encodeURIComponent(s)}`;break;case"coinbase":a=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(s)}`;break;default:a=s}return a}catch(cF){return null}},e6=(e,t)=>{if(!t)return null;try{switch(e){case"metamask":return t.includes("metamask.app.link")?t:`https://metamask.app.link/dapp/${t.replace("https://","")}`;case"trust":return t.includes("link.trustwallet.com")?t:`https://link.trustwallet.com/open_url?coin_id=60&url=${encodeURIComponent(t)}`;case"coinbase":return t.includes("go.cb-w.com")?t:`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(t)}`;default:return t}}catch(cF){return t}},t6=Object.freeze(Object.defineProperty({__proto__:null,generateMobilePaymentDeepLink:e6,generateQRPaymentURI:X3},Symbol.toStringTag,{value:"Module"})),n6=({walletAddress:e,amount:t,currency:n,network:r,theme:i="light",paymentData:o=null,onPaymentDetected:s=null,config:a=null,selectedToken:c=null,selectedNetwork:l=null,preferredWallet:u="metamask",compact:d=!1})=>{const[h,f]=Yt.useState(""),[p,m]=Yt.useState(""),[g,y]=Yt.useState(!0),[b,v]=Yt.useState(!1),[w,_]=Yt.useState(!1),E=Yt.useRef(null);return Yt.useEffect(()=>{(async()=>{if(null==o?void 0:o.id){y(!0);try{if(!c||!c.contractAddress)throw new Error("Cannot generate QR code: Token contract address required");if(!l||!l.chainId)throw new Error("Cannot generate QR code: Network chain ID required");const e=X3(o,0,l,0,u);if(e.includes("metamask.app.link")||e.includes("link.trustwallet.com")||e.includes("go.cb-w.com"),!e)throw new Error("Failed to generate Coinley payment URL");f(e);const t=Y3(),n=await g5.toDataURL(e,{width:d?140:t?350:280,margin:2,errorCorrectionLevel:"M",color:{dark:"dark"===i?"#FFFFFF":"#000000",light:"dark"===i?"#000000":"#FFFFFF"}});m(n),y(!1)}catch(cF){y(!1)}}else y(!1)})()},[o,t,n,r,i,c,l,a,u]),Yt.useEffect(()=>()=>{E.current&&clearInterval(E.current)},[]),bf.jsx("div",{className:"flex flex-col items-center",children:bf.jsxs("div",{className:"flex gap-3 items-start w-full mb-2",children:[bf.jsx("div",{className:"p-1.5 rounded-lg bg-white shadow-sm border flex-shrink-0",children:g?bf.jsx("div",{className:"flex items-center justify-center",style:{width:140,height:140},children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-purple-600 mx-auto mb-1"}),bf.jsx("div",{className:"text-xs text-gray-600",children:"Generating..."})]})}):p?bf.jsx("img",{src:p,alt:"Payment QR Code",className:"rounded-lg",style:{width:140,height:140}}):bf.jsx("div",{className:"flex items-center justify-center bg-gray-100 rounded-lg",style:{width:140,height:140},children:bf.jsxs("div",{className:"text-center p-2",children:[bf.jsx("div",{className:"text-lg mb-1",children:"⚠️"}),bf.jsx("div",{className:"text-xs text-gray-600",children:(null==o?void 0:o.id)?"QR Failed":"Payment not created"})]})})}),bf.jsxs("div",{className:"flex-1 flex flex-col justify-center",children:[bf.jsxs("div",{className:"p-2 bg-gray-50 rounded-lg mb-2",children:[bf.jsxs("div",{className:"flex justify-between items-center mb-1",children:[bf.jsx("span",{className:"text-xs font-medium text-gray-600",children:"Amount:"}),bf.jsxs("span",{className:"text-sm font-bold text-[#7042D2]",children:[t," ",n]})]}),bf.jsxs("div",{className:"flex justify-between items-center",children:[bf.jsx("span",{className:"text-xs text-gray-500",children:"Network:"}),bf.jsx("span",{className:"text-xs font-medium text-gray-700",children:r})]})]}),w?bf.jsxs("div",{className:"flex items-center justify-center text-xs font-semibold text-green-600 p-1.5 bg-green-50 rounded-lg",children:[bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-3.5 w-3.5 mr-1",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}),"Payment Received!"]}):bf.jsx("div",{className:"p-1.5 rounded-lg bg-blue-50 border border-blue-200",children:bf.jsx("p",{className:"text-xs text-blue-700 text-center leading-tight",children:"📱 Scan with phone camera"})})]})]})})},r6=({selectedNetwork:e,onWalletSelect:t,onConnect:n,connectedWallet:r,loading:i,paymentData:o=null,selectedToken:s=null,api:a=null,onSolanaConnect:c=null,solanaWallet:l=null})=>{const[u,d]=Yt.useState(null),h=Yt.useMemo(()=>e?DG(e.type||e.shortName||e.id):RG,[e])===NG,{connectors:f}=qP(),{isConnected:p,address:m}=kA(),g=Yt.useMemo(()=>{if(h){return l.availableWallets.map(e=>({type:e.id,name:e.name,icon:Z3(e.name,e.id)||"🔗",description:e.adapter?"Available":"Not installed",isSolana:!0,wallet:e}))}return Q3(f,e)},[h,l.availableWallets,f,e]),y=async(t,n)=>{if(Y3())if(o)try{const{generateQRPaymentURI:r,generateMobilePaymentDeepLink:i}=await Promise.resolve().then(()=>t6),c=r(o,s,e,(null==a?void 0:a.config)||{},n);if(!c)throw new Error("Failed to generate payment URL");const l=i(n,c);if(!l)throw new Error(`Failed to generate ${t.name} deep link`);window.location.href=l}catch(cF){alert(`Failed to open ${t.name}: ${cF.message}`)}else alert("Please create a payment first before selecting a mobile wallet.");else alert(`Please install ${t.name} mobile app or use the browser extension if available.`)};return e?0===g.length?bf.jsxs("div",{className:"text-center p-4",children:[bf.jsxs("p",{className:"text-gray-500 mb-4",children:["No compatible wallets found for ",e.name]}),bf.jsx("div",{className:"p-3 bg-amber-50 rounded-lg border border-amber-200",children:bf.jsxs("div",{className:"text-sm text-amber-800",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:[bf.jsx("div",{className:"font-medium mb-2",children:"Install a compatible wallet:"}),bf.jsx("div",{className:"space-y-1 text-xs",children:h?bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{children:["• ",bf.jsx("a",{href:MG.PHANTOM.downloadUrl,target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install Phantom Wallet"})]}),bf.jsxs("div",{children:["• ",bf.jsx("a",{href:MG.SOLFLARE.downloadUrl,target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install Solflare Wallet"})]}),bf.jsxs("div",{children:["• ",bf.jsx("a",{href:MG.BACKPACK.downloadUrl,target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install Backpack Wallet"})]})]}):bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{children:["• ",bf.jsx("a",{href:"https://metamask.io/download/",target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install MetaMask Wallet"})]}),bf.jsxs("div",{children:["• ",bf.jsx("a",{href:"https://www.coinbase.com/wallet",target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 underline hover:text-amber-900",children:"Install Coinbase Wallet"})]})]})})]})})]}):bf.jsxs("div",{className:"space-y-4",children:[bf.jsxs("label",{className:"block text-sm font-medium text-gray-700",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:["Select Wallet for ",e.name]}),bf.jsx(f5,{options:g,value:(null==r?void 0:r.walletType)||u||"",onChange:async e=>{d(e);const r=g.find(t=>t.type===e);if(r){if(t(e),r.isSolana){if(r.isWalletConnect)return void alert("WalletConnect for Solana: Please use Phantom, Solflare, or another Solana wallet that supports WalletConnect scanning from their mobile app.");try{const t=await l.connectWallet(e);c&&await c({walletType:e,publicKey:t,wallet:l})}catch(cF){console.error("Failed to connect Solana wallet:",cF),alert(`Failed to connect: ${cF.message}`)}return}r.isWagmi&&r.connector?await n(r.connector):r.isWagmi||await y(r,e)}},placeholder:"Choose your wallet...",renderOption:e=>{var t,n,o,s,a,c,d;return bf.jsxs("div",{className:"flex items-center space-x-3",children:[bf.jsxs("div",{className:"w-8 h-8 flex items-center justify-center",children:[e.icon.startsWith("http")||e.icon.startsWith("data:")?bf.jsx("img",{src:e.icon,alt:e.name,className:"w-6 h-6 rounded-full object-contain",onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="block"}}):bf.jsx("div",{className:"text-2xl",children:e.icon}),bf.jsx("div",{className:"text-xl",style:{display:"none"},children:"🔗"})]}),bf.jsxs("div",{className:"flex-1",children:[bf.jsxs("div",{className:"font-semibold text-gray-800 flex items-center",children:[e.name,!e.isSolana&&J3(e.type)&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-blue-100 text-blue-700 text-xs rounded-full",children:"DETECTED"}),e.isSolana&&(null==(t=e.wallet)?void 0:t.adapter)&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-blue-100 text-blue-700 text-xs rounded-full",children:"DETECTED"}),e.isSolana&&(null==(n=l.connectedWallet)?void 0:n.id)===e.type&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-green-100 text-green-700 text-xs rounded-full",children:"CONNECTED"}),!e.isSolana&&(null==r?void 0:r.walletType)===e.type&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-green-100 text-green-700 text-xs rounded-full",children:"CONNECTED"})]}),bf.jsx("div",{className:"text-sm text-gray-500",children:e.isSolana&&(null==(o=l.connectedWallet)?void 0:o.id)===e.type?`Connected • ${null==(s=l.publicKey)?void 0:s.slice(0,6)}...${null==(a=l.publicKey)?void 0:a.slice(-4)}`:(null==r?void 0:r.walletType)===e.type?`Connected • ${null==(c=r.account)?void 0:c.slice(0,6)}...${null==(d=r.account)?void 0:d.slice(-4)}`:e.description})]}),i&&u===e.type&&bf.jsx("div",{className:"animate-spin rounded-full h-5 w-5 border-b-2 border-[#7042D2]"})]})},getOptionKey:e=>e.type,getOptionValue:e=>e.type,getSearchableText:e=>`${e.name} ${e.description}`,disabled:i})]}):bf.jsx("div",{className:"text-center p-4",children:bf.jsx("p",{className:"text-gray-500",children:"Please select a network first"})})},i6=(()=>{if(void 0!==aO&&aO.env)return!1;if("undefined"!=typeof window){const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||e.includes("192.168.")}return!1})()||(()=>{if("undefined"!=typeof window){const e=new URLSearchParams(window.location.search);return"true"===e.get("debug")||"true"===e.get("debugMode")}return!1})(),o6=({paymentData:e,selectedToken:t,selectedNetwork:n,config:r,onPaymentStarted:i=()=>{},onError:o=()=>{}})=>{var s,a;const[c,l]=Yt.useState(null),[u,d]=Yt.useState(!1),[h,f]=Yt.useState([]),[p,m]=Yt.useState(!1),[g,y]=Yt.useState(0);Yt.useEffect(()=>{var r,i,o;(null==e?void 0:e.id)&&(null==t?void 0:t.contractAddress)&&(null==n?void 0:n.chainId)&&((null==(r=null==e?void 0:e.contractCall)?void 0:r.contractAddress)||(null==e?void 0:e.contractAddress))?b("success","✅ Payment data complete",{paymentId:e.id,tokenContract:t.contractAddress,chainId:n.chainId,paymentContract:(null==(o=null==e?void 0:e.contractCall)?void 0:o.contractAddress)||(null==e?void 0:e.contractAddress)}):(b("debug","⏳ Waiting for complete payment data",{hasPaymentId:!!(null==e?void 0:e.id),hasTokenContract:!!(null==t?void 0:t.contractAddress),hasChainId:!!(null==n?void 0:n.chainId),hasPaymentContract:!(!(null==(i=null==e?void 0:e.contractCall)?void 0:i.contractAddress)&&!(null==e?void 0:e.contractAddress)),checkCount:g}),y(e=>e+1))},[e,t,n,g]);const b=(e,t,n=null)=>{const r=(new Date).toLocaleTimeString(),i={id:Date.now()+Math.random(),type:e,message:t,data:n,timestamp:r};i6&&(f(e=>[...e,i].slice(-20)),e.toUpperCase())},v=[{id:"metamask",name:"MetaMask",icon:"🦊",description:"Connect with MetaMask mobile"},{id:"trust",name:"Trust Wallet",icon:"🛡️",description:"Connect with Trust Wallet"},{id:"coinbase",name:"Coinbase Wallet",icon:"💙",description:"Connect with Coinbase Wallet"}];if(!e)return bf.jsx("div",{className:"p-4 bg-amber-50 rounded-lg border border-amber-200",children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"text-amber-800 font-medium mb-2",children:"⚠️ Payment Required"}),bf.jsx("div",{className:"text-sm text-amber-700",children:"Please create a payment before selecting a wallet"})]})});const w=(null==e?void 0:e.id)&&(null==t?void 0:t.contractAddress)&&(null==n?void 0:n.chainId)&&((null==(s=null==e?void 0:e.contractCall)?void 0:s.contractAddress)||(null==e?void 0:e.contractAddress));return bf.jsx("div",{className:"space-y-4",children:w?bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{className:"space-y-2",children:[bf.jsx("label",{className:"block text-sm font-medium text-gray-700",style:{fontFamily:"Bricolage Grotesque, sans-serif"},children:"Select Mobile Wallet"}),bf.jsx(f5,{options:v,value:c||"",onChange:async s=>{const a=v.find(e=>e.id===s);if(a){l(s),d(!0);try{if(b("info",`🚀 Mobile wallet selected: ${a.name}`),!e)throw new Error("Payment data not available. Please create payment first.");b("debug","🔍 Payment Data Check",{hasPaymentData:!!e,hasSelectedToken:!!t,hasSelectedNetwork:!!n,hasConfig:!!r,paymentId:(null==e?void 0:e.id)||(null==e?void 0:e.splitterPaymentId),tokenAddress:null==t?void 0:t.contractAddress,networkChainId:null==n?void 0:n.chainId,amount:(null==e?void 0:e.totalAmount)||(null==e?void 0:e.amount)||(null==r?void 0:r.amount)});const o=X3(e,0,n,0,s);if(!o)throw new Error("Failed to generate payment URL");b("success","📱 Generated payment URL",{url:o,length:o.length});const c=e6(s,o);if(!c)throw new Error(`Failed to generate ${a.name} deep link`);b("success",`🔗 Deep link generated for ${a.name}`,{deepLink:c}),i({walletType:s,walletName:a.name,paymentUrl:o,deepLink:c}),setTimeout(()=>{b("info",`📱 Opening ${a.name}...`),window.location.href=c},500)}catch(cF){b("error","❌ Mobile wallet connection failed",{error:cF.message,walletId:s,hasPaymentData:!!e,hasSelectedToken:!!t,hasSelectedNetwork:!!n}),o(cF.message),d(!1),l(null)}}},placeholder:"Choose your wallet...",renderOption:e=>bf.jsxs("div",{className:"flex items-center space-x-3",children:[bf.jsx("div",{className:"w-8 h-8 flex items-center justify-center",children:bf.jsx("div",{className:"text-2xl",children:e.icon})}),bf.jsxs("div",{className:"flex-1",children:[bf.jsxs("div",{className:"font-semibold text-gray-800",children:[e.name,c===e.id&&u&&bf.jsx("span",{className:"ml-2 px-2 py-1 bg-blue-100 text-blue-700 text-xs rounded-full animate-pulse",children:"Opening..."})]}),bf.jsx("div",{className:"text-sm text-gray-500",children:e.description})]})]}),getOptionKey:e=>e.id,getOptionValue:e=>e.id,getSearchableText:e=>`${e.name} ${e.description}`,disabled:u}),bf.jsx("div",{className:"text-xs text-gray-500 mt-2",children:"Select a wallet to open it with your payment details"})]}),u&&c&&bf.jsx("div",{className:"p-3 bg-blue-50 border border-blue-200 rounded-lg animate-pulse",children:bf.jsxs("div",{className:"flex items-center space-x-2",children:[bf.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-2 border-blue-600 border-t-transparent"}),bf.jsxs("div",{className:"text-sm text-blue-700",children:["Opening ",null==(a=v.find(e=>e.id===c))?void 0:a.name,"..."]})]})}),bf.jsxs("div",{className:"p-3 bg-gray-50 rounded-lg",children:[bf.jsxs("div",{className:"flex justify-between items-center text-sm",children:[bf.jsx("span",{className:"text-gray-600",children:"Amount:"}),bf.jsxs("span",{className:"font-semibold text-gray-800",children:[e.totalAmount," ",(null==t?void 0:t.symbol)||"USDC"]})]}),bf.jsxs("div",{className:"flex justify-between items-center text-sm mt-1",children:[bf.jsx("span",{className:"text-gray-600",children:"Network:"}),bf.jsx("span",{className:"text-gray-800",children:(null==n?void 0:n.name)||"Ethereum"})]})]}),bf.jsx("div",{className:"p-3 bg-purple-50 border border-purple-200 rounded-lg",children:bf.jsxs("div",{className:"text-xs text-purple-700",children:[bf.jsx("div",{className:"font-medium mb-1",children:"📱 Mobile Payment"}),bf.jsx("div",{children:"Your selected wallet app will open with payment details pre-filled"})]})}),i6&&bf.jsxs("div",{className:"mt-4",children:[bf.jsxs("button",{onClick:()=>m(!p),className:"w-full text-xs py-2 px-3 bg-gray-100 text-gray-600 rounded-lg hover:bg-gray-200 transition-colors",children:[p?"🔽 Hide Debug Info":"🔧 Show Debug Info"," (",h.length," logs)"]}),p&&bf.jsxs("div",{className:"mt-2 p-3 bg-gray-900 text-green-400 rounded-lg text-xs font-mono max-h-80 overflow-y-auto",children:[bf.jsx("div",{className:"text-white mb-2 font-bold",children:"📱 Mobile Debug Panel"}),0===h.length?bf.jsx("div",{className:"text-gray-400",children:"No debug logs yet. Try selecting a wallet..."}):h.map(e=>bf.jsxs("div",{className:"mb-3 pb-2 border-b border-gray-700",children:[bf.jsxs("div",{className:"flex items-center justify-between mb-1",children:[bf.jsx("span",{className:"px-2 py-1 rounded text-xs font-bold "+("error"===e.type?"bg-red-600 text-white":"success"===e.type?"bg-green-600 text-white":"debug"===e.type?"bg-blue-600 text-white":"bg-gray-600 text-white"),children:e.type.toUpperCase()}),bf.jsx("span",{className:"text-gray-400",children:e.timestamp})]}),bf.jsx("div",{className:"text-yellow-300 mb-1",children:e.message}),e.data&&bf.jsx("div",{className:"text-gray-300 text-xs",children:bf.jsxs("details",{children:[bf.jsx("summary",{className:"cursor-pointer text-blue-300 hover:text-blue-200",children:"📊 Data"}),bf.jsx("pre",{className:"mt-1 p-2 bg-gray-800 rounded overflow-x-auto whitespace-pre-wrap",children:JSON.stringify(e.data,null,2)})]})})]},e.id)),bf.jsx("button",{onClick:()=>f([]),className:"mt-2 px-3 py-1 bg-red-600 text-white rounded text-xs hover:bg-red-700",children:"Clear Logs"})]})]})]}):bf.jsx("div",{className:"p-4 bg-amber-50 rounded-lg border border-amber-200",children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"text-amber-800 font-medium mb-2",children:"⏳ Preparing Payment..."}),bf.jsx("div",{className:"text-sm text-amber-700",children:"Payment is being prepared. Please wait a moment..."}),bf.jsx("div",{className:"mt-3",children:bf.jsx("div",{className:"animate-spin rounded-full h-6 w-6 border-2 border-amber-600 border-t-transparent mx-auto"})})]})})})},s6=({error:e,onRetry:t,onDismiss:n,context:r="payment",className:i=""})=>{if(!e)return null;const o=HG(e),s=(e=>{switch(e){case"user_rejected":return"info";case"insufficient_funds":case"wrong_network":case"wallet_disconnected":case"payment_pending":return"warning";case"network_error":case"gas_error":case"rate_limited":return"error";default:return"critical"}})(o.type),a=(e=>{switch(e){case"user_rejected":default:return"Try Again";case"insufficient_funds":return"Add Funds & Retry";case"wrong_network":return"Switch Network & Retry";case"wallet_disconnected":return"Reconnect Wallet";case"payment_pending":return"Check Again";case"network_error":case"rate_limited":return"Retry";case"popup_blocked":return"Allow Popups & Retry";case"mobile_wallet_error":return"Open Wallet App"}})(o.type),c={info:{container:"bg-blue-50 border-blue-200",title:"text-blue-800",message:"text-blue-700",icon:"ℹ️",button:"bg-blue-600 hover:bg-blue-700"},warning:{container:"bg-amber-50 border-amber-200",title:"text-amber-800",message:"text-amber-700",icon:"⚠️",button:"bg-amber-600 hover:bg-amber-700"},error:{container:"bg-red-50 border-red-200",title:"text-red-800",message:"text-red-700",icon:"❌",button:"bg-red-600 hover:bg-red-700"},critical:{container:"bg-red-50 border-red-300",title:"text-red-900",message:"text-red-800",icon:"🚨",button:"bg-red-700 hover:bg-red-800"}},l=c[s]||c.error;return bf.jsxs("div",{className:`p-4 border rounded-lg ${l.container} ${i}`,children:[bf.jsxs("div",{className:"flex items-start space-x-3",children:[bf.jsx("div",{className:"flex-shrink-0 text-xl",children:l.icon}),bf.jsxs("div",{className:"flex-1 min-w-0",children:[bf.jsx("div",{className:`font-semibold ${l.title} mb-1`,children:o.title}),bf.jsx("div",{className:`text-sm ${l.message} mb-2`,children:o.message}),o.suggestion&&bf.jsxs("div",{className:`text-xs ${l.message} opacity-90`,children:["💡 ",o.suggestion]})]}),n&&bf.jsx("button",{onClick:n,className:"flex-shrink-0 text-gray-400 hover:text-gray-600 transition-colors","aria-label":"Dismiss error",children:bf.jsx("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:bf.jsx("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})})]}),t&&bf.jsxs("div",{className:"mt-3 flex justify-end space-x-2",children:[n&&"info"===s&&bf.jsx("button",{onClick:n,className:"px-3 py-1.5 text-xs text-gray-600 hover:text-gray-800 transition-colors",children:"Cancel"}),bf.jsx("button",{onClick:t,className:`px-4 py-2 text-sm font-medium text-white rounded-md transition-colors ${l.button}`,children:a})]}),!1]})},a6="method",c6="confirm",l6="processing",u6="success",d6="wallet",h6="qr",f6="deposit",p6="Gilroy-Medium, Gilroy-Regular, sans-serif",m6=({depositAddress:e,amount:t,currency:n,network:r,networkName:i,paymentId:o,expiresAt:s,requiredConfirmations:a=20,theme:c="light",api:l=null,onPaymentDetected:u=null,onPaymentConfirmed:d=null,onPaymentProcessing:h=null,onExpired:f=null,explorerUrl:p=null})=>{const[m,g]=Yt.useState(""),[y,b]=Yt.useState(!0),[v,w]=Yt.useState(!1),[_,E]=Yt.useState("awaiting"),[x,k]=Yt.useState("0"),[S,C]=Yt.useState(0),[I,A]=Yt.useState(null),[P,O]=Yt.useState(!1),[M,T]=Yt.useState(null),[R,N]=Yt.useState(null),L=Yt.useRef(null),B=Yt.useRef(null),j=Yt.useRef(!1),D=Yt.useRef(!1),U=Y3();Yt.useEffect(()=>{(async()=>{if(e){b(!0);try{const t=await g5.toDataURL(e,{width:U?200:180,margin:2,errorCorrectionLevel:"M",color:{dark:"dark"===c?"#FFFFFF":"#000000",light:"dark"===c?"#1F2937":"#FFFFFF"}});g(t),b(!1)}catch(cF){console.error("Failed to generate QR code:",cF),b(!1)}}else b(!1)})()},[e,c,U]),Yt.useEffect(()=>{if(!s)return;const e=()=>{const e=(new Date).getTime(),t=new Date(s).getTime()-e;if(t<=0)return O(!0),A(null),void(f&&f());const n=Math.floor(t%36e5/6e4),r=Math.floor(t%6e4/1e3);A(`${n}:${r.toString().padStart(2,"0")}`)};return e(),B.current=setInterval(e,1e3),()=>{B.current&&clearInterval(B.current)}},[s,f]);const $=Yt.useCallback(async()=>{if(l&&o&&"confirmed"!==_&&"swept"!==_)try{const n=await l.getDepositBalance(o);let r=!1,i="0";n.success&&(i=n.balance||"0",k(i),r=n.isComplete,parseFloat(i)>0&&"awaiting"===_&&(E("detected"),u&&u(n)),r&&"confirming"!==_&&"confirmed"!==_&&(E("confirming"),R||N(Date.now()),!j.current&&h&&(j.current=!0,h({balance:i,expectedAmount:t,depositAddress:e,paymentId:o}))));const s=await l.getDepositStatus(o);let c=null;if(s.success&&s.payment){const e=s.payment;c=e.status,C(e.confirmations||0),e.depositTxHash&&T(e.depositTxHash);const t="completed"===e.status||"swept"===e.status,n=e.depositTxHash||e.sweepTxHash||e.transactionHash;if(t&&n&&!D.current&&(D.current=!0,E("swept"===e.status?"swept":"confirmed"),d)){const t={...e,transactionHash:e.depositTxHash||e.sweepTxHash||e.transactionHash};d(t)}e.sweptAt&&"swept"!==_&&E("swept")}if(r&&R&&!D.current&&M){const t=Date.now()-R;t>=3e4&&(D.current=!0,E("confirmed"),d&&d({id:o,status:"completed",depositAddress:e,amount:i,depositTxHash:M,transactionHash:M,confirmations:S||a,sdkConfirmed:!0,confirmedAt:(new Date).toISOString()}))}}catch(cF){console.warn("Failed to check deposit status:",cF.message)}},[l,o,_,t,e,S,M,R,a,u,d,h]);Yt.useEffect(()=>{if(l&&o&&!P)return $(),L.current=setInterval($,5e3),()=>{L.current&&clearInterval(L.current)}},[l,o,P,$]);const F=(()=>{if(P)return{message:"Payment expired",color:"text-red-600",bgColor:"bg-red-50",icon:"⏰"};switch(_){case"detected":case"confirming":return{message:"Transfer detected! Processing...",color:"text-blue-600",bgColor:"bg-blue-50",icon:"⏳"};case"confirmed":return{message:"Payment confirmed!",color:"text-green-600",bgColor:"bg-green-50",icon:"✅"};case"swept":return{message:"Payment complete - Funds delivered!",color:"text-green-600",bgColor:"bg-green-50",icon:"🎉"};default:return{message:"Send exact amount to address below",color:"text-gray-600",bgColor:"bg-gray-50",icon:"📤"}}})(),z="dark"===c;return bf.jsxs("div",{className:"flex flex-col items-center w-full",style:{fontFamily:p6},children:[bf.jsx("div",{className:`w-full p-3 rounded-lg mb-4 ${F.bgColor} border ${z?"border-gray-600":"border-gray-200"}`,children:bf.jsxs("div",{className:`flex items-center justify-center ${F.color} font-medium`,children:[bf.jsx("span",{className:"mr-2",children:F.icon}),F.message]})}),bf.jsxs("div",{className:`flex ${U?"flex-col":"flex-row"} gap-4 w-full`,children:[bf.jsx("div",{className:"flex-shrink-0 "+(U?"mx-auto":""),children:bf.jsx("div",{className:`p-2 rounded-xl ${z?"bg-gray-800":"bg-white"} shadow-md border ${z?"border-gray-700":"border-gray-200"}`,children:y?bf.jsx("div",{className:"flex items-center justify-center",style:{width:U?200:180,height:U?200:180},children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-purple-600 mx-auto mb-2"}),bf.jsx("div",{className:"text-sm "+(z?"text-gray-400":"text-gray-600"),children:"Generating..."})]})}):m?bf.jsx("img",{src:m,alt:"Transfer Address QR",className:"rounded-lg",style:{width:U?200:180,height:U?200:180}}):bf.jsx("div",{className:"flex items-center justify-center rounded-lg "+(z?"bg-gray-700":"bg-gray-100"),style:{width:U?200:180,height:U?200:180},children:bf.jsx("span",{className:"text-sm "+(z?"text-gray-400":"text-gray-500"),children:"QR unavailable"})})})}),bf.jsxs("div",{className:"flex-1 flex flex-col justify-between",children:[bf.jsxs("div",{className:`p-3 rounded-lg mb-3 ${z?"bg-gray-800":"bg-purple-50"} border ${z?"border-gray-700":"border-purple-200"}`,children:[bf.jsx("div",{className:"text-xs font-medium mb-1 "+(z?"text-gray-400":"text-purple-600"),children:"Send Exactly:"}),bf.jsxs("div",{className:"text-2xl font-bold text-[#7042D2]",children:[t," ",n]}),bf.jsxs("div",{className:"text-xs mt-1 "+(z?"text-gray-400":"text-gray-500"),children:["on ",i||r]})]}),bf.jsxs("div",{className:`p-3 rounded-lg ${z?"bg-gray-800":"bg-gray-50"} border ${z?"border-gray-700":"border-gray-200"}`,children:[bf.jsx("div",{className:"text-xs font-medium mb-2 "+(z?"text-gray-400":"text-gray-600"),children:"Transfer Address:"}),bf.jsxs("div",{className:"flex items-center gap-2",children:[bf.jsx("code",{className:`flex-1 text-xs font-mono break-all p-2 rounded ${z?"bg-gray-900 text-gray-300":"bg-white text-gray-800"} border ${z?"border-gray-700":"border-gray-300"}`,children:e}),bf.jsx("button",{onClick:async()=>{try{await navigator.clipboard.writeText(e),w(!0),setTimeout(()=>w(!1),2e3)}catch(cF){console.error("Failed to copy:",cF)}},className:"p-2 rounded-lg transition-colors "+(v?"bg-green-500 text-white":z?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"),title:v?"Copied!":"Copy address",children:v?bf.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):bf.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})})]})]}),bf.jsxs("div",{className:"flex gap-2 mt-3",children:[I&&!P&&"awaiting"===_&&bf.jsxs("div",{className:`flex-1 p-2 rounded-lg text-center ${z?"bg-gray-800":"bg-orange-50"} border ${z?"border-gray-700":"border-orange-200"}`,children:[bf.jsx("div",{className:"text-xs "+(z?"text-gray-400":"text-orange-600"),children:"Expires in"}),bf.jsx("div",{className:"text-lg font-bold "+(z?"text-orange-400":"text-orange-600"),children:I})]}),parseFloat(x)>0&&bf.jsxs("div",{className:`flex-1 p-2 rounded-lg text-center ${z?"bg-gray-800":"bg-green-50"} border ${z?"border-gray-700":"border-green-200"}`,children:[bf.jsx("div",{className:"text-xs "+(z?"text-gray-400":"text-green-600"),children:"Received"}),bf.jsxs("div",{className:"text-lg font-bold "+(z?"text-green-400":"text-green-600"),children:[x," ",n]})]})]})]})]}),M&&p&&bf.jsx("div",{className:"w-full mt-4",children:bf.jsxs("a",{href:`${p}/tx/${M}`,target:"_blank",rel:"noopener noreferrer",className:`flex items-center justify-center gap-2 p-2 rounded-lg ${z?"bg-gray-800 text-blue-400 hover:bg-gray-700":"bg-blue-50 text-blue-600 hover:bg-blue-100"} transition-colors`,children:[bf.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})}),"View transaction on explorer"]})}),bf.jsxs("div",{className:`w-full mt-4 p-3 rounded-lg ${z?"bg-gray-800 border-gray-700":"bg-gray-50 border-gray-200"} border`,children:[bf.jsx("div",{className:"text-xs font-medium mb-2 "+(z?"text-gray-300":"text-gray-700"),children:"📋 Instructions:"}),bf.jsxs("ol",{className:"text-xs space-y-1 "+(z?"text-gray-400":"text-gray-600"),children:[bf.jsx("li",{children:"1. Copy the transfer address or scan QR code"}),bf.jsxs("li",{children:["2. Send ",bf.jsxs("strong",{children:[t," ",n]})," from any wallet"]}),bf.jsxs("li",{children:["3. Wait for ",a," confirmations"]}),bf.jsx("li",{children:"4. Payment will be automatically confirmed"})]})]})]})},g6=new kP,y6=({publicKey:e,apiKey:t,apiSecret:n,apiUrl:r,config:i,onSuccess:o,onError:s,onClose:a,isOpen:c,theme:l="light"})=>{var u;const d=((e,t,n)=>{const[r,i]=Yt.useState("method"),[o,s]=Yt.useState([]),[a,c]=Yt.useState([]),[l,u]=Yt.useState(null),[d,h]=Yt.useState(null),[f,p]=Yt.useState(null),[m,g]=Yt.useState(null),[y,b]=Yt.useState(!1),[v,w]=Yt.useState(""),[_,E]=Yt.useState(!1),[x,k]=Yt.useState("Processing transaction..."),[S,C]=Yt.useState("wallet"),[I,A]=Yt.useState(null),P=Yt.useRef(new CG(e,t,n)),O=()=>{if(!l)return!1;const e=parseInt(l.chainId);return[8453,56,42161,137,10,43114,143].includes(e)};return{currentStep:r,networks:o,tokens:a,selectedNetwork:l,selectedToken:d,paymentMethod:f,paymentData:m,loading:y,error:v,processing:_,processingMessage:x,paymentType:S,actualTransactionHash:I,setCurrentStep:i,setSelectedNetwork:u,setSelectedToken:h,setPaymentMethod:p,setPaymentData:g,setError:w,setProcessing:E,setProcessingMessage:k,setPaymentType:C,setActualTransactionHash:A,loadData:async()=>{var e,t;try{b(!0),w("");const[n,r]=await Promise.all([P.current.getNetworks(),P.current.getTokens()]),i=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test("undefined"!=typeof navigator?navigator.userAgent:""),o=(null==(e=n.networks)?void 0:e.reduce((e,t)=>{if("tron"===t.shortName||"algorand"===t.shortName)return e;const n="solana"===t.shortName||"solana"===t.chainType;if(n&&i)return e;if(!(n||t.chainId&&null!==t.chainId))return e;const r=n?`solana-${t.shortName}`:`${t.chainId}-${t.shortName}`;return e.some(e=>("solana"===e.shortName||"solana"===e.chainType?`solana-${e.shortName}`:`${e.chainId}-${e.shortName}`)===r)||e.push(t),e},[]))||[],a=(null==(t=r.stablecoins)?void 0:t.reduce((e,t)=>{var n,r,o,s,a;if(!["USDC","USDT","SOL"].includes(t.symbol))return e;if("tron"===(null==(n=t.Network)?void 0:n.shortName)||"algorand"===(null==(r=t.Network)?void 0:r.shortName))return e;if(("solana"===(null==(o=t.Network)?void 0:o.shortName)||"solana"===(null==(s=t.Network)?void 0:s.chainType))&&i)return e;const c=`${t.symbol}-${(null==(a=t.Network)?void 0:a.shortName)||t.networkId}`;return e.some(e=>{var t;return`${e.symbol}-${(null==(t=e.Network)?void 0:t.shortName)||e.networkId}`===c})||e.push(t),e},[]))||[];s(o),c(a)}catch($He){w("Failed to load payment options. Using fallback data.")}finally{b(!1)}},createPayment:async e=>{var t,n;try{b(!0),w("");const r=parseFloat(e.amount);if(!r||r<=0||isNaN(r))throw new Error("Invalid payment amount. Please ensure the order total is greater than zero before proceeding.");const o={amount:e.amount,currency:d.symbol,network:l.shortName,customerEmail:e.customerEmail,callbackUrl:e.callbackUrl,metadata:{...e.metadata,merchantWalletAddresses:e.merchantWalletAddresses,paymentMethod:f,selectedNetwork:l.shortName,selectedToken:d.symbol,wagmiEnabled:!0}},s=await P.current.createPayment(o);g(s.payment),JH.trackPaymentCreated(null==(t=s.payment)?void 0:t.id,e.amount,l.shortName,d.symbol),oW(null==(n=s.payment)?void 0:n.id,e.amount,l.shortName,d.symbol),i("confirm")}catch($He){w($He.message),JH.trackError("payment_creation_failed",$He.message,{amount:e.amount,network:null==l?void 0:l.shortName,token:null==d?void 0:d.symbol}),cW("payment_creation_failed",$He.message,{amount:e.amount,network:null==l?void 0:l.shortName,token:null==d?void 0:d.symbol})}finally{b(!1)}},failPayment:async(e="Payment cancelled by user")=>{if(null==m?void 0:m.id)try{await P.current.failPayment(m.id,e)}catch(t){}},resetState:()=>{i("method"),u(null),h(null),p(null),g(null),w(""),E(!1),A(null),C("wallet")},resetTransactionState:()=>{w(""),E(!1),A(null),i("confirm")},isDepositSupported:O,createDepositPayment:async e=>{var t,n;try{b(!0),w("");const r=parseFloat(e.amount);if(!r||r<=0||isNaN(r))throw new Error("Invalid payment amount. Please ensure the order total is greater than zero before proceeding.");if(!O())throw new Error(`Deposit address payments not supported on ${(null==l?void 0:l.name)||"this network"}. Use wallet payment instead.`);const o={amount:e.amount,currency:d.symbol,network:l.shortName,customerEmail:e.customerEmail,callbackUrl:e.callbackUrl,metadata:{...e.metadata,merchantWalletAddresses:e.merchantWalletAddresses,paymentMethod:"deposit_address",selectedNetwork:l.shortName,selectedToken:d.symbol}},s=await P.current.createDepositPayment(o);if(!s.success)throw new Error(s.error||"Failed to create deposit payment");return g({...s.payment,isDepositPayment:!0}),JH.trackPaymentCreated(null==(t=s.payment)?void 0:t.id,e.amount,l.shortName,d.symbol),oW(null==(n=s.payment)?void 0:n.id,e.amount,l.shortName,d.symbol),i("confirm"),s.payment}catch($He){throw w($He.message),JH.trackError("deposit_payment_creation_failed",$He.message,{amount:e.amount,network:null==l?void 0:l.shortName,token:null==d?void 0:d.symbol}),cW("deposit_payment_creation_failed",$He.message,{amount:e.amount,network:null==l?void 0:l.shortName,token:null==d?void 0:d.symbol}),$He}finally{b(!1)}},resetDepositPayment:()=>{g(e=>{if(null==e?void 0:e.isDepositPayment){const{isDepositPayment:t,depositAddress:n,expiresAt:r,requiredConfirmations:i,...o}=e;return o}return e})},api:P.current}})(r,e||t,e?null:n),h=UG(),f=(()=>{const[e,t]=Yt.useState(null),[n,r]=Yt.useState(null),[i,o]=Yt.useState(!1),[s,a]=Yt.useState(null),[c,l]=Yt.useState([]);Yt.useEffect(()=>{var e,t,n,r,i;const o=[];"undefined"!=typeof window&&(null==(e=window.solana)?void 0:e.isPhantom)&&o.push({...MG.PHANTOM,adapter:window.solana}),"undefined"!=typeof window&&(null==(t=window.solflare)?void 0:t.isSolflare)&&o.push({...MG.SOLFLARE,adapter:window.solflare}),"undefined"!=typeof window&&(null==(n=window.backpack)?void 0:n.isBackpack)&&o.push({...MG.BACKPACK,adapter:window.backpack}),"undefined"!=typeof window&&(null==(r=window.trustwallet)?void 0:r.solana)&&o.push({...MG.TRUST_WALLET,adapter:window.trustwallet.solana}),"undefined"!=typeof window&&(null==(i=window.magicEden)?void 0:i.solana)&&o.push({...MG.MAGIC_EDEN,adapter:window.magicEden.solana}),l(o)},[]);const u=Yt.useCallback(()=>{t(null),r(null)},[]),d=Yt.useCallback(e=>{if(e){const n=e.toString();r(n),t(e=>e?{...e,publicKey:n}:null)}else u()},[u]),h=Yt.useCallback(async e=>{o(!0),a(null);try{const n=c.find(t=>t.id===e);if(!n)throw new Error(`Wallet ${e} not found. Please install it first.`);const i=n.adapter,o=await i.connect(),s=(null==o?void 0:o.publicKey)||i.publicKey;if(!s)throw new Error("Failed to get wallet public key");const a=s.toString();return t({id:e,name:n.name,adapter:i,publicKey:a}),r(a),i.on&&(i.on("disconnect",u),i.on("accountChanged",d)),s.toString()}catch($He){console.error("❌ Error connecting to Solana wallet:",$He);let t=$He.message||"Failed to connect wallet";throw(4001===$He.code||t.includes("User rejected"))&&(t="Connection request was rejected"),a(t),new Error(t)}finally{o(!1)}},[c,u,d]),f=Yt.useCallback(async()=>{if(null==e?void 0:e.adapter)try{e.adapter.removeListener&&(e.adapter.removeListener("disconnect",u),e.adapter.removeListener("accountChanged",d)),await e.adapter.disconnect()}catch($He){console.error("Error disconnecting wallet:",$He)}t(null),r(null)},[e,u,d]),p=Yt.useCallback(e=>c.some(t=>t.id===e),[c]),m=Yt.useCallback(e=>{const t=Object.values(MG).find(t=>t.id===e);if(!t)return null;const n=/Android|iPhone|iPad|iPod/i.test(navigator.userAgent),r=/iPhone|iPad|iPod/i.test(navigator.userAgent),i=/Android/i.test(navigator.userAgent);if(n){if(r&&t.installUrl.ios)return t.installUrl.ios;if(i&&t.installUrl.android)return t.installUrl.android}return t.installUrl.chrome||t.downloadUrl},[]),g=Yt.useCallback(async(e,t=1e9)=>{if(!n)throw new Error("Wallet not connected");try{const{PublicKey:r}=await Promise.resolve().then(()=>B2),i=new r(n),o=await e.requestAirdrop(i,t);return await e.confirmTransaction(o),o}catch($He){throw console.error("❌ Airdrop failed:",$He),$He}},[n]);return{connectedWallet:e,publicKey:n,address:n,isConnecting:i,error:s,availableWallets:c,connectWallet:h,disconnectWallet:f,isWalletInstalled:p,getInstallUrl:m,requestAirdrop:g,isConnected:!!e&&!!n}})(),p=Yt.useMemo(()=>d.selectedNetwork?DG(d.selectedNetwork.type||d.selectedNetwork.shortName||d.selectedNetwork.id):RG,[d.selectedNetwork])===NG,m=Yt.useMemo(()=>!(!p||!d.selectedNetwork)&&(e=>{if(!e)return!1;const t=!0===e.isTestnet||"true"===e.isTestnet,n=(e.name||"").toLowerCase().includes("devnet"),r=(e.shortName||"").toLowerCase().includes("devnet"),i=(e.type||"").toLowerCase().includes("devnet"),o=(e.id||"").toLowerCase().includes("devnet");return t||n||r||i||o})(d.selectedNetwork),[p,d.selectedNetwork]),g=((e,t)=>{const[n,r]=Yt.useState(!1),[i,o]=Yt.useState(null),[s,a]=Yt.useState(null),c=Yt.useRef(0),l=Yt.useCallback(()=>{const t=Array.isArray(e)?e:[e];if(!t||0===t.length||!t[0])return null;const n=t[c.current%t.length];return new T2(n,"confirmed")},[e]);Yt.useCallback(()=>{const t=Array.isArray(e)?e:[e];c.current=(c.current+1)%t.length},[e]);const u=Yt.useCallback(async(e,n)=>{if(!(null==t?void 0:t.adapter)||!t.publicKey)throw new Error("Wallet not connected");r(!0),a(null),o(null);try{const i=l();if(!i)throw new Error("Solana RPC connection not available. Please select a Solana network.");const s=t.adapter,a=Math.floor(n*L2),c=5e-6,u=n+c,d=new YX(t.publicKey),h=await i.getBalance(d)/L2;if(h<u){const e=(u-h).toFixed(6);throw new Error(`Insufficient SOL balance. You have ${h.toFixed(6)} SOL but need ${u.toFixed(6)} SOL (${n} + ~${c} fee). Please add at least ${e} SOL to your wallet.`)}const f=new YX(e),p=(new y0).add(O0.transfer({fromPubkey:d,toPubkey:f,lamports:a})),{blockhash:m,lastValidBlockHeight:g}=await i.getLatestBlockhash();p.recentBlockhash=m,p.feePayer=d;const y=await s.signTransaction(p),b=await i.sendRawTransaction(y.serialize());return o(b),r(!1),{signature:b,success:!0}}catch($He){throw console.error("❌ SOL transaction failed:",$He),a($He.message||"Transaction failed"),r(!1),$He}},[t,l]),d=Yt.useCallback(async(e,n,i,s)=>{if(!(null==t?void 0:t.adapter)||!t.publicKey)throw new Error("Wallet not connected");r(!0),a(null),o(null);try{const a=l();if(!a)throw new Error("Solana RPC connection not available. Please select a Solana network.");const u=t.adapter,d=Math.floor(i*Math.pow(10,s)),h=new YX(t.publicKey),f=new YX(n),p=new YX(e),m=1e-5,g=await a.getBalance(h)/L2;if(g<m)throw new Error(`Insufficient SOL for transaction fee. You have ${g.toFixed(6)} SOL but need at least ${m} SOL for the network fee. Please add SOL to your wallet.`);try{const e=await l5(p,h,!1,j2,D2),t=await a.getTokenAccountBalance(e),n=parseFloat(t.value.uiAmount||0);if(n<i){const e=(i-n).toFixed(s);throw new Error(`Insufficient token balance. You have ${n.toFixed(s)} but need ${i.toFixed(s)}. Please add at least ${e} more tokens to your wallet.`)}}catch(c){if(c.message.includes("Insufficient"))throw c;throw new Error(`You don't have any of this token in your wallet. Please add ${i} tokens to continue.`)}const y=await l5(p,h,!1,j2,D2),b=await l5(p,f,!1,j2,D2),v=(new y0).add(h5(y,b,h,d,[],j2)),{blockhash:w,lastValidBlockHeight:_}=await a.getLatestBlockhash();v.recentBlockhash=w,v.feePayer=h;const E=await u.signTransaction(v),x=await a.sendRawTransaction(E.serialize());return o(x),r(!1),{signature:x,success:!0}}catch($He){console.error("❌ SPL Token transaction failed:",$He);let t=$He.message||"Transaction failed";throw t.includes("Account not found")?t="Recipient token account not found. They need to have received this token before.":t.includes("insufficient")?t="Insufficient balance":t.includes("User rejected")&&(t="Transaction was rejected"),a(t),r(!1),new Error(t)}},[t,l]),h=Yt.useCallback(async e=>{try{const n=l();if(!n)return console.warn("⚠️ Cannot fetch SOL balance: RPC connection not available"),0;const r=new YX(e||t.publicKey);return await n.getBalance(r)/L2}catch($He){return console.error("Error getting SOL balance:",$He),0}},[t,l]),f=Yt.useCallback(async(e,n)=>{try{const r=l();if(!r)return console.warn("⚠️ Cannot fetch SPL token balance: RPC connection not available"),0;const i=new YX(n||t.publicKey),o=new YX(e),s=await l5(o,i,!1,j2,D2),a=await r.getTokenAccountBalance(s);return parseFloat(a.value.uiAmount||0)}catch($He){return console.error("Error getting SPL token balance:",$He),0}},[t,l]),p=Yt.useCallback(async()=>{try{const e=l();return e?(await e.getRecentBlockhash(),5e-6):5e-6}catch($He){return console.error("Error estimating fee:",$He),5e-6}},[l]);return{isProcessing:n,txSignature:i,error:s,sendSOL:u,sendSPLToken:d,sendSplitPayment:Yt.useCallback(async({tokenMintAddress:e,merchantAddress:n,coinleyAddress:i,merchantAmount:s,coinleyAmount:c,decimals:u=6})=>{if(!(null==t?void 0:t.adapter)||!t.publicKey)throw new Error("Wallet not connected");r(!0),a(null),o(null);try{const a=l();if(!a)throw new Error("Solana RPC connection not available. Please select a Solana network.");const h=t.adapter,f=Math.floor(s*Math.pow(10,u)),p=Math.floor(c*Math.pow(10,u)),m=s+c,g=new YX(t.publicKey),y=new YX(n),b=new YX(i),v=new YX(e),w=.01,_=await a.getBalance(g)/L2;if(_<w)throw new Error(`Insufficient SOL for transaction fee. You have ${_.toFixed(6)} SOL but need at least ${w} SOL for the network fee. Please add SOL to your wallet.`);try{const e=await l5(v,g,!1,j2,D2),t=await a.getTokenAccountBalance(e),n=parseFloat(t.value.uiAmount||0);if(n<m){const e=(m-n).toFixed(u);throw new Error(`Insufficient token balance. You have ${n.toFixed(u)} but need ${m.toFixed(u)} for this payment. Please add at least ${e} more tokens to your wallet.`)}}catch(d){if(d.message.includes("Insufficient"))throw d;throw new Error(`You don't have any of this token in your wallet. Please add ${m.toFixed(u)} tokens to continue.`)}const E=await l5(v,g,!1,j2,D2),x=await l5(v,y,!1,j2,D2),k=await l5(v,b,!1,j2,D2),S=new y0;try{await c5(a,x)}catch(KAe){S.add(u5(g,x,y,v,j2,D2))}try{await c5(a,k)}catch(KAe){S.add(u5(g,k,b,v,j2,D2))}S.add(h5(E,x,g,f,[],j2)),S.add(h5(E,k,g,p,[],j2));const{blockhash:C,lastValidBlockHeight:I}=await a.getLatestBlockhash();S.recentBlockhash=C,S.feePayer=g;const A=await h.signTransaction(S),P=await a.sendRawTransaction(A.serialize());return o(P),r(!1),{signature:P,success:!0,merchantAmount:s,coinleyAmount:c,totalAmount:m}}catch($He){console.error("❌ Split payment failed:",$He);let t=$He.message||"Transaction failed";throw t.includes("insufficient")||t.includes("0x1")?t="Insufficient token balance":t.includes("User rejected")&&(t="Transaction was rejected"),a(t),r(!1),new Error(t)}},[t,l]),getSOLBalance:h,getSPLTokenBalance:f,estimateFee:p,resetTransaction:Yt.useCallback(()=>{r(!1),o(null),a(null)},[]),connection:l()}})(Yt.useMemo(()=>{if(!p||!d.selectedNetwork)return[];return IG},[p,d.selectedNetwork,m]),f.connectedWallet),[y,b]=Yt.useState("metamask"),[v,w]=Yt.useState(!1),[_,E]=Yt.useState(()=>!("undefined"==typeof window||!window.sessionStorage)&&"true"===sessionStorage.getItem("coinley_mobile_payment_started")),[x,k]=Yt.useState(!1);Yt.useEffect(()=>{w(Y3())},[]);const{currentStep:S,networks:C,tokens:I,selectedNetwork:A,selectedToken:P,paymentData:O,loading:M,error:T,paymentType:R,loadData:N,createPayment:L,createDepositPayment:B,isDepositSupported:j,failPayment:D,resetState:U,setSelectedNetwork:$,setSelectedToken:F,setPaymentType:z,setPaymentData:q,setCurrentStep:H,setError:W}=d,{connectedWallet:K,address:V,connectWallet:G,handleWalletSelection:Z,resetState:Y}=h,J=GG(O,P,A,V,d.api,h),{executePaymentTransaction:Q,processFinalPayment:X,transactionStep:ee,transactionError:te,currentTransactionHash:ne}=J;Yt.useEffect(()=>{S===u6&&"undefined"!=typeof window&&window.sessionStorage&&sessionStorage.removeItem("coinley_mobile_payment_started")},[S]),Yt.useEffect(()=>{if(c){N(),U(),JH.trackModalOpened(null==i?void 0:i.merchantName,null==i?void 0:i.amount),eW(),tW(null==i?void 0:i.merchantName,null==i?void 0:i.amount);const e=window.scrollY;document.body.style.position="fixed",document.body.style.top=`-${e}px`,document.body.style.width="100%",document.body.style.overflow="hidden"}else{const e=document.body.style.top;document.body.style.position="",document.body.style.top="",document.body.style.width="",document.body.style.overflow="",window.scrollTo(0,-1*parseInt(e||"0"))}return()=>{if(c){const e=document.body.style.top;document.body.style.position="",document.body.style.top="",document.body.style.width="",document.body.style.overflow="",window.scrollTo(0,-1*parseInt(e||"0"))}}},[c]),Yt.useEffect(()=>{if("processing"===ee||"approve"===ee||"splitPayment"===ee){const e=setTimeout(()=>{W("Transaction timed out. Please try again."),H(c6),J.resetTransaction()},12e4);return()=>clearTimeout(e)}},[ee]),Yt.useEffect(()=>{if(S!==l6||R!==f6||!(null==O?void 0:O.id))return;const e=setInterval(async()=>{try{const t=await d.api.getDepositStatus(O.id);if(t.success&&t.payment){const n=t.payment.status,r=t.payment.depositTxHash||t.payment.sweepTxHash||t.payment.transactionHash;"completed"!==n&&"swept"!==n||!r?("completed"!==n&&"swept"!==n||r)&&("failed"!==n&&"sweep_failed"!==n||(clearInterval(e),W("Payment failed. Please try again."),H(c6))):(clearInterval(e),H(u6),o&&o({paymentId:O.id,transactionHash:r,depositAddress:t.payment.depositAddress,network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:t.payment}))}}catch(t){console.warn("[DepositPolling] Error checking status:",t.message)}},5e3);return()=>{clearInterval(e)}},[S,R,null==O?void 0:O.id,A,P,o]);const re=()=>{var e;J.resetTransaction(),null==(e=g.resetTransaction)||e.call(g),null==Y||Y(),W(""),k(!1),E(!1),"undefined"!=typeof window&&window.sessionStorage&&sessionStorage.removeItem("coinley_mobile_payment_started"),"undefined"!=typeof window&&(window.coinleyPendingSplitPayment=null)},ie=async()=>{JH.trackModalClosed("user_cancelled"),nW("user_cancelled"),re(),await D(),a()},oe={ethereum:{text:"High fees",color:"text-red-500"},polygon:{text:"~$0.01 fees",color:"text-green-500"},bsc:{text:"~$0.02 fees",color:"text-green-500"},base:{text:"~$0.03 fees",color:"text-green-500"},optimism:{text:"~$0.60 fees",color:"text-yellow-600"},arbitrum:{text:"~$0.50 fees",color:"text-yellow-600"},avalanche:{text:"Low fees",color:"text-green-500"},celo:{text:"Low fees",color:"text-green-500"},solana:{text:"~$0.001 fees",color:"text-green-500"}};return c?bf.jsxs("div",{className:"fixed inset-0 z-50",children:[bf.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 transition-opacity",onClick:ie,"aria-hidden":"true"}),bf.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4",style:{zIndex:51},children:bf.jsxs("div",{className:"relative pt-4 w-full max-w-md max-h-[90vh] mx-auto shadow-xl bg-gray-100 rounded-3xl flex flex-col overflow-hidden",style:{zIndex:52},children:[bf.jsxs("div",{className:"flex-shrink-0 bg-white flex justify-between items-center mb-3 mr-3 ml-3 py-3 px-2 rounded-full",children:[bf.jsxs("div",{className:"flex-1 flex items-center gap-2 px-4",children:[bf.jsx("div",{className:"w-7 h-7 rounded-full flex items-center justify-center",children:bf.jsx("img",{src:vG,alt:"Coinley"})}),bf.jsx("span",{className:"text-base font-semibold text-gray-800",style:{fontFamily:p6},children:"Payment Details"})]}),S!==u6&&S!==l6&&bf.jsx("button",{onClick:ie,className:"text-gray-500 hover:text-gray-700 focus:outline-none",children:bf.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5 mr-2",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:bf.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),i&&S!==u6&&bf.jsx("div",{className:"flex-shrink-0 mb-3 px-4",children:bf.jsxs("div",{className:"text-center",children:[bf.jsx("div",{className:"text-xs text-gray-600",children:"Total Amount"}),bf.jsxs("div",{className:"text-3xl font-bold text-[#7042D2] mt-1 leading-tight tracking-tight",style:{fontFamily:p6},children:["$",(se=i.amount,parseFloat(se).toFixed(2))]}),bf.jsx("div",{className:"mt-1 text-xs text-gray-500",children:"No additional fees"}),bf.jsx("div",{className:"text-xs text-gray-600 mt-2",children:"Payment to:"}),bf.jsxs("div",{className:"text-sm font-normal mt-0.5 flex gap-1.5 items-center justify-center",style:{fontFamily:p6},children:[bf.jsx("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:bf.jsx("path",{d:"M15.3 7.50065L15.8 10.0007H4.2L4.7 7.50065H15.3ZM16.6667 3.33398H3.33333V5.00065H16.6667V3.33398ZM16.6667 5.83398H3.33333L2.5 10.0007V11.6673H3.33333V16.6673H11.6667V11.6673H15V16.6673H16.6667V11.6673H17.5V10.0007L16.6667 5.83398ZM5 15.0007V11.6673H10V15.0007H5Z",fill:"#7042D2"})}),i.merchantName||"Merchant"]})]})}),bf.jsxs("div",{className:"flex-1 overflow-y-auto overscroll-contain",children:[bf.jsx(p5,{currentStep:S,targetStep:a6,children:bf.jsxs("div",{className:"pb-4 pt-3 px-5 bg-white rounded-t-2xl",children:[bf.jsx("h3",{className:"font-semibold text-center mb-3 text-sm",style:{fontFamily:p6},children:"Choose Payment Method"}),bf.jsxs("div",{className:"space-y-3 mb-4",children:[bf.jsx("label",{className:"block text-sm font-medium text-gray-700",style:{fontFamily:p6},children:"Select Network"}),bf.jsx(f5,{options:C,value:(null==A?void 0:A.id)||"",onChange:e=>{const t=C.find(t=>t.id===e);re(),$(t),F(null),JH.trackNetworkSelected(null==t?void 0:t.name,null==i?void 0:i.merchantName),rW(null==t?void 0:t.name,null==i?void 0:i.merchantName)},placeholder:"Choose your network...",renderOption:e=>{var t,n,r;const i="object"==typeof(o=e)&&(null==o?void 0:o.logo)?o.logo:"object"==typeof o&&(null==o?void 0:o.shortName)?K3[o.shortName.toLowerCase()]:"string"==typeof o?K3[o.toLowerCase()]:null;var o;const s=oe[null==(t=e.shortName)?void 0:t.toLowerCase()];return bf.jsxs("div",{className:"flex items-center space-x-3 w-full",children:[i?bf.jsx("img",{src:i,alt:e.name,className:"w-8 h-8 rounded-full",onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,bf.jsx("div",{className:"w-8 h-8 rounded-full bg-gray-200 flex items-center justify-center",style:{display:i?"none":"flex"},children:bf.jsx("span",{className:"text-xs font-bold text-gray-600",children:null==(n=e.shortName)?void 0:n.slice(0,2).toUpperCase()})}),bf.jsxs("div",{className:"flex-1",children:[bf.jsxs("div",{className:"flex items-center justify-between",children:[bf.jsx("span",{className:"font-semibold text-gray-800",children:e.name}),s&&bf.jsx("span",{className:`text-xs font-medium ${s.color}`,children:s.text})]}),bf.jsx("div",{className:"text-sm text-gray-500",children:null==(r=e.shortName)?void 0:r.toUpperCase()})]})]})},getOptionKey:e=>e.id,getOptionValue:e=>e.id,getSearchableText:e=>`${e.name} ${e.shortName}`,disabled:M})]}),A&&bf.jsxs("div",{className:"space-y-3 mb-4",children:[bf.jsx("label",{className:"block text-sm font-medium text-gray-700",style:{fontFamily:p6},children:"Select Token"}),bf.jsx(f5,{options:I.filter(e=>{var t;return(null==(t=e.Network)?void 0:t.shortName)===(null==A?void 0:A.shortName)||e.networkId===(null==A?void 0:A.id)}),value:(null==P?void 0:P.id)||"",onChange:e=>{const t=I.filter(e=>{var t;return(null==(t=e.Network)?void 0:t.shortName)===(null==A?void 0:A.shortName)||e.networkId===(null==A?void 0:A.id)}).find(t=>t.id===e);F(t),JH.trackTokenSelected(null==t?void 0:t.symbol,null==A?void 0:A.name,null==i?void 0:i.merchantName),iW(null==t?void 0:t.symbol,null==A?void 0:A.name,null==i?void 0:i.merchantName)},placeholder:"Choose your token...",renderOption:e=>{var t,n;const r=G3(e.symbol);return bf.jsxs("div",{className:"flex items-center space-x-3",children:[r?bf.jsx("img",{src:r,alt:e.symbol,className:"w-8 h-8 rounded-full",onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,bf.jsx("div",{className:"w-8 h-8 rounded-full bg-gray-200 flex items-center justify-center",style:{display:r?"none":"flex"},children:bf.jsx("span",{className:"text-xs font-bold text-gray-600",children:null==(t=e.symbol)?void 0:t.slice(0,2)})}),bf.jsxs("div",{children:[bf.jsxs("div",{className:"font-semibold text-gray-800",children:[e.name," (",e.symbol,")"]}),bf.jsxs("div",{className:"text-sm text-gray-500",children:[(null==(n=e.Network)?void 0:n.name)||"Unknown Network",e.isStablecoin&&bf.jsx("span",{className:"ml-2 text-green-600",children:"• Stablecoin"})]})]})]})},getOptionKey:e=>e.id,getOptionValue:e=>e.id,getSearchableText:e=>`${e.name} ${e.symbol}`,disabled:M})]}),A&&P&&bf.jsx("button",{onClick:()=>L(i),disabled:M,className:"w-full bg-[#7042D2] text-white py-4 px-4 rounded-xl hover:bg-[#5b34b1] disabled:opacity-50 font-semibold transition-all duration-200 shadow-lg hover:shadow-xl",style:{fontFamily:p6},children:M?"Creating Payment...":"Continue"})]})}),bf.jsx(p5,{currentStep:S,targetStep:c6,children:A&&P&&O&&bf.jsxs("div",{className:"pb-4 pt-4 px-4 bg-white rounded-t-2xl",children:[!v&&bf.jsx("div",{className:"mb-4",children:bf.jsxs("div",{className:"flex border-b border-gray-200",children:[bf.jsx("button",{onClick:()=>z(d6),className:"py-3 px-4 text-sm font-semibold transition-all duration-200 "+(R===d6?"border-b-2 border-[#7042D2] text-[#7042D2]":"text-gray-500 hover:text-gray-700"),style:{fontFamily:p6},children:"Wallet"}),j()&&bf.jsx("button",{onClick:()=>z(f6),className:"py-3 px-4 text-sm font-semibold transition-all duration-200 "+(R===f6?"border-b-2 border-[#7042D2] text-[#7042D2]":"text-gray-500 hover:text-gray-700"),style:{fontFamily:p6},children:"Transfer"}),bf.jsx("button",{onClick:()=>z(h6),className:"py-3 px-4 text-sm font-semibold transition-all duration-200 "+(R===h6?"border-b-2 border-[#7042D2] text-[#7042D2]":"text-gray-500 hover:text-gray-700"),style:{fontFamily:p6},children:"QR Code"})]})}),v?bf.jsx(o6,{paymentData:O,selectedToken:P,selectedNetwork:A,config:i,onPaymentStarted:e=>{E(!0),"undefined"!=typeof window&&window.sessionStorage&&sessionStorage.setItem("coinley_mobile_payment_started","true"),e.walletName},onError:e=>{W(e)}}):R===d6?bf.jsx(r6,{selectedNetwork:A,onWalletSelect:Z,onConnect:async e=>{await G(e,A)},connectedWallet:p?f.connectedWallet:K,loading:M,solanaWallet:f,onSolanaConnect:async({walletType:e,publicKey:t,wallet:n})=>{}}):null,R===h6&&bf.jsxs(bf.Fragment,{children:[bf.jsxs("div",{className:"mb-2",children:[bf.jsx("div",{className:"text-xs font-medium text-gray-600 mb-1.5 text-center",style:{fontFamily:p6},children:"Optimize QR for:"}),bf.jsx("div",{className:"flex gap-1.5 justify-center flex-wrap",children:[{id:"metamask",name:"MetaMask",icon:"🦊"},{id:"trust",name:"Trust",icon:"🛡️"},{id:"coinbase",name:"Coinbase",icon:"💙"}].map(e=>bf.jsxs("button",{onClick:()=>b(e.id),className:"flex items-center gap-1 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 "+(y===e.id?"bg-[#7042D2] text-white shadow-md":"bg-gray-100 text-gray-700 hover:bg-gray-200"),style:{fontFamily:p6},children:[bf.jsx("span",{className:"text-sm",children:e.icon}),bf.jsx("span",{children:e.name})]},e.id))})]}),bf.jsx(n6,{amount:(null==O?void 0:O.totalAmount)||(null==O?void 0:O.amount)||(null==i?void 0:i.amount),currency:null==P?void 0:P.symbol,network:null==A?void 0:A.shortName,theme:l,paymentData:O,config:i,selectedToken:P,selectedNetwork:A,preferredWallet:y,compact:!0})]}),R===f6&&(null==O?void 0:O.isDepositPayment)&&bf.jsxs(bf.Fragment,{children:[bf.jsx(m6,{depositAddress:O.depositAddress,amount:O.amount,currency:null==P?void 0:P.symbol,network:null==A?void 0:A.shortName,networkName:null==A?void 0:A.name,paymentId:O.id,expiresAt:O.expiresAt,requiredConfirmations:O.requiredConfirmations||20,theme:l,api:d.api,explorerUrl:(null==(u=O.explorer)?void 0:u.address)?O.explorer.address.split("/address/")[0]:null,onPaymentDetected:e=>{},onPaymentProcessing:e=>{H(l6)},onPaymentConfirmed:e=>{const t=e.transactionHash||e.depositTxHash||e.sweepTxHash;H(u6),o&&t&&o({paymentId:e.id,transactionHash:t,sweepTxHash:e.sweepTxHash,network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:e,sdkConfirmed:e.sdkConfirmed||!1})},onExpired:()=>{W("Payment expired. Please create a new payment.")}}),bf.jsx("div",{className:"mt-4",children:bf.jsx("button",{type:"button",onClick:()=>{z(f6),q(e=>e?{...e,isDepositPayment:!1,depositAddress:null,expiresAt:null,requiredConfirmations:null}:e),re()},className:"w-full py-2.5 px-3 bg-gray-200 hover:bg-gray-300 text-[#7042D2] font-semibold rounded-xl transition-all duration-200 text-sm",style:{fontFamily:p6},children:"Go Back"})})]}),R===f6&&!(null==O?void 0:O.isDepositPayment)&&bf.jsxs("div",{className:"text-center py-6",children:[bf.jsxs("div",{className:"mb-4",children:[bf.jsx("div",{className:"text-4xl mb-2",children:"💸"}),bf.jsx("h3",{className:"text-lg font-semibold text-gray-800",style:{fontFamily:p6},children:"Transfer Payment"}),bf.jsx("p",{className:"text-sm text-gray-600 mt-1",children:"Get a unique address to send crypto from any wallet"})]}),bf.jsx("button",{onClick:async()=>{try{await B(i)}catch($He){}},disabled:M,className:"w-full bg-[#7042D2] text-white py-3 px-4 rounded-xl hover:bg-[#5b34b1] disabled:opacity-50 font-semibold transition-all duration-200",style:{fontFamily:p6},children:M?"Generating Address...":"Generate Transfer Address"}),bf.jsx("p",{className:"text-xs text-gray-500 mt-3",children:"Supported on Base, BSC, Arbitrum, Polygon, Optimism & Avalanche"})]}),(T||te)&&bf.jsx("div",{className:"mt-4",children:bf.jsx(s6,{error:te||T,onRetry:()=>{W(""),J.resetTransaction(),"error"===ee&&K&&Q()},onDismiss:()=>{W(""),J.resetTransaction()},context:"payment"})}),!(R===f6&&(null==O?void 0:O.isDepositPayment))&&bf.jsxs("div",{className:"grid grid-cols-2 gap-2 mt-4",children:[bf.jsx("button",{type:"button",onClick:()=>{re(),H(a6)},className:"w-full py-2.5 px-3 bg-gray-200 hover:bg-gray-300 text-[#7042D2] font-semibold rounded-xl transition-all duration-200 text-sm",style:{fontFamily:p6},children:"Back"}),bf.jsx("button",{type:"button",onClick:async()=>{var e,t,n,r,i,s,a,c,l,u,h,y,b,w,E,x,S,C,I,M,T,N,L,B,j,D;if(v&&_){if(!(null==O?void 0:O.id))return void W("Payment ID not found. Please refresh and try again.");try{k(!0),H(l6),W("");const p=await d.api.checkPaymentStatus(O.id),m="completed"===(null==(e=p.payment)?void 0:e.status)||"swept"===(null==(t=p.payment)?void 0:t.status),g=(null==(n=p.payment)?void 0:n.transactionHash)||(null==(r=p.payment)?void 0:r.sweepTxHash)||(null==(i=p.payment)?void 0:i.depositTxHash);if(m&&g)H(u6),o&&o({paymentId:O.id,transactionHash:g,senderAddress:p.payment.senderWalletAddress||p.payment.fromAddress||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:p.payment});else if(m&&!g){(async()=>{var e,t,n;for(let r=0;r<12;r++){await new Promise(e=>setTimeout(e,5e3));const r=await d.api.checkPaymentStatus(O.id),i=(null==(e=r.payment)?void 0:e.transactionHash)||(null==(t=r.payment)?void 0:t.sweepTxHash)||(null==(n=r.payment)?void 0:n.depositTxHash);if(i)return H(u6),void(o&&o({paymentId:O.id,transactionHash:i,senderAddress:r.payment.senderWalletAddress||r.payment.fromAddress||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:r.payment}))}W("Payment confirmed but transaction details unavailable. Please contact support."),H(c6)})()}else if("pending"===(null==(s=p.payment)?void 0:s.status)){const e=await d.api.verifyQRPayment(O.id),t=(null==(a=e.onChainData)?void 0:a.transactionHash)||(null==(c=e.payment)?void 0:c.transactionHash);if(e.success&&e.verified&&t)H(u6),o&&o({paymentId:O.id,transactionHash:t,senderAddress:(null==(l=e.onChainData)?void 0:l.from)||(null==(u=e.payment)?void 0:u.senderWalletAddress)||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:e.payment});else{const t=e.message||"Payment not yet confirmed on blockchain";W(`${t}. Please complete the payment in your wallet and try again.`),H(c6)}}else"failed"===(null==(h=p.payment)?void 0:h.status)?(W("Payment failed. Please try creating a new payment."),H(c6)):(W("Payment not found. Please verify the payment ID and try again."),H(c6))}catch(U){W(`Verification failed: ${U.message}. Please ensure payment was completed and try again.`),H(c6)}finally{k(!1)}}else if(R!==h6){if(p&&f.isConnected||K&&V)try{let e;if(H(l6),W(""),!p&&J.setTransactionError&&J.setTransactionError(""),p){const t=(null==O?void 0:O.recipientWallet)||(null==O?void 0:O.merchantWallet)||(null==O?void 0:O.merchantWalletAddress);if(!t)throw new Error("Merchant wallet address not found");if("SOL"===P.symbol||P.isNative){e=(await g.sendSOL(t,parseFloat(O.totalAmount||O.amount))).signature}else{const n=parseFloat(O.totalAmount||O.amount),r=P.decimals||6,i=null==(L=P.symbol)?void 0:L.toUpperCase();let o=P.address||P.contractAddress;if(o&&o.length>=32&&o.length<=44&&!o.startsWith("0x"));else{const e=(m?TG:OG)[i];(null==e?void 0:e.address)&&(o=e.address)}if(O.coinleyWallet&&O.merchantPercentage&&O.coinleyPercentage){const i=n*O.merchantPercentage/1e4,s=n*O.coinleyPercentage/1e4;e=(await g.sendSplitPayment({tokenMintAddress:o,merchantAddress:t,coinleyAddress:O.coinleyWallet,merchantAmount:i,coinleyAmount:s,decimals:r})).signature}else{e=(await g.sendSPLToken(o,t,n,r)).signature}}await d.api.processPayment(O.id,e,A.shortName,f.publicKey)}else e=await Q();if(e&&(W(""),J.setTransactionError(""),H(u6),o)){const t={paymentId:O.id,transactionHash:e,senderAddress:p?null==f?void 0:f.publicKey:V,network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:O};o(t)}}catch(U){H(c6),(null==(B=U.message)?void 0:B.includes("User rejected"))||(null==(j=U.message)?void 0:j.includes("User denied"))||4001===U.code||"ACTION_REJECTED"===U.code?W("Transaction was cancelled by user. Please try again."):W(U.message||"Transaction failed. Please try again."),p?null==(D=g.resetTransaction)||D.call(g):J.resetTransaction()}}else{if(!(null==O?void 0:O.id))return void W("Payment ID not found. Please refresh and try again.");try{H(l6),W("");const e=await d.api.checkPaymentStatus(O.id),t="completed"===(null==(y=e.payment)?void 0:y.status)||"swept"===(null==(b=e.payment)?void 0:b.status),n=(null==(w=e.payment)?void 0:w.transactionHash)||(null==(E=e.payment)?void 0:E.sweepTxHash)||(null==(x=e.payment)?void 0:x.depositTxHash);if(t&&n)H(u6),o&&o({paymentId:O.id,transactionHash:n,senderAddress:e.payment.senderWalletAddress||e.payment.fromAddress||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:e.payment});else if(t&&!n){(async()=>{var e,t,n;for(let r=0;r<12;r++){await new Promise(e=>setTimeout(e,5e3));const r=await d.api.checkPaymentStatus(O.id),i=(null==(e=r.payment)?void 0:e.transactionHash)||(null==(t=r.payment)?void 0:t.sweepTxHash)||(null==(n=r.payment)?void 0:n.depositTxHash);if(i)return H(u6),void(o&&o({paymentId:O.id,transactionHash:i,senderAddress:r.payment.senderWalletAddress||r.payment.fromAddress||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:r.payment}))}W("Payment confirmed but transaction details unavailable. Please contact support."),H(c6)})()}else if("pending"===(null==(S=e.payment)?void 0:S.status)){const e=await d.api.verifyQRPayment(O.id),t=(null==(C=e.onChainData)?void 0:C.transactionHash)||(null==(I=e.payment)?void 0:I.transactionHash);if(e.success&&e.verified&&t)H(u6),o&&o({paymentId:O.id,transactionHash:t,senderAddress:(null==(M=e.onChainData)?void 0:M.from)||(null==(T=e.payment)?void 0:T.senderWalletAddress)||V||(null==f?void 0:f.publicKey),network:null==A?void 0:A.shortName,currency:null==P?void 0:P.symbol,paymentDetails:e.payment});else{const t=e.message||"Payment not yet confirmed on blockchain";W(`${t}. Please complete the payment and try again.`),H(c6)}}else"failed"===(null==(N=e.payment)?void 0:N.status)?(W("Payment failed. Please try creating a new payment."),H(c6)):(W("Payment not found. Please verify the payment ID and try again."),H(c6))}catch(U){W(`Verification failed: ${U.message}. Please ensure payment was completed and try again.`),H(c6)}}},className:"bg-green-600 text-white w-full py-2.5 px-3 font-semibold rounded-xl hover:bg-green-700 transition-all duration-200 shadow-lg hover:shadow-xl disabled:opacity-50 text-sm",disabled:R===d6&&!v&&!p&&!K||R===d6&&!v&&p&&!f.isConnected||v&&!_||"processing"===ee||g.isProcessing||x,style:{fontFamily:p6},children:x?"Verifying...":"processing"===ee||g.isProcessing?"Processing...":v&&_?"I Have Paid":v?"Select Wallet":R===h6?"I Have Paid":"Pay Now"})]})]})}),bf.jsx(p5,{currentStep:S,targetStep:l6,children:bf.jsx(m5,{status:"processing",message:R===f6?"Transfer received! Confirming on blockchain...":p?g.isProcessing?"Confirming Solana transaction...":"Processing your Solana payment...":"approve"===ee?"Approving token spending...":"splitPayment"===ee?"Processing payment split...":ne?"Confirming transaction on blockchain...":"Processing your payment...",theme:l,transactionHash:p?g.txSignature:ne,selectedNetwork:A})}),bf.jsx(p5,{currentStep:S,targetStep:u6,children:bf.jsx(m5,{status:"success",message:"Payment completed successfully!",theme:l,payment:O,transactionHash:p?g.txSignature||(null==O?void 0:O.transactionHash):ne||(null==O?void 0:O.transactionHash),selectedPaymentMethod:P,selectedNetwork:A,merchantName:(null==i?void 0:i.merchantName)||"Merchant",onClose:a})}),(T||te)&&bf.jsxs("div",{className:"p-4 bg-red-50 border border-red-200 rounded-lg mx-6 mb-4",children:[bf.jsx("p",{className:"text-red-800 text-sm",children:T||te}),bf.jsx("button",{onClick:()=>{W(""),J.setTransactionError("")},className:"mt-2 text-red-600 hover:text-red-800 text-xs underline",children:"Dismiss"})]})]}),S!==u6&&bf.jsxs("div",{className:"text-center text-xs text-gray-500 flex items-center justify-center gap-1 py-6 bg-white rounded-b-3xl",style:{fontFamily:p6},children:[bf.jsxs("p",{children:["Powered by ",bf.jsx("span",{className:"text-[#7042D2] font-semibold",children:"Coinley"})," - Multi-Wallet Support"]}),bf.jsxs("svg",{className:"inline w-4 h-4 text-green-500 ml-1",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[bf.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2",fill:"none"}),bf.jsx("path",{d:"M9 12l2 2 4-4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})]})]})})]}):null;var se},b6=e=>bf.jsx(JI,{config:SG,children:bf.jsx(NP,{client:g6,children:bf.jsx(y6,{...e})})});!function(){const e=Ze;"undefined"!=typeof globalThis&&(globalThis.Buffer=e),"undefined"!=typeof window&&(window.Buffer=e),void 0!==Ne&&(Ne.Buffer=e),"undefined"!=typeof self&&(self.Buffer=e)}();class v6{constructor(e={}){if(!e.publicKey&&!e.apiKey)throw new Error("CoinleyVanilla: publicKey or apiKey is required");if(!e.publicKey&&!e.apiSecret)throw new Error("CoinleyVanilla: apiSecret is required when using apiKey");if(!e.apiUrl)throw new Error("CoinleyVanilla: apiUrl is required");this.config={publicKey:e.publicKey||null,apiKey:e.apiKey||null,apiSecret:e.apiSecret||null,apiUrl:e.apiUrl.replace(/\/$/,""),theme:e.theme||"light",debug:e.debug||!1,...e},this.isOpen=!1,this.root=null,this.container=null,this.callbacks={},this.currentPayment=null,this.config.debug}open(e,t={}){if(!this.isOpen)try{this._validatePaymentConfig(e),this.callbacks=t,this.currentPayment=e,this._createContainer(),this.root=af(this.container),this.isOpen=!0,this.root.render(Jt.createElement(b6,{publicKey:this.config.publicKey,apiKey:this.config.apiKey,apiSecret:this.config.apiSecret,apiUrl:this.config.apiUrl,isOpen:!0,theme:this.config.theme,config:{amount:e.amount,customerEmail:e.customerEmail,merchantName:e.merchantName||"Merchant",callbackUrl:e.callbackUrl||this._getDefaultCallbackUrl(),merchantWalletAddresses:e.merchantWalletAddresses||{},preferredNetwork:e.preferredNetwork,preferredCurrency:e.preferredCurrency,metadata:{...e.metadata,source:"vanilla-sdk",sdkVersion:"2.0.0",timestamp:(new Date).toISOString()}},onSuccess:this._handleSuccess.bind(this),onError:this._handleError.bind(this),onClose:this._handleClose.bind(this)})),this.config.debug}catch(cF){t.onError&&t.onError(cF.message||"Failed to open payment modal")}}close(){this.isOpen&&(this._cleanup(),this.config.debug)}isPaymentOpen(){return this.isOpen}updateConfig(e){this.config={...this.config,...e},this.config.debug}getConfig(){return{...this.config}}getCurrentPayment(){return this.currentPayment?{...this.currentPayment}:null}_validatePaymentConfig(e){if(!e)throw new Error("Payment configuration is required");if(!e.amount||"number"!=typeof e.amount||e.amount<=0)throw new Error("Valid amount (number > 0) is required");if(!e.customerEmail||"string"!=typeof e.customerEmail)throw new Error("Customer email is required");if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.customerEmail))throw new Error("Invalid email format");if(e.merchantWalletAddresses){if("object"!=typeof e.merchantWalletAddresses)throw new Error("merchantWalletAddresses must be an object");Object.keys(e.merchantWalletAddresses).length}}_createContainer(){this.container||(this.container=document.createElement("div"),this.container.id="coinley-payment-container",this.container.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999999;\n ",document.body.appendChild(this.container))}_getDefaultCallbackUrl(){return"undefined"!=typeof window?`${window.location.origin}/api/webhooks/coinley`:""}_handleSuccess(e,t,n){this.config.debug,this.callbacks.onSuccess&&this.callbacks.onSuccess(e,t,n)}_handleError(e){this.config.debug,this.callbacks.onError&&this.callbacks.onError(e)}_handleClose(){this._cleanup(),this.callbacks.onClose&&this.callbacks.onClose()}_cleanup(){if(this.isOpen=!1,this.root){try{this.root.unmount()}catch(cF){}this.root=null}this.container&&this.container.parentNode&&(this.container.parentNode.removeChild(this.container),this.container=null),this.currentPayment=null}}function w6(){document.querySelectorAll('script[src*="coinley-vanilla"]').forEach(e=>{const t=e.getAttribute("data-public-key"),n=e.getAttribute("data-api-key"),r=e.getAttribute("data-api-secret"),i=e.getAttribute("data-api-url"),o=e.getAttribute("data-theme")||"light",s=e.hasAttribute("data-debug");if((t||n&&r)&&i)try{window.coinley=new v6({publicKey:t,apiKey:n,apiSecret:r,apiUrl:i,theme:o,debug:s})}catch(cF){}})}"undefined"!=typeof window&&(window.CoinleyVanilla=v6,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",w6):w6());var _6,E6,x6,k6,S6,C6,I6,A6,P6,O6,M6,T6,R6={},N6=[],L6=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,B6=Array.isArray;function j6(e,t){for(var n in t)e[n]=t[n];return e}function D6(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function U6(e,t,n){var r,i,o,s={};for(o in t)"key"==o?r=t[o]:"ref"==o?i=t[o]:s[o]=t[o];if(arguments.length>2&&(s.children=arguments.length>3?_6.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===s[o]&&(s[o]=e.defaultProps[o]);return $6(e,s,r,i,null)}function $6(e,t,n,r,i){var o={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==i?++x6:i,__i:-1,__u:0};return null==i&&null!=E6.vnode&&E6.vnode(o),o}function F6(e){return e.children}function z6(e,t){this.props=e,this.context=t}function q6(e,t){if(null==t)return e.__?q6(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?q6(e):null}function H6(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return H6(e)}}function W6(e){(!e.__d&&(e.__d=!0)&&S6.push(e)&&!K6.__r++||C6!==E6.debounceRendering)&&((C6=E6.debounceRendering)||I6)(K6)}function K6(){var e,t,n,r,i,o,s,a;for(S6.sort(A6);e=S6.shift();)e.__d&&(t=S6.length,r=void 0,o=(i=(n=e).__v).__e,s=[],a=[],n.__P&&((r=j6({},i)).__v=i.__v+1,E6.vnode&&E6.vnode(r),X6(n.__P,r,i,n.__n,n.__P.namespaceURI,32&i.__u?[o]:null,s,null==o?q6(i):o,!!(32&i.__u),a),r.__v=i.__v,r.__.__k[r.__i]=r,e4(s,r,a),r.__e!=o&&H6(r)),S6.length>t&&S6.sort(A6));K6.__r=0}function V6(e,t,n,r,i,o,s,a,c,l,u){var d,h,f,p,m,g=r&&r.__k||N6,y=t.length;for(n.__d=c,function(e,t,n){var r,i,o,s,a,c=t.length,l=n.length,u=l,d=0;for(e.__k=[],r=0;r<c;r++)null!=(i=t[r])&&"boolean"!=typeof i&&"function"!=typeof i?(s=r+d,(i=e.__k[r]="string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?$6(null,i,null,null,null):B6(i)?$6(F6,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?$6(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=e,i.__b=e.__b+1,o=null,-1!==(a=i.__i=Z6(i,n,s,u))&&(u--,(o=n[a])&&(o.__u|=131072)),null==o||null===o.__v?(-1==a&&d--,"function"!=typeof i.type&&(i.__u|=65536)):a!==s&&(a==s-1?d--:a==s+1?d++:(a>s?d--:d++,i.__u|=65536))):i=e.__k[r]=null;if(u)for(r=0;r<l;r++)null!=(o=n[r])&&!(131072&o.__u)&&(o.__e==e.__d&&(e.__d=q6(o)),n4(o,o))}(n,t,g),c=n.__d,d=0;d<y;d++)null!=(f=n.__k[d])&&(h=-1===f.__i?R6:g[f.__i]||R6,f.__i=d,X6(e,f,h,i,o,s,a,c,l,u),p=f.__e,f.ref&&h.ref!=f.ref&&(h.ref&&t4(h.ref,null,f),u.push(f.ref,f.__c||p,f)),null==m&&null!=p&&(m=p),65536&f.__u||h.__k===f.__k?c=G6(f,c,e):"function"==typeof f.type&&void 0!==f.__d?c=f.__d:p&&(c=p.nextSibling),f.__d=void 0,f.__u&=-196609);n.__d=c,n.__e=m}function G6(e,t,n){var r,i;if("function"==typeof e.type){for(r=e.__k,i=0;r&&i<r.length;i++)r[i]&&(r[i].__=e,t=G6(r[i],t,n));return t}e.__e!=t&&(t&&e.type&&!n.contains(t)&&(t=q6(e)),n.insertBefore(e.__e,t||null),t=e.__e);do{t=t&&t.nextSibling}while(null!=t&&8===t.nodeType);return t}function Z6(e,t,n,r){var i=e.key,o=e.type,s=n-1,a=n+1,c=t[n];if(null===c||c&&i==c.key&&o===c.type&&!(131072&c.__u))return n;if(r>(null==c||131072&c.__u?0:1))for(;s>=0||a<t.length;){if(s>=0){if((c=t[s])&&!(131072&c.__u)&&i==c.key&&o===c.type)return s;s--}if(a<t.length){if((c=t[a])&&!(131072&c.__u)&&i==c.key&&o===c.type)return a;a++}}return-1}function Y6(e,t,n){"-"===t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||L6.test(t)?n:n+"px"}function J6(e,t,n,r,i){var o;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||Y6(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||Y6(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])o=t!==(t=t.replace(/(PointerCapture)$|Capture$/i,"$1")),t=t.toLowerCase()in e||"onFocusOut"===t||"onFocusIn"===t?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+o]=n,n?r?n.u=r.u:(n.u=P6,e.addEventListener(t,o?M6:O6,o)):e.removeEventListener(t,o?M6:O6,o);else{if("http://www.w3.org/2000/svg"==i)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=t&&"height"!=t&&"href"!=t&&"list"!=t&&"form"!=t&&"tabIndex"!=t&&"download"!=t&&"rowSpan"!=t&&"colSpan"!=t&&"role"!=t&&"popover"!=t&&t in e)try{e[t]=null==n?"":n;break e}catch(s){}"function"==typeof n||(null==n||!1===n&&"-"!==t[4]?e.removeAttribute(t):e.setAttribute(t,"popover"==t&&1==n?"":n))}}function Q6(e){return function(t){if(this.l){var n=this.l[t.type+e];if(null==t.t)t.t=P6++;else if(t.t<n.u)return;return n(E6.event?E6.event(t):t)}}}function X6(e,t,n,r,i,o,s,a,c,l){var u,d,h,f,p,m,g,y,b,v,w,_,E,x,k,S,C=t.type;if(void 0!==t.constructor)return null;128&n.__u&&(c=!!(32&n.__u),o=[a=t.__e=n.__e]),(u=E6.__b)&&u(t);e:if("function"==typeof C)try{if(y=t.props,b="prototype"in C&&C.prototype.render,v=(u=C.contextType)&&r[u.__c],w=u?v?v.props.value:u.__:r,n.__c?g=(d=t.__c=n.__c).__=d.__E:(b?t.__c=d=new C(y,w):(t.__c=d=new z6(y,w),d.constructor=C,d.render=r4),v&&v.sub(d),d.props=y,d.state||(d.state={}),d.context=w,d.__n=r,h=d.__d=!0,d.__h=[],d._sb=[]),b&&null==d.__s&&(d.__s=d.state),b&&null!=C.getDerivedStateFromProps&&(d.__s==d.state&&(d.__s=j6({},d.__s)),j6(d.__s,C.getDerivedStateFromProps(y,d.__s))),f=d.props,p=d.state,d.__v=t,h)b&&null==C.getDerivedStateFromProps&&null!=d.componentWillMount&&d.componentWillMount(),b&&null!=d.componentDidMount&&d.__h.push(d.componentDidMount);else{if(b&&null==C.getDerivedStateFromProps&&y!==f&&null!=d.componentWillReceiveProps&&d.componentWillReceiveProps(y,w),!d.__e&&(null!=d.shouldComponentUpdate&&!1===d.shouldComponentUpdate(y,d.__s,w)||t.__v===n.__v)){for(t.__v!==n.__v&&(d.props=y,d.state=d.__s,d.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),_=0;_<d._sb.length;_++)d.__h.push(d._sb[_]);d._sb=[],d.__h.length&&s.push(d);break e}null!=d.componentWillUpdate&&d.componentWillUpdate(y,d.__s,w),b&&null!=d.componentDidUpdate&&d.__h.push(function(){d.componentDidUpdate(f,p,m)})}if(d.context=w,d.props=y,d.__P=e,d.__e=!1,E=E6.__r,x=0,b){for(d.state=d.__s,d.__d=!1,E&&E(t),u=d.render(d.props,d.state,d.context),k=0;k<d._sb.length;k++)d.__h.push(d._sb[k]);d._sb=[]}else do{d.__d=!1,E&&E(t),u=d.render(d.props,d.state,d.context),d.state=d.__s}while(d.__d&&++x<25);d.state=d.__s,null!=d.getChildContext&&(r=j6(j6({},r),d.getChildContext())),b&&!h&&null!=d.getSnapshotBeforeUpdate&&(m=d.getSnapshotBeforeUpdate(f,p)),V6(e,B6(S=null!=u&&u.type===F6&&null==u.key?u.props.children:u)?S:[S],t,n,r,i,o,s,a,c,l),d.base=t.__e,t.__u&=-161,d.__h.length&&s.push(d),g&&(d.__E=d.__=null)}catch(I){if(t.__v=null,c||null!=o){for(t.__u|=c?160:32;a&&8===a.nodeType&&a.nextSibling;)a=a.nextSibling;o[o.indexOf(a)]=null,t.__e=a}else t.__e=n.__e,t.__k=n.__k;E6.__e(I,t,n)}else null==o&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=function(e,t,n,r,i,o,s,a,c){var l,u,d,h,f,p,m,g=n.props,y=t.props,b=t.type;if("svg"===b?i="http://www.w3.org/2000/svg":"math"===b?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),null!=o)for(l=0;l<o.length;l++)if((f=o[l])&&"setAttribute"in f==!!b&&(b?f.localName===b:3===f.nodeType)){e=f,o[l]=null;break}if(null==e){if(null===b)return document.createTextNode(y);e=document.createElementNS(i,b,y.is&&y),a&&(E6.__m&&E6.__m(t,o),a=!1),o=null}if(null===b)g===y||a&&e.data===y||(e.data=y);else{if(o=o&&_6.call(e.childNodes),g=n.props||R6,!a&&null!=o)for(g={},l=0;l<e.attributes.length;l++)g[(f=e.attributes[l]).name]=f.value;for(l in g)if(f=g[l],"children"==l);else if("dangerouslySetInnerHTML"==l)d=f;else if(!(l in y)){if("value"==l&&"defaultValue"in y||"checked"==l&&"defaultChecked"in y)continue;J6(e,l,null,f,i)}for(l in y)f=y[l],"children"==l?h=f:"dangerouslySetInnerHTML"==l?u=f:"value"==l?p=f:"checked"==l?m=f:a&&"function"!=typeof f||g[l]===f||J6(e,l,f,g[l],i);if(u)a||d&&(u.__html===d.__html||u.__html===e.innerHTML)||(e.innerHTML=u.__html),t.__k=[];else if(d&&(e.innerHTML=""),V6(e,B6(h)?h:[h],t,n,r,"foreignObject"===b?"http://www.w3.org/1999/xhtml":i,o,s,o?o[0]:n.__k&&q6(n,0),a,c),null!=o)for(l=o.length;l--;)D6(o[l]);a||(l="value","progress"===b&&null==p?e.removeAttribute("value"):void 0!==p&&(p!==e[l]||"progress"===b&&!p||"option"===b&&p!==g[l])&&J6(e,l,p,g[l],i),l="checked",void 0!==m&&m!==e[l]&&J6(e,l,m,g[l],i))}return e}(n.__e,t,n,r,i,o,s,c,l);(u=E6.diffed)&&u(t)}function e4(e,t,n){t.__d=void 0;for(var r=0;r<n.length;r++)t4(n[r],n[++r],n[++r]);E6.__c&&E6.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(n){E6.__e(n,t.__v)}})}function t4(e,t,n){try{if("function"==typeof e){var r="function"==typeof e.__u;r&&e.__u(),r&&null==t||(e.__u=e(t))}else e.current=t}catch(i){E6.__e(i,n)}}function n4(e,t,n){var r,i;if(E6.unmount&&E6.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||t4(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(o){E6.__e(o,t)}r.base=r.__P=null}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&n4(r[i],t,n||"function"!=typeof e.type);n||D6(e.__e),e.__c=e.__=e.__e=e.__d=void 0}function r4(e,t,n){return this.constructor(e,n)}function i4(e,t,n){var r,i,o,s;E6.__&&E6.__(e,t),i=(r="function"==typeof n)?null:n&&n.__k||t.__k,o=[],s=[],X6(t,e=(!r&&n||t).__k=U6(F6,null,[e]),i||R6,R6,t.namespaceURI,!r&&n?[n]:i?null:t.firstChild?_6.call(t.childNodes):null,o,!r&&n?n:i?i.__e:t.firstChild,r,s),e4(o,e,s)}_6=N6.slice,E6={__e:function(e,t,n,r){for(var i,o,s;t=t.__;)if((i=t.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),s=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),s=i.__d),s)return i.__E=i}catch(a){e=a}throw e}},x6=0,k6=function(e){return null!=e&&null==e.constructor},z6.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=j6({},this.state),"function"==typeof e&&(e=e(j6({},n),this.props)),e&&j6(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),W6(this))},z6.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),W6(this))},z6.prototype.render=F6,S6=[],I6="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,A6=function(e,t){return e.__v.__b-t.__v.__b},K6.__r=0,P6=0,O6=Q6(!1),M6=Q6(!0),T6=0;const o4=Object.freeze(Object.defineProperty({__proto__:null,Component:z6,Fragment:F6,cloneElement:function(e,t,n){var r,i,o,s,a=j6({},e.props);for(o in e.type&&e.type.defaultProps&&(s=e.type.defaultProps),t)"key"==o?r=t[o]:"ref"==o?i=t[o]:a[o]=void 0===t[o]&&void 0!==s?s[o]:t[o];return arguments.length>2&&(a.children=arguments.length>3?_6.call(arguments,2):n),$6(e.type,a,r||e.key,i||e.ref,null)},createContext:function(e,t){var n={__c:t="__cC"+T6++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(function(e){e.__e=!0,W6(e)})},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n},createElement:U6,createRef:function(){return{current:null}},h:U6,hydrate:function e(t,n){i4(t,n,e)},get isValidElement(){return k6},get options(){return E6},render:i4,toChildArray:function e(t,n){return n=n||[],null==t||"boolean"==typeof t||(B6(t)?t.some(function(t){e(t,n)}):n.push(t)),n}},Symbol.toStringTag,{value:"Module"}));function s4(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=s4(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}function a4(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=s4(e))&&(r&&(r+=" "),r+=t);return r}const c4=Object.freeze(Object.defineProperty({__proto__:null,clsx:a4,default:a4},Symbol.toStringTag,{value:"Module"}));var l4,u4,d4,h4,f4=0,p4=[],m4=E6,g4=m4.__b,y4=m4.__r,b4=m4.diffed,v4=m4.__c,w4=m4.unmount,_4=m4.__;function E4(e,t){m4.__h&&m4.__h(u4,e,f4||t),f4=0;var n=u4.__H||(u4.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function x4(e){return f4=1,k4(N4,e)}function k4(e,t,n){var r=E4(l4++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):N4(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=u4,!u4.u)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return!!e.__c});if(i.every(function(e){return!e.__N}))return!o||o.call(this,e,t,n);var s=!1;return i.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(s=!0)}}),!(!s&&r.__c.props===e)&&(!o||o.call(this,e,t,n))};u4.u=!0;var o=u4.shouldComponentUpdate,s=u4.componentWillUpdate;u4.componentWillUpdate=function(e,t,n){if(this.__e){var r=o;o=void 0,i(e,t,n),o=r}s&&s.call(this,e,t,n)},u4.shouldComponentUpdate=i}return r.__N||r.__}function S4(e,t){var n=E4(l4++,3);!m4.__s&&R4(n.__H,t)&&(n.__=e,n.i=t,u4.__H.__h.push(n))}function C4(e,t){var n=E4(l4++,4);!m4.__s&&R4(n.__H,t)&&(n.__=e,n.i=t,u4.__h.push(n))}function I4(e,t){var n=E4(l4++,7);return R4(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function A4(){for(var e;e=p4.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(M4),e.__H.__h.forEach(T4),e.__H.__h=[]}catch(x$){e.__H.__h=[],m4.__e(x$,e.__v)}}m4.__b=function(e){u4=null,g4&&g4(e)},m4.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),_4&&_4(e,t)},m4.__r=function(e){y4&&y4(e),l4=0;var t=(u4=e.__c).__H;t&&(d4===u4?(t.__h=[],u4.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0})):(t.__h.forEach(M4),t.__h.forEach(T4),t.__h=[],l4=0)),d4=u4},m4.diffed=function(e){b4&&b4(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==p4.push(t)&&h4===m4.requestAnimationFrame||((h4=m4.requestAnimationFrame)||O4)(A4)),t.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.i=void 0})),d4=u4=null},m4.__c=function(e,t){t.some(function(e){try{e.__h.forEach(M4),e.__h=e.__h.filter(function(e){return!e.__||T4(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],m4.__e(n,e.__v)}}),v4&&v4(e,t)},m4.unmount=function(e){w4&&w4(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{M4(e)}catch(n){t=n}}),n.__H=void 0,t&&m4.__e(t,n.__v))};var P4="function"==typeof requestAnimationFrame;function O4(e){var t,n=function(){clearTimeout(r),P4&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);P4&&(t=requestAnimationFrame(n))}function M4(e){var t=u4,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),u4=t}function T4(e){var t=u4;e.__c=e.__(),u4=t}function R4(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function N4(e,t){return"function"==typeof t?t(e):t}const L4=Object.freeze(Object.defineProperty({__proto__:null,useCallback:function(e,t){return f4=8,I4(function(){return e},t)},useContext:function(e){var t=u4.context[e.__c],n=E4(l4++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(u4)),t.props.value):e.__},useDebugValue:function(e,t){m4.useDebugValue&&m4.useDebugValue(t?t(e):e)},useEffect:S4,useErrorBoundary:function(e){var t=E4(l4++,10),n=x4();return t.__=e,u4.componentDidCatch||(u4.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]},useId:function(){var e=E4(l4++,11);if(!e.__){for(var t=u4.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__},useImperativeHandle:function(e,t,n){f4=6,C4(function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},null==n?n:n.concat(e))},useLayoutEffect:C4,useMemo:I4,useReducer:k4,useRef:function(e){return f4=5,I4(function(){return{current:e}},[])},useState:x4},Symbol.toStringTag,{value:"Module"})),B4=[{inputs:[{name:"preOpGas",type:"uint256"},{name:"paid",type:"uint256"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"targetSuccess",type:"bool"},{name:"targetResult",type:"bytes"}],name:"ExecutionResult",type:"error"},{inputs:[{name:"opIndex",type:"uint256"},{name:"reason",type:"string"}],name:"FailedOp",type:"error"},{inputs:[{name:"sender",type:"address"}],name:"SenderAddressResult",type:"error"},{inputs:[{name:"aggregator",type:"address"}],name:"SignatureValidationFailed",type:"error"},{inputs:[{components:[{name:"preOpGas",type:"uint256"},{name:"prefund",type:"uint256"},{name:"sigFailed",type:"bool"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"paymasterContext",type:"bytes"}],name:"returnInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"senderInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"factoryInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"paymasterInfo",type:"tuple"}],name:"ValidationResult",type:"error"},{inputs:[{components:[{name:"preOpGas",type:"uint256"},{name:"prefund",type:"uint256"},{name:"sigFailed",type:"bool"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"paymasterContext",type:"bytes"}],name:"returnInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"senderInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"factoryInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"paymasterInfo",type:"tuple"},{components:[{name:"aggregator",type:"address"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"stakeInfo",type:"tuple"}],name:"aggregatorInfo",type:"tuple"}],name:"ValidationResultWithAggregation",type:"error"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!1,name:"factory",type:"address"},{indexed:!1,name:"paymaster",type:"address"}],name:"AccountDeployed",type:"event"},{anonymous:!1,inputs:[],name:"BeforeExecution",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"aggregator",type:"address"}],name:"SignatureAggregatorChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"totalStaked",type:"uint256"},{indexed:!1,name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawAddress",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!0,name:"paymaster",type:"address"},{indexed:!1,name:"nonce",type:"uint256"},{indexed:!1,name:"success",type:"bool"},{indexed:!1,name:"actualGasCost",type:"uint256"},{indexed:!1,name:"actualGasUsed",type:"uint256"}],name:"UserOperationEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!1,name:"nonce",type:"uint256"},{indexed:!1,name:"revertReason",type:"bytes"}],name:"UserOperationRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawAddress",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[],name:"SIG_VALIDATION_FAILED",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"initCode",type:"bytes"},{name:"sender",type:"address"},{name:"paymasterAndData",type:"bytes"}],name:"_validateSenderAndPaymaster",outputs:[],stateMutability:"view",type:"function"},{inputs:[{name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{name:"",type:"address"}],name:"deposits",outputs:[{name:"deposit",type:"uint112"},{name:"staked",type:"bool"},{name:"stake",type:"uint112"},{name:"unstakeDelaySec",type:"uint32"},{name:"withdrawTime",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{name:"deposit",type:"uint112"},{name:"staked",type:"bool"},{name:"stake",type:"uint112"},{name:"unstakeDelaySec",type:"uint32"},{name:"withdrawTime",type:"uint48"}],name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{name:"sender",type:"address"},{name:"key",type:"uint192"}],name:"getNonce",outputs:[{name:"nonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"initCode",type:"bytes"}],name:"getSenderAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],name:"getUserOpHash",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOps",type:"tuple[]"},{name:"aggregator",type:"address"},{name:"signature",type:"bytes"}],name:"opsPerAggregator",type:"tuple[]"},{name:"beneficiary",type:"address"}],name:"handleAggregatedOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"ops",type:"tuple[]"},{name:"beneficiary",type:"address"}],name:"handleOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"key",type:"uint192"}],name:"incrementNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"callData",type:"bytes"},{components:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"paymaster",type:"address"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"}],name:"mUserOp",type:"tuple"},{name:"userOpHash",type:"bytes32"},{name:"prefund",type:"uint256"},{name:"contextOffset",type:"uint256"},{name:"preOpGas",type:"uint256"}],name:"opInfo",type:"tuple"},{name:"context",type:"bytes"}],name:"innerHandleOp",outputs:[{name:"actualGasCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"",type:"address"},{name:"",type:"uint192"}],name:"nonceSequenceNumber",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"op",type:"tuple"},{name:"target",type:"address"},{name:"targetCallData",type:"bytes"}],name:"simulateHandleOp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],name:"simulateValidation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unlockStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"withdrawAddress",type:"address"}],name:"withdrawStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"withdrawAddress",type:"address"},{name:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];function j4(e){const{authorization:t,factory:n,factoryData:r}=e;if("0x7702"===n||"0x7702000000000000000000000000000000000000"===n){if(!t)return"0x7702000000000000000000000000000000000000";return ug([t.address,r??"0x"])}return n?ug([n,r??"0x"]):"0x"}function D4(e){const{callGasLimit:t,callData:n,maxPriorityFeePerGas:r,maxFeePerGas:i,paymaster:o,paymasterData:s,paymasterPostOpGasLimit:a,paymasterSignature:c,paymasterVerificationGasLimit:l,sender:u,signature:d="0x",verificationGasLimit:h}=e;return{accountGasLimits:ug([hp(Ip(h||0n),{size:16}),hp(Ip(t||0n),{size:16})]),callData:n,initCode:j4(e),gasFees:ug([hp(Ip(r||0n),{size:16}),hp(Ip(i||0n),{size:16})]),nonce:e.nonce??0n,paymasterAndData:o?ug([o,hp(Ip(l||0n),{size:16}),hp(Ip(a||0n),{size:16}),s||"0x",...c?[c]:[]]):"0x",preVerificationGas:e.preVerificationGas??0n,sender:u,signature:d}}const U4={PackedUserOperation:[{type:"address",name:"sender"},{type:"uint256",name:"nonce"},{type:"bytes",name:"initCode"},{type:"bytes",name:"callData"},{type:"bytes32",name:"accountGasLimits"},{type:"uint256",name:"preVerificationGas"},{type:"bytes32",name:"gasFees"},{type:"bytes",name:"paymasterAndData"}]};function $4(e){const{chainId:t,entryPointAddress:n,entryPointVersion:r}=e,i=e.userOperation,{authorization:o,callData:s="0x",callGasLimit:a,maxFeePerGas:c,maxPriorityFeePerGas:l,nonce:u,paymasterAndData:d="0x",preVerificationGas:h,sender:f,verificationGasLimit:p}=i;if("0.8"===r||"0.9"===r)return Wx(function(e){const{chainId:t,entryPointAddress:n,userOperation:r}=e,i=D4(r);return{types:U4,primaryType:"PackedUserOperation",domain:{name:"ERC4337",version:"1",chainId:t,verifyingContract:n},message:i}}({chainId:t,entryPointAddress:n,userOperation:i}));const m=(()=>{var e,t;if("0.6"===r){const n=null==(e=i.initCode)?void 0:e.slice(0,42),r=null==(t=i.initCode)?void 0:t.slice(42),m=j4({authorization:o,factory:n,factoryData:r});return mg([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"bytes32"}],[f,u,qm(m),qm(s),a,p,h,c,l,qm(d)])}if("0.7"===r){const e=D4(i);return mg([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[e.sender,e.nonce,qm(e.initCode),qm(e.callData),e.accountGasLimits,e.preVerificationGas,e.gasFees,qm(e.paymasterAndData)])}throw new Error(`entryPointVersion "${r}" not supported.`)})();return qm(mg([{type:"bytes32"},{type:"address"},{type:"uint256"}],[qm(m),n,BigInt(t)]))}class F4 extends Lf{constructor({cause:e}){super("Smart Account is not deployed.",{cause:e,metaMessages:["This could arise when:","- No `factory`/`factoryData` or `initCode` properties are provided for Smart Account deployment.","- An incorrect `sender` address is provided."],name:"AccountNotDeployedError"})}}Object.defineProperty(F4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa20/});class z4 extends Lf{constructor({cause:e,data:t,message:n}={}){var r;const i=null==(r=null==n?void 0:n.replace("execution reverted: ",""))?void 0:r.replace("execution reverted","");super(`Execution reverted ${i?`with reason: ${i}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}Object.defineProperty(z4,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32521}),Object.defineProperty(z4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class q4 extends Lf{constructor({cause:e}){super("Failed to send funds to beneficiary.",{cause:e,name:"FailedToSendToBeneficiaryError"})}}Object.defineProperty(q4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa91/});class H4 extends Lf{constructor({cause:e}){super("Gas value overflowed.",{cause:e,metaMessages:["This could arise when:","- one of the gas values exceeded 2**120 (uint120)"].filter(Boolean),name:"GasValuesOverflowError"})}}Object.defineProperty(H4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa94/});class W4 extends Lf{constructor({cause:e}){super("The `handleOps` function was called by the Bundler with a gas limit too low.",{cause:e,name:"HandleOpsOutOfGasError"})}}Object.defineProperty(W4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa95/});class K4 extends Lf{constructor({cause:e,factory:t,factoryData:n,initCode:r}){super("Failed to simulate deployment for Smart Account.",{cause:e,metaMessages:["This could arise when:","- Invalid `factory`/`factoryData` or `initCode` properties are present","- Smart Account deployment execution ran out of gas (low `verificationGasLimit` value)","- Smart Account deployment execution reverted with an error\n",t&&`factory: ${t}`,n&&`factoryData: ${n}`,r&&`initCode: ${r}`].filter(Boolean),name:"InitCodeFailedError"})}}Object.defineProperty(K4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa13/});class V4 extends Lf{constructor({cause:e,factory:t,factoryData:n,initCode:r}){super("Smart Account initialization implementation did not create an account.",{cause:e,metaMessages:["This could arise when:","- `factory`/`factoryData` or `initCode` properties are invalid","- Smart Account initialization implementation is incorrect\n",t&&`factory: ${t}`,n&&`factoryData: ${n}`,r&&`initCode: ${r}`].filter(Boolean),name:"InitCodeMustCreateSenderError"})}}Object.defineProperty(V4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa15/});class G4 extends Lf{constructor({cause:e,factory:t,factoryData:n,initCode:r,sender:i}){super("Smart Account initialization implementation does not return the expected sender.",{cause:e,metaMessages:["This could arise when:","Smart Account initialization implementation does not return a sender address\n",t&&`factory: ${t}`,n&&`factoryData: ${n}`,r&&`initCode: ${r}`,i&&`sender: ${i}`].filter(Boolean),name:"InitCodeMustReturnSenderError"})}}Object.defineProperty(G4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa14/});class Z4 extends Lf{constructor({cause:e}){super("Smart Account does not have sufficient funds to execute the User Operation.",{cause:e,metaMessages:["This could arise when:","- the Smart Account does not have sufficient funds to cover the required prefund, or","- a Paymaster was not provided"].filter(Boolean),name:"InsufficientPrefundError"})}}Object.defineProperty(Z4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa21/});class Y4 extends Lf{constructor({cause:e}){super("Bundler attempted to call an invalid function on the EntryPoint.",{cause:e,name:"InternalCallOnlyError"})}}Object.defineProperty(Y4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa92/});class J4 extends Lf{constructor({cause:e}){super("Bundler used an invalid aggregator for handling aggregated User Operations.",{cause:e,name:"InvalidAggregatorError"})}}Object.defineProperty(J4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa96/});class Q4 extends Lf{constructor({cause:e,nonce:t}){super("Invalid Smart Account nonce used for User Operation.",{cause:e,metaMessages:[t&&`nonce: ${t}`].filter(Boolean),name:"InvalidAccountNonceError"})}}Object.defineProperty(Q4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa25/});class X4 extends Lf{constructor({cause:e}){super("Bundler has not set a beneficiary address.",{cause:e,name:"InvalidBeneficiaryError"})}}Object.defineProperty(X4,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa90/});class e8 extends Lf{constructor({cause:e}){super("Invalid fields set on User Operation.",{cause:e,name:"InvalidFieldsError"})}}Object.defineProperty(e8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class t8 extends Lf{constructor({cause:e,paymasterAndData:t}){super("Paymaster properties provided are invalid.",{cause:e,metaMessages:["This could arise when:","- the `paymasterAndData` property is of an incorrect length\n",t&&`paymasterAndData: ${t}`].filter(Boolean),name:"InvalidPaymasterAndDataError"})}}Object.defineProperty(t8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa93/});class n8 extends Lf{constructor({cause:e}){super("Paymaster deposit for the User Operation is too low.",{cause:e,metaMessages:["This could arise when:","- the Paymaster has deposited less than the expected amount via the `deposit` function"].filter(Boolean),name:"PaymasterDepositTooLowError"})}}Object.defineProperty(n8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32508}),Object.defineProperty(n8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa31/});class r8 extends Lf{constructor({cause:e}){super("The `validatePaymasterUserOp` function on the Paymaster reverted.",{cause:e,name:"PaymasterFunctionRevertedError"})}}Object.defineProperty(r8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa33/});class i8 extends Lf{constructor({cause:e}){super("The Paymaster contract has not been deployed.",{cause:e,name:"PaymasterNotDeployedError"})}}Object.defineProperty(i8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa30/});class o8 extends Lf{constructor({cause:e}){super("UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.",{cause:e,name:"PaymasterRateLimitError"})}}Object.defineProperty(o8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32504});class s8 extends Lf{constructor({cause:e}){super("UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.",{cause:e,name:"PaymasterStakeTooLowError"})}}Object.defineProperty(s8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32505});class a8 extends Lf{constructor({cause:e}){super("Paymaster `postOp` function reverted.",{cause:e,name:"PaymasterPostOpFunctionRevertedError"})}}Object.defineProperty(a8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa50/});class c8 extends Lf{constructor({cause:e,factory:t,factoryData:n,initCode:r}){super("Smart Account has already been deployed.",{cause:e,metaMessages:["Remove the following properties and try again:",t&&"`factory`",n&&"`factoryData`",r&&"`initCode`"].filter(Boolean),name:"SenderAlreadyConstructedError"})}}Object.defineProperty(c8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa10/});class l8 extends Lf{constructor({cause:e}){super("UserOperation rejected because account signature check failed (or paymaster signature, if the paymaster uses its data as signature).",{cause:e,name:"SignatureCheckFailedError"})}}Object.defineProperty(l8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32507});class u8 extends Lf{constructor({cause:e}){super("The `validateUserOp` function on the Smart Account reverted.",{cause:e,name:"SmartAccountFunctionRevertedError"})}}Object.defineProperty(u8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa23/});class d8 extends Lf{constructor({cause:e}){super("UserOperation rejected because account specified unsupported signature aggregator.",{cause:e,name:"UnsupportedSignatureAggregatorError"})}}Object.defineProperty(d8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32506});class h8 extends Lf{constructor({cause:e}){super("User Operation expired.",{cause:e,metaMessages:["This could arise when:","- the `validAfter` or `validUntil` values returned from `validateUserOp` on the Smart Account are not satisfied"].filter(Boolean),name:"UserOperationExpiredError"})}}Object.defineProperty(h8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa22/});class f8 extends Lf{constructor({cause:e}){super("Paymaster for User Operation expired.",{cause:e,metaMessages:["This could arise when:","- the `validAfter` or `validUntil` values returned from `validatePaymasterUserOp` on the Paymaster are not satisfied"].filter(Boolean),name:"UserOperationPaymasterExpiredError"})}}Object.defineProperty(f8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa32/});class p8 extends Lf{constructor({cause:e}){super("Signature provided for the User Operation is invalid.",{cause:e,metaMessages:["This could arise when:","- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Smart Account"].filter(Boolean),name:"UserOperationSignatureError"})}}Object.defineProperty(p8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa24/});class m8 extends Lf{constructor({cause:e}){super("Signature provided for the User Operation is invalid.",{cause:e,metaMessages:["This could arise when:","- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Paymaster"].filter(Boolean),name:"UserOperationPaymasterSignatureError"})}}Object.defineProperty(m8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa34/});class g8 extends Lf{constructor({cause:e}){super("User Operation rejected by EntryPoint's `simulateValidation` during account creation or validation.",{cause:e,name:"UserOperationRejectedByEntryPointError"})}}Object.defineProperty(g8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32500});class y8 extends Lf{constructor({cause:e}){super("User Operation rejected by Paymaster's `validatePaymasterUserOp`.",{cause:e,name:"UserOperationRejectedByPaymasterError"})}}Object.defineProperty(y8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32501});class b8 extends Lf{constructor({cause:e}){super("User Operation rejected with op code validation error.",{cause:e,name:"UserOperationRejectedByOpCodeError"})}}Object.defineProperty(b8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32502});class v8 extends Lf{constructor({cause:e}){super("UserOperation out of time-range: either wallet or paymaster returned a time-range, and it is already expired (or will expire soon).",{cause:e,name:"UserOperationOutOfTimeRangeError"})}}Object.defineProperty(v8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32503});class w8 extends Lf{constructor({cause:e}){super(`An error occurred while executing user operation: ${null==e?void 0:e.shortMessage}`,{cause:e,name:"UnknownBundlerError"})}}class _8 extends Lf{constructor({cause:e}){super("User Operation verification gas limit exceeded.",{cause:e,metaMessages:["This could arise when:","- the gas used for verification exceeded the `verificationGasLimit`"].filter(Boolean),name:"VerificationGasLimitExceededError"})}}Object.defineProperty(_8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa40/});class E8 extends Lf{constructor({cause:e}){super("User Operation verification gas limit is too low.",{cause:e,metaMessages:["This could arise when:","- the `verificationGasLimit` is too low to verify the User Operation"].filter(Boolean),name:"VerificationGasLimitTooLowError"})}}Object.defineProperty(E8,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa41/});class x8 extends Lf{constructor(e,{callData:t,callGasLimit:n,docsPath:r,factory:i,factoryData:o,initCode:s,maxFeePerGas:a,maxPriorityFeePerGas:c,nonce:l,paymaster:u,paymasterAndData:d,paymasterData:h,paymasterPostOpGasLimit:f,paymasterVerificationGasLimit:p,preVerificationGas:m,sender:g,signature:y,verificationGasLimit:b}){const v=eb({callData:t,callGasLimit:n,factory:i,factoryData:o,initCode:s,maxFeePerGas:void 0!==a&&`${Yy(a)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${Yy(c)} gwei`,nonce:l,paymaster:u,paymasterAndData:d,paymasterData:h,paymasterPostOpGasLimit:f,paymasterVerificationGasLimit:p,preVerificationGas:m,sender:g,signature:y,verificationGasLimit:b});super(e.shortMessage,{cause:e,docsPath:r,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Request Arguments:",v].filter(Boolean),name:"UserOperationExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class k8 extends Lf{constructor({hash:e}){super(`User Operation receipt with hash "${e}" could not be found. The User Operation may not have been processed yet.`,{name:"UserOperationReceiptNotFoundError"})}}class S8 extends Lf{constructor({hash:e}){super(`User Operation with hash "${e}" could not be found.`,{name:"UserOperationNotFoundError"})}}class C8 extends Lf{constructor({hash:e}){super(`Timed out while waiting for User Operation with hash "${e}" to be confirmed.`,{name:"WaitForUserOperationReceiptTimeoutError"})}}const I8=[z4,e8,n8,o8,s8,l8,d8,v8,g8,y8,b8];function A8(e,{calls:t,docsPath:n,...r}){const i=(()=>{const n=function(e,t){const n=(e.details||"").toLowerCase();if(F4.message.test(n))return new F4({cause:e});if(q4.message.test(n))return new q4({cause:e});if(H4.message.test(n))return new H4({cause:e});if(W4.message.test(n))return new W4({cause:e});if(K4.message.test(n))return new K4({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(V4.message.test(n))return new V4({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(G4.message.test(n))return new G4({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode,sender:t.sender});if(Z4.message.test(n))return new Z4({cause:e});if(Y4.message.test(n))return new Y4({cause:e});if(Q4.message.test(n))return new Q4({cause:e,nonce:t.nonce});if(J4.message.test(n))return new J4({cause:e});if(X4.message.test(n))return new X4({cause:e});if(t8.message.test(n))return new t8({cause:e});if(n8.message.test(n))return new n8({cause:e});if(r8.message.test(n))return new r8({cause:e});if(i8.message.test(n))return new i8({cause:e});if(a8.message.test(n))return new a8({cause:e});if(u8.message.test(n))return new u8({cause:e});if(c8.message.test(n))return new c8({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(h8.message.test(n))return new h8({cause:e});if(f8.message.test(n))return new f8({cause:e});if(m8.message.test(n))return new m8({cause:e});if(p8.message.test(n))return new p8({cause:e});if(_8.message.test(n))return new _8({cause:e});if(E8.message.test(n))return new E8({cause:e});const r=e.walk(e=>I8.some(t=>t.code===e.code));if(r){if(r.code===z4.code)return new z4({cause:e,data:r.data,message:r.details});if(r.code===e8.code)return new e8({cause:e});if(r.code===n8.code)return new n8({cause:e});if(r.code===o8.code)return new o8({cause:e});if(r.code===s8.code)return new s8({cause:e});if(r.code===l8.code)return new l8({cause:e});if(r.code===d8.code)return new d8({cause:e});if(r.code===v8.code)return new v8({cause:e});if(r.code===g8.code)return new g8({cause:e});if(r.code===y8.code)return new y8({cause:e});if(r.code===b8.code)return new b8({cause:e})}return new w8({cause:e})}(e,r);if(t&&n instanceof z4){const e=function(e){let t;return e.walk(e=>{var n,r,i,o;const s=e;if("string"==typeof s.data||"string"==typeof(null==(n=s.data)?void 0:n.revertData)||!(s instanceof Lf)&&"string"==typeof s.message){const e=null==(o=(i=(null==(r=s.data)?void 0:r.revertData)||s.data||s.message).match)?void 0:o.call(i,/(0x[A-Za-z0-9]*)/);if(e)return t=e[1],!0}return!1}),t}(n),r=null==t?void 0:t.filter(e=>e.abi);if(e&&r.length>0)return function(e){const{calls:t,revertData:n}=e,{abi:r,functionName:i,args:o,to:s}=(()=>{const e=null==t?void 0:t.filter(e=>Boolean(e.abi));if(1===e.length)return e[0];const r=e.filter(e=>{try{return Boolean(zy({abi:e.abi,data:n}))}catch{return!1}});return 1===r.length?r[0]:{abi:[],functionName:e.reduce((e,t)=>`${e?`${e} | `:""}${t.functionName}`,""),args:void 0,to:void 0}})(),a="0x"===n?new hb({functionName:i}):new db({abi:r,data:n,functionName:i});return new ub(a,{abi:r,args:o,contractAddress:s,functionName:i})}({calls:r,revertData:e})}return n})();return new x8(i,{docsPath:n,...r})}function P8(e){const t={};var n;return void 0!==e.callData&&(t.callData=e.callData),void 0!==e.callGasLimit&&(t.callGasLimit=Ip(e.callGasLimit)),void 0!==e.factory&&(t.factory=e.factory),void 0!==e.factoryData&&(t.factoryData=e.factoryData),void 0!==e.initCode&&(t.initCode=e.initCode),void 0!==e.maxFeePerGas&&(t.maxFeePerGas=Ip(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=Ip(e.maxPriorityFeePerGas)),void 0!==e.nonce&&(t.nonce=Ip(e.nonce)),void 0!==e.paymaster&&(t.paymaster=e.paymaster),void 0!==e.paymasterAndData&&(t.paymasterAndData=e.paymasterAndData||"0x"),void 0!==e.paymasterData&&(t.paymasterData=e.paymasterData),void 0!==e.paymasterPostOpGasLimit&&(t.paymasterPostOpGasLimit=Ip(e.paymasterPostOpGasLimit)),void 0!==e.paymasterSignature&&(t.paymasterSignature=e.paymasterSignature),void 0!==e.paymasterVerificationGasLimit&&(t.paymasterVerificationGasLimit=Ip(e.paymasterVerificationGasLimit)),void 0!==e.preVerificationGas&&(t.preVerificationGas=Ip(e.preVerificationGas)),void 0!==e.sender&&(t.sender=e.sender),void 0!==e.signature&&(t.signature=e.signature),void 0!==e.verificationGasLimit&&(t.verificationGasLimit=Ip(e.verificationGasLimit)),void 0!==e.authorization&&(t.eip7702Auth={address:(n=e.authorization).address,chainId:Ip(n.chainId),nonce:Ip(n.nonce),r:n.r?Ip(BigInt(n.r),{size:32}):hp("0x",{size:32}),s:n.s?Ip(BigInt(n.s),{size:32}):hp("0x",{size:32}),yParity:n.yParity?Ip(n.yParity,{size:1}):hp("0x",{size:32})}),t}async function O8(e,t){const{chainId:n,entryPointAddress:r,context:i,...o}=t,s=P8(o),{paymasterPostOpGasLimit:a,paymasterVerificationGasLimit:c,...l}=await e.request({method:"pm_getPaymasterData",params:[{...s,callGasLimit:s.callGasLimit??"0x0",verificationGasLimit:s.verificationGasLimit??"0x0",preVerificationGas:s.preVerificationGas??"0x0"},r,Ip(n),i]});return{...l,...a&&{paymasterPostOpGasLimit:wp(a)},...c&&{paymasterVerificationGasLimit:wp(c)}}}async function M8(e,t){const{chainId:n,entryPointAddress:r,context:i,...o}=t,s=P8(o),{paymasterPostOpGasLimit:a,paymasterVerificationGasLimit:c,...l}=await e.request({method:"pm_getPaymasterStubData",params:[{...s,callGasLimit:s.callGasLimit??"0x0",verificationGasLimit:s.verificationGasLimit??"0x0",preVerificationGas:s.preVerificationGas??"0x0"},r,Ip(n),i]});return{...l,...a&&{paymasterPostOpGasLimit:wp(a)},...c&&{paymasterVerificationGasLimit:wp(c)}}}const T8=["factory","fees","gas","paymaster","nonce","signature","authorization"];async function R8(e,t){var n;const r=t,{account:i=e.account,parameters:o=T8,stateOverride:s}=r;if(!i)throw new SC;const a=Dy(i),c=e,l=r.paymaster??(null==c?void 0:c.paymaster),u="string"==typeof l?l:void 0,{getPaymasterStubData:d,getPaymasterData:h}=(()=>{if(!0===l)return{getPaymasterStubData:e=>Ib(c,M8,"getPaymasterStubData")(e),getPaymasterData:e=>Ib(c,O8,"getPaymasterData")(e)};if("object"==typeof l){const{getPaymasterStubData:e,getPaymasterData:t}=l;return{getPaymasterStubData:t&&e?e:t,getPaymasterData:t&&e?t:void 0}}return{getPaymasterStubData:void 0,getPaymasterData:void 0}})(),f=r.paymasterContext?r.paymasterContext:null==c?void 0:c.paymasterContext;let p={...r,paymaster:u,sender:a.address};const[m,g,y,b,v]=await Promise.all([(async()=>r.calls?a.encodeCalls(r.calls.map(e=>{const t=e;return t.abi?{data:My(t),to:t.to,value:t.value}:t})):r.callData)(),(async()=>{if(!o.includes("factory"))return;if(r.initCode)return{initCode:r.initCode};if(r.factory&&r.factoryData)return{factory:r.factory,factoryData:r.factoryData};const{factory:e,factoryData:t}=await a.getFactoryArgs();return"0.6"===a.entryPoint.version?{initCode:e&&t?ug([e,t]):void 0}:{factory:e,factoryData:t}})(),(async()=>{var t;if(o.includes("fees")){if("bigint"==typeof r.maxFeePerGas&&"bigint"==typeof r.maxPriorityFeePerGas)return p;if(null==(t=null==c?void 0:c.userOperation)?void 0:t.estimateFeesPerGas){const e=await c.userOperation.estimateFeesPerGas({account:a,bundlerClient:c,userOperation:p});return{...p,...e}}try{const t=c.client??e,n=await Ib(t,lE,"estimateFeesPerGas")({chain:t.chain,type:"eip1559"});return{maxFeePerGas:"bigint"==typeof r.maxFeePerGas?r.maxFeePerGas:BigInt(2n*n.maxFeePerGas),maxPriorityFeePerGas:"bigint"==typeof r.maxPriorityFeePerGas?r.maxPriorityFeePerGas:BigInt(2n*n.maxPriorityFeePerGas)}}catch{return}}})(),(async()=>{if(o.includes("nonce"))return"bigint"==typeof r.nonce?r.nonce:a.getNonce()})(),(async()=>{if(o.includes("authorization")){if("object"==typeof r.authorization)return r.authorization;if(a.authorization&&!(await a.isDeployed())){const e=await async function(e,t){var n;const{account:r=e.account,chainId:i,nonce:o}=t;if(!r)throw new SC({docsPath:"/docs/eip7702/prepareAuthorization"});const s=Dy(r),a=(()=>{if(t.executor)return"self"===t.executor?t.executor:Dy(t.executor)})(),c={address:t.contractAddress??t.address,chainId:i,nonce:o};return void 0===c.chainId&&(c.chainId=(null==(n=e.chain)?void 0:n.id)??await Ib(e,KE,"getChainId")({})),void 0===c.nonce&&(c.nonce=await Ib(e,dE,"getTransactionCount")({address:s.address,blockTag:"pending"}),("self"===a||(null==a?void 0:a.address)&&ix(a.address,s.address))&&(c.nonce+=1)),c}(a.client,a.authorization);return{...e,r:"0xfffffffffffffffffffffffffffffff000000000000000000000000000000000",s:"0x7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",yParity:1}}}})()]);let w;async function _(){if(w)return w;if(e.chain)return e.chain.id;const t=await Ib(e,KE,"getChainId")({});return w=t,w}void 0!==m&&(p.callData=m),void 0!==g&&(p={...p,...g}),void 0!==y&&(p={...p,...y}),void 0!==b&&(p.nonce=b),void 0!==v&&(p.authorization=v),o.includes("signature")&&(void 0!==r.signature?p.signature=r.signature:p.signature=await a.getStubSignature(p)),"0.6"!==a.entryPoint.version||p.initCode||(p.initCode="0x");let E=!1;if(o.includes("paymaster")&&d&&!u&&!r.paymasterAndData){const{isFinal:e=!1,sponsor:t,...n}=await d({chainId:await _(),entryPointAddress:a.entryPoint.address,context:f,...p});E=e,p={...p,...n}}if("0.6"!==a.entryPoint.version||p.paymasterAndData||(p.paymasterAndData="0x"),o.includes("gas")){if(null==(n=a.userOperation)?void 0:n.estimateGas){const e=await a.userOperation.estimateGas(p);p={...p,...e}}if(void 0===p.callGasLimit||void 0===p.preVerificationGas||void 0===p.verificationGasLimit||p.paymaster&&void 0===p.paymasterPostOpGasLimit||p.paymaster&&void 0===p.paymasterVerificationGasLimit){const e=await Ib(c,N8,"estimateUserOperationGas")({account:a,callGasLimit:0n,preVerificationGas:0n,verificationGasLimit:0n,stateOverride:s,...p.paymaster?{paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n}:{},...p});p={...p,callGasLimit:p.callGasLimit??e.callGasLimit,preVerificationGas:p.preVerificationGas??e.preVerificationGas,verificationGasLimit:p.verificationGasLimit??e.verificationGasLimit,paymasterPostOpGasLimit:p.paymasterPostOpGasLimit??e.paymasterPostOpGasLimit,paymasterVerificationGasLimit:p.paymasterVerificationGasLimit??e.paymasterVerificationGasLimit}}}if(o.includes("paymaster")&&h&&!u&&!r.paymasterAndData&&!E){const e=await h({chainId:await _(),entryPointAddress:a.entryPoint.address,context:f,...p});p={...p,...e}}return delete p.calls,delete p.parameters,delete p.paymasterContext,"string"!=typeof p.paymaster&&delete p.paymaster,p}async function N8(e,t){var n;const{account:r=e.account,entryPointAddress:i,stateOverride:o}=t;if(!r&&!t.sender)throw new SC;const s=r?Dy(r):void 0,a=p_(o),c=s?await Ib(e,R8,"prepareUserOperation")({...t,parameters:["authorization","factory","nonce","paymaster","signature"]}):t;try{const t=[P8(c),i??(null==(n=null==s?void 0:s.entryPoint)?void 0:n.address)];return function(e){const t={};return e.callGasLimit&&(t.callGasLimit=BigInt(e.callGasLimit)),e.preVerificationGas&&(t.preVerificationGas=BigInt(e.preVerificationGas)),e.verificationGasLimit&&(t.verificationGasLimit=BigInt(e.verificationGasLimit)),e.paymasterPostOpGasLimit&&(t.paymasterPostOpGasLimit=BigInt(e.paymasterPostOpGasLimit)),e.paymasterVerificationGasLimit&&(t.paymasterVerificationGasLimit=BigInt(e.paymasterVerificationGasLimit)),t}(await e.request({method:"eth_estimateUserOperationGas",params:a?[...t,a]:[...t]}))}catch(cF){const n=t.calls;throw A8(cF,{...c,...n?{calls:n}:{}})}}function L8(e){const t={...e};return e.callGasLimit&&(t.callGasLimit=BigInt(e.callGasLimit)),e.maxFeePerGas&&(t.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.nonce&&(t.nonce=BigInt(e.nonce)),e.paymasterPostOpGasLimit&&(t.paymasterPostOpGasLimit=BigInt(e.paymasterPostOpGasLimit)),e.paymasterVerificationGasLimit&&(t.paymasterVerificationGasLimit=BigInt(e.paymasterVerificationGasLimit)),e.preVerificationGas&&(t.preVerificationGas=BigInt(e.preVerificationGas)),e.verificationGasLimit&&(t.verificationGasLimit=BigInt(e.verificationGasLimit)),t}async function B8(e,{hash:t}){const n=await e.request({method:"eth_getUserOperationReceipt",params:[t]},{dedupe:!0});if(!n)throw new k8({hash:t});return function(e){const t={...e};return e.actualGasCost&&(t.actualGasCost=BigInt(e.actualGasCost)),e.actualGasUsed&&(t.actualGasUsed=BigInt(e.actualGasUsed)),e.logs&&(t.logs=e.logs.map(e=>lx(e))),e.receipt&&(t.receipt=Rx(t.receipt)),t}(n)}function j8(e){return{estimateUserOperationGas:t=>N8(e,t),getChainId:()=>KE(e),getSupportedEntryPoints:()=>function(e){return e.request({method:"eth_supportedEntryPoints"})}(e),getUserOperation:t=>async function(e,{hash:t}){const n=await e.request({method:"eth_getUserOperationByHash",params:[t]},{dedupe:!0});if(!n)throw new S8({hash:t});const{blockHash:r,blockNumber:i,entryPoint:o,transactionHash:s,userOperation:a}=n;return{blockHash:r,blockNumber:BigInt(i),entryPoint:o,transactionHash:s,userOperation:L8(a)}}(e,t),getUserOperationReceipt:t=>B8(e,t),prepareUserOperation:t=>R8(e,t),sendUserOperation:t=>async function(e,t){var n,r;const{account:i=e.account,entryPointAddress:o}=t;if(!i&&!t.sender)throw new SC;const s=i?Dy(i):void 0,a=s?await Ib(e,R8,"prepareUserOperation")(t):t,c=t.signature||await(null==(n=null==s?void 0:s.signUserOperation)?void 0:n.call(s,a)),l=P8({...a,signature:c});try{return await e.request({method:"eth_sendUserOperation",params:[l,o??(null==(r=null==s?void 0:s.entryPoint)?void 0:r.address)]},{retryCount:0})}catch(cF){const n=t.calls;throw A8(cF,{...a,...n?{calls:n}:{},signature:c})}}(e,t),waitForUserOperationReceipt:t=>function(e,t){const{hash:n,pollingInterval:r=e.pollingInterval,retryCount:i,timeout:o=12e4}=t;let s=0;const a=qy(["waitForUserOperationReceipt",e.uid,n]);return new Promise((t,c)=>{const l=_C(a,{resolve:t,reject:c},t=>{const a=e=>{u(),e(),l()},c=o?setTimeout(()=>a(()=>t.reject(new C8({hash:n}))),o):void 0,u=EC(async()=>{i&&s>=i&&(clearTimeout(c),a(()=>t.reject(new C8({hash:n}))));try{const r=await Ib(e,B8,"getUserOperationReceipt")({hash:n});clearTimeout(c),a(()=>t.resolve(r))}catch($He){const n=$He;"UserOperationReceiptNotFoundError"!==n.name&&(clearTimeout(c),a(()=>t.reject(n)))}s++},{emitOnBegin:!0,interval:r});return u})})}(e,t)}}
|
|
60
60
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
61
61
|
const D8={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},U8={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},$8={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},F8=LZ(D8.p),z8=LZ(U8.p),q8=LZ($8.p),H8=BX({...D8,Fp:F8,lowS:!1},OE);BX({...U8,Fp:z8,lowS:!1},TE),BX({...$8,Fp:q8,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},ME);
|
|
62
62
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|