@solana/web3.js 2.0.0-experimental.3e920bf → 2.0.0-experimental.4183479
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.map +1 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/index.development.js +347 -9
- package/dist/index.development.js.map +1 -1
- package/dist/index.native.js.map +1 -1
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.js.map +1 -1
- package/dist/index.production.min.js +21 -21
- package/package.json +13 -13
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/rpc-default-config.d.ts.map +0 -1
- package/dist/types/rpc-integer-overflow-error.d.ts.map +0 -1
- package/dist/types/rpc-request-coalescer.d.ts.map +0 -1
- package/dist/types/rpc-request-deduplication.d.ts.map +0 -1
- package/dist/types/rpc-transport.d.ts.map +0 -1
- package/dist/types/rpc.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/rpc.ts","../src/rpc-integer-overflow-error.ts","../src/rpc-default-config.ts","../src/rpc-transport.ts","../src/rpc-request-coalescer.ts","../src/rpc-request-deduplication.ts"],"names":[],"mappings":"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","sourcesContent":["export * from '@solana/addresses';\nexport * from '@solana/instructions';\nexport * from '@solana/keys';\nexport * from '@solana/transactions';\nexport * from './rpc';\nexport * from './rpc-transport';\n","import { createSolanaRpcApi, SolanaRpcMethods } from '@solana/rpc-core';\nimport { createJsonRpc } from '@solana/rpc-transport';\nimport type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types';\n\nimport { DEFAULT_RPC_CONFIG } from './rpc-default-config';\n\nexport function createSolanaRpc(config: Omit<Parameters<typeof createJsonRpc>[0], 'api'>): Rpc<SolanaRpcMethods> {\n return createJsonRpc<SolanaRpcMethods>({\n ...config,\n api: createSolanaRpcApi(DEFAULT_RPC_CONFIG),\n });\n}\n","export class SolanaJsonRpcIntegerOverflowError extends Error {\n readonly methodName: string;\n readonly keyPath: (number | string)[];\n readonly value: bigint;\n constructor(methodName: string, keyPath: (number | string)[], value: bigint) {\n const argPosition = (typeof keyPath[0] === 'number' ? keyPath[0] : parseInt(keyPath[0], 10)) + 1;\n let ordinal = '';\n const lastDigit = argPosition % 10;\n const lastTwoDigits = argPosition % 100;\n if (lastDigit == 1 && lastTwoDigits != 11) {\n ordinal = argPosition + 'st';\n } else if (lastDigit == 2 && lastTwoDigits != 12) {\n ordinal = argPosition + 'nd';\n } else if (lastDigit == 3 && lastTwoDigits != 13) {\n ordinal = argPosition + 'rd';\n } else {\n ordinal = argPosition + 'th';\n }\n const path =\n keyPath.length > 1\n ? keyPath\n .slice(1)\n .map(pathPart => (typeof pathPart === 'number' ? `[${pathPart}]` : pathPart))\n .join('.')\n : null;\n super(\n `The ${ordinal} argument to the \\`${methodName}\\` RPC method` +\n `${path ? ` at path \\`${path}\\`` : ''} was \\`${value}\\`. This number is ` +\n 'unsafe for use with the Solana JSON-RPC because it exceeds ' +\n '`Number.MAX_SAFE_INTEGER`.'\n );\n this.keyPath = keyPath;\n this.methodName = methodName;\n this.value = value;\n }\n get name() {\n return 'SolanaJsonRpcIntegerOverflowError';\n }\n}\n","import { createSolanaRpcApi } from '@solana/rpc-core';\n\nimport { SolanaJsonRpcIntegerOverflowError } from './rpc-integer-overflow-error';\n\nexport const DEFAULT_RPC_CONFIG: Partial<Parameters<typeof createSolanaRpcApi>[0]> = {\n onIntegerOverflow(methodName, keyPath, value) {\n throw new SolanaJsonRpcIntegerOverflowError(methodName, keyPath, value);\n },\n};\n","import { createHttpTransport } from '@solana/rpc-transport';\nimport { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';\n\nimport { getRpcTransportWithRequestCoalescing } from './rpc-request-coalescer';\nimport { getSolanaRpcPayloadDeduplicationKey } from './rpc-request-deduplication';\n\n/**\n * Lowercasing header names makes it easier to override user-supplied headers.\n */\nfunction normalizeHeaders<T extends Record<string, string>>(\n headers: T\n): { [K in keyof T & string as Lowercase<K>]: T[K] } {\n const out: Record<string, string> = {};\n for (const headerName in headers) {\n out[headerName.toLowerCase()] = headers[headerName];\n }\n return out as { [K in keyof T & string as Lowercase<K>]: T[K] };\n}\n\nexport function createDefaultRpcTransport(config: Parameters<typeof createHttpTransport>[0]): IRpcTransport {\n return getRpcTransportWithRequestCoalescing(\n createHttpTransport({\n ...config,\n headers: {\n ...(config.headers ? normalizeHeaders(config.headers) : undefined),\n ...({\n // Keep these headers lowercase so they will override any user-supplied headers above.\n 'solana-client': `js/${__VERSION__}` ?? 'UNKNOWN',\n } as { [overrideHeader: string]: string }),\n },\n }),\n getSolanaRpcPayloadDeduplicationKey\n );\n}\n","import { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';\n\ntype CoalescedRequest = {\n readonly abortController: AbortController;\n numConsumers: number;\n readonly responsePromise: Promise<unknown>;\n};\n\ntype GetDeduplicationKeyFn = (payload: unknown) => string | undefined;\n\nexport function getRpcTransportWithRequestCoalescing(\n transport: IRpcTransport,\n getDeduplicationKey: GetDeduplicationKeyFn\n): IRpcTransport {\n let coalescedRequestsByDeduplicationKey: Record<string, CoalescedRequest> | undefined;\n return async function makeCoalescedHttpRequest<TResponse>(\n config: Parameters<IRpcTransport>[0]\n ): Promise<TResponse> {\n const { payload, signal } = config;\n const deduplicationKey = getDeduplicationKey(payload);\n if (deduplicationKey === undefined) {\n return await transport(config);\n }\n if (!coalescedRequestsByDeduplicationKey) {\n Promise.resolve().then(() => {\n coalescedRequestsByDeduplicationKey = undefined;\n });\n coalescedRequestsByDeduplicationKey = {};\n }\n if (coalescedRequestsByDeduplicationKey[deduplicationKey] == null) {\n const abortController = new AbortController();\n coalescedRequestsByDeduplicationKey[deduplicationKey] = {\n abortController,\n numConsumers: 0,\n responsePromise: transport<TResponse>({\n ...config,\n signal: abortController.signal,\n }),\n };\n }\n const coalescedRequest = coalescedRequestsByDeduplicationKey[deduplicationKey];\n coalescedRequest.numConsumers++;\n if (signal) {\n const responsePromise = coalescedRequest.responsePromise as Promise<TResponse>;\n return await new Promise<TResponse>((resolve, reject) => {\n const handleAbort = (e: AbortSignalEventMap['abort']) => {\n signal.removeEventListener('abort', handleAbort);\n coalescedRequest.numConsumers -= 1;\n if (coalescedRequest.numConsumers === 0) {\n const abortController = coalescedRequest.abortController;\n abortController.abort();\n }\n const abortError = new DOMException((e.target as AbortSignal).reason, 'AbortError');\n reject(abortError);\n };\n signal.addEventListener('abort', handleAbort);\n responsePromise.then(resolve).finally(() => {\n signal.removeEventListener('abort', handleAbort);\n });\n });\n } else {\n return (await coalescedRequest.responsePromise) as TResponse;\n }\n };\n}\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport fastStableStringify from 'fast-stable-stringify';\n\nexport function getSolanaRpcPayloadDeduplicationKey(payload: unknown): string | undefined {\n if (payload == null || typeof payload !== 'object' || Array.isArray(payload)) {\n return;\n }\n if ('jsonrpc' in payload && payload.jsonrpc === '2.0' && 'method' in payload && 'params' in payload) {\n return fastStableStringify([payload.method, payload.params]);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/rpc.ts","../src/rpc-integer-overflow-error.ts","../src/rpc-default-config.ts","../src/rpc-transport.ts","../src/rpc-request-coalescer.ts","../src/rpc-request-deduplication.ts"],"names":[],"mappings":"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","sourcesContent":["export * from '@solana/addresses';\nexport * from '@solana/instructions';\nexport * from '@solana/keys';\nexport * from '@solana/transactions';\nexport * from './rpc';\nexport * from './rpc-transport';\n","import { createSolanaRpcApi, SolanaRpcMethods } from '@solana/rpc-core';\nimport { createJsonRpc } from '@solana/rpc-transport';\nimport type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types';\n\nimport { DEFAULT_RPC_CONFIG } from './rpc-default-config';\n\nexport function createSolanaRpc(config: Omit<Parameters<typeof createJsonRpc>[0], 'api'>): Rpc<SolanaRpcMethods> {\n return createJsonRpc<SolanaRpcMethods>({\n ...config,\n api: createSolanaRpcApi(DEFAULT_RPC_CONFIG),\n });\n}\n","export class SolanaJsonRpcIntegerOverflowError extends Error {\n readonly methodName: string;\n readonly keyPath: (number | string)[];\n readonly value: bigint;\n constructor(methodName: string, keyPath: (number | string)[], value: bigint) {\n const argPosition = (typeof keyPath[0] === 'number' ? keyPath[0] : parseInt(keyPath[0], 10)) + 1;\n let ordinal = '';\n const lastDigit = argPosition % 10;\n const lastTwoDigits = argPosition % 100;\n if (lastDigit == 1 && lastTwoDigits != 11) {\n ordinal = argPosition + 'st';\n } else if (lastDigit == 2 && lastTwoDigits != 12) {\n ordinal = argPosition + 'nd';\n } else if (lastDigit == 3 && lastTwoDigits != 13) {\n ordinal = argPosition + 'rd';\n } else {\n ordinal = argPosition + 'th';\n }\n const path =\n keyPath.length > 1\n ? keyPath\n .slice(1)\n .map(pathPart => (typeof pathPart === 'number' ? `[${pathPart}]` : pathPart))\n .join('.')\n : null;\n super(\n `The ${ordinal} argument to the \\`${methodName}\\` RPC method` +\n `${path ? ` at path \\`${path}\\`` : ''} was \\`${value}\\`. This number is ` +\n 'unsafe for use with the Solana JSON-RPC because it exceeds ' +\n '`Number.MAX_SAFE_INTEGER`.'\n );\n this.keyPath = keyPath;\n this.methodName = methodName;\n this.value = value;\n }\n get name() {\n return 'SolanaJsonRpcIntegerOverflowError';\n }\n}\n","import { createSolanaRpcApi } from '@solana/rpc-core';\n\nimport { SolanaJsonRpcIntegerOverflowError } from './rpc-integer-overflow-error';\n\nexport const DEFAULT_RPC_CONFIG: Partial<Parameters<typeof createSolanaRpcApi>[0]> = {\n onIntegerOverflow(methodName, keyPath, value) {\n throw new SolanaJsonRpcIntegerOverflowError(methodName, keyPath, value);\n },\n};\n","import { createHttpTransport } from '@solana/rpc-transport';\nimport { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';\n\nimport { getRpcTransportWithRequestCoalescing } from './rpc-request-coalescer';\nimport { getSolanaRpcPayloadDeduplicationKey } from './rpc-request-deduplication';\n\n/**\n * Lowercasing header names makes it easier to override user-supplied headers.\n */\nfunction normalizeHeaders<T extends Record<string, string>>(\n headers: T\n): { [K in keyof T & string as Lowercase<K>]: T[K] } {\n const out: Record<string, string> = {};\n for (const headerName in headers) {\n out[headerName.toLowerCase()] = headers[headerName];\n }\n return out as { [K in keyof T & string as Lowercase<K>]: T[K] };\n}\n\nexport function createDefaultRpcTransport(config: Parameters<typeof createHttpTransport>[0]): IRpcTransport {\n return getRpcTransportWithRequestCoalescing(\n createHttpTransport({\n ...config,\n headers: {\n ...(config.headers ? normalizeHeaders(config.headers) : undefined),\n ...({\n // Keep these headers lowercase so they will override any user-supplied headers above.\n 'solana-client': `js/${__VERSION__}` ?? 'UNKNOWN',\n } as { [overrideHeader: string]: string }),\n },\n }),\n getSolanaRpcPayloadDeduplicationKey\n );\n}\n","import { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';\n\ntype CoalescedRequest = {\n readonly abortController: AbortController;\n numConsumers: number;\n readonly responsePromise: Promise<unknown>;\n};\n\ntype GetDeduplicationKeyFn = (payload: unknown) => string | undefined;\n\nexport function getRpcTransportWithRequestCoalescing(\n transport: IRpcTransport,\n getDeduplicationKey: GetDeduplicationKeyFn\n): IRpcTransport {\n let coalescedRequestsByDeduplicationKey: Record<string, CoalescedRequest> | undefined;\n return async function makeCoalescedHttpRequest<TResponse>(\n config: Parameters<IRpcTransport>[0]\n ): Promise<TResponse> {\n const { payload, signal } = config;\n const deduplicationKey = getDeduplicationKey(payload);\n if (deduplicationKey === undefined) {\n return await transport(config);\n }\n if (!coalescedRequestsByDeduplicationKey) {\n Promise.resolve().then(() => {\n coalescedRequestsByDeduplicationKey = undefined;\n });\n coalescedRequestsByDeduplicationKey = {};\n }\n if (coalescedRequestsByDeduplicationKey[deduplicationKey] == null) {\n const abortController = new AbortController();\n coalescedRequestsByDeduplicationKey[deduplicationKey] = {\n abortController,\n numConsumers: 0,\n responsePromise: transport<TResponse>({\n ...config,\n signal: abortController.signal,\n }),\n };\n }\n const coalescedRequest = coalescedRequestsByDeduplicationKey[deduplicationKey];\n coalescedRequest.numConsumers++;\n if (signal) {\n const responsePromise = coalescedRequest.responsePromise as Promise<TResponse>;\n return await new Promise<TResponse>((resolve, reject) => {\n const handleAbort = (e: AbortSignalEventMap['abort']) => {\n signal.removeEventListener('abort', handleAbort);\n coalescedRequest.numConsumers -= 1;\n if (coalescedRequest.numConsumers === 0) {\n const abortController = coalescedRequest.abortController;\n abortController.abort();\n }\n const abortError = new DOMException((e.target as AbortSignal).reason, 'AbortError');\n reject(abortError);\n };\n signal.addEventListener('abort', handleAbort);\n responsePromise.then(resolve).finally(() => {\n signal.removeEventListener('abort', handleAbort);\n });\n });\n } else {\n return (await coalescedRequest.responsePromise) as TResponse;\n }\n };\n}\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport fastStableStringify from 'fast-stable-stringify';\n\nexport function getSolanaRpcPayloadDeduplicationKey(payload: unknown): string | undefined {\n if (payload == null || typeof payload !== 'object' || Array.isArray(payload)) {\n return;\n }\n if ('jsonrpc' in payload && payload.jsonrpc === '2.0' && 'method' in payload && 'params' in payload) {\n return fastStableStringify([payload.method, payload.params]);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/rpc.ts","../src/rpc-integer-overflow-error.ts","../src/rpc-default-config.ts","../src/rpc-transport.ts","../src/rpc-request-coalescer.ts","../src/rpc-request-deduplication.ts"],"names":[],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;;;ACHd,SAAS,0BAA4C;AACrD,SAAS,qBAAqB;;;ACDvB,IAAM,oCAAN,cAAgD,MAAM;AAAA,EAIzD,YAAY,YAAoB,SAA8B,OAAe;AACzE,UAAM,eAAe,OAAO,QAAQ,CAAC,MAAM,WAAW,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,GAAG,EAAE,KAAK;AAC/F,QAAI,UAAU;AACd,UAAM,YAAY,cAAc;AAChC,UAAM,gBAAgB,cAAc;AACpC,QAAI,aAAa,KAAK,iBAAiB,IAAI;AACvC,gBAAU,cAAc;AAAA,IAC5B,WAAW,aAAa,KAAK,iBAAiB,IAAI;AAC9C,gBAAU,cAAc;AAAA,IAC5B,WAAW,aAAa,KAAK,iBAAiB,IAAI;AAC9C,gBAAU,cAAc;AAAA,IAC5B,OAAO;AACH,gBAAU,cAAc;AAAA,IAC5B;AACA,UAAM,OACF,QAAQ,SAAS,IACX,QACK,MAAM,CAAC,EACP,IAAI,cAAa,OAAO,aAAa,WAAW,IAAI,cAAc,QAAS,EAC3E,KAAK,GAAG,IACb;AACV;AAAA,MACI,OAAO,6BAA6B,0BAC7B,OAAO,cAAc,WAAW,YAAY;AAAA,IAGvD;AACA,SAAK,UAAU;AACf,SAAK,aAAa;AAClB,SAAK,QAAQ;AAAA,EACjB;AAAA,EACA,IAAI,OAAO;AACP,WAAO;AAAA,EACX;AACJ;;;AClCO,IAAM,qBAAwE;AAAA,EACjF,kBAAkB,YAAY,SAAS,OAAO;AAC1C,UAAM,IAAI,kCAAkC,YAAY,SAAS,KAAK;AAAA,EAC1E;AACJ;;;AFFO,SAAS,gBAAgB,QAAiF;AAC7G,SAAO,cAAgC;AAAA,IACnC,GAAG;AAAA,IACH,KAAK,mBAAmB,kBAAkB;AAAA,EAC9C,CAAC;AACL;;;AGXA,SAAS,2BAA2B;;;ACU7B,SAAS,qCACZ,WACA,qBACa;AACb,MAAI;AACJ,SAAO,eAAe,yBAClB,QACkB;AAClB,UAAM,EAAE,SAAS,OAAO,IAAI;AAC5B,UAAM,mBAAmB,oBAAoB,OAAO;AACpD,QAAI,qBAAqB,QAAW;AAChC,aAAO,MAAM,UAAU,MAAM;AAAA,IACjC;AACA,QAAI,CAAC,qCAAqC;AACtC,cAAQ,QAAQ,EAAE,KAAK,MAAM;AACzB,8CAAsC;AAAA,MAC1C,CAAC;AACD,4CAAsC,CAAC;AAAA,IAC3C;AACA,QAAI,oCAAoC,gBAAgB,KAAK,MAAM;AAC/D,YAAM,kBAAkB,IAAI,gBAAgB;AAC5C,0CAAoC,gBAAgB,IAAI;AAAA,QACpD;AAAA,QACA,cAAc;AAAA,QACd,iBAAiB,UAAqB;AAAA,UAClC,GAAG;AAAA,UACH,QAAQ,gBAAgB;AAAA,QAC5B,CAAC;AAAA,MACL;AAAA,IACJ;AACA,UAAM,mBAAmB,oCAAoC,gBAAgB;AAC7E,qBAAiB;AACjB,QAAI,QAAQ;AACR,YAAM,kBAAkB,iBAAiB;AACzC,aAAO,MAAM,IAAI,QAAmB,CAAC,SAAS,WAAW;AACrD,cAAM,cAAc,CAAC,MAAoC;AACrD,iBAAO,oBAAoB,SAAS,WAAW;AAC/C,2BAAiB,gBAAgB;AACjC,cAAI,iBAAiB,iBAAiB,GAAG;AACrC,kBAAM,kBAAkB,iBAAiB;AACzC,4BAAgB,MAAM;AAAA,UAC1B;AACA,gBAAM,aAAa,IAAI,aAAc,EAAE,OAAuB,QAAQ,YAAY;AAClF,iBAAO,UAAU;AAAA,QACrB;AACA,eAAO,iBAAiB,SAAS,WAAW;AAC5C,wBAAgB,KAAK,OAAO,EAAE,QAAQ,MAAM;AACxC,iBAAO,oBAAoB,SAAS,WAAW;AAAA,QACnD,CAAC;AAAA,MACL,CAAC;AAAA,IACL,OAAO;AACH,aAAQ,MAAM,iBAAiB;AAAA,IACnC;AAAA,EACJ;AACJ;;;AC9DA,OAAO,yBAAyB;AAEzB,SAAS,oCAAoC,SAAsC;AACtF,MAAI,WAAW,QAAQ,OAAO,YAAY,YAAY,MAAM,QAAQ,OAAO,GAAG;AAC1E;AAAA,EACJ;AACA,MAAI,aAAa,WAAW,QAAQ,YAAY,SAAS,YAAY,WAAW,YAAY,SAAS;AACjG,WAAO,oBAAoB,CAAC,QAAQ,QAAQ,QAAQ,MAAM,CAAC;AAAA,EAC/D;AACJ;;;AFFA,SAAS,iBACL,SACiD;AACjD,QAAM,MAA8B,CAAC;AACrC,aAAW,cAAc,SAAS;AAC9B,QAAI,WAAW,YAAY,CAAC,IAAI,QAAQ,UAAU;AAAA,EACtD;AACA,SAAO;AACX;AAEO,SAAS,0BAA0B,QAAkE;AACxG,SAAO;AAAA,IACH,oBAAoB;AAAA,MAChB,GAAG;AAAA,MACH,SAAS;AAAA,QACL,GAAI,OAAO,UAAU,iBAAiB,OAAO,OAAO,IAAI;AAAA,QACxD,GAAI;AAAA;AAAA,UAEA,iBAAiB,MAAM,yBAAiB;AAAA,QAC5C;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,IACD;AAAA,EACJ;AACJ","sourcesContent":["export * from '@solana/addresses';\nexport * from '@solana/instructions';\nexport * from '@solana/keys';\nexport * from '@solana/transactions';\nexport * from './rpc';\nexport * from './rpc-transport';\n","import { createSolanaRpcApi, SolanaRpcMethods } from '@solana/rpc-core';\nimport { createJsonRpc } from '@solana/rpc-transport';\nimport type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types';\n\nimport { DEFAULT_RPC_CONFIG } from './rpc-default-config';\n\nexport function createSolanaRpc(config: Omit<Parameters<typeof createJsonRpc>[0], 'api'>): Rpc<SolanaRpcMethods> {\n return createJsonRpc<SolanaRpcMethods>({\n ...config,\n api: createSolanaRpcApi(DEFAULT_RPC_CONFIG),\n });\n}\n","export class SolanaJsonRpcIntegerOverflowError extends Error {\n readonly methodName: string;\n readonly keyPath: (number | string)[];\n readonly value: bigint;\n constructor(methodName: string, keyPath: (number | string)[], value: bigint) {\n const argPosition = (typeof keyPath[0] === 'number' ? keyPath[0] : parseInt(keyPath[0], 10)) + 1;\n let ordinal = '';\n const lastDigit = argPosition % 10;\n const lastTwoDigits = argPosition % 100;\n if (lastDigit == 1 && lastTwoDigits != 11) {\n ordinal = argPosition + 'st';\n } else if (lastDigit == 2 && lastTwoDigits != 12) {\n ordinal = argPosition + 'nd';\n } else if (lastDigit == 3 && lastTwoDigits != 13) {\n ordinal = argPosition + 'rd';\n } else {\n ordinal = argPosition + 'th';\n }\n const path =\n keyPath.length > 1\n ? keyPath\n .slice(1)\n .map(pathPart => (typeof pathPart === 'number' ? `[${pathPart}]` : pathPart))\n .join('.')\n : null;\n super(\n `The ${ordinal} argument to the \\`${methodName}\\` RPC method` +\n `${path ? ` at path \\`${path}\\`` : ''} was \\`${value}\\`. This number is ` +\n 'unsafe for use with the Solana JSON-RPC because it exceeds ' +\n '`Number.MAX_SAFE_INTEGER`.'\n );\n this.keyPath = keyPath;\n this.methodName = methodName;\n this.value = value;\n }\n get name() {\n return 'SolanaJsonRpcIntegerOverflowError';\n }\n}\n","import { createSolanaRpcApi } from '@solana/rpc-core';\n\nimport { SolanaJsonRpcIntegerOverflowError } from './rpc-integer-overflow-error';\n\nexport const DEFAULT_RPC_CONFIG: Partial<Parameters<typeof createSolanaRpcApi>[0]> = {\n onIntegerOverflow(methodName, keyPath, value) {\n throw new SolanaJsonRpcIntegerOverflowError(methodName, keyPath, value);\n },\n};\n","import { createHttpTransport } from '@solana/rpc-transport';\nimport { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';\n\nimport { getRpcTransportWithRequestCoalescing } from './rpc-request-coalescer';\nimport { getSolanaRpcPayloadDeduplicationKey } from './rpc-request-deduplication';\n\n/**\n * Lowercasing header names makes it easier to override user-supplied headers.\n */\nfunction normalizeHeaders<T extends Record<string, string>>(\n headers: T\n): { [K in keyof T & string as Lowercase<K>]: T[K] } {\n const out: Record<string, string> = {};\n for (const headerName in headers) {\n out[headerName.toLowerCase()] = headers[headerName];\n }\n return out as { [K in keyof T & string as Lowercase<K>]: T[K] };\n}\n\nexport function createDefaultRpcTransport(config: Parameters<typeof createHttpTransport>[0]): IRpcTransport {\n return getRpcTransportWithRequestCoalescing(\n createHttpTransport({\n ...config,\n headers: {\n ...(config.headers ? normalizeHeaders(config.headers) : undefined),\n ...({\n // Keep these headers lowercase so they will override any user-supplied headers above.\n 'solana-client': `js/${__VERSION__}` ?? 'UNKNOWN',\n } as { [overrideHeader: string]: string }),\n },\n }),\n getSolanaRpcPayloadDeduplicationKey\n );\n}\n","import { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';\n\ntype CoalescedRequest = {\n readonly abortController: AbortController;\n numConsumers: number;\n readonly responsePromise: Promise<unknown>;\n};\n\ntype GetDeduplicationKeyFn = (payload: unknown) => string | undefined;\n\nexport function getRpcTransportWithRequestCoalescing(\n transport: IRpcTransport,\n getDeduplicationKey: GetDeduplicationKeyFn\n): IRpcTransport {\n let coalescedRequestsByDeduplicationKey: Record<string, CoalescedRequest> | undefined;\n return async function makeCoalescedHttpRequest<TResponse>(\n config: Parameters<IRpcTransport>[0]\n ): Promise<TResponse> {\n const { payload, signal } = config;\n const deduplicationKey = getDeduplicationKey(payload);\n if (deduplicationKey === undefined) {\n return await transport(config);\n }\n if (!coalescedRequestsByDeduplicationKey) {\n Promise.resolve().then(() => {\n coalescedRequestsByDeduplicationKey = undefined;\n });\n coalescedRequestsByDeduplicationKey = {};\n }\n if (coalescedRequestsByDeduplicationKey[deduplicationKey] == null) {\n const abortController = new AbortController();\n coalescedRequestsByDeduplicationKey[deduplicationKey] = {\n abortController,\n numConsumers: 0,\n responsePromise: transport<TResponse>({\n ...config,\n signal: abortController.signal,\n }),\n };\n }\n const coalescedRequest = coalescedRequestsByDeduplicationKey[deduplicationKey];\n coalescedRequest.numConsumers++;\n if (signal) {\n const responsePromise = coalescedRequest.responsePromise as Promise<TResponse>;\n return await new Promise<TResponse>((resolve, reject) => {\n const handleAbort = (e: AbortSignalEventMap['abort']) => {\n signal.removeEventListener('abort', handleAbort);\n coalescedRequest.numConsumers -= 1;\n if (coalescedRequest.numConsumers === 0) {\n const abortController = coalescedRequest.abortController;\n abortController.abort();\n }\n const abortError = new DOMException((e.target as AbortSignal).reason, 'AbortError');\n reject(abortError);\n };\n signal.addEventListener('abort', handleAbort);\n responsePromise.then(resolve).finally(() => {\n signal.removeEventListener('abort', handleAbort);\n });\n });\n } else {\n return (await coalescedRequest.responsePromise) as TResponse;\n }\n };\n}\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport fastStableStringify from 'fast-stable-stringify';\n\nexport function getSolanaRpcPayloadDeduplicationKey(payload: unknown): string | undefined {\n if (payload == null || typeof payload !== 'object' || Array.isArray(payload)) {\n return;\n }\n if ('jsonrpc' in payload && payload.jsonrpc === '2.0' && 'method' in payload && 'params' in payload) {\n return fastStableStringify([payload.method, payload.params]);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/rpc.ts","../src/rpc-integer-overflow-error.ts","../src/rpc-default-config.ts","../src/rpc-transport.ts","../src/rpc-request-coalescer.ts","../src/rpc-request-deduplication.ts"],"names":[],"mappings":"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","sourcesContent":["export * from '@solana/addresses';\nexport * from '@solana/instructions';\nexport * from '@solana/keys';\nexport * from '@solana/transactions';\nexport * from './rpc';\nexport * from './rpc-transport';\n","import { createSolanaRpcApi, SolanaRpcMethods } from '@solana/rpc-core';\nimport { createJsonRpc } from '@solana/rpc-transport';\nimport type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types';\n\nimport { DEFAULT_RPC_CONFIG } from './rpc-default-config';\n\nexport function createSolanaRpc(config: Omit<Parameters<typeof createJsonRpc>[0], 'api'>): Rpc<SolanaRpcMethods> {\n return createJsonRpc<SolanaRpcMethods>({\n ...config,\n api: createSolanaRpcApi(DEFAULT_RPC_CONFIG),\n });\n}\n","export class SolanaJsonRpcIntegerOverflowError extends Error {\n readonly methodName: string;\n readonly keyPath: (number | string)[];\n readonly value: bigint;\n constructor(methodName: string, keyPath: (number | string)[], value: bigint) {\n const argPosition = (typeof keyPath[0] === 'number' ? keyPath[0] : parseInt(keyPath[0], 10)) + 1;\n let ordinal = '';\n const lastDigit = argPosition % 10;\n const lastTwoDigits = argPosition % 100;\n if (lastDigit == 1 && lastTwoDigits != 11) {\n ordinal = argPosition + 'st';\n } else if (lastDigit == 2 && lastTwoDigits != 12) {\n ordinal = argPosition + 'nd';\n } else if (lastDigit == 3 && lastTwoDigits != 13) {\n ordinal = argPosition + 'rd';\n } else {\n ordinal = argPosition + 'th';\n }\n const path =\n keyPath.length > 1\n ? keyPath\n .slice(1)\n .map(pathPart => (typeof pathPart === 'number' ? `[${pathPart}]` : pathPart))\n .join('.')\n : null;\n super(\n `The ${ordinal} argument to the \\`${methodName}\\` RPC method` +\n `${path ? ` at path \\`${path}\\`` : ''} was \\`${value}\\`. This number is ` +\n 'unsafe for use with the Solana JSON-RPC because it exceeds ' +\n '`Number.MAX_SAFE_INTEGER`.'\n );\n this.keyPath = keyPath;\n this.methodName = methodName;\n this.value = value;\n }\n get name() {\n return 'SolanaJsonRpcIntegerOverflowError';\n }\n}\n","import { createSolanaRpcApi } from '@solana/rpc-core';\n\nimport { SolanaJsonRpcIntegerOverflowError } from './rpc-integer-overflow-error';\n\nexport const DEFAULT_RPC_CONFIG: Partial<Parameters<typeof createSolanaRpcApi>[0]> = {\n onIntegerOverflow(methodName, keyPath, value) {\n throw new SolanaJsonRpcIntegerOverflowError(methodName, keyPath, value);\n },\n};\n","import { createHttpTransport } from '@solana/rpc-transport';\nimport { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';\n\nimport { getRpcTransportWithRequestCoalescing } from './rpc-request-coalescer';\nimport { getSolanaRpcPayloadDeduplicationKey } from './rpc-request-deduplication';\n\n/**\n * Lowercasing header names makes it easier to override user-supplied headers.\n */\nfunction normalizeHeaders<T extends Record<string, string>>(\n headers: T\n): { [K in keyof T & string as Lowercase<K>]: T[K] } {\n const out: Record<string, string> = {};\n for (const headerName in headers) {\n out[headerName.toLowerCase()] = headers[headerName];\n }\n return out as { [K in keyof T & string as Lowercase<K>]: T[K] };\n}\n\nexport function createDefaultRpcTransport(config: Parameters<typeof createHttpTransport>[0]): IRpcTransport {\n return getRpcTransportWithRequestCoalescing(\n createHttpTransport({\n ...config,\n headers: {\n ...(config.headers ? normalizeHeaders(config.headers) : undefined),\n ...({\n // Keep these headers lowercase so they will override any user-supplied headers above.\n 'solana-client': `js/${__VERSION__}` ?? 'UNKNOWN',\n } as { [overrideHeader: string]: string }),\n },\n }),\n getSolanaRpcPayloadDeduplicationKey\n );\n}\n","import { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';\n\ntype CoalescedRequest = {\n readonly abortController: AbortController;\n numConsumers: number;\n readonly responsePromise: Promise<unknown>;\n};\n\ntype GetDeduplicationKeyFn = (payload: unknown) => string | undefined;\n\nexport function getRpcTransportWithRequestCoalescing(\n transport: IRpcTransport,\n getDeduplicationKey: GetDeduplicationKeyFn\n): IRpcTransport {\n let coalescedRequestsByDeduplicationKey: Record<string, CoalescedRequest> | undefined;\n return async function makeCoalescedHttpRequest<TResponse>(\n config: Parameters<IRpcTransport>[0]\n ): Promise<TResponse> {\n const { payload, signal } = config;\n const deduplicationKey = getDeduplicationKey(payload);\n if (deduplicationKey === undefined) {\n return await transport(config);\n }\n if (!coalescedRequestsByDeduplicationKey) {\n Promise.resolve().then(() => {\n coalescedRequestsByDeduplicationKey = undefined;\n });\n coalescedRequestsByDeduplicationKey = {};\n }\n if (coalescedRequestsByDeduplicationKey[deduplicationKey] == null) {\n const abortController = new AbortController();\n coalescedRequestsByDeduplicationKey[deduplicationKey] = {\n abortController,\n numConsumers: 0,\n responsePromise: transport<TResponse>({\n ...config,\n signal: abortController.signal,\n }),\n };\n }\n const coalescedRequest = coalescedRequestsByDeduplicationKey[deduplicationKey];\n coalescedRequest.numConsumers++;\n if (signal) {\n const responsePromise = coalescedRequest.responsePromise as Promise<TResponse>;\n return await new Promise<TResponse>((resolve, reject) => {\n const handleAbort = (e: AbortSignalEventMap['abort']) => {\n signal.removeEventListener('abort', handleAbort);\n coalescedRequest.numConsumers -= 1;\n if (coalescedRequest.numConsumers === 0) {\n const abortController = coalescedRequest.abortController;\n abortController.abort();\n }\n const abortError = new DOMException((e.target as AbortSignal).reason, 'AbortError');\n reject(abortError);\n };\n signal.addEventListener('abort', handleAbort);\n responsePromise.then(resolve).finally(() => {\n signal.removeEventListener('abort', handleAbort);\n });\n });\n } else {\n return (await coalescedRequest.responsePromise) as TResponse;\n }\n };\n}\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport fastStableStringify from 'fast-stable-stringify';\n\nexport function getSolanaRpcPayloadDeduplicationKey(payload: unknown): string | undefined {\n if (payload == null || typeof payload !== 'object' || Array.isArray(payload)) {\n return;\n }\n if ('jsonrpc' in payload && payload.jsonrpc === '2.0' && 'method' in payload && 'params' in payload) {\n return fastStableStringify([payload.method, payload.params]);\n }\n}\n"]}
|
|
@@ -913,7 +913,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
913
913
|
}
|
|
914
914
|
throw new Error("Unable to find a viable program address bump seed");
|
|
915
915
|
}
|
|
916
|
-
async function
|
|
916
|
+
async function getAddressFromPublicKey(publicKey) {
|
|
917
917
|
await assertKeyExporterIsAvailable();
|
|
918
918
|
if (publicKey.type !== "public" || publicKey.algorithm.name !== "Ed25519") {
|
|
919
919
|
throw new Error("The `CryptoKey` must be an `Ed25519` public key");
|
|
@@ -1484,7 +1484,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
1484
1484
|
)
|
|
1485
1485
|
],
|
|
1486
1486
|
[
|
|
1487
|
-
"
|
|
1487
|
+
"accountIndices",
|
|
1488
1488
|
array(
|
|
1489
1489
|
u8({
|
|
1490
1490
|
description: "The index of an account, according to the well-ordered accounts list for this transaction"
|
|
@@ -1504,23 +1504,23 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
1504
1504
|
]
|
|
1505
1505
|
]),
|
|
1506
1506
|
(value) => {
|
|
1507
|
-
if (value.
|
|
1507
|
+
if (value.accountIndices !== void 0 && value.data !== void 0) {
|
|
1508
1508
|
return value;
|
|
1509
1509
|
}
|
|
1510
1510
|
return {
|
|
1511
1511
|
...value,
|
|
1512
|
-
|
|
1512
|
+
accountIndices: value.accountIndices ?? [],
|
|
1513
1513
|
data: value.data ?? new Uint8Array(0)
|
|
1514
1514
|
};
|
|
1515
1515
|
},
|
|
1516
1516
|
(value) => {
|
|
1517
|
-
if (value.
|
|
1517
|
+
if (value.accountIndices.length && value.data.byteLength) {
|
|
1518
1518
|
return value;
|
|
1519
1519
|
}
|
|
1520
|
-
const {
|
|
1520
|
+
const { accountIndices, data, ...rest } = value;
|
|
1521
1521
|
return {
|
|
1522
1522
|
...rest,
|
|
1523
|
-
...
|
|
1523
|
+
...accountIndices.length ? { accountIndices } : null,
|
|
1524
1524
|
...data.byteLength ? { data } : null
|
|
1525
1525
|
};
|
|
1526
1526
|
}
|
|
@@ -1643,7 +1643,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
1643
1643
|
async function signTransaction(keyPair, transaction) {
|
|
1644
1644
|
const compiledMessage = compileMessage(transaction);
|
|
1645
1645
|
const [signerPublicKey, signature] = await Promise.all([
|
|
1646
|
-
|
|
1646
|
+
getAddressFromPublicKey(keyPair.publicKey),
|
|
1647
1647
|
getCompiledMessageSignature(compiledMessage, keyPair.privateKey)
|
|
1648
1648
|
]);
|
|
1649
1649
|
const nextSignatures = {
|
|
@@ -1747,7 +1747,9 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
1747
1747
|
["value", "data", "parsed", "info", "tokenAmount", "decimals"],
|
|
1748
1748
|
["value", "data", "parsed", "info", "tokenAmount", "uiAmount"],
|
|
1749
1749
|
["value", "data", "parsed", "info", "rentExemptReserve", "decimals"],
|
|
1750
|
+
["value", "data", "parsed", "info", "rentExemptReserve", "uiAmount"],
|
|
1750
1751
|
["value", "data", "parsed", "info", "delegatedAmount", "decimals"],
|
|
1752
|
+
["value", "data", "parsed", "info", "delegatedAmount", "uiAmount"],
|
|
1751
1753
|
[
|
|
1752
1754
|
"value",
|
|
1753
1755
|
"data",
|
|
@@ -1787,12 +1789,347 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
1787
1789
|
["value", "data", "parsed", "info", "votes", KEYPATH_WILDCARD, "confirmationCount"]
|
|
1788
1790
|
],
|
|
1789
1791
|
getBlockTime: [[]],
|
|
1792
|
+
getClusterNodes: [
|
|
1793
|
+
[KEYPATH_WILDCARD, "featureSet"],
|
|
1794
|
+
[KEYPATH_WILDCARD, "shredVersion"]
|
|
1795
|
+
],
|
|
1796
|
+
getInflationGovernor: [["initial"], ["foundation"], ["foundationTerm"], ["taper"], ["terminal"]],
|
|
1797
|
+
getInflationRate: [["foundation"], ["total"], ["validator"]],
|
|
1790
1798
|
getInflationReward: [[KEYPATH_WILDCARD, "commission"]],
|
|
1799
|
+
getMultipleAccounts: [
|
|
1800
|
+
// parsed AddressTableLookup account
|
|
1801
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "lastExtendedSlotStartIndex"],
|
|
1802
|
+
// parsed Config account
|
|
1803
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "slashPenalty"],
|
|
1804
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "warmupCooldownRate"],
|
|
1805
|
+
// parsed Token/Token22 token account
|
|
1806
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "tokenAmount", "decimals"],
|
|
1807
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "tokenAmount", "uiAmount"],
|
|
1808
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "rentExemptReserve", "decimals"],
|
|
1809
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "rentExemptReserve", "uiAmount"],
|
|
1810
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "delegatedAmount", "decimals"],
|
|
1811
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "delegatedAmount", "uiAmount"],
|
|
1812
|
+
[
|
|
1813
|
+
"value",
|
|
1814
|
+
KEYPATH_WILDCARD,
|
|
1815
|
+
"data",
|
|
1816
|
+
"parsed",
|
|
1817
|
+
"info",
|
|
1818
|
+
"extensions",
|
|
1819
|
+
KEYPATH_WILDCARD,
|
|
1820
|
+
"state",
|
|
1821
|
+
"olderTransferFee",
|
|
1822
|
+
"transferFeeBasisPoints"
|
|
1823
|
+
],
|
|
1824
|
+
[
|
|
1825
|
+
"value",
|
|
1826
|
+
KEYPATH_WILDCARD,
|
|
1827
|
+
"data",
|
|
1828
|
+
"parsed",
|
|
1829
|
+
"info",
|
|
1830
|
+
"extensions",
|
|
1831
|
+
KEYPATH_WILDCARD,
|
|
1832
|
+
"state",
|
|
1833
|
+
"newerTransferFee",
|
|
1834
|
+
"transferFeeBasisPoints"
|
|
1835
|
+
],
|
|
1836
|
+
[
|
|
1837
|
+
"value",
|
|
1838
|
+
KEYPATH_WILDCARD,
|
|
1839
|
+
"data",
|
|
1840
|
+
"parsed",
|
|
1841
|
+
"info",
|
|
1842
|
+
"extensions",
|
|
1843
|
+
KEYPATH_WILDCARD,
|
|
1844
|
+
"state",
|
|
1845
|
+
"preUpdateAverageRate"
|
|
1846
|
+
],
|
|
1847
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "extensions", KEYPATH_WILDCARD, "state", "currentRate"],
|
|
1848
|
+
// parsed Token/Token22 mint account
|
|
1849
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "decimals"],
|
|
1850
|
+
// parsed Token/Token22 multisig account
|
|
1851
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "numRequiredSigners"],
|
|
1852
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "numValidSigners"],
|
|
1853
|
+
// parsed Stake account
|
|
1854
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "stake", "delegation", "warmupCooldownRate"],
|
|
1855
|
+
// parsed Sysvar rent account
|
|
1856
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "exemptionThreshold"],
|
|
1857
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "burnPercent"],
|
|
1858
|
+
// parsed Vote account
|
|
1859
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "commission"],
|
|
1860
|
+
["value", KEYPATH_WILDCARD, "data", "parsed", "info", "votes", KEYPATH_WILDCARD, "confirmationCount"]
|
|
1861
|
+
],
|
|
1862
|
+
getProgramAccounts: [
|
|
1863
|
+
// parsed AddressTableLookup account
|
|
1864
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "lastExtendedSlotStartIndex"],
|
|
1865
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "lastExtendedSlotStartIndex"],
|
|
1866
|
+
// parsed Config account
|
|
1867
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "slashPenalty"],
|
|
1868
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "slashPenalty"],
|
|
1869
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "warmupCooldownRate"],
|
|
1870
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "warmupCooldownRate"],
|
|
1871
|
+
// parsed Token/Token22 token account
|
|
1872
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "tokenAmount", "decimals"],
|
|
1873
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "tokenAmount", "decimals"],
|
|
1874
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "tokenAmount", "uiAmount"],
|
|
1875
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "tokenAmount", "uiAmount"],
|
|
1876
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "rentExemptReserve", "decimals"],
|
|
1877
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "rentExemptReserve", "decimals"],
|
|
1878
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "rentExemptReserve", "uiAmount"],
|
|
1879
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "rentExemptReserve", "uiAmount"],
|
|
1880
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "delegatedAmount", "decimals"],
|
|
1881
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "delegatedAmount", "decimals"],
|
|
1882
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "delegatedAmount", "uiAmount"],
|
|
1883
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "delegatedAmount", "uiAmount"],
|
|
1884
|
+
[
|
|
1885
|
+
KEYPATH_WILDCARD,
|
|
1886
|
+
"account",
|
|
1887
|
+
"data",
|
|
1888
|
+
"parsed",
|
|
1889
|
+
"info",
|
|
1890
|
+
"extensions",
|
|
1891
|
+
KEYPATH_WILDCARD,
|
|
1892
|
+
"state",
|
|
1893
|
+
"olderTransferFee",
|
|
1894
|
+
"transferFeeBasisPoints"
|
|
1895
|
+
],
|
|
1896
|
+
[
|
|
1897
|
+
"value",
|
|
1898
|
+
KEYPATH_WILDCARD,
|
|
1899
|
+
"account",
|
|
1900
|
+
"data",
|
|
1901
|
+
"parsed",
|
|
1902
|
+
"info",
|
|
1903
|
+
"extensions",
|
|
1904
|
+
KEYPATH_WILDCARD,
|
|
1905
|
+
"state",
|
|
1906
|
+
"olderTransferFee",
|
|
1907
|
+
"transferFeeBasisPoints"
|
|
1908
|
+
],
|
|
1909
|
+
[
|
|
1910
|
+
KEYPATH_WILDCARD,
|
|
1911
|
+
"account",
|
|
1912
|
+
"data",
|
|
1913
|
+
"parsed",
|
|
1914
|
+
"info",
|
|
1915
|
+
"extensions",
|
|
1916
|
+
KEYPATH_WILDCARD,
|
|
1917
|
+
"state",
|
|
1918
|
+
"newerTransferFee",
|
|
1919
|
+
"transferFeeBasisPoints"
|
|
1920
|
+
],
|
|
1921
|
+
[
|
|
1922
|
+
"value",
|
|
1923
|
+
KEYPATH_WILDCARD,
|
|
1924
|
+
"account",
|
|
1925
|
+
"data",
|
|
1926
|
+
"parsed",
|
|
1927
|
+
"info",
|
|
1928
|
+
"extensions",
|
|
1929
|
+
KEYPATH_WILDCARD,
|
|
1930
|
+
"state",
|
|
1931
|
+
"newerTransferFee",
|
|
1932
|
+
"transferFeeBasisPoints"
|
|
1933
|
+
],
|
|
1934
|
+
[
|
|
1935
|
+
KEYPATH_WILDCARD,
|
|
1936
|
+
"account",
|
|
1937
|
+
"data",
|
|
1938
|
+
"parsed",
|
|
1939
|
+
"info",
|
|
1940
|
+
"extensions",
|
|
1941
|
+
KEYPATH_WILDCARD,
|
|
1942
|
+
"state",
|
|
1943
|
+
"preUpdateAverageRate"
|
|
1944
|
+
],
|
|
1945
|
+
[
|
|
1946
|
+
"value",
|
|
1947
|
+
KEYPATH_WILDCARD,
|
|
1948
|
+
"account",
|
|
1949
|
+
"data",
|
|
1950
|
+
"parsed",
|
|
1951
|
+
"info",
|
|
1952
|
+
"extensions",
|
|
1953
|
+
KEYPATH_WILDCARD,
|
|
1954
|
+
"state",
|
|
1955
|
+
"preUpdateAverageRate"
|
|
1956
|
+
],
|
|
1957
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "extensions", KEYPATH_WILDCARD, "state", "currentRate"],
|
|
1958
|
+
[
|
|
1959
|
+
"value",
|
|
1960
|
+
KEYPATH_WILDCARD,
|
|
1961
|
+
"account",
|
|
1962
|
+
"data",
|
|
1963
|
+
"parsed",
|
|
1964
|
+
"info",
|
|
1965
|
+
"extensions",
|
|
1966
|
+
KEYPATH_WILDCARD,
|
|
1967
|
+
"state",
|
|
1968
|
+
"currentRate"
|
|
1969
|
+
],
|
|
1970
|
+
// parsed Token/Token22 mint account
|
|
1971
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "decimals"],
|
|
1972
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "decimals"],
|
|
1973
|
+
// parsed Token/Token22 multisig account
|
|
1974
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "numRequiredSigners"],
|
|
1975
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "numRequiredSigners"],
|
|
1976
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "numValidSigners"],
|
|
1977
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "numValidSigners"],
|
|
1978
|
+
// parsed Stake account
|
|
1979
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "stake", "delegation", "warmupCooldownRate"],
|
|
1980
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "stake", "delegation", "warmupCooldownRate"],
|
|
1981
|
+
// parsed Sysvar rent account
|
|
1982
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "exemptionThreshold"],
|
|
1983
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "exemptionThreshold"],
|
|
1984
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "burnPercent"],
|
|
1985
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "burnPercent"],
|
|
1986
|
+
// parsed Vote account
|
|
1987
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "commission"],
|
|
1988
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "commission"],
|
|
1989
|
+
[KEYPATH_WILDCARD, "account", "data", "parsed", "info", "votes", KEYPATH_WILDCARD, "confirmationCount"],
|
|
1990
|
+
[
|
|
1991
|
+
"value",
|
|
1992
|
+
KEYPATH_WILDCARD,
|
|
1993
|
+
"account",
|
|
1994
|
+
"data",
|
|
1995
|
+
"parsed",
|
|
1996
|
+
"info",
|
|
1997
|
+
"votes",
|
|
1998
|
+
KEYPATH_WILDCARD,
|
|
1999
|
+
"confirmationCount"
|
|
2000
|
+
]
|
|
2001
|
+
],
|
|
1791
2002
|
getRecentPerformanceSamples: [[KEYPATH_WILDCARD, "samplePeriodSecs"]],
|
|
2003
|
+
getTokenAccountBalance: [
|
|
2004
|
+
["value", "decimals"],
|
|
2005
|
+
["value", "uiAmount"]
|
|
2006
|
+
],
|
|
2007
|
+
getTokenAccountsByDelegate: [
|
|
2008
|
+
// parsed Token/Token22 token account
|
|
2009
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "tokenAmount", "decimals"],
|
|
2010
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "tokenAmount", "uiAmount"],
|
|
2011
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "rentExemptReserve", "decimals"],
|
|
2012
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "rentExemptReserve", "uiAmount"],
|
|
2013
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "delegatedAmount", "decimals"],
|
|
2014
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "delegatedAmount", "uiAmount"],
|
|
2015
|
+
[
|
|
2016
|
+
"value",
|
|
2017
|
+
KEYPATH_WILDCARD,
|
|
2018
|
+
"account",
|
|
2019
|
+
"data",
|
|
2020
|
+
"parsed",
|
|
2021
|
+
"info",
|
|
2022
|
+
"extensions",
|
|
2023
|
+
KEYPATH_WILDCARD,
|
|
2024
|
+
"state",
|
|
2025
|
+
"olderTransferFee",
|
|
2026
|
+
"transferFeeBasisPoints"
|
|
2027
|
+
],
|
|
2028
|
+
[
|
|
2029
|
+
"value",
|
|
2030
|
+
KEYPATH_WILDCARD,
|
|
2031
|
+
"account",
|
|
2032
|
+
"data",
|
|
2033
|
+
"parsed",
|
|
2034
|
+
"info",
|
|
2035
|
+
"extensions",
|
|
2036
|
+
KEYPATH_WILDCARD,
|
|
2037
|
+
"state",
|
|
2038
|
+
"newerTransferFee",
|
|
2039
|
+
"transferFeeBasisPoints"
|
|
2040
|
+
],
|
|
2041
|
+
[
|
|
2042
|
+
"value",
|
|
2043
|
+
KEYPATH_WILDCARD,
|
|
2044
|
+
"account",
|
|
2045
|
+
"data",
|
|
2046
|
+
"parsed",
|
|
2047
|
+
"info",
|
|
2048
|
+
"extensions",
|
|
2049
|
+
KEYPATH_WILDCARD,
|
|
2050
|
+
"state",
|
|
2051
|
+
"preUpdateAverageRate"
|
|
2052
|
+
],
|
|
2053
|
+
[
|
|
2054
|
+
"value",
|
|
2055
|
+
KEYPATH_WILDCARD,
|
|
2056
|
+
"account",
|
|
2057
|
+
"data",
|
|
2058
|
+
"parsed",
|
|
2059
|
+
"info",
|
|
2060
|
+
"extensions",
|
|
2061
|
+
KEYPATH_WILDCARD,
|
|
2062
|
+
"state",
|
|
2063
|
+
"currentRate"
|
|
2064
|
+
]
|
|
2065
|
+
],
|
|
2066
|
+
getTokenAccountsByOwner: [
|
|
2067
|
+
// parsed Token/Token22 token account
|
|
2068
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "tokenAmount", "decimals"],
|
|
2069
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "tokenAmount", "uiAmount"],
|
|
2070
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "rentExemptReserve", "decimals"],
|
|
2071
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "rentExemptReserve", "uiAmount"],
|
|
2072
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "delegatedAmount", "decimals"],
|
|
2073
|
+
["value", KEYPATH_WILDCARD, "account", "data", "parsed", "info", "delegatedAmount", "uiAmount"],
|
|
2074
|
+
[
|
|
2075
|
+
"value",
|
|
2076
|
+
KEYPATH_WILDCARD,
|
|
2077
|
+
"account",
|
|
2078
|
+
"data",
|
|
2079
|
+
"parsed",
|
|
2080
|
+
"info",
|
|
2081
|
+
"extensions",
|
|
2082
|
+
KEYPATH_WILDCARD,
|
|
2083
|
+
"state",
|
|
2084
|
+
"olderTransferFee",
|
|
2085
|
+
"transferFeeBasisPoints"
|
|
2086
|
+
],
|
|
2087
|
+
[
|
|
2088
|
+
"value",
|
|
2089
|
+
KEYPATH_WILDCARD,
|
|
2090
|
+
"account",
|
|
2091
|
+
"data",
|
|
2092
|
+
"parsed",
|
|
2093
|
+
"info",
|
|
2094
|
+
"extensions",
|
|
2095
|
+
KEYPATH_WILDCARD,
|
|
2096
|
+
"state",
|
|
2097
|
+
"newerTransferFee",
|
|
2098
|
+
"transferFeeBasisPoints"
|
|
2099
|
+
],
|
|
2100
|
+
[
|
|
2101
|
+
"value",
|
|
2102
|
+
KEYPATH_WILDCARD,
|
|
2103
|
+
"account",
|
|
2104
|
+
"data",
|
|
2105
|
+
"parsed",
|
|
2106
|
+
"info",
|
|
2107
|
+
"extensions",
|
|
2108
|
+
KEYPATH_WILDCARD,
|
|
2109
|
+
"state",
|
|
2110
|
+
"preUpdateAverageRate"
|
|
2111
|
+
],
|
|
2112
|
+
[
|
|
2113
|
+
"value",
|
|
2114
|
+
KEYPATH_WILDCARD,
|
|
2115
|
+
"account",
|
|
2116
|
+
"data",
|
|
2117
|
+
"parsed",
|
|
2118
|
+
"info",
|
|
2119
|
+
"extensions",
|
|
2120
|
+
KEYPATH_WILDCARD,
|
|
2121
|
+
"state",
|
|
2122
|
+
"currentRate"
|
|
2123
|
+
]
|
|
2124
|
+
],
|
|
1792
2125
|
getTokenLargestAccounts: [
|
|
1793
2126
|
["value", KEYPATH_WILDCARD, "decimals"],
|
|
1794
2127
|
["value", KEYPATH_WILDCARD, "uiAmount"]
|
|
1795
2128
|
],
|
|
2129
|
+
getTokenSupply: [
|
|
2130
|
+
["value", "decimals"],
|
|
2131
|
+
["value", "uiAmount"]
|
|
2132
|
+
],
|
|
1796
2133
|
getTransaction: [
|
|
1797
2134
|
["meta", "preTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
|
|
1798
2135
|
["meta", "preTokenBalances", KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
|
|
@@ -1810,6 +2147,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
1810
2147
|
["transaction", "message", "header", "numReadonlyUnsignedAccounts"],
|
|
1811
2148
|
["transaction", "message", "header", "numRequiredSignatures"]
|
|
1812
2149
|
],
|
|
2150
|
+
getVersion: [["feature-set"]],
|
|
1813
2151
|
getVoteAccounts: [
|
|
1814
2152
|
["current", KEYPATH_WILDCARD, "commission"],
|
|
1815
2153
|
["delinquent", KEYPATH_WILDCARD, "commission"]
|
|
@@ -2186,9 +2524,9 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
2186
2524
|
exports.downgradeRoleToNonSigner = downgradeRoleToNonSigner;
|
|
2187
2525
|
exports.downgradeRoleToReadonly = downgradeRoleToReadonly;
|
|
2188
2526
|
exports.generateKeyPair = generateKeyPair;
|
|
2527
|
+
exports.getAddressFromPublicKey = getAddressFromPublicKey;
|
|
2189
2528
|
exports.getBase58EncodedAddressCodec = getBase58EncodedAddressCodec;
|
|
2190
2529
|
exports.getBase58EncodedAddressComparator = getBase58EncodedAddressComparator;
|
|
2191
|
-
exports.getBase58EncodedAddressFromPublicKey = getBase58EncodedAddressFromPublicKey;
|
|
2192
2530
|
exports.getBase64EncodedWireTransaction = getBase64EncodedWireTransaction;
|
|
2193
2531
|
exports.getProgramDerivedAddress = getProgramDerivedAddress;
|
|
2194
2532
|
exports.isSignerRole = isSignerRole;
|