@solana/web3.js 2.0.0-experimental.a8f1f88 → 2.0.0-experimental.aa4a701

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1155 -43
  3. package/dist/index.browser.cjs +712 -17
  4. package/dist/index.browser.cjs.map +1 -1
  5. package/dist/index.browser.js +694 -19
  6. package/dist/index.browser.js.map +1 -1
  7. package/dist/index.development.js +2341 -912
  8. package/dist/index.development.js.map +1 -1
  9. package/dist/index.native.js +683 -21
  10. package/dist/index.native.js.map +1 -1
  11. package/dist/index.node.cjs +701 -17
  12. package/dist/index.node.cjs.map +1 -1
  13. package/dist/index.node.js +683 -19
  14. package/dist/index.node.js.map +1 -1
  15. package/dist/index.production.min.js +76 -33
  16. package/dist/types/airdrop-confirmer.d.ts +20 -0
  17. package/dist/types/airdrop-confirmer.d.ts.map +1 -0
  18. package/dist/types/airdrop.d.ts +23 -0
  19. package/dist/types/airdrop.d.ts.map +1 -0
  20. package/dist/types/cached-abortable-iterable.d.ts +11 -0
  21. package/dist/types/cached-abortable-iterable.d.ts.map +1 -0
  22. package/dist/types/index.d.ts +7 -0
  23. package/dist/types/index.d.ts.map +1 -0
  24. package/dist/types/rpc-default-config.d.ts.map +1 -0
  25. package/dist/types/rpc-integer-overflow-error.d.ts.map +1 -0
  26. package/dist/types/rpc-request-coalescer.d.ts.map +1 -0
  27. package/dist/types/rpc-request-deduplication.d.ts.map +1 -0
  28. package/dist/types/rpc-subscription-coalescer.d.ts +10 -0
  29. package/dist/types/rpc-subscription-coalescer.d.ts.map +1 -0
  30. package/dist/types/rpc-transport.d.ts.map +1 -0
  31. package/dist/types/rpc-websocket-autopinger.d.ts.map +1 -0
  32. package/dist/types/rpc-websocket-connection-sharding.d.ts +13 -0
  33. package/dist/types/rpc-websocket-connection-sharding.d.ts.map +1 -0
  34. package/dist/types/rpc-websocket-transport.d.ts +6 -0
  35. package/dist/types/rpc-websocket-transport.d.ts.map +1 -0
  36. package/dist/types/rpc.d.ts +2 -1
  37. package/dist/types/rpc.d.ts.map +1 -0
  38. package/dist/types/send-transaction.d.ts +38 -0
  39. package/dist/types/send-transaction.d.ts.map +1 -0
  40. package/dist/types/transaction-confirmation-strategy-blockheight.d.ts +10 -0
  41. package/dist/types/transaction-confirmation-strategy-blockheight.d.ts.map +1 -0
  42. package/dist/types/transaction-confirmation-strategy-nonce.d.ts +15 -0
  43. package/dist/types/transaction-confirmation-strategy-nonce.d.ts.map +1 -0
  44. package/dist/types/transaction-confirmation-strategy-racer.d.ts +14 -0
  45. package/dist/types/transaction-confirmation-strategy-racer.d.ts.map +1 -0
  46. package/dist/types/transaction-confirmation-strategy-recent-signature.d.ts +13 -0
  47. package/dist/types/transaction-confirmation-strategy-recent-signature.d.ts.map +1 -0
  48. package/dist/types/transaction-confirmation-strategy-timeout.d.ts +8 -0
  49. package/dist/types/transaction-confirmation-strategy-timeout.d.ts.map +1 -0
  50. package/dist/types/transaction-confirmation.d.ts +37 -0
  51. package/dist/types/transaction-confirmation.d.ts.map +1 -0
  52. package/package.json +20 -17
