@solana/web3.js 2.0.0-experimental.87c9652 → 2.0.0-experimental.8894dc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.browser.cjs +337 -10
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.js +323 -11
- package/dist/index.browser.js.map +1 -1
- package/dist/index.development.js +2244 -241
- package/dist/index.development.js.map +1 -1
- package/dist/index.native.js +312 -11
- package/dist/index.native.js.map +1 -1
- package/dist/index.node.cjs +326 -10
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.js +312 -11
- package/dist/index.node.js.map +1 -1
- package/dist/index.production.min.js +39 -19
- package/dist/types/cached-abortable-iterable.d.ts +11 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/rpc-subscription-coalescer.d.ts +10 -0
- package/dist/types/rpc-websocket-autopinger.d.ts +8 -0
- package/dist/types/rpc-websocket-connection-sharding.d.ts +13 -0
- package/dist/types/rpc-websocket-transport.d.ts +13 -0
- package/dist/types/rpc.d.ts +5 -3
- package/package.json +18 -18
|
@@ -2,29 +2,49 @@ this.globalThis = this.globalThis || {};
|
|
|
2
2
|
this.globalThis.solanaWeb3 = (function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var Tt=Object.create;var be=Object.defineProperty;var Rt=Object.getOwnPropertyDescriptor;var _t=Object.getOwnPropertyNames;var zt=Object.getPrototypeOf,Ct=Object.prototype.hasOwnProperty;var vt=(e,t,r)=>t in e?be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var kt=(e,t)=>()=>(e&&(t=e(e=0)),t);var Nt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ot=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _t(t))!Ct.call(e,o)&&o!==r&&be(e,o,{get:()=>t[o],enumerable:!(n=Rt(t,o))||n.enumerable});return e};var Le=(e,t,r)=>(r=e!=null?Tt(zt(e)):{},Ot(t||!e||!e.__esModule?be(r,"default",{value:e,enumerable:!0}):r,e));var A=(e,t,r)=>(vt(e,typeof t!="symbol"?t+"":t,r),r);var c=kt(()=>{});var ke=Nt((Ws,bt)=>{c();var Mr=Object.prototype.toString,Fr=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};function Q(e,t){var r,n,o,s,i,a,u;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 Q(e.toJSON(),t);if(u=Mr.call(e),u==="[object Array]"){for(o="[",n=e.length-1,r=0;r<n;r++)o+=Q(e[r],!0)+",";return n>-1&&(o+=Q(e[r],!0)),o+"]"}else if(u==="[object Object]"){for(s=Fr(e).sort(),n=s.length,o="",r=0;r<n;)i=s[r],a=Q(e[i],!1),a!==void 0&&(o&&(o+=","),o+=JSON.stringify(i)+":"+a),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}}bt.exports=function(e){var t=Q(e,!1);if(t!==void 0)return ""+t};});c();c();c();c();c();var k=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},Be=(e,t)=>{if(e.length>=t)return e;let r=new Uint8Array(t).fill(0);return r.set(e),r},ee=(e,t)=>Be(e.slice(0,t),t);c();var N=class extends Error{constructor(r){super(`Serializer [${r}] cannot deserialize empty buffers.`);A(this,"name","DeserializingEmptyBufferError");}},R=class extends Error{constructor(r,n,o){super(`Serializer [${r}] expected ${n} bytes, got ${o}.`);A(this,"name","NotEnoughBytesError");}},D=class extends Error{constructor(r){r??(r="Expected a fixed-size serializer, got a variable-size one.");super(r);A(this,"name","ExpectedFixedSizeSerializerError");}};c();function H(e,t,r){return {description:r??`fixed(${t}, ${e.description})`,fixedSize:t,maxSize:t,serialize:n=>ee(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=ee(n,e.fixedSize));let[s]=e.deserialize(n,0);return [s,o+t]}}}c();function te(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]}}}c();c();c();var re=class extends Error{constructor(r,n,o){let s=`Expected a string of base ${n}, got [${r}].`;super(s);A(this,"name","InvalidBaseStringError");this.cause=o;}};var Pe=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 re(n,t);if(n==="")return new Uint8Array;let o=[...n],s=o.findIndex(f=>f!==e[0]);s=s===-1?o.length:s;let i=Array(s).fill(0);if(s===o.length)return Uint8Array.from(i);let a=o.slice(s),u=0n,d=1n;for(let f=a.length-1;f>=0;f-=1)u+=d*BigInt(e.indexOf(a[f])),d*=r;let p=[];for(;u>0n;)p.unshift(Number(u%256n)),u/=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 a=e[0].repeat(i);if(i===s.length)return [a,n.length];let u=s.slice(i).reduce((p,f)=>p*256n+BigInt(f),0n),d=[];for(;u>0n;)d.unshift(e[Number(u%r)]),u/=r;return [a+d.join(""),n.length]}}};c();var z=Pe("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");c();var De=e=>e.replace(/\u0000/g,"");c();var he={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 [De(r),e.length]}};c();c();var ne;(function(e){e.Little="le",e.Big="be";})(ne||(ne={}));c();var oe=class extends RangeError{constructor(r,n,o,s){super(`Serializer [${r}] expected number to be between ${n} and ${o}, got ${s}.`);A(this,"name","NumberOutOfRangeError");}};c();function se(e){let t,r=e.name;return e.size>1&&(t=!("endian"in e.options)||e.options.endian===ne.Little,r+=t?"(le)":"(be)"),{description:e.options.description??r,fixedSize:e.size,maxSize:e.size,serialize(n){e.range&&ye(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);Pt("i8",s,e.size);let i=Bt(s);return [e.get(i,t),o+e.size]}}}var Lt=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),Bt=e=>new DataView(Lt(e)),ye=(e,t,r,n)=>{if(n<t||n>r)throw new oe(e,t,r,n)},Pt=(e,t,r)=>{if(t.length===0)throw new N(e);if(t.length<r)throw new R(e,r,t.length)};c();var O=(e={})=>se({name:"u8",size:1,range:[0,+"0xff"],set:(t,r)=>t.setUint8(0,Number(r)),get:t=>t.getUint8(0),options:e});c();var G=(e={})=>se({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});c();var C=(e={})=>({description:e.description??"shortU16",fixedSize:null,maxSize:3,serialize:t=>{ye("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],a=127&i;if(n|=a<<s*7,!(i&128))break}return [n,r+o]}});c();c();var ie=class extends Error{constructor(r,n,o){super(`Expected [${r}] to have ${n} items, got ${o}.`);A(this,"name","InvalidNumberOfItemsError");}},ae=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.`);A(this,"name","InvalidArrayLikeRemainderSizeError");}},ce=class extends Error{constructor(r){super(`Unrecognized array-like serializer size: ${JSON.stringify(r)}`);A(this,"name","UnrecognizedArrayLikeSerializerSizeError");}};c();c();function W(e){return e.reduce((t,r)=>t===null||r===null?null:t+r,0)}function $e(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=W(t);if(o===null)throw new D('Serializers of "remainder" size must have fixed-size items.');let s=r.slice(n).length;if(s%o!==0)throw new ae(s,o);return [s/o,n]}throw new ce(e)}function U(e){return typeof e=="object"?e.description:`${e}`}function Se(e,t){if(typeof e!="number")return null;if(e===0)return 0;let r=W(t);return r===null?null:r*e}function We(e,t){return typeof e=="object"?e.serialize(t):new Uint8Array}function L(e,t={}){let r=t.size??G();if(r==="remainder"&&e.fixedSize===null)throw new D('Serializers of "remainder" size must have fixed-size items.');return {description:t.description??`array(${e.description}; ${U(r)})`,fixedSize:Se(r,[e.fixedSize]),maxSize:Se(r,[e.maxSize]),serialize:n=>{if(typeof r=="number"&&n.length!==r)throw new ie("array",r,n.length);return k([We(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]=$e(r,[e.fixedSize],n,o);o=i;let a=[];for(let u=0;u<s;u+=1){let[d,p]=e.deserialize(n,o);a.push(d),o=p;}return [a,o]}}}c();function ue(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"?H(n,t,r):{description:r,fixedSize:null,maxSize:null,serialize:o=>{let s=n.serialize(o),i=t.serialize(s.length);return k([i,s])},deserialize:(o,s=0)=>{if(o.slice(s).length===0)throw new N("bytes");let[i,a]=t.deserialize(o,s),u=Number(i);s=a;let d=o.slice(s,s+u);if(d.length<u)throw new R("bytes",u,d.length);let[p,f]=n.deserialize(d);return s+=f,[p,s]}}}c();function V(e={}){let t=e.size??G(),r=e.encoding??he,n=e.description??`string(${r.description}; ${U(t)})`;return t==="variable"?{...r,description:n}:typeof t=="number"?H(r,t,n):{description:n,fixedSize:null,maxSize:null,serialize:o=>{let s=r.serialize(o),i=t.serialize(s.length);return k([i,s])},deserialize:(o,s=0)=>{if(o.slice(s).length===0)throw new N("string");let[i,a]=t.deserialize(o,s),u=Number(i);s=a;let d=o.slice(s,s+u);if(d.length<u)throw new R("string",u,d.length);let[p,f]=r.deserialize(d);return s+=f,[p,s]}}}c();function P(e,t={}){let r=e.map(([n,o])=>`${String(n)}: ${o.description}`).join(", ");return {description:t.description??`struct(${r})`,fixedSize:W(e.map(([,n])=>n.fixedSize)),maxSize:W(e.map(([,n])=>n.maxSize)),serialize:n=>{let o=e.map(([s,i])=>i.serialize(n[s]));return k(o)},deserialize:(n,o=0)=>{let s={};return e.forEach(([i,a])=>{let[u,d]=a.deserialize(n,o);o=d,s[i]=u;}),[s,o]}}}c();function q(){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 $;async function Dt(e){return $===void 0&&($=new Promise(t=>{e.generateKey("Ed25519",!1,["sign","verify"]).catch(()=>{t($=!1);}).then(()=>{t($=!0);});})),typeof $=="boolean"?$:await $}async function Ue(){if(q(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.digest!="function")throw new Error("No digest implementation could be found")}async function Me(){if(q(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.generateKey!="function")throw new Error("No key generation implementation could be found");if(!await Dt(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 Se(){if(I(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new Error("No key export implementation could be found")}async function Re(){if(I(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.sign!="function")throw new Error("No signing implementation could be found")}async function Te(){if(I(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.verify!="function")throw new Error("No signature verification implementation could be found")}async function ft(){return await we(),await crypto.subtle.generateKey("Ed25519",!1,["sign","verify"])}async function dt(e){if(await Se(),e.type!=="public"||e.algorithm.name!=="Ed25519")throw new Error("The `CryptoKey` must be an `Ed25519` public key");let r=await crypto.subtle.exportKey("raw",e),[t]=be().deserialize(new Uint8Array(r));return t}async function mt(e,r){await Re();let t=await crypto.subtle.sign("Ed25519",e,r);return new Uint8Array(t)}async function gt(e,r,t){return await Te(),await crypto.subtle.verify("Ed25519",e,r,t)}s();s();function P(e,r,t){if(Array.isArray(e))return e.map((n,o)=>P(n,[...r,o],t));if(typeof e=="object"&&e!==null){let n={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=P(e[o],[...r,o],t));return n}else return typeof e=="bigint"?(t&&(e>Number.MAX_SAFE_INTEGER||e<-Number.MAX_SAFE_INTEGER)&&t(r,e),Number(e)):e}function Ie(e,r){return P(e,[],r)}var l={},Ae={getAccountInfo:[["value","data","parsed","info","lastExtendedSlotStartIndex"],["value","data","parsed","info","slashPenalty"],["value","data","parsed","info","warmupCooldownRate"],["value","data","parsed","info","tokenAmount","decimals"],["value","data","parsed","info","tokenAmount","uiAmount"],["value","data","parsed","info","rentExemptReserve","decimals"],["value","data","parsed","info","delegatedAmount","decimals"],["value","data","parsed","info","extensions",l,"state","olderTransferFee","transferFeeBasisPoints"],["value","data","parsed","info","extensions",l,"state","newerTransferFee","transferFeeBasisPoints"],["value","data","parsed","info","extensions",l,"state","preUpdateAverageRate"],["value","data","parsed","info","extensions",l,"state","currentRate"],["value","data","parsed","info","decimals"],["value","data","parsed","info","numRequiredSigners"],["value","data","parsed","info","numValidSigners"],["value","data","parsed","info","stake","delegation","warmupCooldownRate"],["value","data","parsed","info","exemptionThreshold"],["value","data","parsed","info","burnPercent"],["value","data","parsed","info","commission"],["value","data","parsed","info","votes",l,"confirmationCount"]],getBlockTime:[[]],getInflationReward:[[l,"commission"]],getRecentPerformanceSamples:[[l,"samplePeriodSecs"]],getTokenLargestAccounts:[["value",l,"decimals"],["value",l,"uiAmount"]],getTransaction:[["meta","preTokenBalances",l,"accountIndex"],["meta","preTokenBalances",l,"uiTokenAmount","decimals"],["meta","postTokenBalances",l,"accountIndex"],["meta","postTokenBalances",l,"uiTokenAmount","decimals"],["meta","rewards",l,"commission"],["meta","innerInstructions",l,"index"],["meta","innerInstructions",l,"instructions",l,"programIdIndex"],["meta","innerInstructions",l,"instructions",l,"accounts",l],["transaction","message","addressTableLookups",l,"writableIndexes",l],["transaction","message","addressTableLookups",l,"readonlyIndexes",l],["transaction","message","instructions",l,"programIdIndex"],["transaction","message","instructions",l,"accounts",l],["transaction","message","header","numReadonlySignedAccounts"],["transaction","message","header","numReadonlyUnsignedAccounts"],["transaction","message","header","numRequiredSignatures"]],getVoteAccounts:[["current",l,"commission"],["delinquent",l,"commission"]]};function q(e,r){return e.filter(t=>t[0]===l&&typeof r=="number"||t[0]===r).map(t=>t.slice(1))}function L(e,r){if(Array.isArray(e))return e.map((t,n)=>{let o=q(r,n);return L(t,o)});if(typeof e=="object"&&e!==null){let t={};for(let[n,o]of Object.entries(e)){let i=q(r,n);t[n]=L(o,i);}return t}else return typeof e=="number"&&r.length===0&&Number.isInteger(e)?BigInt(e):e}function Ne(e,r){let t=r?Ae[r]:void 0;return L(e,t??[])}function V(e){return new Proxy({},{defineProperty(){return !1},deleteProperty(){return !1},get(...r){let[t,n]=r,o=n.toString();return function(...i){let a=e?.onIntegerOverflow,u=Ie(i,a?(c,f)=>a(o,c,f):void 0);return {methodName:o,params:u,responseProcessor:c=>Ne(c,o)}}}})}s();var ze=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"}},k=0;function Ce(){let e=k;return k=(k+1)%Number.MAX_SAFE_INTEGER,e}function ve(e,r){return {id:Ce(),jsonrpc:"2.0",method:e,params:r}}function Be(e,r){return {async send(t){let{methodName:n,params:o,responseProcessor:i}=r,a=ve(n,o),u=await e.transport({payload:a,signal:t?.abortSignal});if("error"in u)throw new ze(u.error);return i?i(u.result):u.result}}}function _e(e){return new Proxy(e.api,{defineProperty(){return !1},deleteProperty(){return !1},get(r,t,n){return function(...o){let i=t.toString(),a=Reflect.get(r,i,n),u=a?a(...o):{methodName:i,params:o};return Be(e,u)}}})}function G(e){return _e(e)}var Oe=globalThis.fetch,De=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 $e(e){let r={};for(let t in e)r[t.toLowerCase()]=e[t];return r}function J({httpAgentNodeOnly:e,headers:r,url:t}){let n=void 0;let o=r&&$e(r);return async function({payload:a,signal:u}){let c=JSON.stringify(a),f={agent:n,body:c,headers:{...o,accept:"application/json","content-length":c.length.toString(),"content-type":"application/json; charset=utf-8"},method:"POST",signal:u},d=await Oe(t,f);if(!d.ok)throw new De({message:d.statusText,statusCode:d.status});return await d.json()}}s();s();var A=class extends Error{constructor(t,n,o){let i=(typeof n[0]=="number"?n[0]:parseInt(n[0],10))+1,a="",u=i%10,c=i%100;u==1&&c!=11?a=i+"st":u==2&&c!=12?a=i+"nd":u==3&&c!=13?a=i+"rd":a=i+"th";let f=n.length>1?n.slice(1).map(d=>typeof d=="number"?`[${d}]`:d).join("."):null;super(`The ${a} argument to the \`${t}\` RPC method${f?` at path \`${f}\``:""} 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=t,this.value=o;}get name(){return "SolanaJsonRpcIntegerOverflowError"}};var M={onIntegerOverflow(e,r,t){throw new A(e,r,t)}};function Ot(e){return G({...e,api:V(M)})}s();s();function X(e,r){let t;return async function(o){let{payload:i,signal:a}=o,u=r(i);if(u===void 0)return await e(o);if(t||(Promise.resolve().then(()=>{t=void 0;}),t={}),t[u]==null){let f=new AbortController;t[u]={abortController:f,numConsumers:0,responsePromise:e({...o,signal:f.signal})};}let c=t[u];if(c.numConsumers++,a){let f=c.responsePromise;return await new Promise((d,m)=>{let N=re=>{a.removeEventListener("abort",N),c.numConsumers-=1,c.numConsumers===0&&c.abortController.abort();let te=new DOMException(re.target.reason,"AbortError");m(te);};a.addEventListener("abort",N),f.then(d).finally(()=>{a.removeEventListener("abort",N);});})}else return await c.responsePromise}}s();var Q=fe(Z(),1);function ee(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, Q.default)([e.method,e.params])}function Fe(e){let r={};for(let t in e)r[t.toLowerCase()]=e[t];return r}function Vt(e){return X(J({...e,headers:{...e.headers?Fe(e.headers):void 0,"solana-client":"js/2.0.0-development"}}),ee)}
|
|
9
|
+
For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20`)}async function Fe(){if(q(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new Error("No key export implementation could be found")}async function Ke(){if(q(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.sign!="function")throw new Error("No signing implementation could be found")}async function je(){if(q(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.verify!="function")throw new Error("No signature verification implementation could be found")}function Vo(e){return !(e.length<32||e.length>44||z.serialize(e).byteLength!==32)}function Wt(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=z.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 qo(e){return Wt(e),e}function M(e){return V({description:e?.description??(""),encoding:z,size:32})}function de(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:!1,localeMatcher:"best fit",numeric:!1,sensitivity:"variant",usage:"sort"}).compare}var Ut=37095705934669439343138083508754565189542113879843219016388785533085940283555n,I=57896044618658097711785492504343953926634992332820282019728792003956564819949n,He=19681161376707505956807079304988542015446066515923890162744021073123829784752n;function T(e){let t=e%I;return t>=0n?t:I+t}function v(e,t){let r=e;for(;t-- >0n;)r*=r,r%=I;return r}function Mt(e){let r=e*e%I*e%I,n=v(r,2n)*r%I,o=v(n,1n)*e%I,s=v(o,5n)*o%I,i=v(s,10n)*s%I,a=v(i,20n)*i%I,u=v(a,40n)*a%I,d=v(u,80n)*u%I,p=v(d,80n)*u%I,f=v(p,10n)*s%I;return v(f,2n)*e%I}function Ft(e,t){let r=T(t*t*t),n=T(r*r*t),o=Mt(e*n),s=T(e*r*o),i=T(t*s*s),a=s,u=T(s*He),d=i===e,p=i===T(-e),f=i===T(-e*He);return d&&(s=a),(p||f)&&(s=u),(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(Ut*r+1n),s=Ft(n,o);if(s===null)return !1;let i=(t&128)!==0;return !(s===0n&&i)}function jt(e){let t=e.toString(16);return t.length===1?`0${t}`:t}function Ht(e){let r=`0x${e.reduce((n,o,s)=>`${jt(s===31?o&-129:o)}${n}`,"")}`;return BigInt(r)}async function Gt(e){if(e.byteLength!==32)return !1;let t=Ht(e);return Kt(t,e[31])}var Ve=32,Ge=16,le=[80,114,111,103,114,97,109,68,101,114,105,118,101,100,65,100,100,114,101,115,115],qe=class extends Error{};async function Vt({programAddress:e,seeds:t}){if(await Ue(),t.length>Ge)throw new Error(`A maximum of ${Ge} seeds may be supplied when creating an address`);let r,n=t.reduce((u,d,p)=>{let f=typeof d=="string"?(r||(r=new TextEncoder)).encode(d):d;if(f.byteLength>Ve)throw new Error(`The seed at index ${p} exceeds the maximum length of 32 bytes`);return u.push(...f),u},[]),o=M(),s=o.serialize(e),i=await crypto.subtle.digest("SHA-256",new Uint8Array([...n,...s,...le])),a=new Uint8Array(i);if(await Gt(a))throw new qe("Invalid seeds; point must fall off the Ed25519 curve");return o.deserialize(a)[0]}async function Yo({programAddress:e,seeds:t}){let r=255;for(;r>0;)try{return {bumpSeed:r,pda:await Vt({programAddress:e,seeds:[...t,new Uint8Array([r])]})}}catch(n){if(n instanceof qe)r--;else throw n}throw new Error("Unable to find a viable program address bump seed")}async function Jo({baseAddress:e,programAddress:t,seed:r}){let{serialize:n,deserialize:o}=M(),s=typeof r=="string"?new TextEncoder().encode(r):r;if(s.byteLength>Ve)throw new Error("The seed exceeds the maximum length of 32 bytes");let i=n(t);if(i.length>=le.length&&i.slice(-le.length).every((d,p)=>d===le[p]))throw new Error("programAddress cannot end with the PDA marker");let a=await crypto.subtle.digest("SHA-256",new Uint8Array([...n(e),...s,...i])),u=new Uint8Array(a);return o(u)[0]}async function Ye(e){if(await Fe(),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]=M().deserialize(new Uint8Array(t));return r}c();var qt=(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))(qt||{}),Je=2,we=1;function es(e){return e&~Je}function ts(e){return e&~we}function rs(e){return e>=2}function ns(e){return (e&we)!==0}function os(e,t){return e|t}function ss(e){return e|Je}function is(e){return e|we}c();async function ls(){return await Me(),await crypto.subtle.generateKey("Ed25519",!1,["sign","verify"])}async function Xe(e,t){await Ke();let r=await crypto.subtle.sign("Ed25519",e,t);return new Uint8Array(r)}async function ds(e,t,r){return await je(),await crypto.subtle.verify("Ed25519",e,t,r)}c();function X(e){if("signatures"in e){let{signatures:t,...r}=e;return r}else return e}function hs(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=z.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 ys(e,t){if("lifetimeConstraint"in t&&t.lifetimeConstraint.blockhash===e.blockhash&&t.lifetimeConstraint.lastValidBlockHeight===e.lastValidBlockHeight)return t;let r={...X(t),lifetimeConstraint:e};return Object.freeze(r),r}function Ss({version:e}){let t={instructions:[],version:e};return Object.freeze(t),t}var _=(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))(_||{}),Yt=1;function Y(e){return e>=2}function J(e){return (e&Yt)!==0}function Ze(e,t){return e|t}var tt="SysvarRecentB1ockHashes11111111111111111111",rt="11111111111111111111111111111111";function ws(e){if(!nt(e))throw new Error("Transaction is not a durable nonce transaction")}function Jt(e,t){return {accounts:[{address:e,role:_.WRITABLE},{address:tt,role:_.READONLY},{address:t,role:_.READONLY_SIGNER}],data:new Uint8Array([4,0,0,0]),programAddress:rt}}function Xt(e){return e.programAddress===rt&&e.data!=null&&Zt(e.data)&&e.accounts?.length===3&&e.accounts[0].address!=null&&e.accounts[0].role===_.WRITABLE&&e.accounts[1].address===tt&&e.accounts[1].role===_.READONLY&&e.accounts[2].address!=null&&e.accounts[2].role===_.READONLY_SIGNER}function Zt(e){return e.byteLength===4&&e[0]===4&&e[1]===0&&e[2]===0&&e[3]===0}function nt(e){return "lifetimeConstraint"in e&&typeof e.lifetimeConstraint.nonce=="string"&&e.instructions[0]!=null&&Xt(e.instructions[0])}function Es({nonce:e,nonceAccountAddress:t,nonceAuthorityAddress:r},n){let o=nt(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={...X(n),instructions:[Jt(t,r),...o?n.instructions.slice(1):n.instructions],lifetimeConstraint:{nonce:e}};return Object.freeze(s),s}function xs(e,t){if("feePayer"in t&&e===t.feePayer)return t;let r={...X(t),feePayer:e};return Object.freeze(r),r}function Is(e,t){let r={...X(t),instructions:[...t.instructions,e]};return Object.freeze(r),r}function As(e,t){let r={...X(t),instructions:[e,...t.instructions]};return Object.freeze(r),r}function Qe(e,t,r){e[t]=r(e[t]??{role:_.READONLY});}var S=Symbol("AddressMapTypeProperty");function Qt(e,t){let r={[e]:{[S]:0,role:_.WRITABLE_SIGNER}},n=new Set;for(let o of t){Qe(r,o.programAddress,i=>{if(n.add(o.programAddress),S in i){if(J(i.role))switch(i[S]){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[S]===2)return i}return {[S]:2,role:_.READONLY}});let s;if(o.accounts)for(let i of o.accounts)Qe(r,i.address,a=>{let{address:u,...d}=i;if(S in a)switch(a[S]){case 0:return a;case 1:{let p=Ze(a.role,d.role);if("lookupTableAddress"in d){if(a.lookupTableAddress!==d.lookupTableAddress&&(s||(s=de()))(d.lookupTableAddress,a.lookupTableAddress)<0)return {[S]:1,...d,role:p}}else if(Y(d.role))return {[S]:2,role:p};return a.role!==p?{...a,role:p}:a}case 2:{let p=Ze(a.role,d.role);if(n.has(i.address)){if(J(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 a.role!==p?{...a,role:p}:a}else return "lookupTableAddress"in d&&!Y(a.role)?{...d,[S]:1,role:p}:a.role!==p?{...a,role:p}:a}}return "lookupTableAddress"in d?{...d,[S]:1}:{...d,[S]:2}});}return r}function er(e){let t;return Object.entries(e).sort(([n,o],[s,i])=>{if(o[S]!==i[S]){if(o[S]===0)return -1;if(i[S]===0)return 1;if(o[S]===2)return -1;if(i[S]===2)return 1}let a=Y(o.role);if(a!==Y(i.role))return a?-1:1;let u=J(o.role);return u!==J(i.role)?u?-1:1:(t||(t=de()),o[S]===1&&i[S]===1&&o.lookupTableAddress!==i.lookupTableAddress?t(o.lookupTableAddress,i.lookupTableAddress):t(n,s))}).map(([n,o])=>({address:n,...o}))}function tr(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===_.WRITABLE?o.writableIndices.push(n.addressIndex):o.readableIndices.push(n.addressIndex);}return Object.keys(r).sort(de()).map(n=>({lookupTableAddress:n,...r[n]}))}function rr(e){let t=0,r=0,n=0;for(let o of e){if("lookupTableAddress"in o)break;let s=J(o.role);Y(o.role)?(n++,s||r++):s||t++;}return {numReadonlyNonSignerAccounts:t,numReadonlySignerAccounts:r,numSignerAccounts:n}}function nr(e){let t={};for(let[r,n]of e.entries())t[n.address]=r;return t}function or(e,t){let r=nr(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 sr(e){return "nonce"in e?e.nonce:e.blockhash}function ir(e){let t=e.findIndex(n=>"lookupTableAddress"in n);return (t===-1?e:e.slice(0,t)).map(({address:n})=>n)}function ot(e){let t=Qt(e.feePayer,e.instructions),r=er(t);return {...e.version!=="legacy"?{addressTableLookups:tr(r)}:null,header:rr(r),instructions:or(e.instructions,r),lifetimeToken:sr(e.lifetimeConstraint),staticAccounts:ir(r),version:e.version}}function ar(){return P([["lookupTableAddress",M(void 0)],["writableIndices",L(O(),{...null,size:C()})],["readableIndices",L(O(),{...void 0,size:C()})]],void 0)}function cr(){return P([["numSignerAccounts",O(void 0)],["numReadonlySignerAccounts",O(void 0)],["numReadonlyNonSignerAccounts",O(void 0)]],void 0)}function ur(){return te(P([["programAddressIndex",O(void 0)],["accountIndices",L(O({description:""}),{description:"",size:C()})],["data",ue({description:"",size:C()})]]),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 lr(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 st(e){return ()=>{throw lr("decoder",e)}}var Ee=128,dr={description:"",fixedSize:null,maxSize:1};function pr(e,t=0){let r=e[t];return r&Ee?[r^Ee,t+1]:["legacy",t]}function fr(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|Ee])}function mr(){return {...dr,deserialize:pr,serialize:fr}}var gr={description:"",fixedSize:null,maxSize:null};function br(e){return e.version==="legacy"?P(et()).serialize(e):te(P([...et(),["addressTableLookups",hr()]]),t=>t.version==="legacy"?t:{...t,addressTableLookups:t.addressTableLookups??[]}).serialize(e)}function et(){return [["version",mr()],["header",cr()],["staticAccounts",L(M(),{description:"",size:C()})],["lifetimeToken",V({description:"",encoding:z,size:32})],["instructions",L(ur(),{description:"",size:C()})]]}function hr(){return L(ar(),{...null,size:C()})}function it(){return {...gr,deserialize:st("CompiledMessage"),serialize:br}}function yr(e){try{if(e.length<64||e.length>88)throw new Error("Expected input string to decode to a byte array of length 64.");let r=z.serialize(e).byteLength;if(r!==64)throw new Error(`Expected input string to decode to a byte array of length 64. Actual length: ${r}`)}catch(t){throw new Error(`\`${e}\` is not a transaction signature`,{cause:t})}}function Ts(e){return !(e.length<64||e.length>88||z.serialize(e).byteLength!==64)}async function Sr(e,t){let r=it().serialize(e);return await Xe(t,r)}async function Rs(e,t){let r=ot(t),n="signatures"in t?{...t.signatures}:{},o=await Promise.all(e.map(i=>Promise.all([Ye(i.publicKey),Sr(r,i.privateKey)])));for(let[i,a]of o)n[i]=a;let s={...t,signatures:n};return Object.freeze(s),s}function _s(e){return yr(e),e}function wr(e){let t=ot(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 Er={description:"",fixedSize:null,maxSize:null};function xr(e){let t=wr(e);return P([["signatures",L(ue({size:64}),{...null,size:C()})],["compiledMessage",it()]]).serialize(t)}function Ir(){return {...Er,deserialize:st("CompiledMessage"),serialize:xr}}function zs(e){let t=Ir().serialize(e);return btoa(String.fromCharCode(...t))}c();c();function F(e,...t){return t.reduce((r,n)=>n(r),e)}c();function Ae(e,t,r){if(Array.isArray(e))return e.map((n,o)=>Ae(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]=Ae(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 ct(e,t){return Ae(e,[],t)}var l={},Te=[["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",l,"state","olderTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",l,"state","newerTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",l,"state","preUpdateAverageRate"],["data","parsed","info","extensions",l,"state","currentRate"]],K=[...Te,["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",l,"confirmationCount"]],xe,Ie;function Ar(){return xe||(xe={accountNotifications:K.map(e=>["value",...e]),programNotifications:K.flatMap(e=>[["value",l,"account",...e],[l,"account",...e]])}),xe}function Tr(){return Ie||(Ie={getAccountInfo:K.map(e=>["value",...e]),getBlock:[["blockTime"],["transactions",l,"meta","preTokenBalances",l,"accountIndex"],["transactions",l,"meta","preTokenBalances",l,"uiTokenAmount","decimals"],["transactions",l,"meta","postTokenBalances",l,"accountIndex"],["transactions",l,"meta","postTokenBalances",l,"uiTokenAmount","decimals"],["transactions",l,"meta","rewards",l,"commission"],["transactions",l,"meta","innerInstructions",l,"index"],["transactions",l,"meta","innerInstructions",l,"instructions",l,"programIdIndex"],["transactions",l,"meta","innerInstructions",l,"instructions",l,"accounts",l],["transactions",l,"transaction","message","addressTableLookups",l,"writableIndexes",l],["transactions",l,"transaction","message","addressTableLookups",l,"readonlyIndexes",l],["transactions",l,"transaction","message","instructions",l,"programIdIndex"],["transactions",l,"transaction","message","instructions",l,"accounts",l],["transactions",l,"transaction","message","header","numReadonlySignedAccounts"],["transactions",l,"transaction","message","header","numReadonlyUnsignedAccounts"],["transactions",l,"transaction","message","header","numRequiredSignatures"],["rewards",l,"commission"]],getBlockTime:[[]],getClusterNodes:[[l,"featureSet"],[l,"shredVersion"]],getInflationGovernor:[["initial"],["foundation"],["foundationTerm"],["taper"],["terminal"]],getInflationRate:[["foundation"],["total"],["validator"]],getInflationReward:[[l,"commission"]],getMultipleAccounts:K.map(e=>["value",l,...e]),getProgramAccounts:K.flatMap(e=>[["value",l,"account",...e],[l,"account",...e]]),getRecentPerformanceSamples:[[l,"samplePeriodSecs"]],getTokenAccountBalance:[["value","decimals"],["value","uiAmount"]],getTokenAccountsByDelegate:Te.map(e=>["value",l,"account",...e]),getTokenAccountsByOwner:Te.map(e=>["value",l,"account",...e]),getTokenLargestAccounts:[["value",l,"decimals"],["value",l,"uiAmount"]],getTokenSupply:[["value","decimals"],["value","uiAmount"]],getTransaction:[["meta","preTokenBalances",l,"accountIndex"],["meta","preTokenBalances",l,"uiTokenAmount","decimals"],["meta","postTokenBalances",l,"accountIndex"],["meta","postTokenBalances",l,"uiTokenAmount","decimals"],["meta","rewards",l,"commission"],["meta","innerInstructions",l,"index"],["meta","innerInstructions",l,"instructions",l,"programIdIndex"],["meta","innerInstructions",l,"instructions",l,"accounts",l],["transaction","message","addressTableLookups",l,"writableIndexes",l],["transaction","message","addressTableLookups",l,"readonlyIndexes",l],["transaction","message","instructions",l,"programIdIndex"],["transaction","message","instructions",l,"accounts",l],["transaction","message","header","numReadonlySignedAccounts"],["transaction","message","header","numReadonlyUnsignedAccounts"],["transaction","message","header","numRequiredSignatures"]],getVersion:[["feature-set"]],getVoteAccounts:[["current",l,"commission"],["delinquent",l,"commission"]],simulateTransaction:K.map(e=>["value","accounts",l,...e])}),Ie}function at(e,t){return e.filter(r=>r[0]===l&&typeof t=="number"||r[0]===t).map(r=>r.slice(1))}function pe(e,t){if(Array.isArray(e))return e.map((r,n)=>{let o=at(t,n);return pe(r,o)});if(typeof e=="object"&&e!==null){let r={};for(let[n,o]of Object.entries(e)){let s=at(t,n);r[n]=pe(o,s);}return r}else return typeof e=="number"&&t.length===0&&Number.isInteger(e)?BigInt(e):e}function Rr(e,t){let r=t?Tr()[t]:void 0;return pe(e,r??[])}function _r(e,t){let r=t?Ar()[t]:void 0;return pe(e,r??[])}function ut(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,a=ct(s,i?(u,d)=>i(o,u,d):void 0);return {methodName:o,params:a,responseProcessor:u=>Rr(u,o)}}}})}function Re(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:ct(s,i?(u,d)=>i(o,u,d):void 0),responseProcessor:u=>_r(u,o),subscribeMethodName:o.replace(/Notifications$/,"Subscribe"),unsubscribeMethodName:o.replace(/Notifications$/,"Unsubscribe")}}}})}function lt(e){return Re(e)}c();var pt=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"}},_e=0;function zr(){let e=_e;return _e=(_e+1)%Number.MAX_SAFE_INTEGER,e}function Ce(e,t){return {id:zr(),jsonrpc:"2.0",method:e,params:t}}function Cr(e,t){return {async send(r){let{methodName:n,params:o,responseProcessor:s}=t,i=Ce(n,o),a=await e.transport({payload:i,signal:r?.abortSignal});if("error"in a)throw new pt(a.error);return s?s(a.result):a.result}}}function vr(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),a=i?i(...o):{methodName:s,params:o};return Cr(e,a)}}})}function ft(e){return vr(e)}function kr(e,t){(async()=>{try{for await(let r of e);}catch{}finally{t();}})();}function Nr(e,{params:t,subscribeMethodName:r,unsubscribeMethodName:n,responseProcessor:o}){return {async subscribe({abortSignal:s}){s.throwIfAborted();let i;function a(){if(i!==void 0){let g=Ce(n,[i]);p.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(g).finally(()=>{u.abort();});}else u.abort();}s.addEventListener("abort",a);let u=new AbortController,d=Ce(r,t),p=await e.transport({payload:d,signal:u.signal});function f(){s.removeEventListener("abort",a);}kr(p,f);for await(let g of p)if("id"in g&&g.id===d.id){if("error"in g)throw new pt(g.error);i=g.result;break}if(i==null)throw new Error("Failed to obtain a subscription id from the server");return {async*[Symbol.asyncIterator](){for await(let g of p){if(!("params"in g)||g.params.subscription!==i)continue;let E=g.params.result;yield o?o(E):E;}}}}}}function Or(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 a=i?i(...o):{params:o,subscribeMethodName:s.replace(/Notifications$/,"Subscribe"),unsubscribeMethodName:s.replace(/Notifications$/,"Unsubscribe")};return Nr(e,a)}}})}function ve(e){return Or(e)}var Lr=globalThis.fetch,Br=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 Wr(e){let t={};for(let r in e)t[r.toLowerCase()]=e[r];return t}function mt({httpAgentNodeOnly:e,headers:t,url:r}){let n=void 0;let o=t&&Wr(t);return async function({payload:i,signal:a}){let u=JSON.stringify(i),d={agent:n,body:u,headers:{...o,accept:"application/json","content-length":u.length.toString(),"content-type":"application/json; charset=utf-8"},method:"POST",signal:a},p=await Lr(r,d);if(!p.ok)throw new Br({message:p.statusText,statusCode:p.status});return await p.json()}}var Z=globalThis.WebSocket,dt=Symbol(void 0);async function Ur({sendBufferHighWatermark:e,signal:t,url:r}){return new Promise((n,o)=>{t.addEventListener("abort",a,{once:!0});let s=new Map;function i(h){let y=[...s.values()].filter(x=>x.__hasPolled).map(({onError:x})=>x);s.clear(),y.forEach(x=>{try{x(h);}catch{}});}function a(){i(dt),b.readyState!==Z.CLOSED&&b.readyState!==Z.CLOSING&&b.close(1e3);}function u(h){f?.onCancel(),t.removeEventListener("abort",a),b.removeEventListener("close",u),b.removeEventListener("error",d),b.removeEventListener("open",g),b.removeEventListener("message",E),i(h);}function d(h){p||o(new Error("WebSocket failed to connect",{cause:h}));}let p=!1,f;function g(){p=!0,n({async send(h){let y=JSON.stringify(h);if(!f&&b.readyState===Z.OPEN&&b.bufferedAmount>e){let x,B=new Promise((j,At)=>{let Oe=setInterval(()=>{(b.readyState!==Z.OPEN||!(b.bufferedAmount>e))&&(clearInterval(Oe),f=void 0,j());},16);x=()=>{f=void 0,clearInterval(Oe),At(new Error("WebSocket was closed before payload could be sent"));};});f={onCancel:x,promise:B};}f&&await f.promise,b.send(y);},async*[Symbol.asyncIterator](){let h=Symbol();s.set(h,{__hasPolled:!1,queuedMessages:[]});try{for(;;){let y=s.get(h);if(!y)throw new Error("Invariant: WebSocket message iterator is missing state storage");if(y.__hasPolled)throw new Error("Invariant: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise");let x=y.queuedMessages;if(x.length)y.queuedMessages=[],yield*x;else try{yield await new Promise((B,j)=>{s.set(h,{__hasPolled:!0,onError:j,onMessage:B});});}catch(B){if(B===dt)return;throw new Error("WebSocket connection closed",{cause:B})}}}finally{s.delete(h);}}});}function E({data:h}){let y=JSON.parse(h);s.forEach((x,B)=>{if(x.__hasPolled){let{onMessage:j}=x;s.set(B,{__hasPolled:!1,queuedMessages:[]}),j(y);}else x.queuedMessages.push(y);});}let b=new Z(r);b.addEventListener("close",u),b.addEventListener("error",d),b.addEventListener("open",g),b.addEventListener("message",E);})}function gt({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 Ur({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)}}}var yt=Le(ke(),1);c();c();var fe=class extends Error{constructor(r,n,o){let s=(typeof n[0]=="number"?n[0]:parseInt(n[0],10))+1,i="",a=s%10,u=s%100;a==1&&u!=11?i=s+"st":a==2&&u!=12?i=s+"nd":a==3&&u!=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 me={onIntegerOverflow(e,t,r){throw new fe(e,t,r)}};c();c();function Kr(e,t){(async()=>{try{for await(let r of e);}catch{}finally{t();}})();}function ge({getAbortSignalFromInputArgs:e,getCacheEntryMissingError:t,getCacheKeyFromInputArgs:r,onCacheHit:n,onCreateIterable:o}){let s=new Map;function i(a){let u=s.get(a);if(!u)throw t(a);return u}return async(...a)=>{let u=r(...a),d=e(...a);if(u===void 0)return await o(d,...a);let p=()=>{s.delete(u),d.removeEventListener("abort",f);},f=()=>{let g=i(u);g.purgeScheduled!==!0&&(g.purgeScheduled=!0,globalThis.queueMicrotask(()=>{g.purgeScheduled=!1,g.referenceCount===0&&(g.abortController.abort(),p());})),g.referenceCount--;};d.addEventListener("abort",f);try{let g=s.get(u);if(g){g.referenceCount++;let E=g.iterable,b="then"in E?await E:E;return await n(b,...a),b}else {let E=new AbortController,b=o(E.signal,...a),h={abortController:E,iterable:b,purgeScheduled:!1,referenceCount:1};s.set(u,h);let y=await b;return Kr(y,p),h.iterable=y,y}}catch(g){throw p(),g}}}var Ne=Symbol(void 0);function jr(e,t){(async()=>{try{for await(let r of e);}catch{}finally{t();}})();}function ht({getDeduplicationKey:e,rpcSubscriptions:t}){let r=new Map;return new Proxy(t,{defineProperty(){return !1},deleteProperty(){return !1},get(n,o,s){let i=Reflect.get(n,o,s);return typeof i!="function"?i:function(...a){let u=e(o,a);if(u===void 0)return i(...a);if(r.has(u))return r.get(u);let d=ge({getAbortSignalFromInputArgs:({abortSignal:f})=>f,getCacheEntryMissingError(f){return new Error(`Found no cache entry for subscription with deduplication key \`${f?.toString()}\``)},getCacheKeyFromInputArgs:()=>u,async onCacheHit(f,g){},async onCreateIterable(f,g){let b=await i(...a).subscribe({...g,abortSignal:f});return jr(b,()=>{r.delete(u);}),b}}),p={async subscribe(...f){let g=await d(...f),{abortSignal:E}=f[0],b;return {...g,async*[Symbol.asyncIterator](){b||(b=E.aborted?Promise.reject(Ne):new Promise((h,y)=>{E.addEventListener("abort",()=>{y(Ne);});}));try{let h=g[Symbol.asyncIterator]();for(;;){let y=await Promise.race([h.next(),b]);if(y.done)return;yield y.value;}}catch(h){if(h===Ne)return;throw r.delete(u),h}}}}};return r.set(u,p),p}}})}function si(e){return ft({...e,api:ut(me)})}function ii(e){return F(ve({...e,api:Re(me)}),t=>ht({getDeduplicationKey:(...r)=>(0, yt.default)(r),rpcSubscriptions:t}))}function ai(e){return ve({...e,api:lt(me)})}c();c();function St(e,t){let r;return async function(o){let{payload:s,signal:i}=o,a=t(s);if(a===void 0)return await e(o);if(r||(Promise.resolve().then(()=>{r=void 0;}),r={}),r[a]==null){let d=new AbortController;r[a]={abortController:d,numConsumers:0,responsePromise:e({...o,signal:d.signal})};}let u=r[a];if(u.numConsumers++,i){let d=u.responsePromise;return await new Promise((p,f)=>{let g=E=>{i.removeEventListener("abort",g),u.numConsumers-=1,u.numConsumers===0&&u.abortController.abort();let b=new DOMException(E.target.reason,"AbortError");f(b);};i.addEventListener("abort",g),d.then(p).finally(()=>{i.removeEventListener("abort",g);});})}else return await u.responsePromise}}c();var wt=Le(ke(),1);function Hr(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 Et(e){return Hr(e)?(0, wt.default)([e.method,e.params]):void 0}function Gr(e){let t={};for(let r in e)t[r.toLowerCase()]=e[r];return t}function yi(e){return F(mt({...e,headers:{...e.headers?Gr(e.headers):void 0,"solana-client":"js/2.0.0-development"}}),t=>St(t,Et))}c();c();var Vr={jsonrpc:"2.0",method:"ping"};function xt({intervalMs:e,transport:t}){let r=new Map;return async(...n)=>{let o=await t(...n),s;function i(){o.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(Vr);}function a(){clearInterval(s),s=setInterval(i,e);}if(r.has(o)===!1){r.set(o,{[Symbol.asyncIterator]:o[Symbol.asyncIterator].bind(o),send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:(...p)=>(a(),o.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(...p))}),(async()=>{try{for await(let p of o)a();}catch{}finally{r.delete(o),clearInterval(s),u&&globalThis.window.removeEventListener("offline",u),d&&globalThis.window.removeEventListener("online",d);}})(),globalThis.navigator.onLine&&a();let u,d;u=()=>{clearInterval(s);},d=()=>{i(),a();},globalThis.window.addEventListener("offline",u),globalThis.window.addEventListener("online",d);}return r.get(o)}}c();var qr=Symbol(void 0);function It({getShard:e,transport:t}){return ge({getAbortSignalFromInputArgs:({signal:r})=>r,getCacheEntryMissingError(r){return new Error(`Found no cache entry for connection with shard key \`${r?.toString()}\``)},getCacheKeyFromInputArgs:({payload:r})=>e?e(r):qr,onCacheHit:(r,{payload:n})=>r.send_DO_NOT_USE_OR_YOU_WILL_BE_FIRED(n),onCreateIterable:(r,n)=>t({...n,signal:r})})}function vi(e){let{getShard:t,intervalMs:r,...n}=e;return F(gt({...n,sendBufferHighWatermark:e.sendBufferHighWatermark??131072}),o=>xt({intervalMs:r??5e3,transport:o}),o=>It({getShard:t,transport:o}))}
|
|
10
10
|
|
|
11
|
-
exports.AccountRole =
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.
|
|
24
|
-
exports.
|
|
25
|
-
exports.
|
|
26
|
-
exports.
|
|
27
|
-
exports.
|
|
11
|
+
exports.AccountRole = qt;
|
|
12
|
+
exports.address = qo;
|
|
13
|
+
exports.appendTransactionInstruction = Is;
|
|
14
|
+
exports.assertIsBase58EncodedAddress = Wt;
|
|
15
|
+
exports.assertIsBlockhash = hs;
|
|
16
|
+
exports.assertIsDurableNonceTransaction = ws;
|
|
17
|
+
exports.assertIsTransactionSignature = yr;
|
|
18
|
+
exports.createAddressWithSeed = Jo;
|
|
19
|
+
exports.createDefaultRpcSubscriptionsTransport = vi;
|
|
20
|
+
exports.createDefaultRpcTransport = yi;
|
|
21
|
+
exports.createSolanaRpc = si;
|
|
22
|
+
exports.createSolanaRpcSubscriptions = ii;
|
|
23
|
+
exports.createSolanaRpcSubscriptions_UNSTABLE = ai;
|
|
24
|
+
exports.createTransaction = Ss;
|
|
25
|
+
exports.downgradeRoleToNonSigner = es;
|
|
26
|
+
exports.downgradeRoleToReadonly = ts;
|
|
27
|
+
exports.generateKeyPair = ls;
|
|
28
|
+
exports.getAddressFromPublicKey = Ye;
|
|
29
|
+
exports.getBase58EncodedAddressCodec = M;
|
|
30
|
+
exports.getBase58EncodedAddressComparator = de;
|
|
31
|
+
exports.getBase64EncodedWireTransaction = zs;
|
|
32
|
+
exports.getProgramDerivedAddress = Yo;
|
|
33
|
+
exports.isBase58EncodedAddress = Vo;
|
|
34
|
+
exports.isSignerRole = rs;
|
|
35
|
+
exports.isTransactionSignature = Ts;
|
|
36
|
+
exports.isWritableRole = ns;
|
|
37
|
+
exports.mergeRoles = os;
|
|
38
|
+
exports.prependTransactionInstruction = As;
|
|
39
|
+
exports.setTransactionFeePayer = xs;
|
|
40
|
+
exports.setTransactionLifetimeUsingBlockhash = ys;
|
|
41
|
+
exports.setTransactionLifetimeUsingDurableNonce = Es;
|
|
42
|
+
exports.signBytes = Xe;
|
|
43
|
+
exports.signTransaction = Rs;
|
|
44
|
+
exports.transactionSignature = _s;
|
|
45
|
+
exports.upgradeRoleToSigner = ss;
|
|
46
|
+
exports.upgradeRoleToWritable = is;
|
|
47
|
+
exports.verifySignature = ds;
|
|
28
48
|
|
|
29
49
|
return exports;
|
|
30
50
|
|
|
@@ -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
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
export * from '@solana/addresses';
|
|
1
2
|
export * from '@solana/instructions';
|
|
2
3
|
export * from '@solana/keys';
|
|
4
|
+
export * from '@solana/transactions';
|
|
3
5
|
export * from './rpc';
|
|
4
6
|
export * from './rpc-transport';
|
|
7
|
+
export * from './rpc-websocket-transport';
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,8 @@
|
|
|
1
|
+
import { IRpcWebSocketTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';
|
|
2
|
+
type Config = Readonly<{
|
|
3
|
+
intervalMs: number;
|
|
4
|
+
transport: IRpcWebSocketTransport;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function getWebSocketTransportWithAutoping({ intervalMs, transport }: Config): IRpcWebSocketTransport;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=rpc-websocket-autopinger.d.ts.map
|
|
@@ -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,13 @@
|
|
|
1
|
+
import { createWebSocketTransport } from '@solana/rpc-transport';
|
|
2
|
+
import { IRpcWebSocketTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';
|
|
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;
|
|
10
|
+
intervalMs?: number;
|
|
11
|
+
sendBufferHighWatermark?: number;
|
|
12
|
+
}): IRpcWebSocketTransport;
|
|
13
|
+
//# sourceMappingURL=rpc-websocket-transport.d.ts.map
|
package/dist/types/rpc.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { SolanaRpcMethods } from '@solana/rpc-core';
|
|
2
|
-
import { createJsonRpc } from '@solana/rpc-transport';
|
|
3
|
-
import type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types';
|
|
1
|
+
import { SolanaRpcMethods, SolanaRpcSubscriptions, SolanaRpcSubscriptionsUnstable } from '@solana/rpc-core';
|
|
2
|
+
import { createJsonRpc, createJsonSubscriptionRpc } from '@solana/rpc-transport';
|
|
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
|
+
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>;
|
|
5
7
|
//# sourceMappingURL=rpc.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana/web3.js",
|
|
3
|
-
"version": "2.0.0-experimental.
|
|
3
|
+
"version": "2.0.0-experimental.8894dc1",
|
|
4
4
|
"description": "Solana Javascript API",
|
|
5
5
|
"exports": {
|
|
6
6
|
"browser": {
|
|
@@ -50,32 +50,31 @@
|
|
|
50
50
|
],
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"fast-stable-stringify": "^1.0.0",
|
|
53
|
-
"@solana/
|
|
54
|
-
"@solana/
|
|
55
|
-
"@solana/
|
|
56
|
-
"@solana/
|
|
53
|
+
"@solana/addresses": "2.0.0-experimental.8894dc1",
|
|
54
|
+
"@solana/functional": "2.0.0-experimental.8894dc1",
|
|
55
|
+
"@solana/instructions": "2.0.0-experimental.8894dc1",
|
|
56
|
+
"@solana/keys": "2.0.0-experimental.8894dc1",
|
|
57
|
+
"@solana/rpc-core": "2.0.0-experimental.8894dc1",
|
|
58
|
+
"@solana/rpc-transport": "2.0.0-experimental.8894dc1",
|
|
59
|
+
"@solana/transactions": "2.0.0-experimental.8894dc1"
|
|
57
60
|
},
|
|
58
61
|
"devDependencies": {
|
|
59
62
|
"@solana/eslint-config-solana": "^1.0.2",
|
|
60
|
-
"@swc/
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
-
"@typescript-eslint/
|
|
64
|
-
"@typescript-eslint/parser": "^6.0.0",
|
|
63
|
+
"@swc/jest": "^0.2.28",
|
|
64
|
+
"@types/jest": "^29.5.5",
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^6.7.0",
|
|
66
|
+
"@typescript-eslint/parser": "^6.3.0",
|
|
65
67
|
"agadoo": "^3.0.0",
|
|
66
68
|
"eslint": "^8.45.0",
|
|
67
69
|
"eslint-plugin-jest": "^27.2.3",
|
|
68
|
-
"eslint-plugin-react-hooks": "^4.6.0",
|
|
69
70
|
"eslint-plugin-sort-keys-fix": "^1.1.2",
|
|
70
|
-
"jest": "^29.
|
|
71
|
-
"jest-environment-jsdom": "^29.6.
|
|
71
|
+
"jest": "^29.7.0",
|
|
72
|
+
"jest-environment-jsdom": "^29.6.4",
|
|
72
73
|
"jest-runner-eslint": "^2.1.0",
|
|
73
74
|
"jest-runner-prettier": "^1.0.0",
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"tsup": "6.7.0",
|
|
78
|
-
"typescript": "^5.1.6",
|
|
75
|
+
"prettier": "^2.8",
|
|
76
|
+
"tsup": "7.2.0",
|
|
77
|
+
"typescript": "^5.2.2",
|
|
79
78
|
"version-from-git": "^1.1.1",
|
|
80
79
|
"build-scripts": "0.0.0",
|
|
81
80
|
"test-config": "0.0.0",
|
|
@@ -94,6 +93,7 @@
|
|
|
94
93
|
"compile:typedefs": "tsc -p ./tsconfig.declarations.json",
|
|
95
94
|
"dev": "jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch",
|
|
96
95
|
"publish-packages": "sed -i 's/@solana\\/web3\\.js-experimental/@solana\\/web3\\.js/g' package.json && sed -i 's/@solana\\/web3\\.js/@solana\\/web3\\.js-bak/g' ../library-legacy/package.json && pnpm publish --tag experimental --access public --no-git-checks && git reset --hard",
|
|
96
|
+
"style:fix": "pnpm eslint --fix src/* && pnpm prettier -w src/*",
|
|
97
97
|
"test:lint": "jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent",
|
|
98
98
|
"test:prettier": "jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent",
|
|
99
99
|
"test:treeshakability:browser": "agadoo dist/index.browser.js",
|