@bonfida/spl-name-service 2.5.3 → 2.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -16,5 +16,5 @@ const Ko=BigInt(0),Ho=BigInt(1);function Go(e){return ko(e.Fp,Fo.reduce(((e,t)=>
16
16
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const qo=BigInt(0),Yo=BigInt(1),Xo=BigInt(2),Zo=BigInt(8),$o={zip215:!0};function Qo(e){const t=function(e){const t=Go(e);return ko(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:r,n:n,prehash:o,hash:i,randomBytes:s,nByteLength:a,h:c}=t,u=Xo<<BigInt(8*a)-Yo,f=r.create,p=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:r.sqrt(e*r.inv(t))}}catch(e){return{isValid:!1,value:qo}}}),d=t.adjustScalarBytes||(e=>e),h=t.domain||((e,t,r)=>{if(t.length||r)throw new Error("Contexts/pre-hash are not supported");return e}),l=e=>"bigint"==typeof e&&qo<e,y=(e,t)=>l(e)&&l(t)&&e<t,g=e=>e===qo||y(e,u);function w(e,t){if(y(e,t))return e;throw new Error(`Expected valid scalar < ${t}, got ${typeof e} ${e}`)}function b(e){return e===qo?e:w(e,n)}const m=new Map;function v(e){if(!(e instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(e,t,r,n){if(this.ex=e,this.ey=t,this.ez=r,this.et=n,!g(e))throw new Error("x required");if(!g(t))throw new Error("y required");if(!g(r))throw new Error("z required");if(!g(n))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof E)throw new Error("extended point not allowed");const{x:t,y:r}=e||{};if(!g(t)||!g(r))throw new Error("invalid affine point");return new E(t,r,Yo,f(t*r))}static normalizeZ(e){const t=r.invertBatch(e.map((e=>e.ez)));return e.map(((e,r)=>e.toAffine(t[r]))).map(E.fromAffine)}_setWindowSize(e){this._WINDOW_SIZE=e,m.delete(this)}assertValidity(){const{a:e,d:r}=t;if(this.is0())throw new Error("bad point: ZERO");const{ex:n,ey:o,ez:i,et:s}=this,a=f(n*n),c=f(o*o),u=f(i*i),p=f(u*u),d=f(a*e);if(f(u*f(d+c))!==f(p+f(r*f(a*c))))throw new Error("bad point: equation left != right (1)");if(f(n*o)!==f(i*s))throw new Error("bad point: equation left != right (2)")}equals(e){v(e);const{ex:t,ey:r,ez:n}=this,{ex:o,ey:i,ez:s}=e,a=f(t*s),c=f(o*n),u=f(r*s),p=f(i*n);return a===c&&u===p}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){const{a:e}=t,{ex:r,ey:n,ez:o}=this,i=f(r*r),s=f(n*n),a=f(Xo*f(o*o)),c=f(e*i),u=r+n,p=f(f(u*u)-i-s),d=c+s,h=d-a,l=c-s,y=f(p*h),g=f(d*l),w=f(p*l),b=f(h*d);return new E(y,g,b,w)}add(e){v(e);const{a:r,d:n}=t,{ex:o,ey:i,ez:s,et:a}=this,{ex:c,ey:u,ez:p,et:d}=e;if(r===BigInt(-1)){const e=f((i-o)*(u+c)),t=f((i+o)*(u-c)),r=f(t-e);if(r===qo)return this.double();const n=f(s*Xo*d),h=f(a*Xo*p),l=h+n,y=t+e,g=h-n,w=f(l*r),b=f(y*g),m=f(l*g),v=f(r*y);return new E(w,b,v,m)}const h=f(o*c),l=f(i*u),y=f(a*n*d),g=f(s*p),w=f((o+i)*(c+u)-h-l),b=g-y,m=g+y,x=f(l-r*h),A=f(w*b),S=f(m*x),I=f(w*x),B=f(b*m);return new E(A,S,B,I)}subtract(e){return this.add(e.negate())}wNAF(e){return S.wNAFCached(this,m,e,E.normalizeZ)}multiply(e){const{p:t,f:r}=this.wNAF(w(e,n));return E.normalizeZ([t,r])[0]}multiplyUnsafe(e){let t=b(e);return t===qo?A:this.equals(A)||t===Yo?this:this.equals(x)?this.wNAF(t).p:S.unsafeLadder(this,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return S.unsafeLadder(this,n).is0()}toAffine(e){const{ex:t,ey:n,ez:o}=this,i=this.is0();null==e&&(e=i?Zo:r.inv(o));const s=f(t*e),a=f(n*e),c=f(o*e);if(i)return{x:qo,y:Yo};if(c!==Yo)throw new Error("invZ was invalid");return{x:s,y:a}}clearCofactor(){const{h:e}=t;return e===Yo?this:this.multiplyUnsafe(e)}static fromHex(e,n=!1){const{d:o,a:i}=t,s=r.BYTES,a=(e=Io("pointHex",e,s)).slice(),c=e[s-1];a[s-1]=-129&c;const d=xo(a);d===qo||w(d,n?u:r.ORDER);const h=f(d*d),l=f(h-Yo),y=f(o*h-i);let{isValid:g,value:b}=p(l,y);if(!g)throw new Error("Point.fromHex: invalid y coordinate");const m=(b&Yo)===Yo,v=0!=(128&c);if(!n&&b===qo&&v)throw new Error("Point.fromHex: x=0 and x_0=1");return v!==m&&(b=f(-b)),E.fromAffine({x:b,y:d})}static fromPrivateKey(e){return R(e).point}toRawBytes(){const{x:e,y:t}=this.toAffine(),n=So(t,r.BYTES);return n[n.length-1]|=e&Yo?128:0,n}toHex(){return wo(this.toRawBytes())}}E.BASE=new E(t.Gx,t.Gy,Yo,f(t.Gx*t.Gy)),E.ZERO=new E(qo,Yo,Yo,qo);const{BASE:x,ZERO:A}=E,S=function(e,t){const r=(e,t)=>{const r=t.negate();return e?r:t},n=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:r,unsafeLadder(t,r){let n=e.ZERO,o=t;for(;r>Ko;)r&Ho&&(n=n.add(o)),o=o.double(),r>>=Ho;return n},precomputeWindow(e,t){const{windows:r,windowSize:o}=n(t),i=[];let s=e,a=s;for(let e=0;e<r;e++){a=s,i.push(a);for(let e=1;e<o;e++)a=a.add(s),i.push(a);s=a.double()}return i},wNAF(t,o,i){const{windows:s,windowSize:a}=n(t);let c=e.ZERO,u=e.BASE;const f=BigInt(2**t-1),p=2**t,d=BigInt(t);for(let e=0;e<s;e++){const t=e*a;let n=Number(i&f);i>>=d,n>a&&(n-=p,i+=Ho);const s=t,h=t+Math.abs(n)-1,l=e%2!=0,y=n<0;0===n?u=u.add(r(l,o[s])):c=c.add(r(y,o[h]))}return{p:c,f:u}},wNAFCached(e,t,r,n){const o=e._WINDOW_SIZE||1;let i=t.get(e);return i||(i=this.precomputeWindow(e,o),1!==o&&t.set(e,n(i))),this.wNAF(o,i,r)}}}(E,8*a);function I(e){return Do(e,n)}function B(e){return I(xo(e))}function R(e){const t=a;e=Io("private key",e,t);const r=Io("hashed private key",i(e),2*t),n=d(r.slice(0,t)),o=r.slice(t,2*t),s=B(n),c=x.multiply(s),u=c.toRawBytes();return{head:n,prefix:o,scalar:s,point:c,pointBytes:u}}function P(e=new Uint8Array,...t){const r=Bo(...t);return B(i(h(r,Io("context",e),!!o)))}const k=$o;x._setWindowSize(8);return{CURVE:t,getPublicKey:function(e){return R(e).pointBytes},sign:function(e,t,n={}){e=Io("message",e),o&&(e=o(e));const{prefix:i,scalar:s,pointBytes:c}=R(t),u=P(n.context,i,e),f=x.multiply(u).toRawBytes(),p=I(u+P(n.context,f,c,e)*s);return b(p),Io("result",Bo(f,So(p,r.BYTES)),2*a)},verify:function(e,t,n,i=k){const{context:s,zip215:a}=i,c=r.BYTES;e=Io("signature",e,2*c),t=Io("message",t),o&&(t=o(t));const u=xo(e.slice(c,2*c));let f,p,d;try{f=E.fromHex(n,a),p=E.fromHex(e.slice(0,c),a),d=x.multiplyUnsafe(u)}catch(e){return!1}if(!a&&f.isSmallOrder())return!1;const h=P(s,p.toRawBytes(),f.toRawBytes(),t);return p.add(f.multiplyUnsafe(h)).subtract(d).clearCofactor().equals(E.ZERO)},ExtendedPoint:E,utils:{getExtendedPublicKey:R,randomPrivateKey:()=>s(r.BYTES),precompute:(e=8,t=E.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}}
17
17
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Jo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ei=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const ti=BigInt(1),ri=BigInt(2),ni=BigInt(5),oi=BigInt(10),ii=BigInt(20),si=BigInt(40),ai=BigInt(80);const ci=function(e,t,r=!1,n={}){if(e<=To)throw new Error(`Expected Field ORDER > 0, got ${e}`);const{nBitLength:o,nByteLength:i}=jo(e,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const s=zo(e),a=Object.freeze({ORDER:e,BITS:o,BYTES:i,MASK:Ro(o),ZERO:To,ONE:_o,create:t=>Do(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("Invalid field element: expected bigint, got "+typeof t);return To<=t&&t<e},is0:e=>e===To,isOdd:e=>(e&_o)===_o,neg:t=>Do(-t,e),eql:(e,t)=>e===t,sqr:t=>Do(t*t,e),add:(t,r)=>Do(t+r,e),sub:(t,r)=>Do(t-r,e),mul:(t,r)=>Do(t*r,e),pow:(e,t)=>function(e,t,r){if(r<To)throw new Error("Expected power > 0");if(r===To)return e.ONE;if(r===_o)return t;let n=e.ONE,o=t;for(;r>To;)r&_o&&(n=e.mul(n,o)),o=e.sqr(o),r>>=_o;return n}(a,e,t),div:(t,r)=>Do(t*Vo(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Vo(t,e),sqrt:n.sqrt||(e=>s(a,e)),invertBatch:e=>function(e,t){const r=new Array(t.length),n=t.reduce(((t,n,o)=>e.is0(n)?t:(r[o]=t,e.mul(t,n))),e.ONE),o=e.inv(n);return t.reduceRight(((t,n,o)=>e.is0(n)?t:(r[o]=e.mul(t,r[o]),e.mul(t,n))),o),r}(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?So(e,i):Ao(e,i),fromBytes:e=>{if(e.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${e.length}`);return r?xo(e):function(e){return bo(wo(e))}(e)}});return Object.freeze(a)}(Jo,void 0,!0),ui={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ci,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:po,randomBytes:function(e=32){if(gt&&"function"==typeof gt.getRandomValues)return gt.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")},adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},uvRatio:function(e,t){const r=Jo,n=Do(t*t*t,r),o=function(e){const t=Jo,r=e*e%t*e%t,n=Mo(r,ri,t)*r%t,o=Mo(n,ti,t)*e%t,i=Mo(o,ni,t)*o%t,s=Mo(i,oi,t)*i%t,a=Mo(s,ii,t)*s%t,c=Mo(a,si,t)*a%t,u=Mo(c,ai,t)*c%t,f=Mo(u,ai,t)*c%t,p=Mo(f,oi,t)*i%t;return{pow_p_5_8:Mo(p,ri,t)*e%t,b2:r}}(e*Do(n*n*t,r)).pow_p_5_8;let i=Do(e*n*o,r);const s=Do(t*i*i,r),a=i,c=Do(i*ei,r),u=s===e,f=s===Do(-e,r),p=s===Do(-e*ei,r);return u&&(i=a),(f||p)&&(i=c),(Do(i,r)&_o)===_o&&(i=Do(-i,r)),{isValid:u||f,value:i}}},fi=Qo(ui);const pi=(ci.ORDER+BigInt(3))/BigInt(8);
18
18
  /*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */
19
- function di(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}function hi(...e){const t=e=>e,r=(e,t)=>r=>e(t(r));return{encode:e.map((e=>e.encode)).reduceRight(r,t),decode:e.map((e=>e.decode)).reduce(r,t)}}function li(e){return{encode:t=>{if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("alphabet.encode input should be an array of numbers");return t.map((t=>{if(di(t),t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]}))},decode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("alphabet.decode input should be array of strings");return t.map((t=>{if("string"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const r=e.indexOf(t);if(-1===r)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return r}))}}}function yi(e=""){if("string"!=typeof e)throw new Error("join separator should be string");return{encode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("join.encode input should be array of strings");for(let e of t)if("string"!=typeof e)throw new Error(`join.encode: non-string input=${e}`);return t.join(e)},decode:t=>{if("string"!=typeof t)throw new Error("join.decode input should be string");return t.split(e)}}}function gi(e,t="="){if(di(e),"string"!=typeof t)throw new Error("padding chr should be string");return{encode(r){if(!Array.isArray(r)||r.length&&"string"!=typeof r[0])throw new Error("padding.encode input should be array of strings");for(let e of r)if("string"!=typeof e)throw new Error(`padding.encode: non-string input=${e}`);for(;r.length*e%8;)r.push(t);return r},decode(r){if(!Array.isArray(r)||r.length&&"string"!=typeof r[0])throw new Error("padding.encode input should be array of strings");for(let e of r)if("string"!=typeof e)throw new Error(`padding.decode: non-string input=${e}`);let n=r.length;if(n*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;n>0&&r[n-1]===t;n--)if(!((n-1)*e%8))throw new Error("Invalid padding: string has too much padding");return r.slice(0,n)}}}function wi(e){if("function"!=typeof e)throw new Error("normalize fn should be function");return{encode:e=>e,decode:t=>e(t)}}ci.pow(ri,pi),ci.sqrt(ci.neg(ci.ONE)),ci.ORDER,BigInt(5),BigInt(8),BigInt(486662),function(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");const r=e.sqrt(t);e.isOdd(r)&&e.neg(r)}(ci,ci.neg(BigInt(486664))),BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const bi=(e,t)=>t?bi(t,e%t):e,mi=(e,t)=>e+(t-bi(e,t));function vi(e,t,r,n){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(mi(t,r)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${mi(t,r)}`);let o=0,i=0;const s=2**r-1,a=[];for(const n of e){if(di(n),n>=2**t)throw new Error(`convertRadix2: invalid data word=${n} from=${t}`);if(o=o<<t|n,i+t>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=r;i-=r)a.push((o>>i-r&s)>>>0);o&=2**i-1}if(o=o<<r-i&s,!n&&i>=t)throw new Error("Excess padding");if(!n&&o)throw new Error(`Non-zero padding: ${o}`);return n&&i>0&&a.push(o>>>0),a}function Ei(e,t=!1){if(di(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(mi(8,e)>32||mi(e,8)>32)throw new Error("radix2: carry overflow");return{encode:r=>{if(!function(e){return e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name}(r))throw new Error("radix2.encode input should be Uint8Array");return vi(Array.from(r),8,e,!t)},decode:r=>{if(!Array.isArray(r)||r.length&&"number"!=typeof r[0])throw new Error("radix2.decode input should be array of numbers");return Uint8Array.from(vi(r,e,8,t))}}}function xi(e){if("function"!=typeof e)throw new Error("unsafeWrapper fn should be function");return function(...t){try{return e.apply(null,t)}catch(e){}}}Ei(4),li("0123456789ABCDEF"),yi(""),Ei(5),li("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),gi(5),yi(""),Ei(5),li("0123456789ABCDEFGHIJKLMNOPQRSTUV"),gi(5),yi(""),Ei(5),li("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),yi(""),wi((e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),Ei(6),li("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),gi(6),yi(""),Ei(6),li("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),gi(6),yi(""),Ei(6),li("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),yi("");const Ai=hi(li("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),yi("")),Si=[996825010,642813549,513874426,1027748829,705979059];function Ii(e){const t=e>>25;let r=(33554431&e)<<5;for(let e=0;e<Si.length;e++)1==(t>>e&1)&&(r^=Si[e]);return r}function Bi(e,t,r=1){const n=e.length;let o=1;for(let t=0;t<n;t++){const r=e.charCodeAt(t);if(r<33||r>126)throw new Error(`Invalid prefix (${e})`);o=Ii(o)^r>>5}o=Ii(o);for(let t=0;t<n;t++)o=Ii(o)^31&e.charCodeAt(t);for(let e of t)o=Ii(o)^e;for(let e=0;e<6;e++)o=Ii(o);return o^=r,Ai.encode(vi([o%2**30],30,5,!1))}function Ri(e){const t="bech32"===e?1:734539939,r=Ei(5),n=r.decode,o=r.encode,i=xi(n);function s(e,r=90){if("string"!=typeof e)throw new Error("bech32.decode input should be string, not "+typeof e);if(e.length<8||!1!==r&&e.length>r)throw new TypeError(`Wrong string length: ${e.length} (${e}). Expected (8..${r})`);const n=e.toLowerCase();if(e!==n&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const o=(e=n).lastIndexOf("1");if(0===o||-1===o)throw new Error('Letter "1" must be present between prefix and data only');const i=e.slice(0,o),s=e.slice(o+1);if(s.length<6)throw new Error("Data must be at least 6 characters long");const a=Ai.decode(s).slice(0,-6),c=Bi(i,a,t);if(!s.endsWith(c))throw new Error(`Invalid checksum in ${e}: expected "${c}"`);return{prefix:i,words:a}}return{encode:function(e,r,n=90){if("string"!=typeof e)throw new Error("bech32.encode prefix should be string, not "+typeof e);if(!Array.isArray(r)||r.length&&"number"!=typeof r[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof r);const o=e.length+7+r.length;if(!1!==n&&o>n)throw new TypeError(`Length ${o} exceeds limit ${n}`);const i=e.toLowerCase(),s=Bi(i,r,t);return`${i}1${Ai.encode(r)}${s}`},decode:s,decodeToBytes:function(e){const{prefix:t,words:r}=s(e,!1);return{prefix:t,words:r,bytes:n(r)}},decodeUnsafe:xi(s),fromWords:n,fromWordsUnsafe:i,toWords:o}}const Pi=Ri("bech32");Ei(4),li("0123456789abcdef"),yi(""),wi((e=>{if("string"!=typeof e||e.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));const ki=(e,t,r)=>fi.verify(t,e,r.toBytes()),Ti=(e,t)=>{const{pubkey:r}=Ln(t+"."+e,exports.RecordVersion.V1);return r};async function _i(e,t,r,n){const o=Ti(t,r);let{registry:i}=await ht.retrieve(e,o);if(!i.data)throw new ke(exports.ErrorType.NoRecordData);if(n)return Li(i,r,o);const s=Lr.get(r);return i.data=i.data.slice(0,s),i}const Ui=async(e,t)=>await _i(e,t,exports.Record.SOL),Li=(t,r,o)=>{const i=null==t?void 0:t.data;if(!i)return;if(0===i.compare(n.Buffer.alloc(i.length)))return;const s=Lr.get(r),a=(e=>{const t=Array.from(e);return t.length-1-t.reverse().findIndex((e=>0!==e))+1})(i);if(!s){const e=i.slice(0,a).toString("utf-8");return r===exports.Record.CNAME||r===exports.Record.TXT?Jn(e):e}if(r===exports.Record.SOL){const e=new TextEncoder,r=n.Buffer.concat([i.slice(0,32),o.toBuffer()]),s=e.encode(r.toString("hex"));if(ki(s,i.slice(32,96),t.owner))return Fn.encode(i.slice(0,32))}if(s&&a!==s){const e=i.slice(0,a).toString("utf-8");if(r===exports.Record.Injective){const t=Pi.decodeToBytes(e);if("inj"===t.prefix&&20===t.bytes.length)return e}else if(r===exports.Record.BSC||r===exports.Record.ETH){const t=e.slice(0,2),r=e.slice(2);if("0x"===t&&20===n.Buffer.from(r,"hex").length)return e}else if((r===exports.Record.A||r===exports.Record.AAAA)&&Kn.isValid(e))return e;throw new ke(exports.ErrorType.InvalidRecordData)}if(r===exports.Record.ETH||r===exports.Record.BSC)return"0x"+i.slice(0,s).toString("hex");if(r===exports.Record.Injective)return Pi.encode("inj",Pi.toWords(i.slice(0,s)));if(r===exports.Record.A||r===exports.Record.AAAA)return Kn.fromByteArray([...i.slice(0,s)]).toString();if(r===exports.Record.Background)return new e.PublicKey(i.slice(0,s)).toString();throw new ke(exports.ErrorType.InvalidRecordData)},Ci=(t,r)=>{if(!Lr.get(r))return r!==exports.Record.CNAME&&r!==exports.Record.TXT||(t=eo(t)),n.Buffer.from(t,"utf-8");if(r===exports.Record.SOL)throw new ke(exports.ErrorType.UnsupportedRecord,"Use `serializeSolRecord` for SOL record");if(r===exports.Record.ETH||r===exports.Record.BSC)return Dn("0x"===t.slice(0,2),exports.ErrorType.InvalidEvmAddress),n.Buffer.from(t.slice(2),"hex");if(r===exports.Record.Injective){const e=Pi.decodeToBytes(t);return Dn("inj"===e.prefix,exports.ErrorType.InvalidInjectiveAddress),Dn(20===e.bytes.length,exports.ErrorType.InvalidInjectiveAddress),n.Buffer.from(e.bytes)}if(r===exports.Record.A){const e=Kn.parse(t).toByteArray();return Dn(4===e.length,exports.ErrorType.InvalidARecord),n.Buffer.from(e)}if(r===exports.Record.AAAA){const e=Kn.parse(t).toByteArray();return Dn(16===e.length,exports.ErrorType.InvalidAAAARecord),n.Buffer.from(e)}if(r===exports.Record.Background)return new e.PublicKey(t).toBuffer();throw new ke(exports.ErrorType.InvalidRecordInput)},Ni=(e,t,r,o)=>{const i=n.Buffer.concat([e.toBuffer(),t.toBuffer()]),s=(new TextEncoder).encode(i.toString("hex")),a=ki(s,o,r);return Dn(a,exports.ErrorType.InvalidSignature),n.Buffer.concat([e.toBuffer(),o])},Oi=new Map([[exports.Record.Url,new e.PublicKey("ExXjtfdQe8JacoqP9Z535WzQKjF4CzW1TTRKRgpxvya3")],[exports.Record.CNAME,new e.PublicKey("ExXjtfdQe8JacoqP9Z535WzQKjF4CzW1TTRKRgpxvya3")]]),Di=new Set([exports.Record.ETH,exports.Record.Injective,exports.Record.BSC,exports.Record.BASE]),Wi=new Set([exports.Record.ETH,exports.Record.BSC,exports.Record.BASE]),Mi=new Set([exports.Record.IPFS,exports.Record.ARWV,exports.Record.LTC,exports.Record.DOGE,exports.Record.Email,exports.Record.Url,exports.Record.Discord,exports.Record.Github,exports.Record.Reddit,exports.Record.Twitter,exports.Record.Telegram,exports.Record.Pic,exports.Record.SHDW,exports.Record.POINT,exports.Record.Backpack,exports.Record.TXT,exports.Record.CNAME,exports.Record.BTC]),Vi=new Set([exports.Record.ETH,exports.Record.Injective,exports.Record.SOL]),zi=(t,r)=>{if(Mi.has(r)){const e=t.toString("utf-8");return r===exports.Record.CNAME||r===exports.Record.TXT?Jn(e):e}if(r===exports.Record.SOL)return new e.PublicKey(t).toBase58();if(Wi.has(r))return"0x"+t.toString("hex");if(r===exports.Record.Injective)return Pi.encode("inj",Pi.toWords(t));if(r===exports.Record.A||r===exports.Record.AAAA)return Kn.fromByteArray([...t]).toString();throw new ke(exports.ErrorType.InvalidARecord)},Fi=(t,r)=>{if(Mi.has(r))return r!==exports.Record.CNAME&&r!==exports.Record.TXT||(t=eo(t)),Buffer.from(t,"utf-8");if(r===exports.Record.SOL)return new e.PublicKey(t).toBuffer();if(Wi.has(r))return Dn("0x"===t.slice(0,2),exports.ErrorType.InvalidEvmAddress),Buffer.from(t.slice(2),"hex");if(r===exports.Record.Injective){const e=Pi.decodeToBytes(t);return Dn("inj"===e.prefix,exports.ErrorType.InvalidInjectiveAddress),Dn(20===e.bytes.length,exports.ErrorType.InvalidInjectiveAddress),Buffer.from(e.bytes)}if(r===exports.Record.A){const e=Kn.parse(t).toByteArray();return Dn(4===e.length,exports.ErrorType.InvalidARecord),Buffer.from(e)}if(r===exports.Record.AAAA){const e=Kn.parse(t).toByteArray();return Dn(16===e.length,exports.ErrorType.InvalidAAAARecord),Buffer.from(e)}throw new ke(exports.ErrorType.InvalidARecord)},ji=(e,t)=>{const{pubkey:r}=Ln(e),n=Pn("".concat(t));return kn(n,Br,r)};const Ki=new e.PublicKey("85iDfUvr3HJyLM2zcq5BXSiDvUWfw6cSE1FfNBo8Ap29");class Hi{constructor(t){this.tag=t.tag,this.nameAccount=new e.PublicKey(t.nameAccount)}static deserialize(e){return new Hi(Ge(this.schema,e))}static async retrieve(e,t){const r=await e.getAccountInfo(t);if(!r||!r.data)throw new ke(exports.ErrorType.FavouriteDomainNotFound);return this.deserialize(r.data)}static async getKey(t,r){return await e.PublicKey.findProgramAddress([n.Buffer.from("favourite_domain"),r.toBuffer()],t)}static getKeySync(t,r){return e.PublicKey.findProgramAddressSync([n.Buffer.from("favourite_domain"),r.toBuffer()],t)}}Hi.schema={struct:{tag:"u8",nameAccount:{array:{type:"u8",len:32}}}};async function Gi(t,r,n,o,i,s,a,c){const u=Pn(r),f=kn(u,a,c),p=s||await t.getMinimumBalanceForRentExemption(n);let d;if(c){const{registry:e}=await er(t,c);d=e.owner}return qe(Ut,e.SystemProgram.programId,f,i,o,u,new _e(p),new Te(n),a,c,d)}async function qi(e,t,r,n,o){const i=Pn(t),s=kn(i,n,o);let a;a=n||(await ht.retrieve(e,s)).registry.owner;return Ze(Ut,s,r,a)}const Yi=async(t,r,n,o,i)=>{let[s]=await e.PublicKey.findProgramAddress([Nt.toBuffer()],Nt),a=Pn(t.toBase58()),c=kn(a,s,o);return[[],[new Qe({name:r}).getInstruction(Nt,Ut,Ct,c,e.SystemProgram.programId,s,n,e.SYSVAR_RENT_PUBKEY,o,i)]]},Xi=async(t,r,n,o,i,s)=>{Dn(n!==exports.Record.SOL,exports.ErrorType.UnsupportedRecord);const{pubkey:a,hashed:c,parent:u}=Ln(`${n}.${r}`,exports.RecordVersion.V1),f=Ci(o,n).length,p=await t.getMinimumBalanceForRentExemption(f+ht.HEADER_LEN);return qe(Ut,e.SystemProgram.programId,a,i,s,c,new _e(p),new Te(f),void 0,u,i)},Zi=async(t,r,n,o,i,s)=>{const{pubkey:a,hashed:c,parent:u}=Ln(`${exports.Record.SOL}.${r}`,exports.RecordVersion.V1),f=Ni(n,a,o,i).length,p=await t.getMinimumBalanceForRentExemption(f+ht.HEADER_LEN);return[qe(Ut,e.SystemProgram.programId,a,o,s,c,new _e(p),new Te(f),void 0,u,o)]};class $i{constructor(e){this.twitterRegistryKey=e.twitterRegistryKey,this.twitterHandle=e.twitterHandle}static async retrieve(e,t){let r=await e.getAccountInfo(t,"processed");if(!r)throw new ke(exports.ErrorType.InvalidReverseTwitter);return new $i(Ge($i.schema,r.data.slice(ht.HEADER_LEN)))}}async function Qi(t,r,o,i,s){const a=Pn(i.toString()),c=kn(a,Mt,Vt);let u=He($i.schema,new $i({twitterRegistryKey:o.toBytes(),twitterHandle:r}));return[qe(Ut,e.SystemProgram.programId,c,i,s,a,new _e(await t.getMinimumBalanceForRentExemption(u.length+ht.HEADER_LEN)),new Te(u.length),Mt,Vt,Mt),Ye(Ut,c,new Te(0),n.Buffer.from(u),Mt)]}var Ji;$i.schema={struct:{twitterRegistryKey:{array:{type:"u8",len:32}},twitterHandle:"string"}},exports.CustomBg=void 0,(Ji=exports.CustomBg||(exports.CustomBg={})).DegenPoet1="DegenPoet#1",Ji.Rgb0x001="rgb0x00#1",Ji.Retardio1="Retardio#1",Ji.Retardio2="Retardio#2",Ji.Retardio3="Retardio#3";const es=async(t,r,o)=>{const i=Ti(o,exports.Record.SOL),s=await Ui(t,o);if(!(null==s?void 0:s.data))throw new ke(exports.ErrorType.NoRecordData);const a=new TextEncoder,c=n.Buffer.concat([s.data.slice(0,32),i.toBuffer()]),u=a.encode(c.toString("hex"));if(!ki(u,s.data.slice(32),r))throw new ke(exports.ErrorType.InvalidSignature);return new e.PublicKey(s.data.slice(0,32))},ts=async(t,r,n)=>{try{const o=ji(n,exports.Record.SOL),i=await _r.retrieve(t,o),s=i.getStalenessId(),a=i.getRoAId(),c=i.getContent();if(0===s.compare(r.toBuffer())&&i.header.stalenessValidation===Rr.Solana&&0===a.compare(c)&&i.header.rightOfAssociationValidation===Rr.Solana)return new e.PublicKey(c)}catch(e){if(e instanceof Error&&"FetchError"===e.name)throw e}},rs=new e.PublicKey("ART5dr4bDic2sQVZoFheEmUxwQq5VGSx9he7JxHcXNQD"),ns=new e.PublicKey("CSWvuDHXExVGEMR9kP8xYAHuNjXogeRck9Cnr312CC9g"),os={NAME_PROGRAM_ID:new e.PublicKey("namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX"),HASH_PREFIX:"SPL Name Service",ROOT_DOMAIN_ACCOUNT:new e.PublicKey("5eoDkP6vCQBXqDV9YN2NdUs3nmML3dMRNmEYpiyVNBm2"),REGISTER_PROGRAM_ID:new e.PublicKey("snshBoEQ9jx4QoHBpZDQPYdNCtw7RMxJvYrKFEhwaPJ"),REVERSE_LOOKUP_CLASS:new e.PublicKey("7NbD1vprif6apthEZAqhRfYuhrqnuderB8qpnfXGCc8H"),USDC_MINT:new e.PublicKey("4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"),REFERRERS:[new e.PublicKey("3ogYncmMM5CmytsGCqKHydmXmKUZ6sGWvizkzqwT7zb1")],TOKENS_SYM_MINT:new Map([["4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","USDC"],["EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS","USDT"],["So11111111111111111111111111111111111111112","SOL"],["fidaWCioBQjieRrUQDxxS5Uxmq1CLi2VuVRyv4dEBey","FIDA"],["DL4ivZm3NVHWk9ZvtcqTchxoKArDK4rT3vbDx2gYVr7P","INJ"]]),PYTH_FEEDS:new Map([["4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",{price:"5SSkXsEKQepHHAewytPVwdej4epN1nxgLVM84L4KXgy7",product:"6NpdXrQEpmDZ3jZKmM2rhdmkd3H6QAk23j2x8bkXcHKA"}],["EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS",{price:"38xoQ4oeJCBrcVvca2cGk7iV1dAfrmTR1kmhSCJQ8Jto",product:"C5wDxND9E61RZ1wZhaSTWkoA8udumaHnoQY6BBsiaVpn"}],["So11111111111111111111111111111111111111112",{price:"J83w4HKfqxwcq3BEMMkPFSppX3gqekLyLJBexebFVkix",product:"3Mnn2fX6rQyUsyELYms1sBJyChWofzSNRoqYzvgMVz5E"}],["EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",{price:"7teETxN9Y8VK6uJxsctHEwST75mKLLwPH1jaFdvTQCpD",product:"5kWV4bhHeZANzg5MWaYCQYEEKHjur5uz1mu5vuLHwiLB"}],["DL4ivZm3NVHWk9ZvtcqTchxoKArDK4rT3vbDx2gYVr7P",{price:"44uRsNnT35kjkscSu59MxRr9CfkLZWf6gny8bWqUbVxE",product:"7UHB783Nh4avW3Yw9yoktf2KjxipU56KPahA51RnCCYE"}]]),PYTH_MAPPING_ACC:new e.PublicKey("BmA9Z6FjioHJPpjT39QazZyhDRUdZy2ezwx4GiDdE2u2"),VAULT_OWNER:new e.PublicKey("SNSaTJbEv2iT3CUrCQYa9zpGjbBVWhFCPaSJHkaJX34")},is=(t,r,o)=>{const i=[t];r?i.push(r.toBuffer()):i.push(n.Buffer.alloc(32)),o?i.push(o.toBuffer()):i.push(n.Buffer.alloc(32));const[s]=e.PublicKey.findProgramAddressSync(i,os.NAME_PROGRAM_ID);return s},ss=(e,t=os.ROOT_DOMAIN_ACCOUNT,r)=>{let n=Pn(e);return{pubkey:is(n,r,t),hashed:n}},as=e=>{e.endsWith(".sol")&&(e=e.slice(0,-4));const t=e.split(".");if(2===t.length){const e="\0".concat(t[0]),{pubkey:r}=ss(t[1]);return{...ss(e,r),isSub:!0,parent:r}}if(t.length>=3)throw new ke(exports.ErrorType.InvalidInput);return{...ss(e,os.ROOT_DOMAIN_ACCOUNT),isSub:!1,parent:void 0}},cs=(e,t)=>{const{pubkey:r,parent:n}=as(e),o=Pn(r.toBase58());return is(o,os.REVERSE_LOOKUP_CLASS,t?n:void 0)};async function us(t,r,n,o,i,s,a,c){const u=await tr(r),f=await is(u,a,c),p=s||await t.getMinimumBalanceForRentExemption(n);let d;if(c){const{registry:e}=await er(t,c);d=e.owner}return qe(os.NAME_PROGRAM_ID,e.SystemProgram.programId,f,i,o,u,new _e(p),new Te(n),a,c,d)}const fs=async(t,r,n,o,i)=>{let[s]=await e.PublicKey.findProgramAddress([os.REGISTER_PROGRAM_ID.toBuffer()],os.REGISTER_PROGRAM_ID),a=await tr(t.toBase58()),c=is(a,s,o);return[[],[new Qe({name:r}).getInstruction(os.REGISTER_PROGRAM_ID,os.NAME_PROGRAM_ID,os.ROOT_DOMAIN_ACCOUNT,c,e.SystemProgram.programId,s,n,e.SYSVAR_RENT_PUBKEY,o,i)]]},ps={utils:{getNameAccountKeySync:is,reverseLookup:async(e,t)=>{const r=Pn(t.toBase58()),n=is(r,os.REVERSE_LOOKUP_CLASS),{registry:o}=await ht.retrieve(e,n);if(!o.data)throw new ke(exports.ErrorType.NoAccountData);return Wn(o.data)},_deriveSync:ss,getDomainKeySync:as,getReverseKeySync:cs},constants:os,bindings:{createNameRegistry:us,updateNameRegistryData:async function(e,t,r,n,o,i){const s=await tr(t),a=is(s,o,i);let c;return c=o||(await ht.retrieve(e,a)).registry.owner,Ye(os.NAME_PROGRAM_ID,a,new Te(r),n,c)},transferNameOwnership:async function(e,t,r,n,o,i){const s=await tr(t),a=is(s,n,o);let c;return c=n||(await ht.retrieve(e,a)).registry.owner,Xe(os.NAME_PROGRAM_ID,a,r,c,n,o,i)},deleteNameRegistry:async function(e,t,r,n,o){const i=await tr(t),s=is(i,n,o);let a;return a=n||(await ht.retrieve(e,s)).registry.owner,Ze(os.NAME_PROGRAM_ID,s,r,a)},registerDomainName:async(t,r,n,o,i,s=os.USDC_MINT,a)=>{if(r.includes(".")||r.trim().toLowerCase()!==r)throw new ke(exports.ErrorType.InvalidDomain);const[c]=e.PublicKey.findProgramAddressSync([os.REGISTER_PROGRAM_ID.toBuffer()],os.REGISTER_PROGRAM_ID),u=Pn(r),f=is(u,void 0,os.ROOT_DOMAIN_ACCOUNT),p=Pn(f.toBase58()),d=is(p,c),[l]=e.PublicKey.findProgramAddressSync([f.toBuffer()],os.REGISTER_PROGRAM_ID),y=os.REFERRERS.findIndex((e=>null==a?void 0:a.equals(e)));let g;const w=[];if(-1!==y&&a){g=Be(s,a,!0);const e=await t.getAccountInfo(g);if(!(null==e?void 0:e.data)){const e=Re(o,g,a,s);w.push(e)}}const b=Be(s,os.VAULT_OWNER),m=ps.constants.PYTH_FEEDS.get(s.toBase58());if(!m)throw new ke(exports.ErrorType.PythFeedNotFound);const v=new Je({name:r,space:n,referrerIdxOpt:-1!=y?y:null}).getInstruction(os.REGISTER_PROGRAM_ID,os.NAME_PROGRAM_ID,os.ROOT_DOMAIN_ACCOUNT,f,d,e.SystemProgram.programId,c,o,i,os.PYTH_MAPPING_ACC,new e.PublicKey(m.product),new e.PublicKey(m.price),b,h,e.SYSVAR_RENT_PUBKEY,l,g);return w.push(v),[[],w]},createReverseName:fs,createSubdomain:async(e,t,r,n=2e3)=>{const o=[],i=t.split(".")[0];if(!i)throw new ke(exports.ErrorType.InvalidSubdomain);const{parent:s,pubkey:a}=as(t),c=await e.getMinimumBalanceForRentExemption(n+ht.HEADER_LEN),u=await us(e,"\0".concat(i),n,r,r,c,void 0,s);o.push(u);const f=cs(t,!0),p=await e.getAccountInfo(f);if(!(null==p?void 0:p.data)){const[,e]=await fs(a,"\0".concat(i),r,s,r);o.push(...e)}return[[],o]},burnDomain:(t,r,n)=>{const{pubkey:o}=as(t),[i]=e.PublicKey.findProgramAddressSync([o.toBuffer()],os.REGISTER_PROGRAM_ID),[s]=e.PublicKey.findProgramAddressSync([o.toBuffer(),Uint8Array.from([1,1])],os.REGISTER_PROGRAM_ID);return(new tt).getInstruction(os.REGISTER_PROGRAM_ID,os.NAME_PROGRAM_ID,e.SystemProgram.programId,o,cs(t),s,i,os.REVERSE_LOOKUP_CLASS,r,n)},transferSubdomain:async(e,t,r,n,o)=>{const{pubkey:i,isSub:s,parent:a}=as(t);if(!a||!s)throw new ke(exports.ErrorType.InvalidSubdomain);if(!o){const{registry:t}=await ht.retrieve(e,i);o=t.owner}let c,u;n&&(c=a,u=(await ht.retrieve(e,a)).registry.owner);return Xe(os.NAME_PROGRAM_ID,i,r,o,void 0,c,u)},registerDomainNameV2:async(t,r,n,o,i,s=os.USDC_MINT,a)=>{if(r.includes(".")||r.trim().toLowerCase()!==r)throw new ke(exports.ErrorType.InvalidDomain);const[c]=e.PublicKey.findProgramAddressSync([os.REGISTER_PROGRAM_ID.toBuffer()],os.REGISTER_PROGRAM_ID),u=Pn(r),f=is(u,void 0,os.ROOT_DOMAIN_ACCOUNT),p=Pn(f.toBase58()),d=is(p,c),[l]=e.PublicKey.findProgramAddressSync([f.toBuffer()],os.REGISTER_PROGRAM_ID),y=os.REFERRERS.findIndex((e=>null==a?void 0:a.equals(e)));let g;const w=[];if(-1!==y&&a){g=Be(s,a,!0);const e=await t.getAccountInfo(g);if(!(null==e?void 0:e.data)){const e=Re(o,g,a,s);w.push(e)}}const b=Be(s,os.VAULT_OWNER,!0),m=Jt.get(s.toBase58());if(!m)throw new ke(exports.ErrorType.PythFeedNotFound);const[v]=Mn(0,m),E=new nt({name:r,space:n,referrerIdxOpt:-1!=y?y:null}).getInstruction(os.REGISTER_PROGRAM_ID,os.NAME_PROGRAM_ID,os.ROOT_DOMAIN_ACCOUNT,f,d,e.SystemProgram.programId,c,o,o,o,i,v,b,h,e.SYSVAR_RENT_PUBKEY,l,g);return w.push(E),w}}};exports.BONFIDA_FIDA_BNB=Dt,exports.BONFIDA_USDC_BNB=zt,exports.CUSTOM_BG_TLD=Xt,exports.DEFAULT_PYTH_PUSH_PROGRAM=Qt,exports.ETH_ROA_RECORDS=Di,exports.EVM_RECORDS=Wi,exports.FavouriteDomain=Hi,exports.GUARDIANS=Oi,exports.HASH_PREFIX=Lt,exports.METAPLEX_ID=$t,exports.NAME_OFFERS_ID=Ki,exports.NAME_PROGRAM_ID=Ut,exports.NameRegistryState=ht,exports.Numberu32=Te,exports.Numberu64=_e,exports.PYTH_FEEDS=Ht,exports.PYTH_FIDA_PRICE_ACC=Ot,exports.PYTH_MAPPING_ACC=Gt,exports.PYTH_PULL_FEEDS=Jt,exports.RECORD_V1_SIZE=Lr,exports.REFERRERS=jt,exports.REGISTER_PROGRAM_ID=Nt,exports.REVERSE_LOOKUP_CLASS=Wt,exports.ROOT_DOMAIN_ACCOUNT=Ct,exports.ReverseTwitterRegistryState=$i,exports.SELF_SIGNED=Vi,exports.SNSError=ke,exports.SOL_RECORD_SIG_LEN=96,exports.TOKENS_SYM_MINT=Kt,exports.TWITTER_ROOT_PARENT_REGISTRY_KEY=Vt,exports.TWITTER_VERIFICATION_AUTHORITY=Mt,exports.USDC_MINT=Ft,exports.UTF8_ENCODED=Mi,exports.VAULT_OWNER=Yt,exports.VAULT_OWNER_DEPRECATED=qt,exports.WOLVES_COLLECTION_METADATA=Zt,exports.burnDomain=(t,r,n)=>{const{pubkey:o}=Ln(t),[i]=e.PublicKey.findProgramAddressSync([o.toBuffer()],Nt),[s]=e.PublicKey.findProgramAddressSync([o.toBuffer(),Uint8Array.from([1,1])],Nt);return(new tt).getInstruction(Nt,Ut,e.SystemProgram.programId,o,Nn(t),s,i,Wt,r,n)},exports.burnInstruction=tt,exports.changeTwitterRegistryData=async function(e,t,r,n){const o=Pn(e),i=kn(o,void 0,Vt);return[Ye(Ut,i,new Te(r),n,t)]},exports.changeVerifiedPubkey=async function(e,t,r,n,o){const i=Pn(t),s=kn(i,void 0,Vt);let a=[Xe(Ut,s,n,r,void 0)];return a.push(await qi(e,r.toString(),o,Mt,Vt)),a=a.concat(await Qi(e,t,s,n,o)),a},exports.check=Dn,exports.checkSolRecord=ki,exports.createInstruction=qe,exports.createInstructionV3=Je,exports.createNameRegistry=Gi,exports.createRecordInstruction=Xi,exports.createRecordV2Instruction=(t,r,n,o,i)=>{let{pubkey:s,parent:a,isSub:c}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(c&&(a=Ln(t).pubkey),!a)throw new Error("Invalid parent");const u=((t,r,n,o,i,s,a,c)=>new mr({record:s,content:Array.from(a)}).getInstruction(c,e.SystemProgram.programId,i,t,r,n,o,Br))(i,s,a,o,Ut,"".concat(r),Fi(n,r),Ir);return u},exports.createReverseInstruction=Qe,exports.createReverseName=Yi,exports.createReverseTwitterRegistry=Qi,exports.createSolRecordInstruction=Zi,exports.createSplitV2Instruction=nt,exports.createSubdomain=async(e,t,r,n=2e3,o)=>{const i=[],s=t.split(".")[0];if(!s)throw new ke(exports.ErrorType.InvalidSubdomain);const{parent:a,pubkey:c}=Ln(t),u=await e.getMinimumBalanceForRentExemption(n+ht.HEADER_LEN),f=await Gi(e,"\0".concat(s),n,o||r,r,u,void 0,a);i.push(f);const p=Nn(t,!0),d=await e.getAccountInfo(p);if(!(null==d?void 0:d.data)){const[,e]=await Yi(c,"\0".concat(s),o||r,a,r);i.push(...e)}return[[],i]},exports.createV2Instruction=$e,exports.createVerifiedTwitterRegistry=async function(t,r,n,o,i){const s=Pn(r),a=kn(s,void 0,Vt),c=await t.getMinimumBalanceForRentExemption(o+ht.HEADER_LEN);let u=[qe(Ut,e.SystemProgram.programId,a,n,i,s,new _e(c),new Te(o),void 0,Vt,Mt)];return u=u.concat(await Qi(t,r,a,n,i)),u},exports.createWithNftInstruction=et,exports.deleteInstruction=Ze,exports.deleteNameRegistry=qi,exports.deleteRecordV2=(t,r,n,o)=>{let{pubkey:i,parent:s,isSub:a}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(a&&(s=Ln(t).pubkey),!s)throw new Error("Invalid parent");const c=((t,r,n,o,i,s)=>(new Ar).getInstruction(s,e.SystemProgram.programId,i,t,o,r,n,Br))(o,s,n,i,Ut,Ir);return c},exports.deleteTwitterRegistry=async function(e,t){const r=Pn(e),n=kn(r,void 0,Vt),o=Pn(t.toString()),i=kn(o,Mt,Vt);return[Ze(Ut,n,t,t),Ze(Ut,i,t,t)]},exports.deserializeRecord=Li,exports.deserializeRecordV2Content=zi,exports.deserializeReverse=Wn,exports.devnet=ps,exports.ethValidateRecordV2Content=(t,r,n,o,i,s)=>{let{pubkey:a,parent:c,isSub:u}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(u&&(c=Ln(t).pubkey),!c)throw new Error("Invalid parent");const f=((t,r,n,o,i,s,a,c,u)=>new vr({validation:s,signature:Array.from(a),expectedPubkey:Array.from(c)}).getInstruction(u,e.SystemProgram.programId,i,t,r,n,o,Br))(o,a,c,n,Ut,Rr.Ethereum,i,s,Ir);return f},exports.findSubdomains=async(e,t)=>{const r=[{memcmp:{offset:0,bytes:t.toBase58()}},{memcmp:{offset:64,bytes:Wt.toBase58()}}],n=await e.getProgramAccounts(Ut,{filters:r}),o=[{memcmp:{offset:0,bytes:t.toBase58()}}],i=await e.getProgramAccounts(Ut,{filters:o,dataSlice:{offset:0,length:0}}),s=new Map(n.map((e=>[e.pubkey.toBase58(),Wn(e.account.data.slice(96))]))),a=[];return i.forEach((e=>{const r=On(e.pubkey,t).toBase58(),n=s.get(r);n&&a.push(n.replace("\0",""))})),a},exports.getAllDomains=Cn,exports.getAllRegisteredDomains=async e=>{const t=[{memcmp:{offset:0,bytes:Ct.toBase58()}}];return await e.getProgramAccounts(Ut,{dataSlice:{offset:32,length:32},filters:t})},exports.getArtistPubkey=e=>{switch(e){case exports.CustomBg.DegenPoet1:return rs;case exports.CustomBg.Rgb0x001:return ns;default:throw new ke(exports.ErrorType.InvalidCustomBg)}},exports.getArweaveRecord=async(e,t)=>await _i(e,t,exports.Record.ARWV,!0),exports.getBackgroundRecord=async(e,t)=>await _i(e,t,exports.Record.Background,!0),exports.getBackpackRecord=async(e,t)=>await _i(e,t,exports.Record.Backpack,!0),exports.getBscRecord=async(e,t)=>await _i(e,t,exports.Record.BSC,!0),exports.getBtcRecord=async(e,t)=>await _i(e,t,exports.Record.BTC,!0),exports.getCustomBgKeys=(e,t)=>{const r=Pn(t),n=Pn(e),o=kn(n,void 0,Xt);return{domainKey:o,bgKey:kn(r,void 0,o)}},exports.getDiscordRecord=async(e,t)=>await _i(e,t,exports.Record.Discord,!0),exports.getDogeRecord=async(e,t)=>await _i(e,t,exports.Record.DOGE,!0),exports.getDomainKey=or,exports.getDomainKeySync=Ln,exports.getDomainKeysWithReverses=async function(e,t){const r=await Cn(e,t),n=await _n(e,r);return r.map(((e,t)=>({pubKey:e,domain:n[t]})))},exports.getDomainMint=st,exports.getDomainPriceFromName=e=>{switch(Rn(e).length){case 1:return 750;case 2:return 700;case 3:return 640;case 4:return 160;default:return 20}},exports.getEmailRecord=async(e,t)=>await _i(e,t,exports.Record.Email,!0),exports.getEthRecord=async(e,t)=>await _i(e,t,exports.Record.ETH,!0),exports.getFavoriteDomain=async(t,r)=>{const[n]=Hi.getKeySync(Ki,new e.PublicKey(r)),o=await Hi.retrieve(t,n),i=await Tn(t,o.nameAccount),{registry:s,nftOwner:a}=await ht.retrieve(t,o.nameAccount),c=a||s.owner;return{domain:o.nameAccount,reverse:i,stale:!r.equals(c)}},exports.getGithubRecord=async(e,t)=>await _i(e,t,exports.Record.Github,!0),exports.getHandleAndRegistryKey=async function(t,r){const n=Pn(r.toString()),o=kn(n,Mt,Vt);let i=await $i.retrieve(t,o);return[i.twitterHandle,new e.PublicKey(i.twitterRegistryKey)]},exports.getHashedName=tr,exports.getHashedNameSync=Pn,exports.getInjectiveRecord=async(e,t)=>await _i(e,t,exports.Record.Injective,!0),exports.getIpfsRecord=async(e,t)=>await _i(e,t,exports.Record.IPFS,!0),exports.getLtcRecord=async(e,t)=>await _i(e,t,exports.Record.LTC,!0),exports.getMultipleFavoriteDomains=async(t,r)=>{const n=[],o=r.map((e=>Hi.getKeySync(Ki,e)[0])),i=(await t.getMultipleAccountsInfo(o)).map((t=>(null==t?void 0:t.data)?Hi.deserialize(null==t?void 0:t.data).nameAccount:e.PublicKey.default)),s=i.map((e=>On(e))),a=i.map(((e,t)=>Be(st(e),r[t],!0))),[c,u,f]=await Promise.all([t.getMultipleAccountsInfo(i),t.getMultipleAccountsInfo(s),t.getMultipleAccountsInfo(a)]);for(let t=0;t<r.length;t++){const o=c[t],i=u[t],s=f[t];if(!o||!i){n.push(void 0);continue}if(new e.PublicKey(null==o?void 0:o.data.slice(32,64)).equals(r[t])){n.push(Wn(null==i?void 0:i.data.slice(96)));continue}if(!s){n.push(void 0);continue}const a=Ee.decode(s.data);1!==Number(a.amount)?n.push(void 0):n.push(Wn(null==i?void 0:i.data.slice(96)))}return n},exports.getMultipleRecordsV2=async function(e,t,r,n={}){const o=r.map((e=>ji(t,e))),i=await _r.retrieveBatch(e,o);return n.deserialize?i.map(((e,t)=>{if(e)return{retrievedRecord:e,record:r[t],deserializedContent:zi(e.getContent(),r[t])}})):i.map(((e,t)=>{if(e)return{retrievedRecord:e,record:r[t]}}))},exports.getNameAccountKey=rr,exports.getNameAccountKeySync=kn,exports.getNameOwner=er,exports.getPicRecord=async(e,t)=>await _i(e,t,exports.Record.Pic,!0),exports.getPointRecord=async(e,t)=>await _i(e,t,exports.Record.POINT,!0),exports.getPythFeedAccountKey=Mn,exports.getRecord=_i,exports.getRecordKeySync=Ti,exports.getRecordV2=async function(e,t,r,n={}){const o=ji(t,r),i=await _r.retrieve(e,o);return n.deserialize?{retrievedRecord:i,deserializedContent:zi(i.getContent(),r)}:{retrievedRecord:i}},exports.getRecordV2Key=ji,exports.getRecords=async function(e,t,r,n){const o=r.map((e=>Ti(t,e))),i=await ht.retrieveBatch(e,o);return n?i.map(((e,n)=>{if(e)return Li(e,r[n],Ti(t,r[n]))})):i},exports.getRedditRecord=async(e,t)=>await _i(e,t,exports.Record.Reddit,!0),exports.getReverseKey=async(e,t)=>{const{pubkey:r,parent:n}=await or(e),o=await tr(r.toBase58());return await rr(o,Wt,t?n:void 0)},exports.getReverseKeyFromDomainKey=On,exports.getReverseKeySync=Nn,exports.getShdwRecord=async(e,t)=>await _i(e,t,exports.Record.SHDW,!0),exports.getSolRecord=Ui,exports.getTelegramRecord=async(e,t)=>await _i(e,t,exports.Record.Telegram,!0),exports.getTokenizedDomains=async(e,t)=>{const r=await dt(e,t),n=await _n(e,r.map((e=>e.nameAccount)));return n.map(((e,t)=>({key:r[t].nameAccount,mint:r[t].nftMint,reverse:e}))).filter((e=>!!e.reverse))},exports.getTwitterHandleandRegistryKeyViaFilters=async function(t,r){const n=[{memcmp:{offset:0,bytes:Vt.toBase58()}},{memcmp:{offset:32,bytes:r.toBase58()}},{memcmp:{offset:64,bytes:Mt.toBase58()}}],o=await t.getProgramAccounts(Ut,{filters:n});for(const t of o)if(t.account.data.length>ht.HEADER_LEN+32){const r=t.account.data.slice(ht.HEADER_LEN),n=new $i(Ge($i.schema,r));return[n.twitterHandle,new e.PublicKey(n.twitterRegistryKey)]}throw new ke(exports.ErrorType.AccountDoesNotExist)},exports.getTwitterRecord=async(e,t)=>await _i(e,t,exports.Record.Twitter,!0),exports.getTwitterRegistry=async function(e,t){const r=Pn(t),n=kn(r,void 0,Vt),{registry:o}=await ht.retrieve(e,n);return o},exports.getTwitterRegistryData=async function(t,r){const o=[{memcmp:{offset:0,bytes:Vt.toBase58()}},{memcmp:{offset:32,bytes:r.toBase58()}},{memcmp:{offset:64,bytes:new e.PublicKey(n.Buffer.alloc(32,0)).toBase58()}}],i=await t.getProgramAccounts(Ut,{filters:o});if(i.length>1)throw new ke(exports.ErrorType.MultipleRegistries);return i[0].account.data.slice(ht.HEADER_LEN)},exports.getTwitterRegistryKey=async function(e){const t=Pn(e);return kn(t,void 0,Vt)},exports.getUrlRecord=async(e,t)=>await _i(e,t,exports.Record.Url,!0),exports.performReverseLookup=async function(e,t){const r=await tr(t.toBase58()),n=await rr(r,Wt),{registry:o}=await ht.retrieve(e,n);if(!o.data)throw new ke(exports.ErrorType.NoAccountData);const i=o.data.slice(0,4).readUInt32LE(0);return o.data.slice(4,4+i).toString()},exports.performReverseLookupBatch=async function(e,t){let r=[];for(let e of t){const t=await tr(e.toBase58()),n=await rr(t,Wt);r.push(n)}return(await ht.retrieveBatch(e,r)).map((e=>{if(void 0===e||void 0===e.data)return;const t=e.data.slice(0,4).readUInt32LE(0);return e.data.slice(4,4+t).toString()}))},exports.reallocInstruction=function(t,r,o,i,s,a){const c=[n.Buffer.from(Int8Array.from([4])),a.toBuffer()],u=n.Buffer.concat(c),f=[{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!0,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!0,isWritable:!1}];return new e.TransactionInstruction({keys:f,programId:t,data:u})},exports.registerDomainName=async(t,r,n,o,i,s=Ft,a)=>{if(r.includes(".")||r.trim().toLowerCase()!==r)throw new ke(exports.ErrorType.InvalidDomain);const[c]=e.PublicKey.findProgramAddressSync([Nt.toBuffer()],Nt),u=Pn(r),f=kn(u,void 0,Ct),p=Pn(f.toBase58()),d=kn(p,c),[l]=e.PublicKey.findProgramAddressSync([f.toBuffer()],Nt),y=jt.findIndex((e=>null==a?void 0:a.equals(e)));let g;const w=[];if(-1!==y&&a){g=Be(s,a,!0);const e=await t.getAccountInfo(g);if(!(null==e?void 0:e.data)){const e=Re(o,g,a,s);w.push(e)}}const b=Be(s,Yt,!0),m=Ht.get(s.toBase58());if(!m)throw new ke(exports.ErrorType.PythFeedNotFound);const v=new Je({name:r,space:n,referrerIdxOpt:-1!=y?y:null}).getInstruction(Nt,Ut,Ct,f,d,e.SystemProgram.programId,c,o,i,Gt,new e.PublicKey(m.product),new e.PublicKey(m.price),b,h,e.SYSVAR_RENT_PUBKEY,l,g);return w.push(v),[[],w]},exports.registerDomainNameV2=async(t,r,n,o,i,s=Ft,a)=>{if(r.includes(".")||r.trim().toLowerCase()!==r)throw new ke(exports.ErrorType.InvalidDomain);const[c]=e.PublicKey.findProgramAddressSync([Nt.toBuffer()],Nt),u=Pn(r),f=kn(u,void 0,Ct),p=Pn(f.toBase58()),d=kn(p,c),[l]=e.PublicKey.findProgramAddressSync([f.toBuffer()],Nt),y=jt.findIndex((e=>null==a?void 0:a.equals(e)));let g;const w=[];if(-1!==y&&a){g=Be(s,a,!0);const e=await t.getAccountInfo(g);if(!(null==e?void 0:e.data)){const e=Re(o,g,a,s);w.push(e)}}const b=Be(s,Yt,!0),m=Jt.get(s.toBase58());if(!m)throw new ke(exports.ErrorType.PythFeedNotFound);const[v]=Mn(0,m),E=new nt({name:r,space:n,referrerIdxOpt:-1!=y?y:null}).getInstruction(Nt,Ut,Ct,f,d,e.SystemProgram.programId,c,o,o,o,i,v,b,h,e.SYSVAR_RENT_PUBKEY,l,g);return w.push(E),w},exports.registerFavorite=(t,r)=>{const[n]=Hi.getKeySync(Ki,r);return[(new rt).getInstruction(Ki,t,n,r,e.SystemProgram.programId)]},exports.registerFavoriteInstruction=rt,exports.registerWithNft=(t,r,n,o,i,s,a,c,u)=>{const[f]=e.PublicKey.findProgramAddressSync([n.toBuffer()],Nt);return new et({space:r,name:t}).getInstruction(Nt,Ut,Ct,n,o,e.SystemProgram.programId,Wt,i,s,a,c,u,Zt,h,e.SYSVAR_RENT_PUBKEY,f,$t)},exports.resolve=async(e,t)=>{const{pubkey:r}=Ln(t),{registry:n,nftOwner:o}=await ht.retrieve(e,r);if(o)return o;try{const r=await ts(e,n.owner,t);if(void 0!==r)return r;return await es(e,n.owner,t)}catch(e){if(e instanceof Error&&"FetchError"===e.name)throw e}return n.owner},exports.resolveSolRecordV1=es,exports.resolveSolRecordV2=ts,exports.retrieveNftOwner=ut,exports.retrieveNfts=async t=>{const r=await t.getProgramAccounts(ot,{filters:[{memcmp:{offset:0,bytes:"3"}}]});return r.map((t=>new e.PublicKey(t.account.data.slice(66,98))))},exports.retrieveRecords=dt,exports.reverseLookup=Tn,exports.reverseLookupBatch=_n,exports.serializeRecord=Ci,exports.serializeRecordV2Content=Fi,exports.serializeSolRecord=Ni,exports.transferInstruction=Xe,exports.transferNameOwnership=async function(e,t,r,n,o,i){const s=Pn(t),a=kn(s,n,o);let c;return c=n||(await ht.retrieve(e,a)).registry.owner,Xe(Ut,a,r,c,n,o,i)},exports.transferSubdomain=async(e,t,r,n,o)=>{const{pubkey:i,isSub:s,parent:a}=Ln(t);if(!a||!s)throw new ke(exports.ErrorType.InvalidSubdomain);if(!o){const{registry:t}=await ht.retrieve(e,i);o=t.owner}let c,u;n&&(c=a,u=(await ht.retrieve(e,a)).registry.owner);return Xe(Ut,i,r,o,void 0,c,u)},exports.updateInstruction=Ye,exports.updateNameRegistryData=async function(e,t,r,n,o,i){const s=Pn(t),a=kn(s,o,i);let c;return c=o||(await ht.retrieve(e,a)).registry.owner,Ye(Ut,a,new Te(r),n,c)},exports.updateRecordInstruction=async(e,t,r,n,o,i)=>{Dn(r!==exports.Record.SOL,exports.ErrorType.UnsupportedRecord);const{pubkey:s}=Ln(`${r}.${t}`,exports.RecordVersion.V1),a=await e.getAccountInfo(s);Dn(!!(null==a?void 0:a.data),exports.ErrorType.AccountDoesNotExist);const c=Ci(n,r);if((null==a?void 0:a.data.slice(96).length)!==c.length)return[Ze(Ut,s,i,o),await Xi(e,t,r,n,o,i)];return[Ye(Ut,s,new Te(0),c,o)]},exports.updateRecordV2Instruction=(t,r,n,o,i)=>{let{pubkey:s,parent:a,isSub:c}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(c&&(a=Ln(t).pubkey),!a)throw new Error("Invalid parent");const u=((t,r,n,o,i,s,a,c)=>new xr({record:s,content:Array.from(a)}).getInstruction(c,e.SystemProgram.programId,i,t,r,n,o,Br))(i,s,a,o,Ut,"".concat(r),Fi(n,r),Ir);return u},exports.updateSolRecordInstruction=async(e,t,r,n,o,i)=>{const{pubkey:s}=Ln(`${exports.Record.SOL}.${t}`,exports.RecordVersion.V1),a=await e.getAccountInfo(s);if(Dn(!!(null==a?void 0:a.data),exports.ErrorType.AccountDoesNotExist),96!==(null==a?void 0:a.data.length))return[Ze(Ut,s,i,n),await Zi(e,t,r,n,o,i)];const c=Ni(r,s,n,o);return[Ye(Ut,s,new Te(0),c,n)]},exports.validateRecordV2Content=(t,r,n,o,i,s)=>{let{pubkey:a,parent:c,isSub:u}=Ln(`${n}.${r}`,exports.RecordVersion.V2);if(u&&(c=Ln(r).pubkey),!c)throw new Error("Invalid parent");const f=((t,r,n,o,i,s,a,c)=>new Er({staleness:a}).getInstruction(c,e.SystemProgram.programId,s,t,r,n,o,Br,i))(i,a,c,o,s,Ut,t,Ir);return f},exports.verifyRightOfAssociation=async(e,t,r,n)=>{var o;const i=ji(r,t),s=await _r.retrieve(e,i),a=s.getRoAId(),c=Di.has(t)?Rr.Ethereum:Rr.Solana;if(!(n=null!=n?n:null===(o=Oi.get(t))||void 0===o?void 0:o.toBuffer()))throw new ke(exports.ErrorType.MissingVerifier);return 0===n.compare(a)&&s.header.rightOfAssociationValidation===c},exports.verifyStaleness=async(t,r,n)=>{const o=ji(n,r),{registry:i,nftOwner:s}=await ht.retrieve(t,Ln(n).pubkey),a=s||i.owner,c=await _r.retrieve(t,o),u=c.getStalenessId();return(null==a?void 0:a.equals(new e.PublicKey(u)))&&c.header.stalenessValidation===Rr.Solana},exports.writRoaRecordV2=(t,r,n,o,i)=>{let{pubkey:s,parent:a,isSub:c}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(c&&(a=Ln(t).pubkey),!a)throw new Error("Invalid parent");const u=((t,r,n,o,i,s,a)=>new Sr({roaId:Array.from(s.toBuffer())}).getInstruction(a,e.SystemProgram.programId,r,t,n,o,i,Br))(o,Ut,s,a,n,i,Ir);return u};
19
+ function di(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}function hi(...e){const t=e=>e,r=(e,t)=>r=>e(t(r));return{encode:e.map((e=>e.encode)).reduceRight(r,t),decode:e.map((e=>e.decode)).reduce(r,t)}}function li(e){return{encode:t=>{if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("alphabet.encode input should be an array of numbers");return t.map((t=>{if(di(t),t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]}))},decode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("alphabet.decode input should be array of strings");return t.map((t=>{if("string"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const r=e.indexOf(t);if(-1===r)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return r}))}}}function yi(e=""){if("string"!=typeof e)throw new Error("join separator should be string");return{encode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("join.encode input should be array of strings");for(let e of t)if("string"!=typeof e)throw new Error(`join.encode: non-string input=${e}`);return t.join(e)},decode:t=>{if("string"!=typeof t)throw new Error("join.decode input should be string");return t.split(e)}}}function gi(e,t="="){if(di(e),"string"!=typeof t)throw new Error("padding chr should be string");return{encode(r){if(!Array.isArray(r)||r.length&&"string"!=typeof r[0])throw new Error("padding.encode input should be array of strings");for(let e of r)if("string"!=typeof e)throw new Error(`padding.encode: non-string input=${e}`);for(;r.length*e%8;)r.push(t);return r},decode(r){if(!Array.isArray(r)||r.length&&"string"!=typeof r[0])throw new Error("padding.encode input should be array of strings");for(let e of r)if("string"!=typeof e)throw new Error(`padding.decode: non-string input=${e}`);let n=r.length;if(n*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;n>0&&r[n-1]===t;n--)if(!((n-1)*e%8))throw new Error("Invalid padding: string has too much padding");return r.slice(0,n)}}}function wi(e){if("function"!=typeof e)throw new Error("normalize fn should be function");return{encode:e=>e,decode:t=>e(t)}}ci.pow(ri,pi),ci.sqrt(ci.neg(ci.ONE)),ci.ORDER,BigInt(5),BigInt(8),BigInt(486662),function(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");const r=e.sqrt(t);e.isOdd(r)&&e.neg(r)}(ci,ci.neg(BigInt(486664))),BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const bi=(e,t)=>t?bi(t,e%t):e,mi=(e,t)=>e+(t-bi(e,t));function vi(e,t,r,n){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(mi(t,r)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${mi(t,r)}`);let o=0,i=0;const s=2**r-1,a=[];for(const n of e){if(di(n),n>=2**t)throw new Error(`convertRadix2: invalid data word=${n} from=${t}`);if(o=o<<t|n,i+t>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=r;i-=r)a.push((o>>i-r&s)>>>0);o&=2**i-1}if(o=o<<r-i&s,!n&&i>=t)throw new Error("Excess padding");if(!n&&o)throw new Error(`Non-zero padding: ${o}`);return n&&i>0&&a.push(o>>>0),a}function Ei(e,t=!1){if(di(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(mi(8,e)>32||mi(e,8)>32)throw new Error("radix2: carry overflow");return{encode:r=>{if(!function(e){return e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name}(r))throw new Error("radix2.encode input should be Uint8Array");return vi(Array.from(r),8,e,!t)},decode:r=>{if(!Array.isArray(r)||r.length&&"number"!=typeof r[0])throw new Error("radix2.decode input should be array of numbers");return Uint8Array.from(vi(r,e,8,t))}}}function xi(e){if("function"!=typeof e)throw new Error("unsafeWrapper fn should be function");return function(...t){try{return e.apply(null,t)}catch(e){}}}Ei(4),li("0123456789ABCDEF"),yi(""),Ei(5),li("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),gi(5),yi(""),Ei(5),li("0123456789ABCDEFGHIJKLMNOPQRSTUV"),gi(5),yi(""),Ei(5),li("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),yi(""),wi((e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),Ei(6),li("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),gi(6),yi(""),Ei(6),li("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),gi(6),yi(""),Ei(6),li("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),yi("");const Ai=hi(li("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),yi("")),Si=[996825010,642813549,513874426,1027748829,705979059];function Ii(e){const t=e>>25;let r=(33554431&e)<<5;for(let e=0;e<Si.length;e++)1==(t>>e&1)&&(r^=Si[e]);return r}function Bi(e,t,r=1){const n=e.length;let o=1;for(let t=0;t<n;t++){const r=e.charCodeAt(t);if(r<33||r>126)throw new Error(`Invalid prefix (${e})`);o=Ii(o)^r>>5}o=Ii(o);for(let t=0;t<n;t++)o=Ii(o)^31&e.charCodeAt(t);for(let e of t)o=Ii(o)^e;for(let e=0;e<6;e++)o=Ii(o);return o^=r,Ai.encode(vi([o%2**30],30,5,!1))}function Ri(e){const t="bech32"===e?1:734539939,r=Ei(5),n=r.decode,o=r.encode,i=xi(n);function s(e,r=90){if("string"!=typeof e)throw new Error("bech32.decode input should be string, not "+typeof e);if(e.length<8||!1!==r&&e.length>r)throw new TypeError(`Wrong string length: ${e.length} (${e}). Expected (8..${r})`);const n=e.toLowerCase();if(e!==n&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const o=(e=n).lastIndexOf("1");if(0===o||-1===o)throw new Error('Letter "1" must be present between prefix and data only');const i=e.slice(0,o),s=e.slice(o+1);if(s.length<6)throw new Error("Data must be at least 6 characters long");const a=Ai.decode(s).slice(0,-6),c=Bi(i,a,t);if(!s.endsWith(c))throw new Error(`Invalid checksum in ${e}: expected "${c}"`);return{prefix:i,words:a}}return{encode:function(e,r,n=90){if("string"!=typeof e)throw new Error("bech32.encode prefix should be string, not "+typeof e);if(!Array.isArray(r)||r.length&&"number"!=typeof r[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof r);const o=e.length+7+r.length;if(!1!==n&&o>n)throw new TypeError(`Length ${o} exceeds limit ${n}`);const i=e.toLowerCase(),s=Bi(i,r,t);return`${i}1${Ai.encode(r)}${s}`},decode:s,decodeToBytes:function(e){const{prefix:t,words:r}=s(e,!1);return{prefix:t,words:r,bytes:n(r)}},decodeUnsafe:xi(s),fromWords:n,fromWordsUnsafe:i,toWords:o}}const Pi=Ri("bech32");Ei(4),li("0123456789abcdef"),yi(""),wi((e=>{if("string"!=typeof e||e.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));const ki=(e,t,r)=>fi.verify(t,e,r.toBytes()),Ti=(e,t)=>{const{pubkey:r}=Ln(t+"."+e,exports.RecordVersion.V1);return r};async function _i(e,t,r,n){const o=Ti(t,r);let{registry:i}=await ht.retrieve(e,o);if(!i.data)throw new ke(exports.ErrorType.NoRecordData);if(n)return Li(i,r,o);const s=Lr.get(r);return i.data=i.data.slice(0,s),i}const Ui=async(e,t)=>await _i(e,t,exports.Record.SOL),Li=(t,r,o)=>{const i=null==t?void 0:t.data;if(!i)return;if(0===i.compare(n.Buffer.alloc(i.length)))return;const s=Lr.get(r),a=(e=>{const t=Array.from(e);return t.length-1-t.reverse().findIndex((e=>0!==e))+1})(i);if(!s){const e=i.slice(0,a).toString("utf-8");return r===exports.Record.CNAME||r===exports.Record.TXT?Jn(e):e}if(r===exports.Record.SOL){const e=new TextEncoder,r=n.Buffer.concat([i.slice(0,32),o.toBuffer()]),s=e.encode(r.toString("hex"));if(ki(s,i.slice(32,96),t.owner))return Fn.encode(i.slice(0,32))}if(s&&a!==s){const e=i.slice(0,a).toString("utf-8");if(r===exports.Record.Injective){const t=Pi.decodeToBytes(e);if("inj"===t.prefix&&20===t.bytes.length)return e}else if(r===exports.Record.BSC||r===exports.Record.ETH){const t=e.slice(0,2),r=e.slice(2);if("0x"===t&&20===n.Buffer.from(r,"hex").length)return e}else if((r===exports.Record.A||r===exports.Record.AAAA)&&Kn.isValid(e))return e;throw new ke(exports.ErrorType.InvalidRecordData)}if(r===exports.Record.ETH||r===exports.Record.BSC)return"0x"+i.slice(0,s).toString("hex");if(r===exports.Record.Injective)return Pi.encode("inj",Pi.toWords(i.slice(0,s)));if(r===exports.Record.A||r===exports.Record.AAAA)return Kn.fromByteArray([...i.slice(0,s)]).toString();if(r===exports.Record.Background)return new e.PublicKey(i.slice(0,s)).toString();throw new ke(exports.ErrorType.InvalidRecordData)},Ci=(t,r)=>{if(!Lr.get(r))return r!==exports.Record.CNAME&&r!==exports.Record.TXT||(t=eo(t)),n.Buffer.from(t,"utf-8");if(r===exports.Record.SOL)throw new ke(exports.ErrorType.UnsupportedRecord,"Use `serializeSolRecord` for SOL record");if(r===exports.Record.ETH||r===exports.Record.BSC)return Dn("0x"===t.slice(0,2),exports.ErrorType.InvalidEvmAddress),n.Buffer.from(t.slice(2),"hex");if(r===exports.Record.Injective){const e=Pi.decodeToBytes(t);return Dn("inj"===e.prefix,exports.ErrorType.InvalidInjectiveAddress),Dn(20===e.bytes.length,exports.ErrorType.InvalidInjectiveAddress),n.Buffer.from(e.bytes)}if(r===exports.Record.A){const e=Kn.parse(t).toByteArray();return Dn(4===e.length,exports.ErrorType.InvalidARecord),n.Buffer.from(e)}if(r===exports.Record.AAAA){const e=Kn.parse(t).toByteArray();return Dn(16===e.length,exports.ErrorType.InvalidAAAARecord),n.Buffer.from(e)}if(r===exports.Record.Background)return new e.PublicKey(t).toBuffer();throw new ke(exports.ErrorType.InvalidRecordInput)},Ni=(e,t,r,o)=>{const i=n.Buffer.concat([e.toBuffer(),t.toBuffer()]),s=(new TextEncoder).encode(i.toString("hex")),a=ki(s,o,r);return Dn(a,exports.ErrorType.InvalidSignature),n.Buffer.concat([e.toBuffer(),o])},Oi=new Map([[exports.Record.Url,new e.PublicKey("ExXjtfdQe8JacoqP9Z535WzQKjF4CzW1TTRKRgpxvya3")],[exports.Record.CNAME,new e.PublicKey("ExXjtfdQe8JacoqP9Z535WzQKjF4CzW1TTRKRgpxvya3")]]),Di=new Set([exports.Record.ETH,exports.Record.Injective,exports.Record.BSC,exports.Record.BASE]),Wi=new Set([exports.Record.ETH,exports.Record.BSC,exports.Record.BASE]),Mi=new Set([exports.Record.IPFS,exports.Record.ARWV,exports.Record.LTC,exports.Record.DOGE,exports.Record.Email,exports.Record.Url,exports.Record.Discord,exports.Record.Github,exports.Record.Reddit,exports.Record.Twitter,exports.Record.Telegram,exports.Record.Pic,exports.Record.SHDW,exports.Record.POINT,exports.Record.Backpack,exports.Record.TXT,exports.Record.CNAME,exports.Record.BTC]),Vi=new Set([exports.Record.ETH,exports.Record.Injective,exports.Record.SOL]),zi=(t,r)=>{if(Mi.has(r)){const e=t.toString("utf-8");return r===exports.Record.CNAME||r===exports.Record.TXT?Jn(e):e}if(r===exports.Record.SOL)return new e.PublicKey(t).toBase58();if(Wi.has(r))return"0x"+t.toString("hex");if(r===exports.Record.Injective)return Pi.encode("inj",Pi.toWords(t));if(r===exports.Record.A||r===exports.Record.AAAA)return Kn.fromByteArray([...t]).toString();throw new ke(exports.ErrorType.InvalidARecord)},Fi=(t,r)=>{if(Mi.has(r))return r!==exports.Record.CNAME&&r!==exports.Record.TXT||(t=eo(t)),Buffer.from(t,"utf-8");if(r===exports.Record.SOL)return new e.PublicKey(t).toBuffer();if(Wi.has(r))return Dn("0x"===t.slice(0,2),exports.ErrorType.InvalidEvmAddress),Buffer.from(t.slice(2),"hex");if(r===exports.Record.Injective){const e=Pi.decodeToBytes(t);return Dn("inj"===e.prefix,exports.ErrorType.InvalidInjectiveAddress),Dn(20===e.bytes.length,exports.ErrorType.InvalidInjectiveAddress),Buffer.from(e.bytes)}if(r===exports.Record.A){const e=Kn.parse(t).toByteArray();return Dn(4===e.length,exports.ErrorType.InvalidARecord),Buffer.from(e)}if(r===exports.Record.AAAA){const e=Kn.parse(t).toByteArray();return Dn(16===e.length,exports.ErrorType.InvalidAAAARecord),Buffer.from(e)}throw new ke(exports.ErrorType.InvalidARecord)},ji=(e,t)=>{const{pubkey:r}=Ln(e),n=Pn("".concat(t));return kn(n,Br,r)};const Ki=new e.PublicKey("85iDfUvr3HJyLM2zcq5BXSiDvUWfw6cSE1FfNBo8Ap29");class Hi{constructor(t){this.tag=t.tag,this.nameAccount=new e.PublicKey(t.nameAccount)}static deserialize(e){return new Hi(Ge(this.schema,e))}static async retrieve(e,t){const r=await e.getAccountInfo(t);if(!r||!r.data)throw new ke(exports.ErrorType.FavouriteDomainNotFound);return this.deserialize(r.data)}static async getKey(t,r){return await e.PublicKey.findProgramAddress([n.Buffer.from("favourite_domain"),r.toBuffer()],t)}static getKeySync(t,r){return e.PublicKey.findProgramAddressSync([n.Buffer.from("favourite_domain"),r.toBuffer()],t)}}Hi.schema={struct:{tag:"u8",nameAccount:{array:{type:"u8",len:32}}}};async function Gi(t,r,n,o,i,s,a,c){const u=Pn(r),f=kn(u,a,c),p=s||await t.getMinimumBalanceForRentExemption(n);let d;if(c){const{registry:e}=await er(t,c);d=e.owner}return qe(Ut,e.SystemProgram.programId,f,i,o,u,new _e(p),new Te(n),a,c,d)}async function qi(e,t,r,n,o){const i=Pn(t),s=kn(i,n,o);let a;a=n||(await ht.retrieve(e,s)).registry.owner;return Ze(Ut,s,r,a)}const Yi=async(t,r,n,o,i)=>{let[s]=await e.PublicKey.findProgramAddress([Nt.toBuffer()],Nt),a=Pn(t.toBase58()),c=kn(a,s,o);return[[],[new Qe({name:r}).getInstruction(Nt,Ut,Ct,c,e.SystemProgram.programId,s,n,e.SYSVAR_RENT_PUBKEY,o,i)]]},Xi=async(t,r,n,o,i,s)=>{Dn(n!==exports.Record.SOL,exports.ErrorType.UnsupportedRecord);const{pubkey:a,hashed:c,parent:u}=Ln(`${n}.${r}`,exports.RecordVersion.V1),f=Ci(o,n).length,p=await t.getMinimumBalanceForRentExemption(f+ht.HEADER_LEN);return qe(Ut,e.SystemProgram.programId,a,i,s,c,new _e(p),new Te(f),void 0,u,i)},Zi=async(t,r,n,o,i,s)=>{const{pubkey:a,hashed:c,parent:u}=Ln(`${exports.Record.SOL}.${r}`,exports.RecordVersion.V1),f=Ni(n,a,o,i).length,p=await t.getMinimumBalanceForRentExemption(f+ht.HEADER_LEN);return[qe(Ut,e.SystemProgram.programId,a,o,s,c,new _e(p),new Te(f),void 0,u,o)]};class $i{constructor(e){this.twitterRegistryKey=e.twitterRegistryKey,this.twitterHandle=e.twitterHandle}static async retrieve(e,t){let r=await e.getAccountInfo(t,"processed");if(!r)throw new ke(exports.ErrorType.InvalidReverseTwitter);return new $i(Ge($i.schema,r.data.slice(ht.HEADER_LEN)))}}async function Qi(t,r,o,i,s){const a=Pn(i.toString()),c=kn(a,Mt,Vt);let u=He($i.schema,new $i({twitterRegistryKey:o.toBytes(),twitterHandle:r}));return[qe(Ut,e.SystemProgram.programId,c,i,s,a,new _e(await t.getMinimumBalanceForRentExemption(u.length+ht.HEADER_LEN)),new Te(u.length),Mt,Vt,Mt),Ye(Ut,c,new Te(0),n.Buffer.from(u),Mt)]}var Ji;$i.schema={struct:{twitterRegistryKey:{array:{type:"u8",len:32}},twitterHandle:"string"}},exports.CustomBg=void 0,(Ji=exports.CustomBg||(exports.CustomBg={})).DegenPoet1="DegenPoet#1",Ji.Rgb0x001="rgb0x00#1",Ji.Retardio1="Retardio#1",Ji.Retardio2="Retardio#2",Ji.Retardio3="Retardio#3";const es=async(t,r,o)=>{const i=Ti(o,exports.Record.SOL),s=await Ui(t,o);if(!(null==s?void 0:s.data))throw new ke(exports.ErrorType.NoRecordData);const a=new TextEncoder,c=n.Buffer.concat([s.data.slice(0,32),i.toBuffer()]),u=a.encode(c.toString("hex"));if(!ki(u,s.data.slice(32),r))throw new ke(exports.ErrorType.InvalidSignature);return new e.PublicKey(s.data.slice(0,32))},ts=async(t,r,n)=>{try{const o=ji(n,exports.Record.SOL),i=await _r.retrieve(t,o),s=i.getStalenessId(),a=i.getRoAId(),c=i.getContent();if(0===s.compare(r.toBuffer())&&i.header.stalenessValidation===Rr.Solana&&0===a.compare(c)&&i.header.rightOfAssociationValidation===Rr.Solana)return new e.PublicKey(c)}catch(e){if(e instanceof Error&&"FetchError"===e.name)throw e}},rs=new e.PublicKey("ART5dr4bDic2sQVZoFheEmUxwQq5VGSx9he7JxHcXNQD"),ns=new e.PublicKey("CSWvuDHXExVGEMR9kP8xYAHuNjXogeRck9Cnr312CC9g"),os=new e.PublicKey("J2Q2j6kpSg7tq8JzueCHNTQNcyNnQkvr85RhsFnYZWeG"),is={NAME_PROGRAM_ID:new e.PublicKey("namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX"),HASH_PREFIX:"SPL Name Service",ROOT_DOMAIN_ACCOUNT:new e.PublicKey("5eoDkP6vCQBXqDV9YN2NdUs3nmML3dMRNmEYpiyVNBm2"),REGISTER_PROGRAM_ID:new e.PublicKey("snshBoEQ9jx4QoHBpZDQPYdNCtw7RMxJvYrKFEhwaPJ"),REVERSE_LOOKUP_CLASS:new e.PublicKey("7NbD1vprif6apthEZAqhRfYuhrqnuderB8qpnfXGCc8H"),USDC_MINT:new e.PublicKey("4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"),REFERRERS:[new e.PublicKey("3ogYncmMM5CmytsGCqKHydmXmKUZ6sGWvizkzqwT7zb1")],TOKENS_SYM_MINT:new Map([["4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","USDC"],["EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS","USDT"],["So11111111111111111111111111111111111111112","SOL"],["fidaWCioBQjieRrUQDxxS5Uxmq1CLi2VuVRyv4dEBey","FIDA"],["DL4ivZm3NVHWk9ZvtcqTchxoKArDK4rT3vbDx2gYVr7P","INJ"]]),PYTH_FEEDS:new Map([["4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",{price:"5SSkXsEKQepHHAewytPVwdej4epN1nxgLVM84L4KXgy7",product:"6NpdXrQEpmDZ3jZKmM2rhdmkd3H6QAk23j2x8bkXcHKA"}],["EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS",{price:"38xoQ4oeJCBrcVvca2cGk7iV1dAfrmTR1kmhSCJQ8Jto",product:"C5wDxND9E61RZ1wZhaSTWkoA8udumaHnoQY6BBsiaVpn"}],["So11111111111111111111111111111111111111112",{price:"J83w4HKfqxwcq3BEMMkPFSppX3gqekLyLJBexebFVkix",product:"3Mnn2fX6rQyUsyELYms1sBJyChWofzSNRoqYzvgMVz5E"}],["EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",{price:"7teETxN9Y8VK6uJxsctHEwST75mKLLwPH1jaFdvTQCpD",product:"5kWV4bhHeZANzg5MWaYCQYEEKHjur5uz1mu5vuLHwiLB"}],["DL4ivZm3NVHWk9ZvtcqTchxoKArDK4rT3vbDx2gYVr7P",{price:"44uRsNnT35kjkscSu59MxRr9CfkLZWf6gny8bWqUbVxE",product:"7UHB783Nh4avW3Yw9yoktf2KjxipU56KPahA51RnCCYE"}]]),PYTH_MAPPING_ACC:new e.PublicKey("BmA9Z6FjioHJPpjT39QazZyhDRUdZy2ezwx4GiDdE2u2"),VAULT_OWNER:new e.PublicKey("SNSaTJbEv2iT3CUrCQYa9zpGjbBVWhFCPaSJHkaJX34")},ss=(t,r,o)=>{const i=[t];r?i.push(r.toBuffer()):i.push(n.Buffer.alloc(32)),o?i.push(o.toBuffer()):i.push(n.Buffer.alloc(32));const[s]=e.PublicKey.findProgramAddressSync(i,is.NAME_PROGRAM_ID);return s},as=(e,t=is.ROOT_DOMAIN_ACCOUNT,r)=>{let n=Pn(e);return{pubkey:ss(n,r,t),hashed:n}},cs=e=>{e.endsWith(".sol")&&(e=e.slice(0,-4));const t=e.split(".");if(2===t.length){const e="\0".concat(t[0]),{pubkey:r}=as(t[1]);return{...as(e,r),isSub:!0,parent:r}}if(t.length>=3)throw new ke(exports.ErrorType.InvalidInput);return{...as(e,is.ROOT_DOMAIN_ACCOUNT),isSub:!1,parent:void 0}},us=(e,t)=>{const{pubkey:r,parent:n}=cs(e),o=Pn(r.toBase58());return ss(o,is.REVERSE_LOOKUP_CLASS,t?n:void 0)};async function fs(t,r,n,o,i,s,a,c){const u=await tr(r),f=await ss(u,a,c),p=s||await t.getMinimumBalanceForRentExemption(n);let d;if(c){const{registry:e}=await er(t,c);d=e.owner}return qe(is.NAME_PROGRAM_ID,e.SystemProgram.programId,f,i,o,u,new _e(p),new Te(n),a,c,d)}const ps=async(t,r,n,o,i)=>{let[s]=await e.PublicKey.findProgramAddress([is.REGISTER_PROGRAM_ID.toBuffer()],is.REGISTER_PROGRAM_ID),a=await tr(t.toBase58()),c=ss(a,s,o);return[[],[new Qe({name:r}).getInstruction(is.REGISTER_PROGRAM_ID,is.NAME_PROGRAM_ID,is.ROOT_DOMAIN_ACCOUNT,c,e.SystemProgram.programId,s,n,e.SYSVAR_RENT_PUBKEY,o,i)]]},ds={utils:{getNameAccountKeySync:ss,reverseLookup:async(e,t)=>{const r=Pn(t.toBase58()),n=ss(r,is.REVERSE_LOOKUP_CLASS),{registry:o}=await ht.retrieve(e,n);if(!o.data)throw new ke(exports.ErrorType.NoAccountData);return Wn(o.data)},_deriveSync:as,getDomainKeySync:cs,getReverseKeySync:us},constants:is,bindings:{createNameRegistry:fs,updateNameRegistryData:async function(e,t,r,n,o,i){const s=await tr(t),a=ss(s,o,i);let c;return c=o||(await ht.retrieve(e,a)).registry.owner,Ye(is.NAME_PROGRAM_ID,a,new Te(r),n,c)},transferNameOwnership:async function(e,t,r,n,o,i){const s=await tr(t),a=ss(s,n,o);let c;return c=n||(await ht.retrieve(e,a)).registry.owner,Xe(is.NAME_PROGRAM_ID,a,r,c,n,o,i)},deleteNameRegistry:async function(e,t,r,n,o){const i=await tr(t),s=ss(i,n,o);let a;return a=n||(await ht.retrieve(e,s)).registry.owner,Ze(is.NAME_PROGRAM_ID,s,r,a)},registerDomainName:async(t,r,n,o,i,s=is.USDC_MINT,a)=>{if(r.includes(".")||r.trim().toLowerCase()!==r)throw new ke(exports.ErrorType.InvalidDomain);const[c]=e.PublicKey.findProgramAddressSync([is.REGISTER_PROGRAM_ID.toBuffer()],is.REGISTER_PROGRAM_ID),u=Pn(r),f=ss(u,void 0,is.ROOT_DOMAIN_ACCOUNT),p=Pn(f.toBase58()),d=ss(p,c),[l]=e.PublicKey.findProgramAddressSync([f.toBuffer()],is.REGISTER_PROGRAM_ID),y=is.REFERRERS.findIndex((e=>null==a?void 0:a.equals(e)));let g;const w=[];if(-1!==y&&a){g=Be(s,a,!0);const e=await t.getAccountInfo(g);if(!(null==e?void 0:e.data)){const e=Re(o,g,a,s);w.push(e)}}const b=Be(s,is.VAULT_OWNER),m=ds.constants.PYTH_FEEDS.get(s.toBase58());if(!m)throw new ke(exports.ErrorType.PythFeedNotFound);const v=new Je({name:r,space:n,referrerIdxOpt:-1!=y?y:null}).getInstruction(is.REGISTER_PROGRAM_ID,is.NAME_PROGRAM_ID,is.ROOT_DOMAIN_ACCOUNT,f,d,e.SystemProgram.programId,c,o,i,is.PYTH_MAPPING_ACC,new e.PublicKey(m.product),new e.PublicKey(m.price),b,h,e.SYSVAR_RENT_PUBKEY,l,g);return w.push(v),[[],w]},createReverseName:ps,createSubdomain:async(e,t,r,n=2e3)=>{const o=[],i=t.split(".")[0];if(!i)throw new ke(exports.ErrorType.InvalidSubdomain);const{parent:s,pubkey:a}=cs(t),c=await e.getMinimumBalanceForRentExemption(n+ht.HEADER_LEN),u=await fs(e,"\0".concat(i),n,r,r,c,void 0,s);o.push(u);const f=us(t,!0),p=await e.getAccountInfo(f);if(!(null==p?void 0:p.data)){const[,e]=await ps(a,"\0".concat(i),r,s,r);o.push(...e)}return[[],o]},burnDomain:(t,r,n)=>{const{pubkey:o}=cs(t),[i]=e.PublicKey.findProgramAddressSync([o.toBuffer()],is.REGISTER_PROGRAM_ID),[s]=e.PublicKey.findProgramAddressSync([o.toBuffer(),Uint8Array.from([1,1])],is.REGISTER_PROGRAM_ID);return(new tt).getInstruction(is.REGISTER_PROGRAM_ID,is.NAME_PROGRAM_ID,e.SystemProgram.programId,o,us(t),s,i,is.REVERSE_LOOKUP_CLASS,r,n)},transferSubdomain:async(e,t,r,n,o)=>{const{pubkey:i,isSub:s,parent:a}=cs(t);if(!a||!s)throw new ke(exports.ErrorType.InvalidSubdomain);if(!o){const{registry:t}=await ht.retrieve(e,i);o=t.owner}let c,u;n&&(c=a,u=(await ht.retrieve(e,a)).registry.owner);return Xe(is.NAME_PROGRAM_ID,i,r,o,void 0,c,u)},registerDomainNameV2:async(t,r,n,o,i,s=is.USDC_MINT,a)=>{if(r.includes(".")||r.trim().toLowerCase()!==r)throw new ke(exports.ErrorType.InvalidDomain);const[c]=e.PublicKey.findProgramAddressSync([is.REGISTER_PROGRAM_ID.toBuffer()],is.REGISTER_PROGRAM_ID),u=Pn(r),f=ss(u,void 0,is.ROOT_DOMAIN_ACCOUNT),p=Pn(f.toBase58()),d=ss(p,c),[l]=e.PublicKey.findProgramAddressSync([f.toBuffer()],is.REGISTER_PROGRAM_ID),y=is.REFERRERS.findIndex((e=>null==a?void 0:a.equals(e)));let g;const w=[];if(-1!==y&&a){g=Be(s,a,!0);const e=await t.getAccountInfo(g);if(!(null==e?void 0:e.data)){const e=Re(o,g,a,s);w.push(e)}}const b=Be(s,is.VAULT_OWNER,!0),m=Jt.get(s.toBase58());if(!m)throw new ke(exports.ErrorType.PythFeedNotFound);const[v]=Mn(0,m),E=new nt({name:r,space:n,referrerIdxOpt:-1!=y?y:null}).getInstruction(is.REGISTER_PROGRAM_ID,is.NAME_PROGRAM_ID,is.ROOT_DOMAIN_ACCOUNT,f,d,e.SystemProgram.programId,c,o,o,o,i,v,b,h,e.SYSVAR_RENT_PUBKEY,l,g);return w.push(E),w}}};exports.BONFIDA_FIDA_BNB=Dt,exports.BONFIDA_USDC_BNB=zt,exports.CUSTOM_BG_TLD=Xt,exports.DEFAULT_PYTH_PUSH_PROGRAM=Qt,exports.ETH_ROA_RECORDS=Di,exports.EVM_RECORDS=Wi,exports.FavouriteDomain=Hi,exports.GUARDIANS=Oi,exports.HASH_PREFIX=Lt,exports.METAPLEX_ID=$t,exports.NAME_OFFERS_ID=Ki,exports.NAME_PROGRAM_ID=Ut,exports.NameRegistryState=ht,exports.Numberu32=Te,exports.Numberu64=_e,exports.PYTH_FEEDS=Ht,exports.PYTH_FIDA_PRICE_ACC=Ot,exports.PYTH_MAPPING_ACC=Gt,exports.PYTH_PULL_FEEDS=Jt,exports.RECORD_V1_SIZE=Lr,exports.REFERRERS=jt,exports.REGISTER_PROGRAM_ID=Nt,exports.REVERSE_LOOKUP_CLASS=Wt,exports.ROOT_DOMAIN_ACCOUNT=Ct,exports.ReverseTwitterRegistryState=$i,exports.SELF_SIGNED=Vi,exports.SNSError=ke,exports.SOL_RECORD_SIG_LEN=96,exports.TOKENS_SYM_MINT=Kt,exports.TWITTER_ROOT_PARENT_REGISTRY_KEY=Vt,exports.TWITTER_VERIFICATION_AUTHORITY=Mt,exports.USDC_MINT=Ft,exports.UTF8_ENCODED=Mi,exports.VAULT_OWNER=Yt,exports.VAULT_OWNER_DEPRECATED=qt,exports.WOLVES_COLLECTION_METADATA=Zt,exports.burnDomain=(t,r,n)=>{const{pubkey:o}=Ln(t),[i]=e.PublicKey.findProgramAddressSync([o.toBuffer()],Nt),[s]=e.PublicKey.findProgramAddressSync([o.toBuffer(),Uint8Array.from([1,1])],Nt);return(new tt).getInstruction(Nt,Ut,e.SystemProgram.programId,o,Nn(t),s,i,Wt,r,n)},exports.burnInstruction=tt,exports.changeTwitterRegistryData=async function(e,t,r,n){const o=Pn(e),i=kn(o,void 0,Vt);return[Ye(Ut,i,new Te(r),n,t)]},exports.changeVerifiedPubkey=async function(e,t,r,n,o){const i=Pn(t),s=kn(i,void 0,Vt);let a=[Xe(Ut,s,n,r,void 0)];return a.push(await qi(e,r.toString(),o,Mt,Vt)),a=a.concat(await Qi(e,t,s,n,o)),a},exports.check=Dn,exports.checkSolRecord=ki,exports.createInstruction=qe,exports.createInstructionV3=Je,exports.createNameRegistry=Gi,exports.createRecordInstruction=Xi,exports.createRecordV2Instruction=(t,r,n,o,i)=>{let{pubkey:s,parent:a,isSub:c}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(c&&(a=Ln(t).pubkey),!a)throw new Error("Invalid parent");const u=((t,r,n,o,i,s,a,c)=>new mr({record:s,content:Array.from(a)}).getInstruction(c,e.SystemProgram.programId,i,t,r,n,o,Br))(i,s,a,o,Ut,"".concat(r),Fi(n,r),Ir);return u},exports.createReverseInstruction=Qe,exports.createReverseName=Yi,exports.createReverseTwitterRegistry=Qi,exports.createSolRecordInstruction=Zi,exports.createSplitV2Instruction=nt,exports.createSubdomain=async(e,t,r,n=2e3,o)=>{const i=[],s=t.split(".")[0];if(!s)throw new ke(exports.ErrorType.InvalidSubdomain);const{parent:a,pubkey:c}=Ln(t),u=await e.getMinimumBalanceForRentExemption(n+ht.HEADER_LEN),f=await Gi(e,"\0".concat(s),n,o||r,r,u,void 0,a);i.push(f);const p=Nn(t,!0),d=await e.getAccountInfo(p);if(!(null==d?void 0:d.data)){const[,e]=await Yi(c,"\0".concat(s),o||r,a,r);i.push(...e)}return[[],i]},exports.createV2Instruction=$e,exports.createVerifiedTwitterRegistry=async function(t,r,n,o,i){const s=Pn(r),a=kn(s,void 0,Vt),c=await t.getMinimumBalanceForRentExemption(o+ht.HEADER_LEN);let u=[qe(Ut,e.SystemProgram.programId,a,n,i,s,new _e(c),new Te(o),void 0,Vt,Mt)];return u=u.concat(await Qi(t,r,a,n,i)),u},exports.createWithNftInstruction=et,exports.deleteInstruction=Ze,exports.deleteNameRegistry=qi,exports.deleteRecordV2=(t,r,n,o)=>{let{pubkey:i,parent:s,isSub:a}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(a&&(s=Ln(t).pubkey),!s)throw new Error("Invalid parent");const c=((t,r,n,o,i,s)=>(new Ar).getInstruction(s,e.SystemProgram.programId,i,t,o,r,n,Br))(o,s,n,i,Ut,Ir);return c},exports.deleteTwitterRegistry=async function(e,t){const r=Pn(e),n=kn(r,void 0,Vt),o=Pn(t.toString()),i=kn(o,Mt,Vt);return[Ze(Ut,n,t,t),Ze(Ut,i,t,t)]},exports.deserializeRecord=Li,exports.deserializeRecordV2Content=zi,exports.deserializeReverse=Wn,exports.devnet=ds,exports.ethValidateRecordV2Content=(t,r,n,o,i,s)=>{let{pubkey:a,parent:c,isSub:u}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(u&&(c=Ln(t).pubkey),!c)throw new Error("Invalid parent");const f=((t,r,n,o,i,s,a,c,u)=>new vr({validation:s,signature:Array.from(a),expectedPubkey:Array.from(c)}).getInstruction(u,e.SystemProgram.programId,i,t,r,n,o,Br))(o,a,c,n,Ut,Rr.Ethereum,i,s,Ir);return f},exports.findSubdomains=async(e,t)=>{const r=[{memcmp:{offset:0,bytes:t.toBase58()}},{memcmp:{offset:64,bytes:Wt.toBase58()}}],n=await e.getProgramAccounts(Ut,{filters:r}),o=[{memcmp:{offset:0,bytes:t.toBase58()}}],i=await e.getProgramAccounts(Ut,{filters:o,dataSlice:{offset:0,length:0}}),s=new Map(n.map((e=>[e.pubkey.toBase58(),Wn(e.account.data.slice(96))]))),a=[];return i.forEach((e=>{const r=On(e.pubkey,t).toBase58(),n=s.get(r);n&&a.push(n.replace("\0",""))})),a},exports.getAllDomains=Cn,exports.getAllRegisteredDomains=async e=>{const t=[{memcmp:{offset:0,bytes:Ct.toBase58()}}];return await e.getProgramAccounts(Ut,{dataSlice:{offset:32,length:32},filters:t})},exports.getArtistPubkey=e=>{switch(e){case exports.CustomBg.DegenPoet1:return rs;case exports.CustomBg.Rgb0x001:return ns;case exports.CustomBg.Retardio1:case exports.CustomBg.Retardio2:case exports.CustomBg.Retardio3:return os;default:throw new ke(exports.ErrorType.InvalidCustomBg)}},exports.getArweaveRecord=async(e,t)=>await _i(e,t,exports.Record.ARWV,!0),exports.getBackgroundRecord=async(e,t)=>await _i(e,t,exports.Record.Background,!0),exports.getBackpackRecord=async(e,t)=>await _i(e,t,exports.Record.Backpack,!0),exports.getBscRecord=async(e,t)=>await _i(e,t,exports.Record.BSC,!0),exports.getBtcRecord=async(e,t)=>await _i(e,t,exports.Record.BTC,!0),exports.getCustomBgKeys=(e,t)=>{const r=Pn(t),n=Pn(e),o=kn(n,void 0,Xt);return{domainKey:o,bgKey:kn(r,void 0,o)}},exports.getDiscordRecord=async(e,t)=>await _i(e,t,exports.Record.Discord,!0),exports.getDogeRecord=async(e,t)=>await _i(e,t,exports.Record.DOGE,!0),exports.getDomainKey=or,exports.getDomainKeySync=Ln,exports.getDomainKeysWithReverses=async function(e,t){const r=await Cn(e,t),n=await _n(e,r);return r.map(((e,t)=>({pubKey:e,domain:n[t]})))},exports.getDomainMint=st,exports.getDomainPriceFromName=e=>{switch(Rn(e).length){case 1:return 750;case 2:return 700;case 3:return 640;case 4:return 160;default:return 20}},exports.getEmailRecord=async(e,t)=>await _i(e,t,exports.Record.Email,!0),exports.getEthRecord=async(e,t)=>await _i(e,t,exports.Record.ETH,!0),exports.getFavoriteDomain=async(t,r)=>{const[n]=Hi.getKeySync(Ki,new e.PublicKey(r)),o=await Hi.retrieve(t,n),i=await Tn(t,o.nameAccount),{registry:s,nftOwner:a}=await ht.retrieve(t,o.nameAccount),c=a||s.owner;return{domain:o.nameAccount,reverse:i,stale:!r.equals(c)}},exports.getGithubRecord=async(e,t)=>await _i(e,t,exports.Record.Github,!0),exports.getHandleAndRegistryKey=async function(t,r){const n=Pn(r.toString()),o=kn(n,Mt,Vt);let i=await $i.retrieve(t,o);return[i.twitterHandle,new e.PublicKey(i.twitterRegistryKey)]},exports.getHashedName=tr,exports.getHashedNameSync=Pn,exports.getInjectiveRecord=async(e,t)=>await _i(e,t,exports.Record.Injective,!0),exports.getIpfsRecord=async(e,t)=>await _i(e,t,exports.Record.IPFS,!0),exports.getLtcRecord=async(e,t)=>await _i(e,t,exports.Record.LTC,!0),exports.getMultipleFavoriteDomains=async(t,r)=>{const n=[],o=r.map((e=>Hi.getKeySync(Ki,e)[0])),i=(await t.getMultipleAccountsInfo(o)).map((t=>(null==t?void 0:t.data)?Hi.deserialize(null==t?void 0:t.data).nameAccount:e.PublicKey.default)),s=i.map((e=>On(e))),a=i.map(((e,t)=>Be(st(e),r[t],!0))),[c,u,f]=await Promise.all([t.getMultipleAccountsInfo(i),t.getMultipleAccountsInfo(s),t.getMultipleAccountsInfo(a)]);for(let t=0;t<r.length;t++){const o=c[t],i=u[t],s=f[t];if(!o||!i){n.push(void 0);continue}if(new e.PublicKey(null==o?void 0:o.data.slice(32,64)).equals(r[t])){n.push(Wn(null==i?void 0:i.data.slice(96)));continue}if(!s){n.push(void 0);continue}const a=Ee.decode(s.data);1!==Number(a.amount)?n.push(void 0):n.push(Wn(null==i?void 0:i.data.slice(96)))}return n},exports.getMultipleRecordsV2=async function(e,t,r,n={}){const o=r.map((e=>ji(t,e))),i=await _r.retrieveBatch(e,o);return n.deserialize?i.map(((e,t)=>{if(e)return{retrievedRecord:e,record:r[t],deserializedContent:zi(e.getContent(),r[t])}})):i.map(((e,t)=>{if(e)return{retrievedRecord:e,record:r[t]}}))},exports.getNameAccountKey=rr,exports.getNameAccountKeySync=kn,exports.getNameOwner=er,exports.getPicRecord=async(e,t)=>await _i(e,t,exports.Record.Pic,!0),exports.getPointRecord=async(e,t)=>await _i(e,t,exports.Record.POINT,!0),exports.getPythFeedAccountKey=Mn,exports.getRecord=_i,exports.getRecordKeySync=Ti,exports.getRecordV2=async function(e,t,r,n={}){const o=ji(t,r),i=await _r.retrieve(e,o);return n.deserialize?{retrievedRecord:i,deserializedContent:zi(i.getContent(),r)}:{retrievedRecord:i}},exports.getRecordV2Key=ji,exports.getRecords=async function(e,t,r,n){const o=r.map((e=>Ti(t,e))),i=await ht.retrieveBatch(e,o);return n?i.map(((e,n)=>{if(e)return Li(e,r[n],Ti(t,r[n]))})):i},exports.getRedditRecord=async(e,t)=>await _i(e,t,exports.Record.Reddit,!0),exports.getReverseKey=async(e,t)=>{const{pubkey:r,parent:n}=await or(e),o=await tr(r.toBase58());return await rr(o,Wt,t?n:void 0)},exports.getReverseKeyFromDomainKey=On,exports.getReverseKeySync=Nn,exports.getShdwRecord=async(e,t)=>await _i(e,t,exports.Record.SHDW,!0),exports.getSolRecord=Ui,exports.getTelegramRecord=async(e,t)=>await _i(e,t,exports.Record.Telegram,!0),exports.getTokenizedDomains=async(e,t)=>{const r=await dt(e,t),n=await _n(e,r.map((e=>e.nameAccount)));return n.map(((e,t)=>({key:r[t].nameAccount,mint:r[t].nftMint,reverse:e}))).filter((e=>!!e.reverse))},exports.getTwitterHandleandRegistryKeyViaFilters=async function(t,r){const n=[{memcmp:{offset:0,bytes:Vt.toBase58()}},{memcmp:{offset:32,bytes:r.toBase58()}},{memcmp:{offset:64,bytes:Mt.toBase58()}}],o=await t.getProgramAccounts(Ut,{filters:n});for(const t of o)if(t.account.data.length>ht.HEADER_LEN+32){const r=t.account.data.slice(ht.HEADER_LEN),n=new $i(Ge($i.schema,r));return[n.twitterHandle,new e.PublicKey(n.twitterRegistryKey)]}throw new ke(exports.ErrorType.AccountDoesNotExist)},exports.getTwitterRecord=async(e,t)=>await _i(e,t,exports.Record.Twitter,!0),exports.getTwitterRegistry=async function(e,t){const r=Pn(t),n=kn(r,void 0,Vt),{registry:o}=await ht.retrieve(e,n);return o},exports.getTwitterRegistryData=async function(t,r){const o=[{memcmp:{offset:0,bytes:Vt.toBase58()}},{memcmp:{offset:32,bytes:r.toBase58()}},{memcmp:{offset:64,bytes:new e.PublicKey(n.Buffer.alloc(32,0)).toBase58()}}],i=await t.getProgramAccounts(Ut,{filters:o});if(i.length>1)throw new ke(exports.ErrorType.MultipleRegistries);return i[0].account.data.slice(ht.HEADER_LEN)},exports.getTwitterRegistryKey=async function(e){const t=Pn(e);return kn(t,void 0,Vt)},exports.getUrlRecord=async(e,t)=>await _i(e,t,exports.Record.Url,!0),exports.performReverseLookup=async function(e,t){const r=await tr(t.toBase58()),n=await rr(r,Wt),{registry:o}=await ht.retrieve(e,n);if(!o.data)throw new ke(exports.ErrorType.NoAccountData);const i=o.data.slice(0,4).readUInt32LE(0);return o.data.slice(4,4+i).toString()},exports.performReverseLookupBatch=async function(e,t){let r=[];for(let e of t){const t=await tr(e.toBase58()),n=await rr(t,Wt);r.push(n)}return(await ht.retrieveBatch(e,r)).map((e=>{if(void 0===e||void 0===e.data)return;const t=e.data.slice(0,4).readUInt32LE(0);return e.data.slice(4,4+t).toString()}))},exports.reallocInstruction=function(t,r,o,i,s,a){const c=[n.Buffer.from(Int8Array.from([4])),a.toBuffer()],u=n.Buffer.concat(c),f=[{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!0,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!0,isWritable:!1}];return new e.TransactionInstruction({keys:f,programId:t,data:u})},exports.registerDomainName=async(t,r,n,o,i,s=Ft,a)=>{if(r.includes(".")||r.trim().toLowerCase()!==r)throw new ke(exports.ErrorType.InvalidDomain);const[c]=e.PublicKey.findProgramAddressSync([Nt.toBuffer()],Nt),u=Pn(r),f=kn(u,void 0,Ct),p=Pn(f.toBase58()),d=kn(p,c),[l]=e.PublicKey.findProgramAddressSync([f.toBuffer()],Nt),y=jt.findIndex((e=>null==a?void 0:a.equals(e)));let g;const w=[];if(-1!==y&&a){g=Be(s,a,!0);const e=await t.getAccountInfo(g);if(!(null==e?void 0:e.data)){const e=Re(o,g,a,s);w.push(e)}}const b=Be(s,Yt,!0),m=Ht.get(s.toBase58());if(!m)throw new ke(exports.ErrorType.PythFeedNotFound);const v=new Je({name:r,space:n,referrerIdxOpt:-1!=y?y:null}).getInstruction(Nt,Ut,Ct,f,d,e.SystemProgram.programId,c,o,i,Gt,new e.PublicKey(m.product),new e.PublicKey(m.price),b,h,e.SYSVAR_RENT_PUBKEY,l,g);return w.push(v),[[],w]},exports.registerDomainNameV2=async(t,r,n,o,i,s=Ft,a)=>{if(r.includes(".")||r.trim().toLowerCase()!==r)throw new ke(exports.ErrorType.InvalidDomain);const[c]=e.PublicKey.findProgramAddressSync([Nt.toBuffer()],Nt),u=Pn(r),f=kn(u,void 0,Ct),p=Pn(f.toBase58()),d=kn(p,c),[l]=e.PublicKey.findProgramAddressSync([f.toBuffer()],Nt),y=jt.findIndex((e=>null==a?void 0:a.equals(e)));let g;const w=[];if(-1!==y&&a){g=Be(s,a,!0);const e=await t.getAccountInfo(g);if(!(null==e?void 0:e.data)){const e=Re(o,g,a,s);w.push(e)}}const b=Be(s,Yt,!0),m=Jt.get(s.toBase58());if(!m)throw new ke(exports.ErrorType.PythFeedNotFound);const[v]=Mn(0,m),E=new nt({name:r,space:n,referrerIdxOpt:-1!=y?y:null}).getInstruction(Nt,Ut,Ct,f,d,e.SystemProgram.programId,c,o,o,o,i,v,b,h,e.SYSVAR_RENT_PUBKEY,l,g);return w.push(E),w},exports.registerFavorite=(t,r)=>{const[n]=Hi.getKeySync(Ki,r);return[(new rt).getInstruction(Ki,t,n,r,e.SystemProgram.programId)]},exports.registerFavoriteInstruction=rt,exports.registerWithNft=(t,r,n,o,i,s,a,c,u)=>{const[f]=e.PublicKey.findProgramAddressSync([n.toBuffer()],Nt);return new et({space:r,name:t}).getInstruction(Nt,Ut,Ct,n,o,e.SystemProgram.programId,Wt,i,s,a,c,u,Zt,h,e.SYSVAR_RENT_PUBKEY,f,$t)},exports.resolve=async(e,t)=>{const{pubkey:r}=Ln(t),{registry:n,nftOwner:o}=await ht.retrieve(e,r);if(o)return o;try{const r=await ts(e,n.owner,t);if(void 0!==r)return r;return await es(e,n.owner,t)}catch(e){if(e instanceof Error&&"FetchError"===e.name)throw e}return n.owner},exports.resolveSolRecordV1=es,exports.resolveSolRecordV2=ts,exports.retrieveNftOwner=ut,exports.retrieveNfts=async t=>{const r=await t.getProgramAccounts(ot,{filters:[{memcmp:{offset:0,bytes:"3"}}]});return r.map((t=>new e.PublicKey(t.account.data.slice(66,98))))},exports.retrieveRecords=dt,exports.reverseLookup=Tn,exports.reverseLookupBatch=_n,exports.serializeRecord=Ci,exports.serializeRecordV2Content=Fi,exports.serializeSolRecord=Ni,exports.transferInstruction=Xe,exports.transferNameOwnership=async function(e,t,r,n,o,i){const s=Pn(t),a=kn(s,n,o);let c;return c=n||(await ht.retrieve(e,a)).registry.owner,Xe(Ut,a,r,c,n,o,i)},exports.transferSubdomain=async(e,t,r,n,o)=>{const{pubkey:i,isSub:s,parent:a}=Ln(t);if(!a||!s)throw new ke(exports.ErrorType.InvalidSubdomain);if(!o){const{registry:t}=await ht.retrieve(e,i);o=t.owner}let c,u;n&&(c=a,u=(await ht.retrieve(e,a)).registry.owner);return Xe(Ut,i,r,o,void 0,c,u)},exports.updateInstruction=Ye,exports.updateNameRegistryData=async function(e,t,r,n,o,i){const s=Pn(t),a=kn(s,o,i);let c;return c=o||(await ht.retrieve(e,a)).registry.owner,Ye(Ut,a,new Te(r),n,c)},exports.updateRecordInstruction=async(e,t,r,n,o,i)=>{Dn(r!==exports.Record.SOL,exports.ErrorType.UnsupportedRecord);const{pubkey:s}=Ln(`${r}.${t}`,exports.RecordVersion.V1),a=await e.getAccountInfo(s);Dn(!!(null==a?void 0:a.data),exports.ErrorType.AccountDoesNotExist);const c=Ci(n,r);if((null==a?void 0:a.data.slice(96).length)!==c.length)return[Ze(Ut,s,i,o),await Xi(e,t,r,n,o,i)];return[Ye(Ut,s,new Te(0),c,o)]},exports.updateRecordV2Instruction=(t,r,n,o,i)=>{let{pubkey:s,parent:a,isSub:c}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(c&&(a=Ln(t).pubkey),!a)throw new Error("Invalid parent");const u=((t,r,n,o,i,s,a,c)=>new xr({record:s,content:Array.from(a)}).getInstruction(c,e.SystemProgram.programId,i,t,r,n,o,Br))(i,s,a,o,Ut,"".concat(r),Fi(n,r),Ir);return u},exports.updateSolRecordInstruction=async(e,t,r,n,o,i)=>{const{pubkey:s}=Ln(`${exports.Record.SOL}.${t}`,exports.RecordVersion.V1),a=await e.getAccountInfo(s);if(Dn(!!(null==a?void 0:a.data),exports.ErrorType.AccountDoesNotExist),96!==(null==a?void 0:a.data.length))return[Ze(Ut,s,i,n),await Zi(e,t,r,n,o,i)];const c=Ni(r,s,n,o);return[Ye(Ut,s,new Te(0),c,n)]},exports.validateRecordV2Content=(t,r,n,o,i,s)=>{let{pubkey:a,parent:c,isSub:u}=Ln(`${n}.${r}`,exports.RecordVersion.V2);if(u&&(c=Ln(r).pubkey),!c)throw new Error("Invalid parent");const f=((t,r,n,o,i,s,a,c)=>new Er({staleness:a}).getInstruction(c,e.SystemProgram.programId,s,t,r,n,o,Br,i))(i,a,c,o,s,Ut,t,Ir);return f},exports.verifyRightOfAssociation=async(e,t,r,n)=>{var o;const i=ji(r,t),s=await _r.retrieve(e,i),a=s.getRoAId(),c=Di.has(t)?Rr.Ethereum:Rr.Solana;if(!(n=null!=n?n:null===(o=Oi.get(t))||void 0===o?void 0:o.toBuffer()))throw new ke(exports.ErrorType.MissingVerifier);return 0===n.compare(a)&&s.header.rightOfAssociationValidation===c},exports.verifyStaleness=async(t,r,n)=>{const o=ji(n,r),{registry:i,nftOwner:s}=await ht.retrieve(t,Ln(n).pubkey),a=s||i.owner,c=await _r.retrieve(t,o),u=c.getStalenessId();return(null==a?void 0:a.equals(new e.PublicKey(u)))&&c.header.stalenessValidation===Rr.Solana},exports.writRoaRecordV2=(t,r,n,o,i)=>{let{pubkey:s,parent:a,isSub:c}=Ln(`${r}.${t}`,exports.RecordVersion.V2);if(c&&(a=Ln(t).pubkey),!a)throw new Error("Invalid parent");const u=((t,r,n,o,i,s,a)=>new Sr({roaId:Array.from(s.toBuffer())}).getInstruction(a,e.SystemProgram.programId,r,t,n,o,i,Br))(o,Ut,s,a,n,i,Ir);return u};
20
20
  //# sourceMappingURL=index.cjs.map