@@ -2,43 +2,86 @@ this.globalThis = this.globalThis || {};
2
2
  this.globalThis.solanaWeb3 = (function (exports) {
3
3
  'use strict';
4
4
 
5
- var ft=Object.create;var de=Object.defineProperty;var mt=Object.getOwnPropertyDescriptor;var gt=Object.getOwnPropertyNames;var bt=Object.getPrototypeOf,ht=Object.prototype.hasOwnProperty;var yt=(e,t,r)=>t in e?de(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var wt=(e,t)=>()=>(e&&(t=e(e=0)),t);var St=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Et=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of gt(t))!ht.call(e,o)&&o!==r&&de(e,o,{get:()=>t[o],enumerable:!(n=mt(t,o))||n.enumerable});return e};var xt=(e,t,r)=>(r=e!=null?ft(bt(e)):{},Et(t||!e||!e.__esModule?de(r,"default",{value:e,enumerable:!0}):r,e));var I=(e,t,r)=>(yt(e,typeof t!="symbol"?t+"":t,r),r);var a=wt(()=>{});var ct=St((Bs,at)=>{a();var vr=Object.prototype.toString,_r=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};function J(e,t){var r,n,o,s,i,c,l;if(e===!0)return "true";if(e===!1)return "false";switch(typeof e){case"object":if(e===null)return null;if(e.toJSON&&typeof e.toJSON=="function")return J(e.toJSON(),t);if(l=vr.call(e),l==="[object Array]"){for(o="[",n=e.length-1,r=0;r<n;r++)o+=J(e[r],!0)+",";return n>-1&&(o+=J(e[r],!0)),o+"]"}else if(l==="[object Object]"){for(s=_r(e).sort(),n=s.length,o="",r=0;r<n;)i=s[r],c=J(e[i],!1),c!==void 0&&(o&&(o+=","),o+=JSON.stringify(i)+":"+c),r++;return "{"+o+"}"}else return JSON.stringify(e);case"function":case"undefined":return t?null:void 0;case"string":return JSON.stringify(e);default:return isFinite(e)?e:null}}at.exports=function(e){var t=J(e,!1);if(t!==void 0)return ""+t};});a();a();a();a();a();var N=e=>{let t=e.reduce((o,s)=>o+s.length,0),r=new Uint8Array(t),n=0;return e.forEach(o=>{r.set(o,n),n+=o.length;}),r},Ie=(e,t)=>{if(e.length>=t)return e;let r=new Uint8Array(t).fill(0);return r.set(e),r},X=(e,t)=>Ie(e.slice(0,t),t);a();var k=class extends Error{constructor(r){super(`Serializer [${r}] cannot deserialize empty buffers.`);I(this,"name","DeserializingEmptyBufferError");}},R=class extends Error{constructor(r,n,o){super(`Serializer [${r}] expected ${n} bytes, got ${o}.`);I(this,"name","NotEnoughBytesError");}},L=class extends Error{constructor(r){r??(r="Expected a fixed-size serializer, got a variable-size one.");super(r);I(this,"name","ExpectedFixedSizeSerializerError");}};a();function F(e,t,r){return {description:r??`fixed(${t}, ${e.description})`,fixedSize:t,maxSize:t,serialize:n=>X(e.serialize(n),t),deserialize:(n,o=0)=>{if(n=n.slice(o,o+t),n.length<t)throw new R("fixSerializer",t,n.length);e.fixedSize!==null&&(n=X(n,e.fixedSize));let[s]=e.deserialize(n,0);return [s,o+t]}}}a();function Z(e,t,r){return {description:e.description,fixedSize:e.fixedSize,maxSize:e.maxSize,serialize:n=>e.serialize(t(n)),deserialize:(n,o=0)=>{let[s,i]=e.deserialize(n,o);return r?[r(s,n,o),i]:[s,i]}}}a();a();a();var Q=class extends Error{constructor(r,n,o){let s=`Expected a string of base ${n}, got [${r}].`;super(s);I(this,"name","InvalidBaseStringError");this.cause=o;}};var Te=e=>{let t=e.length,r=BigInt(t);return {description:`base${t}`,fixedSize:null,maxSize:null,serialize(n){if(!n.match(new RegExp(`^[${e}]*$`)))throw new Q(n,t);if(n==="")return new Uint8Array;let o=[...n],s=o.findIndex(m=>m!==e[0]);s=s===-1?o.length:s;let i=Array(s).fill(0);if(s===o.length)return Uint8Array.from(i);let c=o.slice(s),l=0n,d=1n;for(let m=c.length-1;m>=0;m-=1)l+=d*BigInt(e.indexOf(c[m])),d*=r;let p=[];for(;l>0n;)p.unshift(Number(l%256n)),l/=256n;return Uint8Array.from(i.concat(p))},deserialize(n,o=0){if(n.length===0)return ["",0];let s=n.slice(o),i=s.findIndex(p=>p!==0);i=i===-1?s.length:i;let c=e[0].repeat(i);if(i===s.length)return [c,n.length];let l=s.slice(i).reduce((p,m)=>p*256n+BigInt(m),0n),d=[];for(;l>0n;)d.unshift(e[Number(l%r)]),l/=r;return [c+d.join(""),n.length]}}};a();var D=Te("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");a();var Re=e=>e.replace(/\u0000/g,"");a();var pe={description:"utf8",fixedSize:null,maxSize:null,serialize(e){return new TextEncoder().encode(e)},deserialize(e,t=0){let r=new TextDecoder().decode(e.slice(t));return [Re(r),e.length]}};a();a();var ee;(function(e){e.Little="le",e.Big="be";})(ee||(ee={}));a();var te=class extends RangeError{constructor(r,n,o,s){super(`Serializer [${r}] expected number to be between ${n} and ${o}, got ${s}.`);I(this,"name","NumberOutOfRangeError");}};a();function re(e){let t,r=e.name;return e.size>1&&(t=!("endian"in e.options)||e.options.endian===ee.Little,r+=t?"(le)":"(be)"),{description:e.options.description??r,fixedSize:e.size,maxSize:e.size,serialize(n){e.range&&fe(e.name,e.range[0],e.range[1],n);let o=new ArrayBuffer(e.size);return e.set(new DataView(o),n,t),new Uint8Array(o)},deserialize(n,o=0){let s=n.slice(o,o+e.size);Tt("i8",s,e.size);let i=It(s);return [e.get(i,t),o+e.size]}}}var At=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),It=e=>new DataView(At(e)),fe=(e,t,r,n)=>{if(n<t||n>r)throw new te(e,t,r,n)},Tt=(e,t,r)=>{if(t.length===0)throw new k(e);if(t.length<r)throw new R(e,r,t.length)};a();var O=(e={})=>re({name:"u8",size:1,range:[0,+"0xff"],set:(t,r)=>t.setUint8(0,Number(r)),get:t=>t.getUint8(0),options:e});a();var j=(e={})=>re({name:"u32",size:4,range:[0,+"0xffffffff"],set:(t,r,n)=>t.setUint32(0,Number(r),n),get:(t,r)=>t.getUint32(0,r),options:e});a();var v=(e={})=>({description:e.description??"shortU16",fixedSize:null,maxSize:3,serialize:t=>{fe("shortU16",0,65535,t);let r=[0];for(let n=0;;n+=1){let o=t>>n*7;if(o===0)break;let s=127&o;r[n]=s,n>0&&(r[n-1]|=128);}return new Uint8Array(r)},deserialize:(t,r=0)=>{let n=0,o=0;for(;++o;){let s=o-1,i=t[r+s],c=127&i;if(n|=c<<s*7,!(i&128))break}return [n,r+o]}});a();a();var ne=class extends Error{constructor(r,n,o){super(`Expected [${r}] to have ${n} items, got ${o}.`);I(this,"name","InvalidNumberOfItemsError");}},oe=class extends Error{constructor(r,n){super(`The remainder of the buffer (${r} bytes) cannot be split into chunks of ${n} bytes. Serializers of "remainder" size must have a remainder that is a multiple of its item size. In other words, ${r} modulo ${n} should be equal to zero.`);I(this,"name","InvalidArrayLikeRemainderSizeError");}},se=class extends Error{constructor(r){super(`Unrecognized array-like serializer size: ${JSON.stringify(r)}`);I(this,"name","UnrecognizedArrayLikeSerializerSizeError");}};a();a();function $(e){return e.reduce((t,r)=>t===null||r===null?null:t+r,0)}function ze(e,t,r,n){if(typeof e=="number")return [e,n];if(typeof e=="object")return e.deserialize(r,n);if(e==="remainder"){let o=$(t);if(o===null)throw new L('Serializers of "remainder" size must have fixed-size items.');let s=r.slice(n).length;if(s%o!==0)throw new oe(s,o);return [s/o,n]}throw new se(e)}function U(e){return typeof e=="object"?e.description:`${e}`}function me(e,t){if(typeof e!="number")return null;if(e===0)return 0;let r=$(t);return r===null?null:r*e}function ve(e,t){return typeof e=="object"?e.serialize(t):new Uint8Array}function B(e,t={}){let r=t.size??j();if(r==="remainder"&&e.fixedSize===null)throw new L('Serializers of "remainder" size must have fixed-size items.');return {description:t.description??`array(${e.description}; ${U(r)})`,fixedSize:me(r,[e.fixedSize]),maxSize:me(r,[e.maxSize]),serialize:n=>{if(typeof r=="number"&&n.length!==r)throw new ne("array",r,n.length);return N([ve(r,n.length),...n.map(o=>e.serialize(o))])},deserialize:(n,o=0)=>{if(typeof r=="object"&&n.slice(o).length===0)return [[],o];let[s,i]=ze(r,[e.fixedSize],n,o);o=i;let c=[];for(let l=0;l<s;l+=1){let[d,p]=e.deserialize(n,o);c.push(d),o=p;}return [c,o]}}}a();function ie(e={}){let t=e.size??"variable",r=e.description??`bytes(${U(t)})`,n={description:r,fixedSize:null,maxSize:null,serialize:o=>new Uint8Array(o),deserialize:(o,s=0)=>{let i=o.slice(s);return [i,s+i.length]}};return t==="variable"?n:typeof t=="number"?F(n,t,r):{description:r,fixedSize:null,maxSize:null,serialize:o=>{let s=n.serialize(o),i=t.serialize(s.length);return N([i,s])},deserialize:(o,s=0)=>{if(o.slice(s).length===0)throw new k("bytes");let[i,c]=t.deserialize(o,s),l=Number(i);s=c;let d=o.slice(s,s+l);if(d.length<l)throw new R("bytes",l,d.length);let[p,m]=n.deserialize(d);return s+=m,[p,s]}}}a();function K(e={}){let t=e.size??j(),r=e.encoding??pe,n=e.description??`string(${r.description}; ${U(t)})`;return t==="variable"?{...r,description:n}:typeof t=="number"?F(r,t,n):{description:n,fixedSize:null,maxSize:null,serialize:o=>{let s=r.serialize(o),i=t.serialize(s.length);return N([i,s])},deserialize:(o,s=0)=>{if(o.slice(s).length===0)throw new k("string");let[i,c]=t.deserialize(o,s),l=Number(i);s=c;let d=o.slice(s,s+l);if(d.length<l)throw new R("string",l,d.length);let[p,m]=r.deserialize(d);return s+=m,[p,s]}}}a();function C(e,t={}){let r=e.map(([n,o])=>`${String(n)}: ${o.description}`).join(", ");return {description:t.description??`struct(${r})`,fixedSize:$(e.map(([,n])=>n.fixedSize)),maxSize:$(e.map(([,n])=>n.maxSize)),serialize:n=>{let o=e.map(([s,i])=>i.serialize(n[s]));return N(o)},deserialize:(n,o=0)=>{let s={};return e.forEach(([i,c])=>{let[l,d]=c.deserialize(n,o);o=d,s[i]=l;}),[s,o]}}}a();function H(){if(!globalThis.isSecureContext)throw new Error("Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts")}var P;async function Rt(e){return P===void 0&&(P=new Promise(t=>{e.generateKey("Ed25519",!1,["sign","verify"]).catch(()=>{t(P=!1);}).then(()=>{t(P=!0);});})),typeof P=="boolean"?P:await P}async function _e(){if(H(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.digest!="function")throw new Error("No digest implementation could be found")}async function Ne(){if(H(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.generateKey!="function")throw new Error("No key generation implementation could be found");if(!await Rt(globalThis.crypto.subtle))throw new Error(`This runtime does not support the generation of Ed25519 key pairs.
5
+ var Dt=Object.create;var Ze=Object.defineProperty;var Nt=Object.getOwnPropertyDescriptor;var kt=Object.getOwnPropertyNames;var Bt=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty;var _t=(e,n)=>()=>(e&&(n=e(e=0)),n);var Ot=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var Lt=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of kt(n))!Pt.call(e,o)&&o!==t&&Ze(e,o,{get:()=>n[o],enumerable:!(r=Nt(n,o))||r.enumerable});return e};var Qe=(e,n,t)=>(t=e!=null?Dt(Bt(e)):{},Lt(n||!e||!e.__esModule?Ze(t,"default",{value:e,enumerable:!0}):t,e));var l=_t(()=>{});var qe=Ot((va,bt)=>{l();var vo=Object.prototype.toString,zo=Object.keys||function(e){var n=[];for(var t in e)n.push(t);return n};function oe(e,n){var t,r,o,i,a,s,d;if(e===!0)return "true";if(e===!1)return "false";switch(typeof e){case"object":if(e===null)return null;if(e.toJSON&&typeof e.toJSON=="function")return oe(e.toJSON(),n);if(d=vo.call(e),d==="[object Array]"){for(o="[",r=e.length-1,t=0;t<r;t++)o+=oe(e[t],!0)+",";return r>-1&&(o+=oe(e[t],!0)),o+"]"}else if(d==="[object Object]"){for(i=zo(e).sort(),r=i.length,o="",t=0;t<r;)a=i[t],s=oe(e[a],!1),s!==void 0&&(o&&(o+=","),o+=JSON.stringify(a)+":"+s),t++;return "{"+o+"}"}else return JSON.stringify(e);case"function":case"undefined":return n?null:void 0;case"string":return JSON.stringify(e);default:return isFinite(e)?e:null}}bt.exports=function(e){var n=oe(e,!1);if(n!==void 0)return ""+n};});l();l();l();function M(e,n,t=0){if(n.length-t<=0)throw new Error(`Codec [${e}] cannot decode empty byte arrays.`)}function P(e,n,t,r=0){let o=t.length-r;if(o<n)throw new Error(`Codec [${e}] expected ${n} bytes, got ${o}.`)}var H=e=>{let n=e.filter(i=>i.length);if(n.length===0)return e.length?e[0]:new Uint8Array;if(n.length===1)return n[0];let t=n.reduce((i,a)=>i+a.length,0),r=new Uint8Array(t),o=0;return n.forEach(i=>{r.set(i,o),o+=i.length;}),r},Ft=(e,n)=>{if(e.length>=n)return e;let t=new Uint8Array(n).fill(0);return t.set(e),t},we=(e,n)=>Ft(e.length<=n?e:e.slice(0,n),n);function _(e,n,t){if(e.fixedSize!==n.fixedSize)throw new Error(`Encoder and decoder must have the same fixed size, got [${e.fixedSize}] and [${n.fixedSize}].`);if(e.maxSize!==n.maxSize)throw new Error(`Encoder and decoder must have the same max size, got [${e.maxSize}] and [${n.maxSize}].`);if(t===void 0&&e.description!==n.description)throw new Error(`Encoder and decoder must have the same description, got [${e.description}] and [${n.description}]. Pass a custom description as a third argument if you want to override the description and bypass this error.`);return {decode:n.decode,description:t??e.description,encode:e.encode,fixedSize:e.fixedSize,maxSize:e.maxSize}}function en(e,n,t){return {description:t??`fixed(${n}, ${e.description})`,fixedSize:n,maxSize:n}}function ie(e,n,t){return {...en(e,n,t),encode:r=>we(e.encode(r),n)}}function ae(e,n,t){return {...en(e,n,t),decode:(r,o=0)=>{P("fixCodec",n,r,o),(o>0||r.length>n)&&(r=r.slice(o,o+n)),e.fixedSize!==null&&(r=we(r,e.fixedSize));let[i]=e.decode(r,0);return [i,o+n]}}}function K(e,n){return {description:e.description,encode:t=>e.encode(n(t)),fixedSize:e.fixedSize,maxSize:e.maxSize}}function Y(e,n){return {decode:(t,r=0)=>{let[o,i]=e.decode(t,r);return [n(o,t,r),i]},description:e.description,fixedSize:e.fixedSize,maxSize:e.maxSize}}l();l();function nn(e,n,t,r){if(r<n||r>t)throw new Error(`Codec [${e}] expected number to be in the range [${n}, ${t}], got ${r}.`)}function tn(e){let n,t=e.name;return e.size>1&&(n=!("endian"in e.options)||e.options.endian===0,t+=n?"(le)":"(be)"),{description:e.options.description??t,fixedSize:e.size,littleEndian:n,maxSize:e.size}}function rn(e){let n=tn(e);return {description:n.description,encode(t){e.range&&nn(e.name,e.range[0],e.range[1],t);let r=new ArrayBuffer(e.size);return e.set(new DataView(r),t,n.littleEndian),new Uint8Array(r)},fixedSize:n.fixedSize,maxSize:n.maxSize}}function on(e){let n=tn(e);return {decode(t,r=0){M(n.description,t,r),P(n.description,e.size,t,r);let o=new DataView(Ut(t,r,e.size));return [e.get(o,n.littleEndian),r+e.size]},description:n.description,fixedSize:n.fixedSize,maxSize:n.maxSize}}function Ut(e,n,t){let r=e.byteOffset+(n??0),o=t??e.byteLength;return e.buffer.slice(r,r+o)}var R=(e={})=>({description:e.description??"shortU16",encode:n=>{nn("shortU16",0,65535,n);let t=[0];for(let r=0;;r+=1){let o=n>>r*7;if(o===0)break;let i=127&o;t[r]=i,r>0&&(t[r-1]|=128);}return new Uint8Array(t)},fixedSize:null,maxSize:3}),v=(e={})=>({decode:(n,t=0)=>{let r=0,o=0;for(;++o;){let i=o-1,a=n[t+i],s=127&a;if(r|=s<<i*7,!(a&128))break}return [r,t+o]},description:e.description??"shortU16",fixedSize:null,maxSize:3});var se=(e={})=>rn({name:"u32",options:e,range:[0,+"0xffffffff"],set:(n,t,r)=>n.setUint32(0,t,r),size:4}),ce=(e={})=>on({get:(n,t)=>n.getUint32(0,t),name:"u32",options:e,size:4});var O=(e={})=>rn({name:"u8",options:e,range:[0,+"0xff"],set:(n,t)=>n.setUint8(0,t),size:1}),L=(e={})=>on({get:n=>n.getUint8(0),name:"u8",options:e,size:1});function $t(e,n,t=n){if(!n.match(new RegExp(`^[${e}]*$`)))throw new Error(`Expected a string of base ${e.length}, got [${t}].`)}var Wt=e=>{let n=e.length,t=BigInt(n);return {description:`base${n}`,encode(r){if($t(e,r),r==="")return new Uint8Array;let o=[...r],i=o.findIndex(p=>p!==e[0]);i=i===-1?o.length:i;let a=Array(i).fill(0);if(i===o.length)return Uint8Array.from(a);let s=o.slice(i),d=0n,u=1n;for(let p=s.length-1;p>=0;p-=1)d+=u*BigInt(e.indexOf(s[p])),u*=t;let f=[];for(;d>0n;)f.unshift(Number(d%256n)),d/=256n;return Uint8Array.from(a.concat(f))},fixedSize:null,maxSize:null}},Mt=e=>{let n=e.length,t=BigInt(n);return {decode(r,o=0){let i=o===0?r:r.slice(o);if(i.length===0)return ["",0];let a=i.findIndex(f=>f!==0);a=a===-1?i.length:a;let s=e[0].repeat(a);if(a===i.length)return [s,r.length];let d=i.slice(a).reduce((f,p)=>f*256n+BigInt(p),0n),u=[];for(;d>0n;)u.unshift(e[Number(d%t)]),d/=t;return [s+u.join(""),r.length]},description:`base${n}`,fixedSize:null,maxSize:null}};var an="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",D=()=>Wt(an),F=()=>Mt(an);var sn=()=>({description:"base64",encode(e){try{let n=atob(e).split("").map(t=>t.charCodeAt(0));return new Uint8Array(n)}catch{throw new Error(`Expected a string of base 64, got [${e}].`)}},fixedSize:null,maxSize:null});var Ht=e=>e.replace(/\u0000/g,"");var Kt=globalThis.TextDecoder,jt=globalThis.TextEncoder,Gt=()=>{let e;return {description:"utf8",encode:n=>new Uint8Array((e||(e=new jt)).encode(n)),fixedSize:null,maxSize:null}},Vt=()=>{let e;return {decode(n,t=0){let r=(e||(e=new Kt)).decode(n.slice(t));return [Ht(r),n.length]},description:"utf8",fixedSize:null,maxSize:null}};var de=(e={})=>{let n=e.size??se(),t=e.encoding??Gt(),r=e.description??`string(${t.description}; ${cn(n)})`;return n==="variable"?{...t,description:r}:typeof n=="number"?ie(t,n,r):{description:r,encode:o=>{let i=t.encode(o),a=n.encode(i.length);return H([a,i])},fixedSize:null,maxSize:null}},ue=(e={})=>{let n=e.size??ce(),t=e.encoding??Vt(),r=e.description??`string(${t.description}; ${cn(n)})`;return n==="variable"?{...t,description:r}:typeof n=="number"?ae(t,n,r):{decode:(o,i=0)=>{M("string",o,i);let[a,s]=n.decode(o,i),d=Number(a);i=s;let u=o.slice(i,i+d);P("string",d,u);let[f,p]=t.decode(u);return i+=p,[f,i]},description:r,fixedSize:null,maxSize:null}};function cn(e){return typeof e=="object"?e.description:`${e}`}l();function J(){if(!globalThis.isSecureContext)throw new Error("Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts")}var U;async function qt(e){return U===void 0&&(U=new Promise(n=>{e.generateKey("Ed25519",!1,["sign","verify"]).catch(()=>{n(U=!1);}).then(()=>{n(U=!0);});})),typeof U=="boolean"?U:await U}async function dn(){if(J(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.digest!="function")throw new Error("No digest implementation could be found")}async function un(){if(J(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.generateKey!="function")throw new Error("No key generation implementation could be found");if(!await qt(globalThis.crypto.subtle))throw new Error(`This runtime does not support the generation of Ed25519 key pairs.
6
6
 
7
7
  Install and import \`@solana/webcrypto-ed25519-polyfill\` before generating keys in environments that do not support Ed25519.
8
8
 
9
- For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20`)}async function ke(){if(H(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new Error("No key export implementation could be found")}async function Oe(){if(H(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.sign!="function")throw new Error("No signing implementation could be found")}async function Be(){if(H(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.verify!="function")throw new Error("No signature verification implementation could be found")}function No(e){try{if(e.length<32||e.length>44)throw new Error("Expected input string to decode to a byte array of length 32.");let r=D.serialize(e).byteLength;if(r!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${r}`)}catch(t){throw new Error(`\`${e}\` is not a base-58 encoded address`,{cause:t})}}function W(e){return K({description:e?.description??(""),encoding:D,size:32})}function ce(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:!1,localeMatcher:"best fit",numeric:!1,sensitivity:"variant",usage:"sort"}).compare}var vt=37095705934669439343138083508754565189542113879843219016388785533085940283555n,S=57896044618658097711785492504343953926634992332820282019728792003956564819949n,Ce=19681161376707505956807079304988542015446066515923890162744021073123829784752n;function T(e){let t=e%S;return t>=0n?t:S+t}function _(e,t){let r=e;for(;t-- >0n;)r*=r,r%=S;return r}function _t(e){let r=e*e%S*e%S,n=_(r,2n)*r%S,o=_(n,1n)*e%S,s=_(o,5n)*o%S,i=_(s,10n)*s%S,c=_(i,20n)*i%S,l=_(c,40n)*c%S,d=_(l,80n)*l%S,p=_(d,80n)*l%S,m=_(p,10n)*s%S;return _(m,2n)*e%S}function Nt(e,t){let r=T(t*t*t),n=T(r*r*t),o=_t(e*n),s=T(e*r*o),i=T(t*s*s),c=s,l=T(s*Ce),d=i===e,p=i===T(-e),m=i===T(-e*Ce);return d&&(s=c),(p||m)&&(s=l),(T(s)&1n)===1n&&(s=T(-s)),!d&&!p?null:s}function kt(e,t){let r=T(e*e),n=T(r-1n),o=T(vt*r+1n),s=Nt(n,o);if(s===null)return !1;let i=(t&128)!==0;return !(s===0n&&i)}function Ot(e){let t=e.toString(16);return t.length===1?`0${t}`:t}function Bt(e){let r=`0x${e.reduce((n,o,s)=>`${Ot(s===31?o&-129:o)}${n}`,"")}`;return BigInt(r)}async function Ct(e){if(e.byteLength!==32)return !1;let t=Bt(e);return kt(t,e[31])}var De=32,Le=16,ae=[80,114,111,103,114,97,109,68,101,114,105,118,101,100,65,100,100,114,101,115,115],Pe=class extends Error{};async function Lt({programAddress:e,seeds:t}){if(await _e(),t.length>Le)throw new Error(`A maximum of ${Le} seeds may be supplied when creating an address`);let r,n=t.reduce((l,d,p)=>{let m=typeof d=="string"?(r||(r=new TextEncoder)).encode(d):d;if(m.byteLength>De)throw new Error(`The seed at index ${p} exceeds the maximum length of 32 bytes`);return l.push(...m),l},[]),o=W(),s=o.serialize(e),i=await crypto.subtle.digest("SHA-256",new Uint8Array([...n,...s,...ae])),c=new Uint8Array(i);if(await Ct(c))throw new Pe("Invalid seeds; point must fall off the Ed25519 curve");return o.deserialize(c)[0]}async function ko({programAddress:e,seeds:t}){let r=255;for(;r>0;)try{return {bumpSeed:r,pda:await Lt({programAddress:e,seeds:[...t,new Uint8Array([r])]})}}catch(n){if(n instanceof Pe)r--;else throw n}throw new Error("Unable to find a viable program address bump seed")}async function Oo({baseAddress:e,programAddress:t,seed:r}){let{serialize:n,deserialize:o}=W(),s=typeof r=="string"?new TextEncoder().encode(r):r;if(s.byteLength>De)throw new Error("The seed exceeds the maximum length of 32 bytes");let i=n(t);if(i.length>=ae.length&&i.slice(-ae.length).every((d,p)=>d===ae[p]))throw new Error("programAddress cannot end with the PDA marker");let c=await crypto.subtle.digest("SHA-256",new Uint8Array([...n(e),...s,...i])),l=new Uint8Array(c);return o(l)[0]}async function $e(e){if(await ke(),e.type!=="public"||e.algorithm.name!=="Ed25519")throw new Error("The `CryptoKey` must be an `Ed25519` public key");let t=await crypto.subtle.exportKey("raw",e),[r]=W().deserialize(new Uint8Array(t));return r}a();var Dt=(e=>(e[e.WRITABLE_SIGNER=3]="WRITABLE_SIGNER",e[e.READONLY_SIGNER=2]="READONLY_SIGNER",e[e.WRITABLE=1]="WRITABLE",e[e.READONLY=0]="READONLY",e))(Dt||{}),Ue=2,ge=1;function Do(e){return e&~Ue}function Po(e){return e&~ge}function $o(e){return e>=2}function Uo(e){return (e&ge)!==0}function Wo(e,t){return e|t}function Mo(e){return e|Ue}function Fo(e){return e|ge}a();async function Go(){return await Ne(),await crypto.subtle.generateKey("Ed25519",!1,["sign","verify"])}async function We(e,t){await Oe();let r=await crypto.subtle.sign("Ed25519",e,t);return new Uint8Array(r)}async function Vo(e,t,r){return await Be(),await crypto.subtle.verify("Ed25519",e,t,r)}a();function q(e){if("signatures"in e){let{signatures:t,...r}=e;return r}else return e}function Qo(e){try{if(e.length<32||e.length>44)throw new Error("Expected input string to decode to a byte array of length 32.");let r=D.serialize(e).byteLength;if(r!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${r}`)}catch(t){throw new Error(`\`${e}\` is not a blockhash`,{cause:t})}}function es(e,t){if("lifetimeConstraint"in t&&t.lifetimeConstraint.blockhash===e.blockhash&&t.lifetimeConstraint.lastValidBlockHeight===e.lastValidBlockHeight)return t;let r={...q(t),lifetimeConstraint:e};return Object.freeze(r),r}function ts({version:e}){let t={instructions:[],version:e};return Object.freeze(t),t}var z=(e=>(e[e.WRITABLE_SIGNER=3]="WRITABLE_SIGNER",e[e.READONLY_SIGNER=2]="READONLY_SIGNER",e[e.WRITABLE=1]="WRITABLE",e[e.READONLY=0]="READONLY",e))(z||{}),Pt=1;function G(e){return e>=2}function V(e){return (e&Pt)!==0}function Me(e,t){return e|t}var Ke="SysvarRecentB1ockHashes11111111111111111111",He="11111111111111111111111111111111";function rs(e){if(!Ge(e))throw new Error("Transaction is not a durable nonce transaction")}function $t(e,t){return {accounts:[{address:e,role:z.WRITABLE},{address:Ke,role:z.READONLY},{address:t,role:z.READONLY_SIGNER}],data:new Uint8Array([4,0,0,0]),programAddress:He}}function Ut(e){return e.programAddress===He&&e.data!=null&&Wt(e.data)&&e.accounts?.length===3&&e.accounts[0].address!=null&&e.accounts[0].role===z.WRITABLE&&e.accounts[1].address===Ke&&e.accounts[1].role===z.READONLY&&e.accounts[2].address!=null&&e.accounts[2].role===z.READONLY_SIGNER}function Wt(e){return e.byteLength===4&&e[0]===4&&e[1]===0&&e[2]===0&&e[3]===0}function Ge(e){return "lifetimeConstraint"in e&&typeof e.lifetimeConstraint.nonce=="string"&&e.instructions[0]!=null&&Ut(e.instructions[0])}function ns({nonce:e,nonceAccountAddress:t,nonceAuthorityAddress:r},n){let o=Ge(n);if(o&&n.lifetimeConstraint.nonce===e&&n.instructions[0].accounts[0].address===t&&n.instructions[0].accounts[2].address===r)return n;let s={...q(n),instructions:[$t(t,r),...o?n.instructions.slice(1):n.instructions],lifetimeConstraint:{nonce:e}};return Object.freeze(s),s}function os(e,t){if("feePayer"in t&&e===t.feePayer)return t;let r={...q(t),feePayer:e};return Object.freeze(r),r}function ss(e,t){let r={...q(t),instructions:[...t.instructions,e]};return Object.freeze(r),r}function is(e,t){let r={...q(t),instructions:[e,...t.instructions]};return Object.freeze(r),r}function Fe(e,t,r){e[t]=r(e[t]??{role:z.READONLY});}var b=Symbol("AddressMapTypeProperty");function Mt(e,t){let r={[e]:{[b]:0,role:z.WRITABLE_SIGNER}},n=new Set;for(let o of t){Fe(r,o.programAddress,i=>{if(n.add(o.programAddress),b in i){if(V(i.role))switch(i[b]){case 0:throw new Error(`This transaction includes an address (\`${o.programAddress}\`) which is both invoked and set as the fee payer. Program addresses may not pay fees.`);default:throw new Error(`This transaction includes an address (\`${o.programAddress}\`) which is both invoked and marked writable. Program addresses may not be writable.`)}if(i[b]===2)return i}return {[b]:2,role:z.READONLY}});let s;if(o.accounts)for(let i of o.accounts)Fe(r,i.address,c=>{let{address:l,...d}=i;if(b in c)switch(c[b]){case 0:return c;case 1:{let p=Me(c.role,d.role);if("lookupTableAddress"in d){if(c.lookupTableAddress!==d.lookupTableAddress&&(s||(s=ce()))(d.lookupTableAddress,c.lookupTableAddress)<0)return {[b]:1,...d,role:p}}else if(G(d.role))return {[b]:2,role:p};return c.role!==p?{...c,role:p}:c}case 2:{let p=Me(c.role,d.role);if(n.has(i.address)){if(V(d.role))throw new Error(`This transaction includes an address (\`${i.address}\`) which is both invoked and marked writable. Program addresses may not be writable.`);return c.role!==p?{...c,role:p}:c}else return "lookupTableAddress"in d&&!G(c.role)?{...d,[b]:1,role:p}:c.role!==p?{...c,role:p}:c}}return "lookupTableAddress"in d?{...d,[b]:1}:{...d,[b]:2}});}return r}function Ft(e){let t;return Object.entries(e).sort(([n,o],[s,i])=>{if(o[b]!==i[b]){if(o[b]===0)return -1;if(i[b]===0)return 1;if(o[b]===2)return -1;if(i[b]===2)return 1}let c=G(o.role);if(c!==G(i.role))return c?-1:1;let l=V(o.role);return l!==V(i.role)?l?-1:1:(t||(t=ce()),o[b]===1&&i[b]===1&&o.lookupTableAddress!==i.lookupTableAddress?t(o.lookupTableAddress,i.lookupTableAddress):t(n,s))}).map(([n,o])=>({address:n,...o}))}function jt(e){var t;let r={};for(let n of e){if(!("lookupTableAddress"in n))continue;let o=r[t=n.lookupTableAddress]||(r[t]={readableIndices:[],writableIndices:[]});n.role===z.WRITABLE?o.writableIndices.push(n.addressIndex):o.readableIndices.push(n.addressIndex);}return Object.keys(r).sort(ce()).map(n=>({lookupTableAddress:n,...r[n]}))}function Kt(e){let t=0,r=0,n=0;for(let o of e){if("lookupTableAddress"in o)break;let s=V(o.role);G(o.role)?(n++,s||r++):s||t++;}return {numReadonlyNonSignerAccounts:t,numReadonlySignerAccounts:r,numSignerAccounts:n}}function Ht(e){let t={};for(let[r,n]of e.entries())t[n.address]=r;return t}function Gt(e,t){let r=Ht(t);return e.map(({accounts:n,data:o,programAddress:s})=>({programAddressIndex:r[s],...n?{accountIndices:n.map(({address:i})=>r[i])}:null,...o?{data:o}:null}))}function Vt(e){return "nonce"in e?e.nonce:e.blockhash}function qt(e){let t=e.findIndex(n=>"lookupTableAddress"in n);return (t===-1?e:e.slice(0,t)).map(({address:n})=>n)}function Ve(e){let t=Mt(e.feePayer,e.instructions),r=Ft(t);return {...e.version!=="legacy"?{addressTableLookups:jt(r)}:null,header:Kt(r),instructions:Gt(e.instructions,r),lifetimeToken:Vt(e.lifetimeConstraint),staticAccounts:qt(r),version:e.version}}function Yt(){return C([["lookupTableAddress",W(void 0)],["writableIndices",B(O(),{...null,size:v()})],["readableIndices",B(O(),{...void 0,size:v()})]],void 0)}function Jt(){return C([["numSignerAccounts",O(void 0)],["numReadonlySignerAccounts",O(void 0)],["numReadonlyNonSignerAccounts",O(void 0)]],void 0)}function Xt(){return Z(C([["programAddressIndex",O(void 0)],["accountIndices",B(O({description:""}),{description:"",size:v()})],["data",ie({description:"",size:v()})]]),e=>e.accountIndices!==void 0&&e.data!==void 0?e:{...e,accountIndices:e.accountIndices??[],data:e.data??new Uint8Array(0)},e=>{if(e.accountIndices.length&&e.data.byteLength)return e;let{accountIndices:t,data:r,...n}=e;return {...n,...t.length?{accountIndices:t}:null,...r.byteLength?{data:r}:null}})}function Zt(e,t){let r=t+e[0].toUpperCase()+e.slice(1);return new Error(`No ${e} exists for ${t}. Use \`get${r}()\` if you need a ${e}, and \`get${t}Codec()\` if you need to both encode and decode ${t}`)}function qe(e){return ()=>{throw Zt("decoder",e)}}var be=128,Qt={description:"",fixedSize:null,maxSize:1};function er(e,t=0){let r=e[t];return r&be?[r^be,t+1]:["legacy",t]}function tr(e){if(e==="legacy")return new Uint8Array;if(e<0||e>127)throw new Error(`Transaction version must be in the range [0, 127]. \`${e}\` given.`);return new Uint8Array([e|be])}function rr(){return {...Qt,deserialize:er,serialize:tr}}var nr={description:"",fixedSize:null,maxSize:null};function or(e){return e.version==="legacy"?C(je()).serialize(e):Z(C([...je(),["addressTableLookups",sr()]]),t=>t.version==="legacy"?t:{...t,addressTableLookups:t.addressTableLookups??[]}).serialize(e)}function je(){return [["version",rr()],["header",Jt()],["staticAccounts",B(W(),{description:"",size:v()})],["lifetimeToken",K({description:"",encoding:D,size:32})],["instructions",B(Xt(),{description:"",size:v()})]]}function sr(){return B(Yt(),{...null,size:v()})}function Ye(){return {...nr,deserialize:qe("CompiledMessage"),serialize:or}}async function ir(e,t){let r=Ye().serialize(e);return await We(t,r)}async function as(e,t){let r=Ve(t),[n,o]=await Promise.all([$e(e.publicKey),ir(r,e.privateKey)]),s={..."signatures"in t?t.signatures:null,[n]:o},i={...t,signatures:s};return Object.freeze(i),i}function ar(e){let t=Ve(e),r;if("signatures"in e){r=[];for(let n=0;n<t.header.numSignerAccounts;n++)r[n]=e.signatures[t.staticAccounts[n]]??new Uint8Array(Array(64).fill(0));}else r=Array(t.header.numSignerAccounts).fill(new Uint8Array(Array(64).fill(0)));return {compiledMessage:t,signatures:r}}var cr={description:"",fixedSize:null,maxSize:null};function ur(e){let t=ar(e);return C([["signatures",B(ie({size:64}),{...null,size:v()})],["compiledMessage",Ye()]]).serialize(t)}function lr(){return {...cr,deserialize:qe("CompiledMessage"),serialize:ur}}function cs(e){let t=lr().serialize(e);return btoa(String.fromCharCode(...t))}a();a();function we(e,t,r){if(Array.isArray(e))return e.map((n,o)=>we(n,[...t,o],r));if(typeof e=="object"&&e!==null){let n={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=we(e[o],[...t,o],r));return n}else return typeof e=="bigint"?(r&&(e>Number.MAX_SAFE_INTEGER||e<-Number.MAX_SAFE_INTEGER)&&r(t,e),Number(e)):e}function Xe(e,t){return we(e,[],t)}var u={},he,ye;function dr(){return he||(he={}),he}function pr(){if(!ye){let e=[["data","parsed","info","tokenAmount","decimals"],["data","parsed","info","tokenAmount","uiAmount"],["data","parsed","info","rentExemptReserve","decimals"],["data","parsed","info","rentExemptReserve","uiAmount"],["data","parsed","info","delegatedAmount","decimals"],["data","parsed","info","delegatedAmount","uiAmount"],["data","parsed","info","extensions",u,"state","olderTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",u,"state","newerTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",u,"state","preUpdateAverageRate"],["data","parsed","info","extensions",u,"state","currentRate"]],t=[...e,["data","parsed","info","lastExtendedSlotStartIndex"],["data","parsed","info","slashPenalty"],["data","parsed","info","warmupCooldownRate"],["data","parsed","info","decimals"],["data","parsed","info","numRequiredSigners"],["data","parsed","info","numValidSigners"],["data","parsed","info","stake","delegation","warmupCooldownRate"],["data","parsed","info","exemptionThreshold"],["data","parsed","info","burnPercent"],["data","parsed","info","commission"],["data","parsed","info","votes",u,"confirmationCount"]];ye={getAccountInfo:t.map(r=>["value",...r]),getBlock:[["blockTime"],["transactions",u,"meta","preTokenBalances",u,"accountIndex"],["transactions",u,"meta","preTokenBalances",u,"uiTokenAmount","decimals"],["transactions",u,"meta","postTokenBalances",u,"accountIndex"],["transactions",u,"meta","postTokenBalances",u,"uiTokenAmount","decimals"],["transactions",u,"meta","rewards",u,"commission"],["transactions",u,"meta","innerInstructions",u,"index"],["transactions",u,"meta","innerInstructions",u,"instructions",u,"programIdIndex"],["transactions",u,"meta","innerInstructions",u,"instructions",u,"accounts",u],["transactions",u,"transaction","message","addressTableLookups",u,"writableIndexes",u],["transactions",u,"transaction","message","addressTableLookups",u,"readonlyIndexes",u],["transactions",u,"transaction","message","instructions",u,"programIdIndex"],["transactions",u,"transaction","message","instructions",u,"accounts",u],["transactions",u,"transaction","message","header","numReadonlySignedAccounts"],["transactions",u,"transaction","message","header","numReadonlyUnsignedAccounts"],["transactions",u,"transaction","message","header","numRequiredSignatures"],["rewards",u,"commission"]],getBlockTime:[[]],getClusterNodes:[[u,"featureSet"],[u,"shredVersion"]],getInflationGovernor:[["initial"],["foundation"],["foundationTerm"],["taper"],["terminal"]],getInflationRate:[["foundation"],["total"],["validator"]],getInflationReward:[[u,"commission"]],getMultipleAccounts:t.map(r=>["value",u,...r]),getProgramAccounts:t.flatMap(r=>[["value",u,"account",...r],[u,"account",...r]]),getRecentPerformanceSamples:[[u,"samplePeriodSecs"]],getTokenAccountBalance:[["value","decimals"],["value","uiAmount"]],getTokenAccountsByDelegate:e.map(r=>["value",u,"account",...r]),getTokenAccountsByOwner:e.map(r=>["value",u,"account",...r]),getTokenLargestAccounts:[["value",u,"decimals"],["value",u,"uiAmount"]],getTokenSupply:[["value","decimals"],["value","uiAmount"]],getTransaction:[["meta","preTokenBalances",u,"accountIndex"],["meta","preTokenBalances",u,"uiTokenAmount","decimals"],["meta","postTokenBalances",u,"accountIndex"],["meta","postTokenBalances",u,"uiTokenAmount","decimals"],["meta","rewards",u,"commission"],["meta","innerInstructions",u,"index"],["meta","innerInstructions",u,"instructions",u,"programIdIndex"],["meta","innerInstructions",u,"instructions",u,"accounts",u],["transaction","message","addressTableLookups",u,"writableIndexes",u],["transaction","message","addressTableLookups",u,"readonlyIndexes",u],["transaction","message","instructions",u,"programIdIndex"],["transaction","message","instructions",u,"accounts",u],["transaction","message","header","numReadonlySignedAccounts"],["transaction","message","header","numReadonlyUnsignedAccounts"],["transaction","message","header","numRequiredSignatures"]],getVersion:[["feature-set"]],getVoteAccounts:[["current",u,"commission"],["delinquent",u,"commission"]],simulateTransaction:t.map(r=>["value","accounts",u,...r])};}return ye}function Je(e,t){return e.filter(r=>r[0]===u&&typeof t=="number"||r[0]===t).map(r=>r.slice(1))}function ue(e,t){if(Array.isArray(e))return e.map((r,n)=>{let o=Je(t,n);return ue(r,o)});if(typeof e=="object"&&e!==null){let r={};for(let[n,o]of Object.entries(e)){let s=Je(t,n);r[n]=ue(o,s);}return r}else return typeof e=="number"&&t.length===0&&Number.isInteger(e)?BigInt(e):e}function fr(e,t){let r=t?pr()[t]:void 0;return ue(e,r??[])}function mr(e,t){let r=t?dr()[t]:void 0;return ue(e,r??[])}function Ze(e){return new Proxy({},{defineProperty(){return !1},deleteProperty(){return !1},get(...t){let[r,n]=t,o=n.toString();return function(...s){let i=e?.onIntegerOverflow,c=Xe(s,i?(l,d)=>i(o,l,d):void 0);return {methodName:o,params:c,responseProcessor:l=>fr(l,o)}}}})}function Qe(e){return new Proxy({},{defineProperty(){return !1},deleteProperty(){return !1},get(...t){let[r,n]=t,o=n.toString();return function(...s){let i=e?.onIntegerOverflow;return {params:Xe(s,i?(l,d)=>i(o,l,d):void 0),responseProcessor:l=>mr(l,o),subscribeMethodName:o.replace(/Notifications$/,"Subscribe"),unsubscribeMethodName:o.replace(/Notifications$/,"Unsubscribe")}}}})}a();var tt=class extends Error{constructor(e){super(`JSON-RPC 2.0 error (${e.code}): ${e.message}`),Error.captureStackTrace(this,this.constructor),this.code=e.code,this.data=e.data;}get name(){return "SolanaJsonRpcError"}},Se=0;function gr(){let e=Se;return Se=(Se+1)%Number.MAX_SAFE_INTEGER,e}function Ee(e,t){return {id:gr(),jsonrpc:"2.0",method:e,params:t}}function br(e,t){return {async send(r){let{methodName:n,params:o,responseProcessor:s}=t,i=Ee(n,o),c=await e.transport({payload:i,signal:r?.abortSignal});if("error"in c)throw new tt(c.error);return s?s(c.result):c.result}}}function hr(e){return new Proxy(e.api,{defineProperty(){return !1},deleteProperty(){return !1},get(t,r,n){return function(...o){let s=r.toString(),i=Reflect.get(t,s,n),c=i?i(...o):{methodName:s,params:o};return br(e,c)}}})}function rt(e){return hr(e)}function yr(e,t){(async()=>{try{for await(let r of e);}catch(r){t(r);}})();}function wr(e,{params:t,subscribeMethodName:r,unsubscribeMethodName:n,responseProcessor:o}){return {async subscribe(s){s?.abortSignal?.throwIfAborted();let i;function c(){if(i!==void 0){let y=Ee(n,[i]);p.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(y).finally(()=>{l.abort();});}else l.abort();}s?.abortSignal?.addEventListener("abort",c);let l=new AbortController,d=Ee(r,t),p=await e.transport({payload:d,signal:l.signal});function m(){s?.abortSignal?.removeEventListener("abort",c);}yr(p,m);for await(let y of p)if("id"in y&&y.id===d.id){if("error"in y)throw new tt(y.error);i=y.result;break}if(i==null)throw new Error("Failed to obtain a subscription id from the server");return {async*[Symbol.asyncIterator](){for await(let y of p){if(!("params"in y)||y.params.subscription!==i)continue;let g=y.params.result;yield o?o(g):g;}}}}}}function Sr(e){return new Proxy(e.api,{defineProperty(){return !1},deleteProperty(){return !1},get(t,r,n){return function(...o){let s=r.toString(),i=Reflect.get(t,s,n);if(r.toString().endsWith("Notifications")===!1&&!i)throw new Error("Either the notification name must end in 'Notifications' or the API must supply a subscription creator function to map between the notification name and the subscribe/unsubscribe method names.");let c=i?i(...o):{params:o,subscribeMethodName:s.replace(/Notifications$/,"Subscribe"),unsubscribeMethodName:s.replace(/Notifications$/,"Unsubscribe")};return wr(e,c)}}})}function nt(e){return Sr(e)}var Er=globalThis.fetch,xr=class extends Error{constructor(e){super(`HTTP error (${e.statusCode}): ${e.message}`),Error.captureStackTrace(this,this.constructor),this.statusCode=e.statusCode;}get name(){return "SolanaHttpError"}};function Rr(e){let t={};for(let r in e)t[r.toLowerCase()]=e[r];return t}function ot({httpAgentNodeOnly:e,headers:t,url:r}){let n=void 0;let o=t&&Rr(t);return async function({payload:i,signal:c}){let l=JSON.stringify(i),d={agent:n,body:l,headers:{...o,accept:"application/json","content-length":l.length.toString(),"content-type":"application/json; charset=utf-8"},method:"POST",signal:c},p=await Er(r,d);if(!p.ok)throw new xr({message:p.statusText,statusCode:p.status});return await p.json()}}var Y=globalThis.WebSocket;async function zr({sendBufferHighWatermark:e,signal:t,url:r}){return new Promise((n,o)=>{t.addEventListener("abort",i,{once:!0});let s=new Map;function i(){g.readyState!==Y.CLOSED&&g.readyState!==Y.CLOSING&&g.close(1e3);}function c(E){p?.onCancel(),t.removeEventListener("abort",i),g.removeEventListener("close",c),g.removeEventListener("error",l),g.removeEventListener("open",m),g.removeEventListener("message",y),s.forEach((x,A)=>{if(x.__hasPolled){let{onError:w}=x;s.delete(A),w(E);}else s.delete(A);});}function l(E){d||o(new Error("WebSocket failed to connect",{cause:E}));}let d=!1,p;function m(){d=!0,n({async send(E){let x=JSON.stringify(E);if(!p&&g.readyState===Y.OPEN&&g.bufferedAmount>e){let A,w=new Promise((M,pt)=>{let Ae=setInterval(()=>{(g.readyState!==Y.OPEN||!(g.bufferedAmount>e))&&(clearInterval(Ae),p=void 0,M());},16);A=()=>{p=void 0,clearInterval(Ae),pt(new Error("WebSocket was closed before payload could be sent"));};});p={onCancel:A,promise:w};}p&&await p.promise,g.send(x);},async*[Symbol.asyncIterator](){let E=Symbol();s.set(E,{__hasPolled:!1,queuedMessages:[]});try{for(;;){let x=s.get(E);if(!x)throw new Error("Invariant: WebSocket message iterator is missing state storage");if(x.__hasPolled)throw new Error("Invariant: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise");let A=x.queuedMessages;if(A.length)x.queuedMessages=[],yield*A;else try{yield await new Promise((w,M)=>{s.set(E,{__hasPolled:!0,onError:M,onMessage:w});});}catch(w){if(w!==null&&typeof w=="object"&&"type"in w&&w.type==="close"&&"wasClean"in w&&w.wasClean)return;throw new Error("WebSocket connection closed",{cause:w})}}}finally{s.delete(E);}}});}function y({data:E}){let x=JSON.parse(E);s.forEach((A,w)=>{if(A.__hasPolled){let{onMessage:M}=A;s.set(w,{__hasPolled:!1,queuedMessages:[]}),M(x);}else A.queuedMessages.push(x);});}let g=new Y(r);g.addEventListener("close",c),g.addEventListener("error",l),g.addEventListener("open",m),g.addEventListener("message",y);})}function st({sendBufferHighWatermark:e,url:t}){if(/^wss?:/i.test(t)===!1){let r=t.match(/^([^:]+):/);throw new DOMException(r?`Failed to construct 'WebSocket': The URL's scheme must be either 'ws' or 'wss'. '${r[1]}:' is not allowed.`:`Failed to construct 'WebSocket': The URL '${t}' is invalid.`)}return async function({payload:n,signal:o}){o?.throwIfAborted();let s=await zr({sendBufferHighWatermark:e,signal:o,url:t});return o?.throwIfAborted(),await s.send(n),{[Symbol.asyncIterator]:s[Symbol.asyncIterator].bind(s),send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:s.send.bind(s)}}}a();a();var le=class extends Error{constructor(r,n,o){let s=(typeof n[0]=="number"?n[0]:parseInt(n[0],10))+1,i="",c=s%10,l=s%100;c==1&&l!=11?i=s+"st":c==2&&l!=12?i=s+"nd":c==3&&l!=13?i=s+"rd":i=s+"th";let d=n.length>1?n.slice(1).map(p=>typeof p=="number"?`[${p}]`:p).join("."):null;super(`The ${i} argument to the \`${r}\` RPC method${d?` at path \`${d}\``:""} was \`${o}\`. This number is unsafe for use with the Solana JSON-RPC because it exceeds \`Number.MAX_SAFE_INTEGER\`.`);this.keyPath=n,this.methodName=r,this.value=o;}get name(){return "SolanaJsonRpcIntegerOverflowError"}};var xe={onIntegerOverflow(e,t,r){throw new le(e,t,r)}};function zs(e){return rt({...e,api:Ze(xe)})}function vs(e){return nt({...e,api:Qe(xe)})}a();a();function it(e,t){let r;return async function(o){let{payload:s,signal:i}=o,c=t(s);if(c===void 0)return await e(o);if(r||(Promise.resolve().then(()=>{r=void 0;}),r={}),r[c]==null){let d=new AbortController;r[c]={abortController:d,numConsumers:0,responsePromise:e({...o,signal:d.signal})};}let l=r[c];if(l.numConsumers++,i){let d=l.responsePromise;return await new Promise((p,m)=>{let y=g=>{i.removeEventListener("abort",y),l.numConsumers-=1,l.numConsumers===0&&l.abortController.abort();let E=new DOMException(g.target.reason,"AbortError");m(E);};i.addEventListener("abort",y),d.then(p).finally(()=>{i.removeEventListener("abort",y);});})}else return await l.responsePromise}}a();var ut=xt(ct(),1);function lt(e){if(!(e==null||typeof e!="object"||Array.isArray(e))&&"jsonrpc"in e&&e.jsonrpc==="2.0"&&"method"in e&&"params"in e)return (0, ut.default)([e.method,e.params])}function Nr(e){let t={};for(let r in e)t[r.toLowerCase()]=e[r];return t}function Ws(e){return it(ot({...e,headers:{...e.headers?Nr(e.headers):void 0,"solana-client":"js/2.0.0-development"}}),lt)}a();a();var kr={jsonrpc:"2.0",method:"ping"};function dt({intervalMs:e,transport:t}){let r=new Map;return async(...n)=>{let o=await t(...n),s;function i(){clearInterval(s),s=setInterval(()=>{o.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(kr);},e);}return r.has(o)===!1&&(r.set(o,{[Symbol.asyncIterator]:o[Symbol.asyncIterator].bind(o),send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:(...c)=>(i(),o.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(...c))}),(async()=>{try{for await(let c of o)i();}catch{}finally{r.delete(o),clearInterval(s);}})(),i()),r.get(o)}}function Vs(e){let{intervalMs:t,...r}=e;return dt({intervalMs:t??5e3,transport:st({...r,sendBufferHighWatermark:e.sendBufferHighWatermark??131072})})}
9
+ For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20`)}async function ln(){if(J(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new Error("No key export implementation could be found")}async function fn(){if(J(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.sign!="function")throw new Error("No signing implementation could be found")}async function pn(){if(J(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.verify!="function")throw new Error("No signature verification implementation could be found")}var Ae,Te;function Ee(){return Ae||(Ae=D()),Ae}function Yt(){return Te||(Te=F()),Te}function Jt(e){return !(e.length<32||e.length>44||Ee().encode(e).byteLength!==32)}function X(e){try{if(e.length<32||e.length>44)throw new Error("Expected input string to decode to a byte array of length 32.");let r=Ee().encode(e).byteLength;if(r!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${r}`)}catch(n){throw new Error(`\`${e}\` is not a base-58 encoded address`,{cause:n})}}function Xt(e){return X(e),e}function fe(e){return K(de({description:e?.description??"Address",encoding:Ee(),size:32}),n=>Xt(n))}function Z(e){return ue({description:e?.description??"Address",encoding:Yt(),size:32})}function bn(e){return _(fe(e),Z(e))}function pe(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:!1,localeMatcher:"best fit",numeric:!1,sensitivity:"variant",usage:"sort"}).compare}var Zt=37095705934669439343138083508754565189542113879843219016388785533085940283555n,E=57896044618658097711785492504343953926634992332820282019728792003956564819949n,mn=19681161376707505956807079304988542015446066515923890162744021073123829784752n;function I(e){let n=e%E;return n>=0n?n:E+n}function C(e,n){let t=e;for(;n-- >0n;)t*=t,t%=E;return t}function Qt(e){let t=e*e%E*e%E,r=C(t,2n)*t%E,o=C(r,1n)*e%E,i=C(o,5n)*o%E,a=C(i,10n)*i%E,s=C(a,20n)*a%E,d=C(s,40n)*s%E,u=C(d,80n)*d%E,f=C(u,80n)*d%E,p=C(f,10n)*i%E;return C(p,2n)*e%E}function er(e,n){let t=I(n*n*n),r=I(t*t*n),o=Qt(e*r),i=I(e*t*o),a=I(n*i*i),s=i,d=I(i*mn),u=a===e,f=a===I(-e),p=a===I(-e*mn);return u&&(i=s),(f||p)&&(i=d),(I(i)&1n)===1n&&(i=I(-i)),!u&&!f?null:i}function nr(e,n){let t=I(e*e),r=I(t-1n),o=I(Zt*t+1n),i=er(r,o);if(i===null)return !1;let a=(n&128)!==0;return !(i===0n&&a)}function tr(e){let n=e.toString(16);return n.length===1?`0${n}`:n}function rr(e){let t=`0x${e.reduce((r,o,i)=>`${tr(i===31?o&-129:o)}${r}`,"")}`;return BigInt(t)}async function or(e){if(e.byteLength!==32)return !1;let n=rr(e);return nr(n,e[31])}function ri(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&typeof e[1]=="number"&&e[1]>=0&&e[1]<=255&&Jt(e[0])}function oi(e){if(!(Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&typeof e[1]=="number"))throw new Error("Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].");if(e[1]<0||e[1]>255)throw new Error(`Expected program derived address bump to be in the range [0, 255], got: ${e[1]}.`);X(e[0]);}var hn=32,gn=16,le=[80,114,111,103,114,97,109,68,101,114,105,118,101,100,65,100,100,114,101,115,115],Sn=class extends Error{};async function ir({programAddress:e,seeds:n}){if(await dn(),n.length>gn)throw new Error(`A maximum of ${gn} seeds may be supplied when creating an address`);let t,r=n.reduce((d,u,f)=>{let p=typeof u=="string"?(t||(t=new TextEncoder)).encode(u):u;if(p.byteLength>hn)throw new Error(`The seed at index ${f} exceeds the maximum length of 32 bytes`);return d.push(...p),d},[]),o=bn(),i=o.encode(e),a=await crypto.subtle.digest("SHA-256",new Uint8Array([...r,...i,...le])),s=new Uint8Array(a);if(await or(s))throw new Sn("Invalid seeds; point must fall off the Ed25519 curve");return o.decode(s)[0]}async function ii({programAddress:e,seeds:n}){let t=255;for(;t>0;)try{return [await ir({programAddress:e,seeds:[...n,new Uint8Array([t])]}),t]}catch(r){if(r instanceof Sn)t--;else throw r}throw new Error("Unable to find a viable program address bump seed")}async function ai({baseAddress:e,programAddress:n,seed:t}){let{encode:r,decode:o}=bn(),i=typeof t=="string"?new TextEncoder().encode(t):t;if(i.byteLength>hn)throw new Error("The seed exceeds the maximum length of 32 bytes");let a=r(n);if(a.length>=le.length&&a.slice(-le.length).every((u,f)=>u===le[f]))throw new Error("programAddress cannot end with the PDA marker");let s=await crypto.subtle.digest("SHA-256",new Uint8Array([...r(e),...i,...a])),d=new Uint8Array(s);return o(d)[0]}async function yn(e){if(await ln(),e.type!=="public"||e.algorithm.name!=="Ed25519")throw new Error("The `CryptoKey` must be an `Ed25519` public key");let n=await crypto.subtle.exportKey("raw",e),[t]=Z().decode(new Uint8Array(n));return t}l();var ar=(e=>(e[e.WRITABLE_SIGNER=3]="WRITABLE_SIGNER",e[e.READONLY_SIGNER=2]="READONLY_SIGNER",e[e.WRITABLE=1]="WRITABLE",e[e.READONLY=0]="READONLY",e))(ar||{}),wn=2,xe=1;function ui(e){return e&~wn}function li(e){return e&~xe}function fi(e){return e>=2}function pi(e){return (e&xe)!==0}function mi(e,n){return e|n}function gi(e){return e|wn}function bi(e){return e|xe}l();async function Ai(){return await un(),await crypto.subtle.generateKey("Ed25519",!1,["sign","verify"])}var j;function sr(e){j||(j=D());try{if(e.length<64||e.length>88)throw new Error("Expected input string to decode to a byte array of length 64.");let t=j.encode(e).byteLength;if(t!==64)throw new Error(`Expected input string to decode to a byte array of length 64. Actual length: ${t}`)}catch(n){throw new Error(`\`${e}\` is not a signature`,{cause:n})}}function Ti(e){return j||(j=D()),!(e.length<64||e.length>88||j.encode(e).byteLength!==64)}async function An(e,n){await fn();let t=await crypto.subtle.sign("Ed25519",e,n);return new Uint8Array(t)}function Ei(e){return sr(e),e}async function xi(e,n,t){return await pn(),await crypto.subtle.verify("Ed25519",e,n,t)}l();function Tn(e){switch(e){case"finalized":return 2;case"confirmed":return 1;case"processed":return 0;default:return (n=>{throw new Error(`Unrecognized commitment \`${e}\`.`)})()}}function me(e,n){return e===n?0:Tn(e)<Tn(n)?-1:1}var En=18446744073709551615n;function Ri(e){return e>=0&&e<=En}function cr(e){if(e<0)throw new Error("Input for 64-bit unsigned integer cannot be negative");if(e>En)throw new Error("Input number is too large to be represented as a 64-bit unsigned integer")}function vi(e){return cr(e),e}function zi(e){try{return BigInt(e),!0}catch{return !1}}function dr(e){try{BigInt(e);}catch(n){throw new Error(`\`${e}\` cannot be parsed as a BigInt`,{cause:n})}}function Di(e){return dr(e),e}function Ni(e){return !Number.isNaN(Number(e))}function ur(e){if(Number.isNaN(Number(e)))throw new Error(`\`${e}\` cannot be parsed as a Number`)}function ki(e){return ur(e),e}function Bi(e){return !(e>864e13||e<-864e13)}function lr(e){try{if(e>864e13||e<-864e13)throw new Error("Expected input number to be in the range [-8.64e15, 8.64e15]")}catch(n){throw new Error(`\`${e}\` is not a timestamp`,{cause:n})}}function Pi(e){return lr(e),e}l();l();function ge(e){return e.reduce((n,t)=>n===null||t===null?null:n+t,0)}function fr(e,n,t,r){if(typeof e=="number")return [e,r];if(typeof e=="object")return e.decode(t,r);if(e==="remainder"){let o=ge(n);if(o===null)throw new Error('Codecs of "remainder" size must have fixed-size items.');let i=t.slice(r).length;if(i%o!==0)throw new Error(`The remainder of the byte array (${i} bytes) cannot be split into chunks of ${o} bytes. Codecs of "remainder" size must have a remainder that is a multiple of its item size. In other words, ${i} modulo ${o} should be equal to zero.`);return [i/o,r]}throw new Error(`Unrecognized array-like codec size: ${JSON.stringify(e)}`)}function pr(e){return typeof e=="object"?e.description:`${e}`}function xn(e,n){if(typeof e!="number")return null;if(e===0)return 0;let t=ge(n);return t===null?null:t*e}function mr(e,n){return typeof e=="object"?e.encode(n):new Uint8Array}function gr(e,n,t){if(n!==t)throw new Error(`Expected [${e}] to have ${n} items, got ${t}.`)}function In(e,n,t){if(n==="remainder"&&e.fixedSize===null)throw new Error('Codecs of "remainder" size must have fixed-size items.');return {description:t??`array(${e.description}; ${pr(n)})`,fixedSize:xn(n,[e.fixedSize]),maxSize:xn(n,[e.maxSize])}}function N(e,n={}){let t=n.size??se();return {...In(e,t,n.description),encode:r=>(typeof t=="number"&&gr("array",t,r.length),H([mr(t,r.length),...r.map(o=>e.encode(o))]))}}function k(e,n={}){let t=n.size??ce();return {...In(e,t,n.description),decode:(r,o=0)=>{if(typeof t=="object"&&r.slice(o).length===0)return [[],o];let[i,a]=fr(t,[e.fixedSize],r,o);o=a;let s=[];for(let d=0;d<i;d+=1){let[u,f]=e.decode(r,o);s.push(u),o=f;}return [s,o]}}}function Ie(e={}){let n=e.size??"variable",t=typeof n=="object"?n.description:`${n}`,r=e.description??`bytes(${t})`,o={description:r,encode:i=>i,fixedSize:null,maxSize:null};return n==="variable"?o:typeof n=="number"?ie(o,n,r):{...o,encode:i=>{let a=o.encode(i),s=n.encode(a.length);return H([s,a])}}}function Ce(e={}){let n=e.size??"variable",t=typeof n=="object"?n.description:`${n}`,r=e.description??`bytes(${t})`,o={decode:(i,a=0)=>{let s=i.slice(a);return [s,a+s.length]},description:r,fixedSize:null,maxSize:null};return n==="variable"?o:typeof n=="number"?ae(o,n,r):{...o,decode:(i,a=0)=>{M("bytes",i,a);let[s,d]=n.decode(i,a),u=Number(s);a=d;let f=i.slice(a,a+u);P("bytes",u,f);let[p,m]=o.decode(f);return a+=m,[p,a]}}}function Cn(e,n){let t=e.map(([r,o])=>`${String(r)}: ${o.description}`).join(", ");return {description:n??`struct(${t})`,fixedSize:ge(e.map(([,r])=>r.fixedSize)),maxSize:ge(e.map(([,r])=>r.maxSize))}}function $(e,n={}){return {...Cn(e,n.description),encode:t=>{let r=e.map(([o,i])=>i.encode(t[o]));return H(r)}}}function G(e,n={}){return {...Cn(e,n.description),decode:(t,r=0)=>{let o={};return e.forEach(([i,a])=>{let[s,d]=a.decode(t,r);r=d,o[i]=s;}),[o,r]}}}l();function B(e,...n){return n.reduce((t,r)=>r(t),e)}function ee(e){if("signatures"in e){let{signatures:n,...t}=e;return t}else return e}var Re;function Xi(e){Re||(Re=D());try{if(e.length<32||e.length>44)throw new Error("Expected input string to decode to a byte array of length 32.");let t=Re.encode(e).byteLength;if(t!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${t}`)}catch(n){throw new Error(`\`${e}\` is not a blockhash`,{cause:n})}}function br(e,n){if("lifetimeConstraint"in n&&n.lifetimeConstraint.blockhash===e.blockhash&&n.lifetimeConstraint.lastValidBlockHeight===e.lastValidBlockHeight)return n;let t={...ee(n),lifetimeConstraint:e};return Object.freeze(t),t}function hr({version:e}){let n={instructions:[],version:e};return Object.freeze(n),n}var x=(e=>(e[e.WRITABLE_SIGNER=3]="WRITABLE_SIGNER",e[e.READONLY_SIGNER=2]="READONLY_SIGNER",e[e.WRITABLE=1]="WRITABLE",e[e.READONLY=0]="READONLY",e))(x||{}),Sr=1;function W(e){return e>=2}function Q(e){return (e&Sr)!==0}function Rn(e,n){return e|n}var Dn="SysvarRecentB1ockHashes11111111111111111111",Nn="11111111111111111111111111111111";function Zi(e){if(!kn(e))throw new Error("Transaction is not a durable nonce transaction")}function vn(e,n){return {accounts:[{address:e,role:x.WRITABLE},{address:Dn,role:x.READONLY},{address:n,role:x.READONLY_SIGNER}],data:new Uint8Array([4,0,0,0]),programAddress:Nn}}function Fe(e){return e.programAddress===Nn&&e.data!=null&&yr(e.data)&&e.accounts?.length===3&&e.accounts[0].address!=null&&e.accounts[0].role===x.WRITABLE&&e.accounts[1].address===Dn&&e.accounts[1].role===x.READONLY&&e.accounts[2].address!=null&&W(e.accounts[2].role)}function yr(e){return e.byteLength===4&&e[0]===4&&e[1]===0&&e[2]===0&&e[3]===0}function kn(e){return "lifetimeConstraint"in e&&typeof e.lifetimeConstraint.nonce=="string"&&e.instructions[0]!=null&&Fe(e.instructions[0])}function wr(e,n,t){return e.accounts[0].address===n&&e.accounts[2].address===t}function Ar({nonce:e,nonceAccountAddress:n,nonceAuthorityAddress:t},r){let o,i=r.instructions[0];if(i&&Fe(i))if(wr(i,n,t)){if(kn(r)&&r.lifetimeConstraint.nonce===e)return r;o=[i,...r.instructions.slice(1)];}else o=[vn(n,t),...r.instructions.slice(1)];else o=[vn(n,t),...r.instructions];let a={...ee(r),instructions:o,lifetimeConstraint:{nonce:e}};return Object.freeze(a),a}function Tr(e,n){if("feePayer"in n&&e===n.feePayer)return n;let t={...ee(n),feePayer:e};return Object.freeze(t),t}function Er(e,n){let t={...ee(n),instructions:[...n.instructions,e]};return Object.freeze(t),t}function Qi(e,n){let t={...ee(n),instructions:[e,...n.instructions]};return Object.freeze(t),t}function zn(e,n,t){e[n]=t(e[n]??{role:x.READONLY});}var w=Symbol("AddressMapTypeProperty");function xr(e,n){let t={[e]:{[w]:0,role:x.WRITABLE_SIGNER}},r=new Set;for(let o of n){zn(t,o.programAddress,a=>{if(r.add(o.programAddress),w in a){if(Q(a.role))switch(a[w]){case 0:throw new Error(`This transaction includes an address (\`${o.programAddress}\`) which is both invoked and set as the fee payer. Program addresses may not pay fees.`);default:throw new Error(`This transaction includes an address (\`${o.programAddress}\`) which is both invoked and marked writable. Program addresses may not be writable.`)}if(a[w]===2)return a}return {[w]:2,role:x.READONLY}});let i;if(o.accounts)for(let a of o.accounts)zn(t,a.address,s=>{let{address:d,...u}=a;if(w in s)switch(s[w]){case 0:return s;case 1:{let f=Rn(s.role,u.role);if("lookupTableAddress"in u){if(s.lookupTableAddress!==u.lookupTableAddress&&(i||(i=pe()))(u.lookupTableAddress,s.lookupTableAddress)<0)return {[w]:1,...u,role:f}}else if(W(u.role))return {[w]:2,role:f};return s.role!==f?{...s,role:f}:s}case 2:{let f=Rn(s.role,u.role);if(r.has(a.address)){if(Q(u.role))throw new Error(`This transaction includes an address (\`${a.address}\`) which is both invoked and marked writable. Program addresses may not be writable.`);return s.role!==f?{...s,role:f}:s}else return "lookupTableAddress"in u&&!W(s.role)?{...u,[w]:1,role:f}:s.role!==f?{...s,role:f}:s}}return "lookupTableAddress"in u?{...u,[w]:1}:{...u,[w]:2}});}return t}function Ir(e){let n;return Object.entries(e).sort(([r,o],[i,a])=>{if(o[w]!==a[w]){if(o[w]===0)return -1;if(a[w]===0)return 1;if(o[w]===2)return -1;if(a[w]===2)return 1}let s=W(o.role);if(s!==W(a.role))return s?-1:1;let d=Q(o.role);return d!==Q(a.role)?d?-1:1:(n||(n=pe()),o[w]===1&&a[w]===1&&o.lookupTableAddress!==a.lookupTableAddress?n(o.lookupTableAddress,a.lookupTableAddress):n(r,i))}).map(([r,o])=>({address:r,...o}))}function Cr(e){var n;let t={};for(let r of e){if(!("lookupTableAddress"in r))continue;let o=t[n=r.lookupTableAddress]||(t[n]={readableIndices:[],writableIndices:[]});r.role===x.WRITABLE?o.writableIndices.push(r.addressIndex):o.readableIndices.push(r.addressIndex);}return Object.keys(t).sort(pe()).map(r=>({lookupTableAddress:r,...t[r]}))}function Rr(e){let n=0,t=0,r=0;for(let o of e){if("lookupTableAddress"in o)break;let i=Q(o.role);W(o.role)?(r++,i||t++):i||n++;}return {numReadonlyNonSignerAccounts:n,numReadonlySignerAccounts:t,numSignerAccounts:r}}function vr(e){let n={};for(let[t,r]of e.entries())n[r.address]=t;return n}function zr(e,n){let t=vr(n);return e.map(({accounts:r,data:o,programAddress:i})=>({programAddressIndex:t[i],...r?{accountIndices:r.map(({address:a})=>t[a])}:null,...o?{data:o}:null}))}function Dr(e){return "nonce"in e?e.nonce:e.blockhash}function Nr(e){let n=e.findIndex(r=>"lookupTableAddress"in r);return (n===-1?e:e.slice(0,n)).map(({address:r})=>r)}function Bn(e){let n=xr(e.feePayer,e.instructions),t=Ir(n);return {...e.version!=="legacy"?{addressTableLookups:Cr(t)}:null,header:Rr(t),instructions:zr(e.instructions,t),lifetimeToken:Dr(e.lifetimeConstraint),staticAccounts:Nr(t),version:e.version}}function kr(e){let n=Bn(e),t;if("signatures"in e){t=[];for(let r=0;r<n.header.numSignerAccounts;r++)t[r]=e.signatures[n.staticAccounts[r]]??new Uint8Array(Array(64).fill(0));}else t=Array(n.header.numSignerAccounts).fill(new Uint8Array(Array(64).fill(0)));return {compiledMessage:n,signatures:t}}function Br(e){let{header:n}=e,t=n.numSignerAccounts-n.numReadonlySignerAccounts,r=e.staticAccounts.length-n.numSignerAccounts-n.numReadonlyNonSignerAccounts,o=[],i=0;for(let a=0;a<t;a++)o.push({address:e.staticAccounts[i],role:x.WRITABLE_SIGNER}),i++;for(let a=0;a<n.numReadonlySignerAccounts;a++)o.push({address:e.staticAccounts[i],role:x.READONLY_SIGNER}),i++;for(let a=0;a<r;a++)o.push({address:e.staticAccounts[i],role:x.WRITABLE}),i++;for(let a=0;a<n.numReadonlyNonSignerAccounts;a++)o.push({address:e.staticAccounts[i],role:x.READONLY}),i++;return o}function Pr(e,n){let t=n[e.programAddressIndex]?.address;if(!t)throw new Error(`Could not find program address at index ${e.programAddressIndex}`);let r=e.accountIndices?.map(i=>n[i]),{data:o}=e;return {programAddress:t,...r&&r.length?{accounts:r}:{},...o&&o.length?{data:o}:{}}}function _r(e,n,t){if(!n||!Fe(n))return {blockhash:e,lastValidBlockHeight:t??2n**64n-1n};{let r=n.accounts[0].address;X(r);let o=n.accounts[2].address;return X(o),{nonce:e,nonceAccountAddress:r,nonceAuthorityAddress:o}}}function Or(e){let{compiledMessage:{staticAccounts:n},signatures:t}=e;return t.reduce((r,o,i)=>{if(o.every(d=>d===0))return r;let s=n[i];return {...r,[s]:o}},{})}function Lr(e,n){let{compiledMessage:t}=e;if("addressTableLookups"in t&&t.addressTableLookups.length>0)throw new Error("Cannot convert transaction with addressTableLookups");let r=t.staticAccounts[0];if(!r)throw new Error("No fee payer set in CompiledTransaction");let o=Br(t),i=t.instructions.map(u=>Pr(u,o)),a=i[0],s=_r(t.lifetimeToken,a,n),d=Or(e);return B(hr({version:t.version}),u=>Tr(r,u),u=>i.reduce((f,p)=>Er(p,f),u),u=>"blockhash"in s?br(s,u):Ar(s,u),u=>e.signatures.length?{...u,signatures:d}:u)}var Pn="lookupTableAddress",_n="writableIndices",On="readableIndices",Ln="addressTableLookup",ve;function Fr(){return ve||(ve=$([["lookupTableAddress",fe({description:Pn})],["writableIndices",N(O(),{description:_n,size:R()})],["readableIndices",N(O(),{description:On,size:R()})]],{description:Ln})),ve}var ze;function Ur(){return ze||(ze=G([["lookupTableAddress",Z({description:Pn})],["writableIndices",k(L(),{description:_n,size:v()})],["readableIndices",k(L(),{description:On,size:v()})]],{description:Ln})),ze}var De;function $r(){return De||(De=O()),De}function Ne(e){let n=$r();return {...n,description:e??n.description}}var ke;function Wr(){return ke||(ke=L()),ke}function Be(e){let n=Wr();return {...n,description:e??n.description}}var Fn=void 0,Un=void 0,$n=void 0,Wn=void 0;function Mr(){return $([["numSignerAccounts",Ne(Fn)],["numReadonlySignerAccounts",Ne(Un)],["numReadonlyNonSignerAccounts",Ne($n)]],{description:Wn})}function Hr(){return G([["numSignerAccounts",Be(Fn)],["numReadonlySignerAccounts",Be(Un)],["numReadonlyNonSignerAccounts",Be($n)]],{description:Wn})}var Mn="programAddressIndex",Hn=void 0,Kn="accountIndices",jn="data",Pe;function Kr(){return Pe||(Pe=K($([["programAddressIndex",O({description:Mn})],["accountIndices",N(O({description:Hn}),{description:Kn,size:R()})],["data",Ie({description:jn,size:R()})]]),e=>e.accountIndices!==void 0&&e.data!==void 0?e:{...e,accountIndices:e.accountIndices??[],data:e.data??new Uint8Array(0)})),Pe}var _e;function jr(){return _e||(_e=Y(G([["programAddressIndex",L({description:Mn})],["accountIndices",k(L({description:Hn}),{description:Kn,size:v()})],["data",Ce({description:jn,size:v()})]]),e=>{if(e.accountIndices.length&&e.data.byteLength)return e;let{accountIndices:n,data:t,...r}=e;return {...r,...n.length?{accountIndices:n}:null,...t.byteLength?{data:t}:null}})),_e}var Le=128,Gn={description:"",fixedSize:null,maxSize:1};function Gr(e,n=0){let t=e[n];return t&Le?[t^Le,n+1]:["legacy",n]}function Vr(e){if(e==="legacy")return new Uint8Array;if(e<0||e>127)throw new Error(`Transaction version must be in the range [0, 127]. \`${e}\` given.`);return new Uint8Array([e|Le])}function qr(){return {...Gn,decode:Gr}}function Yr(){return {...Gn,encode:Vr}}var Vn="staticAccounts",qn="lifetimeToken",Yn="instructions",Jn="addressTableLookups";function Jr(){return $(Xn())}function Xr(){return K($([...Xn(),["addressTableLookups",Qr()]]),e=>e.version==="legacy"?e:{...e,addressTableLookups:e.addressTableLookups??[]})}function Xn(){return [["version",Yr()],["header",Mr()],["staticAccounts",N(fe(),{description:Vn,size:R()})],["lifetimeToken",de({description:qn,encoding:D(),size:32})],["instructions",N(Kr(),{description:Yn,size:R()})]]}function Zr(){return [["version",qr()],["header",Hr()],["staticAccounts",k(Z(),{description:Vn,size:v()})],["lifetimeToken",ue({description:qn,encoding:F(),size:32})],["instructions",k(jr(),{description:Yn,size:v()})],["addressTableLookups",eo()]]}function Qr(){return N(Fr(),{description:Jn,size:R()})}function eo(){return k(Ur(),{description:Jn,size:v()})}var Zn="message";function Qn(){return {description:Zn,encode:e=>e.version==="legacy"?Jr().encode(e):Xr().encode(e),fixedSize:null,maxSize:null}}function no(){return Y(G(Zr(),{description:Zn}),({addressTableLookups:e,...n})=>n.version==="legacy"||!e?.length?n:{...n,addressTableLookups:e})}var et="signatures",nt="transaction";function to(){return $([["signatures",N(Ie({size:64}),{description:et,size:R()})],["compiledMessage",Qn()]],{description:nt})}function ro(){return Y(Ce({size:64}),e=>e)}function oo(){return G([["signatures",k(ro(),{description:et,size:v()})],["compiledMessage",no()]],{description:nt})}function tt(){return K(to(),kr)}function io(e){return Y(oo(),n=>Lr(n,e))}function ea(e){return _(tt(),io(e))}var Oe;function Ue(e){Oe||(Oe=F());let n=e.signatures[e.feePayer];if(!n)throw new Error("Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.");return Oe.decode(n)[0]}async function ao(e,n){let t=Bn(n),r="signatures"in n?{...n.signatures}:{},o=Qn().encode(t),i=await Promise.all(e.map(s=>Promise.all([yn(s.publicKey),An(s.privateKey,o)])));for(let[s,d]of i)r[s]=d;let a={...n,signatures:r};return Object.freeze(a),a}async function na(e,n){let t=await ao(e,n);return so(t),Object.freeze(t),t}function so(e){let n=e.instructions.flatMap(r=>r.accounts?.filter(o=>W(o.role))??[]).map(r=>r.address);new Set([e.feePayer,...n]).forEach(r=>{if(!e.signatures[r])throw new Error(`Transaction is missing signature for address \`${r}\``)});}function rt(e){let n=tt().encode(e);return btoa(String.fromCharCode(...n))}l();l();l();async function ne(e,n,t){let{abortSignal:r,commitment:o,getRecentSignatureConfirmationPromise:i}=n;r?.throwIfAborted();let a=new AbortController;if(r){let s=()=>{a.abort();};r.addEventListener("abort",s,{signal:a.signal});}try{let s=t({...n,abortSignal:a.signal});return await Promise.race([i({abortSignal:a.signal,commitment:o,signature:e}),...s])}finally{a.abort();}}l();function te(e,n){return async function({abortSignal:r,commitment:o,signature:i}){let a=new AbortController;function s(){a.abort();}r.addEventListener("abort",s,{signal:a.signal});let d=await n.signatureNotifications(i,{commitment:o}).subscribe({abortSignal:a.signal}),u=(async()=>{for await(let p of d){if(p.value.err)throw new Error(`The transaction with signature \`${i}\` failed.`,{cause:p.value.err});return}})(),f=(async()=>{let{value:p}=await e.getSignatureStatuses([i]).send({abortSignal:a.signal}),m=p[0];m&&m.confirmationStatus&&me(m.confirmationStatus,o)>=0||await new Promise(()=>{});})();try{return await Promise.race([u,f])}finally{a.abort();}}}l();async function ot({abortSignal:e,commitment:n}){return await new Promise((t,r)=>{let o=d=>{clearTimeout(s);let u=new DOMException(d.target.reason,"AbortError");r(u);};e.addEventListener("abort",o);let i=n==="processed"?3e4:6e4,a=performance.now(),s=setTimeout(()=>{let d=performance.now()-a;r(new DOMException(`Timeout elapsed after ${d} ms`,"TimeoutError"));},i);})}function it({rpc:e,rpcSubscriptions:n}){let t=te(e,n);return async function(o){await co({...o,getRecentSignatureConfirmationPromise:t,getTimeoutPromise:ot});}}async function co(e){await ne(e.signature,e,function({abortSignal:t,commitment:r,getTimeoutPromise:o}){return [o({abortSignal:t,commitment:r})]});}function ya({rpc:e,rpcSubscriptions:n}){let t=it({rpc:e,rpcSubscriptions:n});return async function(o){return await uo({...o,confirmSignatureOnlyTransaction:t,rpc:e})}}async function uo({abortSignal:e,commitment:n,confirmSignatureOnlyTransaction:t,lamports:r,recipientAddress:o,rpc:i}){let a=await i.requestAirdrop(o,r,{commitment:n}).send({abortSignal:e});return await t({abortSignal:e,commitment:n,signature:a}),a}l();l();function Me(e,n,t){if(Array.isArray(e))return e.map((r,o)=>Me(r,[...n,o],t));if(typeof e=="object"&&e!==null){let r={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=Me(e[o],[...n,o],t));return r}else return typeof e=="bigint"?(t&&(e>Number.MAX_SAFE_INTEGER||e<-Number.MAX_SAFE_INTEGER)&&t(n,e),Number(e)):e}function st(e,n){return Me(e,[],n)}var c={},He=[["data","parsed","info","tokenAmount","decimals"],["data","parsed","info","tokenAmount","uiAmount"],["data","parsed","info","rentExemptReserve","decimals"],["data","parsed","info","rentExemptReserve","uiAmount"],["data","parsed","info","delegatedAmount","decimals"],["data","parsed","info","delegatedAmount","uiAmount"],["data","parsed","info","extensions",c,"state","olderTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",c,"state","newerTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",c,"state","preUpdateAverageRate"],["data","parsed","info","extensions",c,"state","currentRate"]],V=[...He,["data","parsed","info","lastExtendedSlotStartIndex"],["data","parsed","info","slashPenalty"],["data","parsed","info","warmupCooldownRate"],["data","parsed","info","decimals"],["data","parsed","info","numRequiredSigners"],["data","parsed","info","numValidSigners"],["data","parsed","info","stake","delegation","warmupCooldownRate"],["data","parsed","info","exemptionThreshold"],["data","parsed","info","burnPercent"],["data","parsed","info","commission"],["data","parsed","info","votes",c,"confirmationCount"]],$e,We;function lo(){return $e||($e={accountNotifications:V.map(e=>["value",...e]),blockNotifications:[["value","block","blockTime"],["value","block","transactions",c,"meta","preTokenBalances",c,"accountIndex"],["value","block","transactions",c,"meta","preTokenBalances",c,"uiTokenAmount","decimals"],["value","block","transactions",c,"meta","postTokenBalances",c,"accountIndex"],["value","block","transactions",c,"meta","postTokenBalances",c,"uiTokenAmount","decimals"],["value","block","transactions",c,"meta","rewards",c,"commission"],["value","block","transactions",c,"meta","innerInstructions",c,"index"],["value","block","transactions",c,"meta","innerInstructions",c,"instructions",c,"programIdIndex"],["value","block","transactions",c,"meta","innerInstructions",c,"instructions",c,"accounts",c],["value","block","transactions",c,"transaction","message","addressTableLookups",c,"writableIndexes",c],["value","block","transactions",c,"transaction","message","addressTableLookups",c,"readonlyIndexes",c],["value","block","transactions",c,"transaction","message","instructions",c,"programIdIndex"],["value","block","transactions",c,"transaction","message","instructions",c,"accounts",c],["value","block","transactions",c,"transaction","message","header","numReadonlySignedAccounts"],["value","block","transactions",c,"transaction","message","header","numReadonlyUnsignedAccounts"],["value","block","transactions",c,"transaction","message","header","numRequiredSignatures"],["value","block","rewards",c,"commission"]],programNotifications:V.flatMap(e=>[["value",c,"account",...e],[c,"account",...e]])}),$e}function fo(){return We||(We={getAccountInfo:V.map(e=>["value",...e]),getBlock:[["blockTime"],["transactions",c,"meta","preTokenBalances",c,"accountIndex"],["transactions",c,"meta","preTokenBalances",c,"uiTokenAmount","decimals"],["transactions",c,"meta","postTokenBalances",c,"accountIndex"],["transactions",c,"meta","postTokenBalances",c,"uiTokenAmount","decimals"],["transactions",c,"meta","rewards",c,"commission"],["transactions",c,"meta","innerInstructions",c,"index"],["transactions",c,"meta","innerInstructions",c,"instructions",c,"programIdIndex"],["transactions",c,"meta","innerInstructions",c,"instructions",c,"accounts",c],["transactions",c,"transaction","message","addressTableLookups",c,"writableIndexes",c],["transactions",c,"transaction","message","addressTableLookups",c,"readonlyIndexes",c],["transactions",c,"transaction","message","instructions",c,"programIdIndex"],["transactions",c,"transaction","message","instructions",c,"accounts",c],["transactions",c,"transaction","message","header","numReadonlySignedAccounts"],["transactions",c,"transaction","message","header","numReadonlyUnsignedAccounts"],["transactions",c,"transaction","message","header","numRequiredSignatures"],["rewards",c,"commission"]],getBlockTime:[[]],getClusterNodes:[[c,"featureSet"],[c,"shredVersion"]],getInflationGovernor:[["initial"],["foundation"],["foundationTerm"],["taper"],["terminal"]],getInflationRate:[["foundation"],["total"],["validator"]],getInflationReward:[[c,"commission"]],getMultipleAccounts:V.map(e=>["value",c,...e]),getProgramAccounts:V.flatMap(e=>[["value",c,"account",...e],[c,"account",...e]]),getRecentPerformanceSamples:[[c,"samplePeriodSecs"]],getTokenAccountBalance:[["value","decimals"],["value","uiAmount"]],getTokenAccountsByDelegate:He.map(e=>["value",c,"account",...e]),getTokenAccountsByOwner:He.map(e=>["value",c,"account",...e]),getTokenLargestAccounts:[["value",c,"decimals"],["value",c,"uiAmount"]],getTokenSupply:[["value","decimals"],["value","uiAmount"]],getTransaction:[["meta","preTokenBalances",c,"accountIndex"],["meta","preTokenBalances",c,"uiTokenAmount","decimals"],["meta","postTokenBalances",c,"accountIndex"],["meta","postTokenBalances",c,"uiTokenAmount","decimals"],["meta","rewards",c,"commission"],["meta","innerInstructions",c,"index"],["meta","innerInstructions",c,"instructions",c,"programIdIndex"],["meta","innerInstructions",c,"instructions",c,"accounts",c],["transaction","message","addressTableLookups",c,"writableIndexes",c],["transaction","message","addressTableLookups",c,"readonlyIndexes",c],["transaction","message","instructions",c,"programIdIndex"],["transaction","message","instructions",c,"accounts",c],["transaction","message","header","numReadonlySignedAccounts"],["transaction","message","header","numReadonlyUnsignedAccounts"],["transaction","message","header","numRequiredSignatures"]],getVersion:[["feature-set"]],getVoteAccounts:[["current",c,"commission"],["delinquent",c,"commission"]],simulateTransaction:V.map(e=>["value","accounts",c,...e])}),We}function at(e,n){return e.filter(t=>t[0]===c&&typeof n=="number"||t[0]===n).map(t=>t.slice(1))}function be(e,n){if(Array.isArray(e))return e.map((t,r)=>{let o=at(n,r);return be(t,o)});if(typeof e=="object"&&e!==null){let t={};for(let[r,o]of Object.entries(e)){let i=at(n,r);t[r]=be(o,i);}return t}else return typeof e=="number"&&n.length===0&&Number.isInteger(e)?BigInt(e):e}function po(e,n){let t=n?fo()[n]:void 0;return be(e,t??[])}function mo(e,n){let t=n?lo()[n]:void 0;return be(e,t??[])}function ct(e){return new Proxy({},{defineProperty(){return !1},deleteProperty(){return !1},get(...n){let[t,r]=n,o=r.toString();return function(...i){let a=e?.onIntegerOverflow,s=st(i,a?(d,u)=>a(o,d,u):void 0);return {methodName:o,params:s,responseProcessor:d=>po(d,o)}}}})}function Ke(e){return new Proxy({},{defineProperty(){return !1},deleteProperty(){return !1},get(...n){let[t,r]=n,o=r.toString();return function(...i){let a=e?.onIntegerOverflow;return {params:st(i,a?(d,u)=>a(o,d,u):void 0),responseProcessor:d=>mo(d,o),subscribeMethodName:o.replace(/Notifications$/,"Subscribe"),unsubscribeMethodName:o.replace(/Notifications$/,"Unsubscribe")}}}})}function dt(e){return Ke(e)}l();var ft=class extends Error{constructor(e){super(`JSON-RPC 2.0 error (${e.code}): ${e.message}`),Error.captureStackTrace(this,this.constructor),this.code=e.code,this.data=e.data;}get name(){return "SolanaJsonRpcError"}},je=0;function go(){let e=je;return je=(je+1)%Number.MAX_SAFE_INTEGER,e}function Ge(e,n){return {id:go(),jsonrpc:"2.0",method:e,params:n}}function bo(e,n){return {async send(t){let{methodName:r,params:o,responseProcessor:i}=n,a=Ge(r,o),s=await e.transport({payload:a,signal:t?.abortSignal});if("error"in s)throw new ft(s.error);return i?i(s.result):s.result}}}function ho(e){return new Proxy(e.api,{defineProperty(){return !1},deleteProperty(){return !1},get(n,t,r){return function(...o){let i=t.toString(),a=Reflect.get(n,i,r),s=a?a(...o):{methodName:i,params:o};return bo(e,s)}}})}function pt(e){return ho(e)}function So(e,n){(async()=>{try{for await(let t of e);}catch{}finally{n();}})();}function yo(e,{params:n,subscribeMethodName:t,unsubscribeMethodName:r,responseProcessor:o}){return {async subscribe({abortSignal:i}){i.throwIfAborted();let a;function s(){if(a!==void 0){let m=Ge(r,[a]);f.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(m).finally(()=>{d.abort();});}else d.abort();}i.addEventListener("abort",s);let d=new AbortController,u=Ge(t,n),f=await e.transport({payload:u,signal:d.signal});function p(){i.removeEventListener("abort",s);}So(f,p);for await(let m of f)if("id"in m&&m.id===u.id){if("error"in m)throw new ft(m.error);a=m.result;break}if(a==null)throw new Error("Failed to obtain a subscription id from the server");return {async*[Symbol.asyncIterator](){for await(let m of f){if(!("params"in m)||m.params.subscription!==a)continue;let y=m.params.result;yield o?o(y):y;}}}}}}function wo(e){return new Proxy(e.api,{defineProperty(){return !1},deleteProperty(){return !1},get(n,t,r){return function(...o){let i=t.toString(),a=Reflect.get(n,i,r);if(t.toString().endsWith("Notifications")===!1&&!a)throw new Error("Either the notification name must end in 'Notifications' or the API must supply a subscription creator function to map between the notification name and the subscribe/unsubscribe method names.");let s=a?a(...o):{params:o,subscribeMethodName:i.replace(/Notifications$/,"Subscribe"),unsubscribeMethodName:i.replace(/Notifications$/,"Unsubscribe")};return yo(e,s)}}})}function Ve(e){return wo(e)}var Ao=globalThis.fetch,To=class extends Error{constructor(e){super(`HTTP error (${e.statusCode}): ${e.message}`),Error.captureStackTrace(this,this.constructor),this.statusCode=e.statusCode;}get name(){return "SolanaHttpError"}};function Co(e){let n={};for(let t in e)n[t.toLowerCase()]=e[t];return n}function mt({headers:e,url:n}){let t=e&&Co(e);return async function({payload:o,signal:i}){let a=JSON.stringify(o),s={body:a,headers:{...t,accept:"application/json","content-length":a.length.toString(),"content-type":"application/json; charset=utf-8"},method:"POST",signal:i},d=await Ao(n,s);if(!d.ok)throw new To({message:d.statusText,statusCode:d.status});return await d.json()}}var re=globalThis.WebSocket,ut=Symbol(void 0);async function Ro({sendBufferHighWatermark:e,signal:n,url:t}){return new Promise((r,o)=>{n.addEventListener("abort",s,{once:!0});let i=new Map;function a(h){let S=[...i.values()].filter(T=>T.__hasPolled).map(({onError:T})=>T);i.clear(),S.forEach(T=>{try{T(h);}catch{}});}function s(){a(ut),g.readyState!==re.CLOSED&&g.readyState!==re.CLOSING&&g.close(1e3);}function d(h){p?.onCancel(),n.removeEventListener("abort",s),g.removeEventListener("close",d),g.removeEventListener("error",u),g.removeEventListener("open",m),g.removeEventListener("message",y),a(h);}function u(h){f||o(new Error("WebSocket failed to connect",{cause:h}));}let f=!1,p;function m(){f=!0,r({async send(h){let S=JSON.stringify(h);if(!p&&g.readyState===re.OPEN&&g.bufferedAmount>e){let T,z=new Promise((q,zt)=>{let Xe=setInterval(()=>{(g.readyState!==re.OPEN||!(g.bufferedAmount>e))&&(clearInterval(Xe),p=void 0,q());},16);T=()=>{p=void 0,clearInterval(Xe),zt(new Error("WebSocket was closed before payload could be sent"));};});p={onCancel:T,promise:z};}p&&await p.promise,g.send(S);},async*[Symbol.asyncIterator](){let h=Symbol();i.set(h,{__hasPolled:!1,queuedMessages:[]});try{for(;;){let S=i.get(h);if(!S)throw new Error("Invariant: WebSocket message iterator is missing state storage");if(S.__hasPolled)throw new Error("Invariant: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise");let T=S.queuedMessages;if(T.length)S.queuedMessages=[],yield*T;else try{yield await new Promise((z,q)=>{i.set(h,{__hasPolled:!0,onError:q,onMessage:z});});}catch(z){if(z===ut)return;throw new Error("WebSocket connection closed",{cause:z})}}}finally{i.delete(h);}}});}function y({data:h}){let S=JSON.parse(h);i.forEach((T,z)=>{if(T.__hasPolled){let{onMessage:q}=T;i.set(z,{__hasPolled:!1,queuedMessages:[]}),q(S);}else T.queuedMessages.push(S);});}let g=new re(t);g.addEventListener("close",d),g.addEventListener("error",u),g.addEventListener("open",m),g.addEventListener("message",y);})}function gt({sendBufferHighWatermark:e,url:n}){if(/^wss?:/i.test(n)===!1){let t=n.match(/^([^:]+):/);throw new DOMException(t?`Failed to construct 'WebSocket': The URL's scheme must be either 'ws' or 'wss'. '${t[1]}:' is not allowed.`:`Failed to construct 'WebSocket': The URL '${n}' is invalid.`)}return async function({payload:r,signal:o}){o?.throwIfAborted();let i=await Ro({sendBufferHighWatermark:e,signal:o,url:n});return o?.throwIfAborted(),await i.send(r),{[Symbol.asyncIterator]:i[Symbol.asyncIterator].bind(i),send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:i.send.bind(i)}}}var St=Qe(qe(),1);l();l();var he=class extends Error{constructor(t,r,o){let i=(typeof r[0]=="number"?r[0]:parseInt(r[0],10))+1,a="",s=i%10,d=i%100;s==1&&d!=11?a=i+"st":s==2&&d!=12?a=i+"nd":s==3&&d!=13?a=i+"rd":a=i+"th";let u=r.length>1?r.slice(1).map(f=>typeof f=="number"?`[${f}]`:f).join("."):null;super(`The ${a} argument to the \`${t}\` RPC method${u?` at path \`${u}\``:""} was \`${o}\`. This number is unsafe for use with the Solana JSON-RPC because it exceeds \`Number.MAX_SAFE_INTEGER\`.`);this.keyPath=r,this.methodName=t,this.value=o;}get name(){return "SolanaJsonRpcIntegerOverflowError"}};var Se={onIntegerOverflow(e,n,t){throw new he(e,n,t)}};l();l();function Do(e,n){(async()=>{try{for await(let t of e);}catch{}finally{n();}})();}function ye({getAbortSignalFromInputArgs:e,getCacheEntryMissingError:n,getCacheKeyFromInputArgs:t,onCacheHit:r,onCreateIterable:o}){let i=new Map;function a(s){let d=i.get(s);if(!d)throw n(s);return d}return async(...s)=>{let d=t(...s),u=e(...s);if(d===void 0)return await o(u,...s);let f=()=>{i.delete(d),u.removeEventListener("abort",p);},p=()=>{let m=a(d);m.purgeScheduled!==!0&&(m.purgeScheduled=!0,globalThis.queueMicrotask(()=>{m.purgeScheduled=!1,m.referenceCount===0&&(m.abortController.abort(),f());})),m.referenceCount--;};u.addEventListener("abort",p);try{let m=i.get(d);if(m){m.referenceCount++;let y=m.iterable,g="then"in y?await y:y;return await r(g,...s),g}else {let y=new AbortController,g=o(y.signal,...s),h={abortController:y,iterable:g,purgeScheduled:!1,referenceCount:1};i.set(d,h);let S=await g;return Do(S,f),h.iterable=S,S}}catch(m){throw f(),m}}}var Ye=Symbol(void 0);function No(e,n){(async()=>{try{for await(let t of e);}catch{}finally{n();}})();}function ht({getDeduplicationKey:e,rpcSubscriptions:n}){let t=new Map;return new Proxy(n,{defineProperty(){return !1},deleteProperty(){return !1},get(r,o,i){let a=Reflect.get(r,o,i);return typeof a!="function"?a:function(...s){let d=e(o,s);if(d===void 0)return a(...s);if(t.has(d))return t.get(d);let u=ye({getAbortSignalFromInputArgs:({abortSignal:p})=>p,getCacheEntryMissingError(p){return new Error(`Found no cache entry for subscription with deduplication key \`${p?.toString()}\``)},getCacheKeyFromInputArgs:()=>d,async onCacheHit(p,m){},async onCreateIterable(p,m){let g=await a(...s).subscribe({...m,abortSignal:p});return No(g,()=>{t.delete(d);}),g}}),f={async subscribe(...p){let m=await u(...p),{abortSignal:y}=p[0],g;return {...m,async*[Symbol.asyncIterator](){g||(g=y.aborted?Promise.reject(Ye):new Promise((h,S)=>{y.addEventListener("abort",()=>{S(Ye);});}));try{let h=m[Symbol.asyncIterator]();for(;;){let S=await Promise.race([h.next(),g]);if(S.done)return;yield S.value;}}catch(h){if(h===Ye)return;throw t.delete(d),h}}}}};return t.set(d,f),f}}})}function qa(e){return pt({...e,api:ct(Se)})}function Ya(e){return B(Ve({...e,api:Ke(Se)}),n=>ht({getDeduplicationKey:(...t)=>(0, St.default)(t),rpcSubscriptions:n}))}function Ja(e){return Ve({...e,api:dt(Se)})}l();l();function yt(e,n){let t;return async function(o){let{payload:i,signal:a}=o,s=n(i);if(s===void 0)return await e(o);if(t||(Promise.resolve().then(()=>{t=void 0;}),t={}),t[s]==null){let u=new AbortController;t[s]={abortController:u,numConsumers:0,responsePromise:e({...o,signal:u.signal})};}let d=t[s];if(d.numConsumers++,a){let u=d.responsePromise;return await new Promise((f,p)=>{let m=y=>{a.removeEventListener("abort",m),d.numConsumers-=1,d.numConsumers===0&&d.abortController.abort();let g=new DOMException(y.target.reason,"AbortError");p(g);};a.addEventListener("abort",m),u.then(f).finally(()=>{a.removeEventListener("abort",m);});})}else return await d.responsePromise}}l();var wt=Qe(qe(),1);function ko(e){return e==null||typeof e!="object"||Array.isArray(e)?!1:"jsonrpc"in e&&e.jsonrpc==="2.0"&&"method"in e&&typeof e.method=="string"&&"params"in e}function At(e){return ko(e)?(0, wt.default)([e.method,e.params]):void 0}function Bo(e){let n={};for(let t in e)n[t.toLowerCase()]=e[t];return n}function ss(e){return B(mt({...e,headers:{...e.headers?Bo(e.headers):void 0,"solana-client":"js/2.0.0-development"}}),n=>yt(n,At))}l();l();var Po={jsonrpc:"2.0",method:"ping"};function Tt({intervalMs:e,transport:n}){let t=new Map;return async(...r)=>{let o=await n(...r),i;function a(){o.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(Po);}function s(){clearInterval(i),i=setInterval(a,e);}if(t.has(o)===!1){t.set(o,{[Symbol.asyncIterator]:o[Symbol.asyncIterator].bind(o),send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:(...f)=>(s(),o.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(...f))}),(async()=>{try{for await(let f of o)s();}catch{}finally{t.delete(o),clearInterval(i),d&&globalThis.window.removeEventListener("offline",d),u&&globalThis.window.removeEventListener("online",u);}})(),globalThis.navigator.onLine&&s();let d,u;d=()=>{clearInterval(i);},u=()=>{a(),s();},globalThis.window.addEventListener("offline",d),globalThis.window.addEventListener("online",u);}return t.get(o)}}l();var _o=Symbol(void 0);function Et({getShard:e,transport:n}){return ye({getAbortSignalFromInputArgs:({signal:t})=>t,getCacheEntryMissingError(t){return new Error(`Found no cache entry for connection with shard key \`${t?.toString()}\``)},getCacheKeyFromInputArgs:({payload:t})=>e?e(t):_o,onCacheHit:(t,{payload:r})=>t.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(r),onCreateIterable:(t,r)=>n({...r,signal:t})})}function ys(e){let{getShard:n,intervalMs:t,...r}=e;return B(gt({...r,sendBufferHighWatermark:e.sendBufferHighWatermark??131072}),o=>Tt({intervalMs:t??5e3,transport:o}),o=>Et({getShard:n,transport:o}))}l();l();l();function xt(e){return async function({abortSignal:t,lastValidBlockHeight:r}){let o=new AbortController;function i(){o.abort();}t.addEventListener("abort",i,{signal:o.signal});let a=await e.slotNotifications().subscribe({abortSignal:o.signal});try{for await(let s of a)if(s.slot>r)throw new Error("The network has progressed past the last block for which this transaction could have committed.")}finally{o.abort();}}}l();var Je=4+4+32;function It(e,n){return async function({abortSignal:r,commitment:o,currentNonceValue:i,nonceAccountAddress:a}){let s=new AbortController;function d(){s.abort();}r.addEventListener("abort",d,{signal:s.signal});let u=await n.accountNotifications(a,{commitment:o,encoding:"base64"}).subscribe({abortSignal:s.signal}),f=F(),p=sn();function m([h]){let T=p.encode(h).slice(Je,Je+32);return f.decode(T)[0]}let y=(async()=>{for await(let h of u){let S=m(h.value.data);if(S!==i)throw new Error(`The nonce \`${i}\` is no longer valid. It has advanced to \`${S}\`.`)}})(),g=(async()=>{let{value:h}=await e.getAccountInfo(a,{commitment:o,dataSlice:{length:32,offset:Je},encoding:"base58"}).send({abortSignal:s.signal});if(!h)throw new Error(`No nonce account could be found at address \`${a}\`.`);let S=h.data[0];if(S!==i)throw new Error(`The nonce \`${i}\` is no longer valid. It has advanced to \`${S}\`.`);await new Promise(()=>{});})();try{return await Promise.race([y,g])}finally{s.abort();}}}function Ct({rpc:e,rpcSubscriptions:n}){let t=It(e,n),r=te(e,n);return async function(i){await Oo({...i,getNonceInvalidationPromise:t,getRecentSignatureConfirmationPromise:r});}}function Rt({rpc:e,rpcSubscriptions:n}){let t=xt(n),r=te(e,n);return async function(i){await Lo({...i,getBlockHeightExceedencePromise:t,getRecentSignatureConfirmationPromise:r});}}async function Oo(e){await ne(Ue(e.transaction),e,function({abortSignal:t,commitment:r,getNonceInvalidationPromise:o,transaction:i}){return [o({abortSignal:t,commitment:r,currentNonceValue:i.lifetimeConstraint.nonce,nonceAccountAddress:i.instructions[0].accounts[0].address})]});}async function Lo(e){await ne(Ue(e.transaction),e,function({abortSignal:t,getBlockHeightExceedencePromise:r,transaction:o}){return [r({abortSignal:t,lastValidBlockHeight:o.lifetimeConstraint.lastValidBlockHeight})]});}function Fo(e,n){return !n?.preflightCommitment&&me(e,"finalized")<0?{...n,preflightCommitment:e}:n}async function vt({abortSignal:e,commitment:n,rpc:t,transaction:r,...o}){let i=rt(r);return await t.sendTransaction(i,{...Fo(n,o),encoding:"base64"}).send({abortSignal:e})}function Vs({rpc:e,rpcSubscriptions:n}){let t=Ct({rpc:e,rpcSubscriptions:n});return async function(o,i){await Uo({...i,confirmDurableNonceTransaction:t,rpc:e,transaction:o});}}function qs({rpc:e,rpcSubscriptions:n}){let t=Rt({rpc:e,rpcSubscriptions:n});return async function(o,i){await $o({...i,confirmRecentTransaction:t,rpc:e,transaction:o});}}async function Uo({abortSignal:e,commitment:n,confirmDurableNonceTransaction:t,rpc:r,transaction:o,...i}){let a=await vt({...i,abortSignal:e,commitment:n,rpc:r,transaction:o});return await t({abortSignal:e,commitment:n,transaction:o}),a}async function $o({abortSignal:e,commitment:n,confirmRecentTransaction:t,rpc:r,transaction:o,...i}){let a=await vt({...i,abortSignal:e,commitment:n,rpc:r,transaction:o});return await t({abortSignal:e,commitment:n,transaction:o}),a}
10
10
 
11
- exports.AccountRole = Dt;
12
- exports.appendTransactionInstruction = ss;
13
- exports.assertIsBase58EncodedAddress = No;
14
- exports.assertIsBlockhash = Qo;
15
- exports.assertIsDurableNonceTransaction = rs;
16
- exports.createAddressWithSeed = Oo;
17
- exports.createDefaultRpcSubscriptionsTransport = Vs;
18
- exports.createDefaultRpcTransport = Ws;
19
- exports.createSolanaRpc = zs;
20
- exports.createSolanaRpcSubscriptions = vs;
21
- exports.createTransaction = ts;
22
- exports.downgradeRoleToNonSigner = Do;
23
- exports.downgradeRoleToReadonly = Po;
24
- exports.generateKeyPair = Go;
25
- exports.getAddressFromPublicKey = $e;
26
- exports.getBase58EncodedAddressCodec = W;
27
- exports.getBase58EncodedAddressComparator = ce;
28
- exports.getBase64EncodedWireTransaction = cs;
29
- exports.getProgramDerivedAddress = ko;
30
- exports.isSignerRole = $o;
31
- exports.isWritableRole = Uo;
32
- exports.mergeRoles = Wo;
33
- exports.prependTransactionInstruction = is;
34
- exports.setTransactionFeePayer = os;
35
- exports.setTransactionLifetimeUsingBlockhash = es;
36
- exports.setTransactionLifetimeUsingDurableNonce = ns;
37
- exports.signBytes = We;
38
- exports.signTransaction = as;
39
- exports.upgradeRoleToSigner = Mo;
40
- exports.upgradeRoleToWritable = Fo;
41
- exports.verifySignature = Vo;
11
+ exports.AccountRole = ar;
12
+ exports.address = Xt;
13
+ exports.appendTransactionInstruction = Er;
14
+ exports.assertIsAddress = X;
15
+ exports.assertIsBlockhash = Xi;
16
+ exports.assertIsDurableNonceTransaction = Zi;
17
+ exports.assertIsLamports = cr;
18
+ exports.assertIsProgramDerivedAddress = oi;
19
+ exports.assertIsSignature = sr;
20
+ exports.assertIsStringifiedBigInt = dr;
21
+ exports.assertIsStringifiedNumber = ur;
22
+ exports.assertIsUnixTimestamp = lr;
23
+ exports.assertTransactionIsFullySigned = so;
24
+ exports.commitmentComparator = me;
25
+ exports.createAddressWithSeed = ai;
26
+ exports.createBlockHeightExceedencePromiseFactory = xt;
27
+ exports.createDefaultAirdropRequester = ya;
28
+ exports.createDefaultDurableNonceTransactionConfirmer = Ct;
29
+ exports.createDefaultDurableNonceTransactionSender = Vs;
30
+ exports.createDefaultRecentTransactionConfirmer = Rt;
31
+ exports.createDefaultRpcSubscriptionsTransport = ys;
32
+ exports.createDefaultRpcTransport = ss;
33
+ exports.createDefaultTransactionSender = qs;
34
+ exports.createNonceInvalidationPromiseFactory = It;
35
+ exports.createRecentSignatureConfirmationPromiseFactory = te;
36
+ exports.createSolanaRpc = qa;
37
+ exports.createSolanaRpcSubscriptions = Ya;
38
+ exports.createSolanaRpcSubscriptions_UNSTABLE = Ja;
39
+ exports.createTransaction = hr;
40
+ exports.downgradeRoleToNonSigner = ui;
41
+ exports.downgradeRoleToReadonly = li;
42
+ exports.generateKeyPair = Ai;
43
+ exports.getAddressCodec = bn;
44
+ exports.getAddressComparator = pe;
45
+ exports.getAddressDecoder = Z;
46
+ exports.getAddressEncoder = fe;
47
+ exports.getAddressFromPublicKey = yn;
48
+ exports.getBase64EncodedWireTransaction = rt;
49
+ exports.getProgramDerivedAddress = ii;
50
+ exports.getSignatureFromTransaction = Ue;
51
+ exports.getTransactionCodec = ea;
52
+ exports.getTransactionDecoder = io;
53
+ exports.getTransactionEncoder = tt;
54
+ exports.isAddress = Jt;
55
+ exports.isAdvanceNonceAccountInstruction = Fe;
56
+ exports.isLamports = Ri;
57
+ exports.isProgramDerivedAddress = ri;
58
+ exports.isSignature = Ti;
59
+ exports.isSignerRole = fi;
60
+ exports.isStringifiedBigInt = zi;
61
+ exports.isStringifiedNumber = Ni;
62
+ exports.isUnixTimestamp = Bi;
63
+ exports.isWritableRole = pi;
64
+ exports.lamports = vi;
65
+ exports.mergeRoles = mi;
66
+ exports.partiallySignTransaction = ao;
67
+ exports.prependTransactionInstruction = Qi;
68
+ exports.requestAndConfirmAirdrop = uo;
69
+ exports.sendAndConfirmDurableNonceTransaction = Uo;
70
+ exports.sendAndConfirmTransaction = $o;
71
+ exports.setTransactionFeePayer = Tr;
72
+ exports.setTransactionLifetimeUsingBlockhash = br;
73
+ exports.setTransactionLifetimeUsingDurableNonce = Ar;
74
+ exports.signBytes = An;
75
+ exports.signTransaction = na;
76
+ exports.signature = Ei;
77
+ exports.stringifiedBigInt = Di;
78
+ exports.stringifiedNumber = ki;
79
+ exports.unixTimestamp = Pi;
80
+ exports.upgradeRoleToSigner = gi;
81
+ exports.upgradeRoleToWritable = bi;
82
+ exports.verifySignature = xi;
83
+ exports.waitForDurableNonceTransactionConfirmation = Oo;
84
+ exports.waitForRecentTransactionConfirmation = Lo;
42
85
 
43
86
  return exports;
44
87
 
@@ -0,0 +1,20 @@
1
+ import { Signature } from '@solana/keys';
2
+ import { GetSignatureStatusesApi } from '@solana/rpc-core/dist/types/rpc-methods/getSignatureStatuses';
3
+ import { SignatureNotificationsApi } from '@solana/rpc-core/dist/types/rpc-subscriptions/signature-notifications';
4
+ import { Rpc, RpcSubscriptions } from '@solana/rpc-transport/dist/types/json-rpc-types';
5
+ import { BaseTransactionConfirmationStrategyConfig } from './transaction-confirmation-strategy-racer';
6
+ import { getTimeoutPromise } from './transaction-confirmation-strategy-timeout';
7
+ interface DefaultSignatureOnlyRecentTransactionConfirmerConfig {
8
+ rpc: Rpc<GetSignatureStatusesApi>;
9
+ rpcSubscriptions: RpcSubscriptions<SignatureNotificationsApi>;
10
+ }
11
+ interface WaitForRecentTransactionWithTimeBasedLifetimeConfirmationConfig extends BaseTransactionConfirmationStrategyConfig {
12
+ getTimeoutPromise: typeof getTimeoutPromise;
13
+ signature: Signature;
14
+ }
15
+ /** @deprecated */
16
+ export declare function createDefaultSignatureOnlyRecentTransactionConfirmer({ rpc, rpcSubscriptions, }: DefaultSignatureOnlyRecentTransactionConfirmerConfig): (config: Omit<Parameters<typeof waitForRecentTransactionConfirmationUntilTimeout>[0], 'getRecentSignatureConfirmationPromise' | 'getTimeoutPromise'>) => Promise<void>;
17
+ /** @deprecated */
18
+ export declare function waitForRecentTransactionConfirmationUntilTimeout(config: WaitForRecentTransactionWithTimeBasedLifetimeConfirmationConfig): Promise<void>;
19
+ export {};
20
+ //# sourceMappingURL=airdrop-confirmer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airdrop-confirmer.d.ts","sourceRoot":"","sources":["../../src/airdrop-confirmer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uEAAuE,CAAC;AAClH,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAExF,OAAO,EAAE,yCAAyC,EAAkB,MAAM,2CAA2C,CAAC;AAEtH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAEhF,UAAU,oDAAoD;IAC1D,GAAG,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAClC,gBAAgB,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;CACjE;AAED,UAAU,+DACN,SAAQ,yCAAyC;IACjD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,kBAAkB;AAClB,wBAAgB,oDAAoD,CAAC,EACjE,GAAG,EACH,gBAAgB,GACnB,EAAE,oDAAoD,YAMvC,KACJ,WAAW,uDAAuD,CAAC,CAAC,CAAC,CAAC,EACtE,uCAAuC,GAAG,mBAAmB,CAChE,mBAQR;AAED,kBAAkB;AAClB,wBAAsB,gDAAgD,CAClE,MAAM,EAAE,+DAA+D,GACxE,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -0,0 +1,23 @@
1
+ import { Address } from '@solana/addresses';
2
+ import { Signature } from '@solana/keys';
3
+ import { GetSignatureStatusesApi } from '@solana/rpc-core/dist/types/rpc-methods/getSignatureStatuses';
4
+ import { RequestAirdropApi } from '@solana/rpc-core/dist/types/rpc-methods/requestAirdrop';
5
+ import { SignatureNotificationsApi } from '@solana/rpc-core/dist/types/rpc-subscriptions/signature-notifications';
6
+ import { Rpc, RpcSubscriptions } from '@solana/rpc-transport/dist/types/json-rpc-types';
7
+ import { Commitment, LamportsUnsafeBeyond2Pow53Minus1 } from '@solana/rpc-types';
8
+ import { createDefaultSignatureOnlyRecentTransactionConfirmer } from './airdrop-confirmer';
9
+ type AirdropRequesterConfig = Readonly<{
10
+ rpc: Rpc<RequestAirdropApi & GetSignatureStatusesApi>;
11
+ rpcSubscriptions: RpcSubscriptions<SignatureNotificationsApi>;
12
+ }>;
13
+ export declare function createDefaultAirdropRequester({ rpc, rpcSubscriptions }: AirdropRequesterConfig): (config: Omit<Parameters<typeof requestAndConfirmAirdrop>[0], 'confirmSignatureOnlyTransaction' | 'rpc'>) => Promise<Signature>;
14
+ export declare function requestAndConfirmAirdrop({ abortSignal, commitment, confirmSignatureOnlyTransaction, lamports, recipientAddress, rpc, }: Readonly<{
15
+ abortSignal?: AbortSignal;
16
+ commitment: Commitment;
17
+ confirmSignatureOnlyTransaction: ReturnType<typeof createDefaultSignatureOnlyRecentTransactionConfirmer>;
18
+ lamports: LamportsUnsafeBeyond2Pow53Minus1;
19
+ recipientAddress: Address;
20
+ rpc: Rpc<RequestAirdropApi>;
21
+ }>): Promise<Signature>;
22
+ export {};
23
+ //# sourceMappingURL=airdrop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airdrop.d.ts","sourceRoot":"","sources":["../../src/airdrop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uEAAuE,CAAC;AAClH,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAAE,oDAAoD,EAAE,MAAM,qBAAqB,CAAC;AAE3F,KAAK,sBAAsB,GAAG,QAAQ,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,CAAC;IACtD,gBAAgB,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;CACjE,CAAC,CAAC;AAEH,wBAAgB,6BAA6B,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,sBAAsB,YAM/E,KAAK,WAAW,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAAE,iCAAiC,GAAG,KAAK,CAAC,wBAQ9G;AAED,wBAAsB,wBAAwB,CAAC,EAC3C,WAAW,EACX,UAAU,EACV,+BAA+B,EAC/B,QAAQ,EACR,gBAAgB,EAChB,GAAG,GACN,EAAE,QAAQ,CAAC;IACR,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,+BAA+B,EAAE,UAAU,CAAC,OAAO,oDAAoD,CAAC,CAAC;IACzG,QAAQ,EAAE,gCAAgC,CAAC;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CAC/B,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAUtB"}
@@ -0,0 +1,11 @@
1
+ type CacheKey = string | symbol;
2
+ type Config<TInput extends unknown[], TIterable extends AsyncIterable<unknown>> = Readonly<{
3
+ getAbortSignalFromInputArgs: (...args: TInput) => AbortSignal;
4
+ getCacheEntryMissingError: (cacheKey: CacheKey) => Error;
5
+ getCacheKeyFromInputArgs: (...args: TInput) => CacheKey | undefined;
6
+ onCacheHit: (iterable: TIterable, ...args: TInput) => Promise<void>;
7
+ onCreateIterable: (abortSignal: AbortSignal, ...args: TInput) => Promise<TIterable>;
8
+ }>;
9
+ export declare function getCachedAbortableIterableFactory<TInput extends unknown[], TIterable extends AsyncIterable<unknown>>({ getAbortSignalFromInputArgs, getCacheEntryMissingError, getCacheKeyFromInputArgs, onCacheHit, onCreateIterable, }: Config<TInput, TIterable>): (...args: TInput) => Promise<TIterable>;
10
+ export {};
11
+ //# sourceMappingURL=cached-abortable-iterable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cached-abortable-iterable.d.ts","sourceRoot":"","sources":["../../src/cached-abortable-iterable.ts"],"names":[],"mappings":"AAMA,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAChC,KAAK,MAAM,CAAC,MAAM,SAAS,OAAO,EAAE,EAAE,SAAS,SAAS,aAAa,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;IACvF,2BAA2B,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC;IAC9D,yBAAyB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,KAAK,CAAC;IACzD,wBAAwB,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,KACpC,QAAQ,GAER,SAAS,CAAC;IAChB,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,gBAAgB,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;CACvF,CAAC,CAAC;AAgBH,wBAAgB,iCAAiC,CAAC,MAAM,SAAS,OAAO,EAAE,EAAE,SAAS,SAAS,aAAa,CAAC,OAAO,CAAC,EAAE,EAClH,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,UAAU,EACV,gBAAgB,GACnB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CA+DrE"}
@@ -1,8 +1,15 @@
1
1
  export * from '@solana/addresses';
2
2
  export * from '@solana/instructions';
3
3
  export * from '@solana/keys';
4
+ export * from '@solana/rpc-types';
4
5
  export * from '@solana/transactions';
6
+ export * from './airdrop';
5
7
  export * from './rpc';
6
8
  export * from './rpc-transport';
7
9
  export * from './rpc-websocket-transport';
10
+ export * from './send-transaction';
11
+ export * from './transaction-confirmation';
12
+ export * from './transaction-confirmation-strategy-blockheight';
13
+ export * from './transaction-confirmation-strategy-nonce';
14
+ export * from './transaction-confirmation-strategy-recent-signature';
8
15
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sDAAsD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-default-config.d.ts","sourceRoot":"","sources":["../../src/rpc-default-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAItD,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAIhF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-integer-overflow-error.d.ts","sourceRoot":"","sources":["../../src/rpc-integer-overflow-error.ts"],"names":[],"mappings":"AAAA,qBAAa,iCAAkC,SAAQ,KAAK;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBACX,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM;IA+B3E,IAAI,IAAI,WAEP;CACJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-request-coalescer.d.ts","sourceRoot":"","sources":["../../src/rpc-request-coalescer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6DAA6D,CAAC;AAQ5F,KAAK,qBAAqB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;AAEtE,wBAAgB,oCAAoC,CAChD,SAAS,EAAE,aAAa,EACxB,mBAAmB,EAAE,qBAAqB,GAC3C,aAAa,CAmDf"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-request-deduplication.d.ts","sourceRoot":"","sources":["../../src/rpc-request-deduplication.ts"],"names":[],"mappings":"AAiBA,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAExF"}
@@ -0,0 +1,10 @@
1
+ import { RpcSubscriptions } from '@solana/rpc-transport/dist/types/json-rpc-types';
2
+ type CacheKey = string | undefined;
3
+ type Config<TRpcSubscriptionsMethods> = Readonly<{
4
+ getDeduplicationKey: GetDeduplicationKeyFn;
5
+ rpcSubscriptions: RpcSubscriptions<TRpcSubscriptionsMethods>;
6
+ }>;
7
+ type GetDeduplicationKeyFn = (subscriptionMethod: string | symbol, payload: unknown) => CacheKey;
8
+ export declare function getRpcSubscriptionsWithSubscriptionCoalescing<TRpcSubscriptionsMethods>({ getDeduplicationKey, rpcSubscriptions, }: Config<TRpcSubscriptionsMethods>): RpcSubscriptions<TRpcSubscriptionsMethods>;
9
+ export {};
10
+ //# sourceMappingURL=rpc-subscription-coalescer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-subscription-coalescer.d.ts","sourceRoot":"","sources":["../../src/rpc-subscription-coalescer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAI3G,KAAK,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AACnC,KAAK,MAAM,CAAC,wBAAwB,IAAI,QAAQ,CAAC;IAC7C,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,gBAAgB,EAAE,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;CAChE,CAAC,CAAC;AACH,KAAK,qBAAqB,GAAG,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC;AAuBjG,wBAAgB,6CAA6C,CAAC,wBAAwB,EAAE,EACpF,mBAAmB,EACnB,gBAAgB,GACnB,EAAE,MAAM,CAAC,wBAAwB,CAAC,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,CAgG/E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-transport.d.ts","sourceRoot":"","sources":["../../src/rpc-transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6DAA6D,CAAC;AAkB5F,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAc1G"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-websocket-autopinger.d.ts","sourceRoot":"","sources":["../../src/rpc-websocket-autopinger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6DAA6D,CAAC;AAErG,KAAK,MAAM,GAAG,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,sBAAsB,CAAC;CACrC,CAAC,CAAC;AAOH,wBAAgB,iCAAiC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,sBAAsB,CA+D3G"}
@@ -0,0 +1,13 @@
1
+ import { IRpcWebSocketTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';
2
+ type Config = Readonly<{
3
+ /**
4
+ * You might like to open more subscriptions per connection than your RPC provider allows for.
5
+ * Using the initial payload as input, return a shard key from this method to assign
6
+ * subscriptions to separate connections. One socket will be opened per shard key.
7
+ */
8
+ getShard?: (payload: unknown) => string | symbol;
9
+ transport: IRpcWebSocketTransport;
10
+ }>;
11
+ export declare function getWebSocketTransportWithConnectionSharding({ getShard, transport }: Config): IRpcWebSocketTransport;
12
+ export {};
13
+ //# sourceMappingURL=rpc-websocket-connection-sharding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-websocket-connection-sharding.d.ts","sourceRoot":"","sources":["../../src/rpc-websocket-connection-sharding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6DAA6D,CAAC;AAIrG,KAAK,MAAM,GAAG,QAAQ,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,MAAM,CAAC;IACjD,SAAS,EAAE,sBAAsB,CAAC;CACrC,CAAC,CAAC;AAMH,wBAAgB,2CAA2C,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,sBAAsB,CAenH"}
@@ -1,6 +1,12 @@
1
1
  import { createWebSocketTransport } from '@solana/rpc-transport';
2
2
  import { IRpcWebSocketTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';
3
3
  export declare function createDefaultRpcSubscriptionsTransport(config: Omit<Parameters<typeof createWebSocketTransport>[0], 'sendBufferHighWatermark'> & {
4
+ /**
5
+ * You might like to open more subscriptions per connection than your RPC provider allows
6
+ * for. Using the initial payload as input, return a shard key from this method to assign
7
+ * subscriptions to separate connections. One socket will be opened per shard key.
8
+ */
9
+ getShard?: (payload: unknown) => string;
4
10
  intervalMs?: number;
5
11
  sendBufferHighWatermark?: number;
6
12
  }): IRpcWebSocketTransport;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-websocket-transport.d.ts","sourceRoot":"","sources":["../../src/rpc-websocket-transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6DAA6D,CAAC;AAKrG,wBAAgB,sCAAsC,CAClD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,GAAG;IACtF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACpC,GACF,sBAAsB,CAqBxB"}
@@ -1,6 +1,7 @@
1
- import { SolanaRpcMethods, SolanaRpcSubscriptions } from '@solana/rpc-core';
1
+ import { SolanaRpcMethods, SolanaRpcSubscriptions, SolanaRpcSubscriptionsUnstable } from '@solana/rpc-core';
2
2
  import { createJsonRpc, createJsonSubscriptionRpc } from '@solana/rpc-transport';
3
3
  import type { Rpc, RpcSubscriptions } from '@solana/rpc-transport/dist/types/json-rpc-types';
4
4
  export declare function createSolanaRpc(config: Omit<Parameters<typeof createJsonRpc>[0], 'api'>): Rpc<SolanaRpcMethods>;
5
5
  export declare function createSolanaRpcSubscriptions(config: Omit<Parameters<typeof createJsonSubscriptionRpc>[0], 'api'>): RpcSubscriptions<SolanaRpcSubscriptions>;
6
+ export declare function createSolanaRpcSubscriptions_UNSTABLE(config: Omit<Parameters<typeof createJsonSubscriptionRpc>[0], 'api'>): RpcSubscriptions<SolanaRpcSubscriptions & SolanaRpcSubscriptionsUnstable>;
6
7
  //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"AACA,OAAO,EAIH,gBAAgB,EAChB,sBAAsB,EACtB,8BAA8B,EACjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAQ7F,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAK/G;AAED,wBAAgB,4BAA4B,CACxC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GACrE,gBAAgB,CAAC,sBAAsB,CAAC,CAY1C;AAED,wBAAgB,qCAAqC,CACjD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GACrE,gBAAgB,CAAC,sBAAsB,GAAG,8BAA8B,CAAC,CAK3E"}