@solana/web3.js 1.74.0 → 2.0.0-experimental.20762e0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/index.browser.cjs +79 -0
  2. package/dist/index.browser.cjs.map +1 -0
  3. package/dist/index.browser.js +70 -0
  4. package/dist/index.browser.js.map +1 -0
  5. package/dist/index.development.js +539 -0
  6. package/dist/index.development.js.map +1 -0
  7. package/dist/index.native.js +68 -0
  8. package/dist/index.native.js.map +1 -0
  9. package/dist/index.node.cjs +79 -0
  10. package/dist/index.node.cjs.map +1 -0
  11. package/dist/index.node.js +70 -0
  12. package/dist/index.node.js.map +1 -0
  13. package/dist/index.production.min.js +13 -0
  14. package/dist/types/index.d.ts +4 -0
  15. package/dist/types/rpc-default-config.d.ts +3 -0
  16. package/dist/types/rpc-integer-overflow-error.d.ts +8 -0
  17. package/dist/types/rpc-transport.d.ts +4 -0
  18. package/dist/types/rpc.d.ts +5 -0
  19. package/package.json +86 -113
  20. package/README.md +0 -155
  21. package/lib/index.browser.cjs.js +0 -9485
  22. package/lib/index.browser.cjs.js.map +0 -1
  23. package/lib/index.browser.esm.js +0 -9379
  24. package/lib/index.browser.esm.js.map +0 -1
  25. package/lib/index.cjs.js +0 -12009
  26. package/lib/index.cjs.js.map +0 -1
  27. package/lib/index.d.ts +0 -3865
  28. package/lib/index.esm.js +0 -11896
  29. package/lib/index.esm.js.map +0 -1
  30. package/lib/index.iife.js +0 -24568
  31. package/lib/index.iife.js.map +0 -1
  32. package/lib/index.iife.min.js +0 -13
  33. package/lib/index.iife.min.js.map +0 -1
  34. package/lib/index.native.js +0 -9485
  35. package/lib/index.native.js.map +0 -1
  36. package/src/__forks__/browser/fetch-impl.ts +0 -4
  37. package/src/__forks__/browser/rpc-websocket-factory.ts +0 -1
  38. package/src/__forks__/react-native/fetch-impl.ts +0 -4
  39. package/src/__forks__/react-native/rpc-websocket-factory.ts +0 -1
  40. package/src/account-data.ts +0 -39
  41. package/src/account.ts +0 -55
  42. package/src/blockhash.ts +0 -4
  43. package/src/bpf-loader-deprecated.ts +0 -5
  44. package/src/bpf-loader.ts +0 -45
  45. package/src/connection.ts +0 -6678
  46. package/src/epoch-schedule.ts +0 -102
  47. package/src/errors.ts +0 -50
  48. package/src/fee-calculator.ts +0 -18
  49. package/src/fetch-impl.ts +0 -13
  50. package/src/index.ts +0 -24
  51. package/src/instruction.ts +0 -58
  52. package/src/keypair.ts +0 -93
  53. package/src/layout.ts +0 -188
  54. package/src/loader.ts +0 -236
  55. package/src/message/account-keys.ts +0 -79
  56. package/src/message/compiled-keys.ts +0 -165
  57. package/src/message/index.ts +0 -47
  58. package/src/message/legacy.ts +0 -326
  59. package/src/message/v0.ts +0 -496
  60. package/src/message/versioned.ts +0 -36
  61. package/src/nonce-account.ts +0 -82
  62. package/src/programs/address-lookup-table/index.ts +0 -435
  63. package/src/programs/address-lookup-table/state.ts +0 -84
  64. package/src/programs/compute-budget.ts +0 -281
  65. package/src/programs/ed25519.ts +0 -157
  66. package/src/programs/index.ts +0 -7
  67. package/src/programs/secp256k1.ts +0 -228
  68. package/src/programs/stake.ts +0 -935
  69. package/src/programs/system.ts +0 -1048
  70. package/src/programs/vote.ts +0 -541
  71. package/src/publickey.ts +0 -259
  72. package/src/rpc-websocket-factory.ts +0 -4
  73. package/src/rpc-websocket.ts +0 -79
  74. package/src/sysvar.ts +0 -37
  75. package/src/timing.ts +0 -23
  76. package/src/transaction/constants.ts +0 -12
  77. package/src/transaction/expiry-custom-errors.ts +0 -48
  78. package/src/transaction/index.ts +0 -5
  79. package/src/transaction/legacy.ts +0 -908
  80. package/src/transaction/message.ts +0 -140
  81. package/src/transaction/versioned.ts +0 -126
  82. package/src/utils/assert.ts +0 -8
  83. package/src/utils/bigint.ts +0 -43
  84. package/src/utils/borsh-schema.ts +0 -38
  85. package/src/utils/cluster.ts +0 -31
  86. package/src/utils/ed25519.ts +0 -46
  87. package/src/utils/index.ts +0 -5
  88. package/src/utils/makeWebsocketUrl.ts +0 -26
  89. package/src/utils/promise-timeout.ts +0 -14
  90. package/src/utils/secp256k1.ts +0 -18
  91. package/src/utils/send-and-confirm-raw-transaction.ts +0 -102
  92. package/src/utils/send-and-confirm-transaction.ts +0 -98
  93. package/src/utils/shortvec-encoding.ts +0 -28
  94. package/src/utils/sleep.ts +0 -4
  95. package/src/utils/to-buffer.ts +0 -11
  96. package/src/validator-info.ts +0 -104
  97. package/src/vote-account.ts +0 -236
@@ -0,0 +1,68 @@
1
+ export * from '@solana/keys';
2
+ import { createSolanaRpcApi } from '@solana/rpc-core';
3
+ import { createJsonRpc, createHttpTransport } from '@solana/rpc-transport';
4
+
5
+ // src/index.ts
6
+
7
+ // src/rpc-integer-overflow-error.ts
8
+ var SolanaJsonRpcIntegerOverflowError = class extends Error {
9
+ constructor(methodName, keyPath, value) {
10
+ const argPosition = (typeof keyPath[0] === "number" ? keyPath[0] : parseInt(keyPath[0], 10)) + 1;
11
+ let ordinal = "";
12
+ const lastDigit = argPosition % 10;
13
+ const lastTwoDigits = argPosition % 100;
14
+ if (lastDigit == 1 && lastTwoDigits != 11) {
15
+ ordinal = argPosition + "st";
16
+ } else if (lastDigit == 2 && lastTwoDigits != 12) {
17
+ ordinal = argPosition + "nd";
18
+ } else if (lastDigit == 3 && lastTwoDigits != 13) {
19
+ ordinal = argPosition + "rd";
20
+ } else {
21
+ ordinal = argPosition + "th";
22
+ }
23
+ const path = keyPath.length > 1 ? keyPath.slice(1).map((pathPart) => typeof pathPart === "number" ? `[${pathPart}]` : pathPart).join(".") : null;
24
+ super(
25
+ `The ${ordinal} argument to the \`${methodName}\` RPC method${path ? ` at path \`${path}\`` : ""} was \`${value}\`. This number is unsafe for use with the Solana JSON-RPC because it exceeds \`Number.MAX_SAFE_INTEGER\`.`
26
+ );
27
+ this.keyPath = keyPath;
28
+ this.methodName = methodName;
29
+ this.value = value;
30
+ }
31
+ get name() {
32
+ return "SolanaJsonRpcIntegerOverflowError";
33
+ }
34
+ };
35
+
36
+ // src/rpc-default-config.ts
37
+ var DEFAULT_RPC_CONFIG = {
38
+ onIntegerOverflow(methodName, keyPath, value) {
39
+ throw new SolanaJsonRpcIntegerOverflowError(methodName, keyPath, value);
40
+ }
41
+ };
42
+ function createSolanaRpc(config) {
43
+ return createJsonRpc({
44
+ ...config,
45
+ api: createSolanaRpcApi(DEFAULT_RPC_CONFIG)
46
+ });
47
+ }
48
+ function normalizeHeaders(headers) {
49
+ const out = {};
50
+ for (const headerName in headers) {
51
+ out[headerName.toLowerCase()] = headers[headerName];
52
+ }
53
+ return out;
54
+ }
55
+ function createDefaultRpcTransport(config) {
56
+ return createHttpTransport({
57
+ ...config,
58
+ headers: {
59
+ ...config.headers ? normalizeHeaders(config.headers) : void 0,
60
+ ...{
61
+ // Keep these headers lowercase so they will override any user-supplied headers above.
62
+ "solana-client": `js/${"2.0.0-development"}` ?? "UNKNOWN"
63
+ }
64
+ }
65
+ });
66
+ }
67
+
68
+ export { createDefaultRpcTransport, createSolanaRpc };
@@ -0,0 +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"],"names":[],"mappings":";AAAA,cAAc;;;ACAd,SAA2B,0BAA0B;;;ACA9C,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;;;ACnCO,IAAM,qBAAwE;AAAA,EACjF,kBAAkB,YAAY,SAAS,OAAO;AAC1C,UAAM,IAAI,kCAAkC,YAAY,SAAS,KAAK;AAAA,EAC1E;AACJ;;;AFJA,SAAS,qBAAqB;AAGvB,SAAS,gBAAgB,QAAiF;AAC7G,SAAO,cAAgC;AAAA,IACnC,GAAG;AAAA,IACH,KAAK,mBAAmB,kBAAkB;AAAA,EAC9C,CAAC;AACL;;;AGXA,SAAS,2BAA2B;AAMpC,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,oBAAoB;AAAA,IACvB,GAAG;AAAA,IACH,SAAS;AAAA,MACL,GAAI,OAAO,UAAU,iBAAiB,OAAO,OAAO,IAAI;AAAA,MACxD,GAAI;AAAA;AAAA,QAEA,iBAAiB,MAAM,yBAAiB;AAAA,MAC5C;AAAA,IACJ;AAAA,EACJ,CAAC;AACL","sourcesContent":["export * from '@solana/keys';\nexport * from './rpc';\nexport * from './rpc-transport';\n","import { SolanaRpcMethods, createSolanaRpcApi } from '@solana/rpc-core';\nimport { DEFAULT_RPC_CONFIG } from './rpc-default-config';\n\nimport { createJsonRpc } from '@solana/rpc-transport';\nimport type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types';\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';\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\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 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}\n"]}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ var keys = require('@solana/keys');
4
+ var rpcCore = require('@solana/rpc-core');
5
+ var rpcTransport = require('@solana/rpc-transport');
6
+
7
+ // src/index.ts
8
+
9
+ // src/rpc-integer-overflow-error.ts
10
+ var SolanaJsonRpcIntegerOverflowError = class extends Error {
11
+ constructor(methodName, keyPath, value) {
12
+ const argPosition = (typeof keyPath[0] === "number" ? keyPath[0] : parseInt(keyPath[0], 10)) + 1;
13
+ let ordinal = "";
14
+ const lastDigit = argPosition % 10;
15
+ const lastTwoDigits = argPosition % 100;
16
+ if (lastDigit == 1 && lastTwoDigits != 11) {
17
+ ordinal = argPosition + "st";
18
+ } else if (lastDigit == 2 && lastTwoDigits != 12) {
19
+ ordinal = argPosition + "nd";
20
+ } else if (lastDigit == 3 && lastTwoDigits != 13) {
21
+ ordinal = argPosition + "rd";
22
+ } else {
23
+ ordinal = argPosition + "th";
24
+ }
25
+ const path = keyPath.length > 1 ? keyPath.slice(1).map((pathPart) => typeof pathPart === "number" ? `[${pathPart}]` : pathPart).join(".") : null;
26
+ super(
27
+ `The ${ordinal} argument to the \`${methodName}\` RPC method${path ? ` at path \`${path}\`` : ""} was \`${value}\`. This number is unsafe for use with the Solana JSON-RPC because it exceeds \`Number.MAX_SAFE_INTEGER\`.`
28
+ );
29
+ this.keyPath = keyPath;
30
+ this.methodName = methodName;
31
+ this.value = value;
32
+ }
33
+ get name() {
34
+ return "SolanaJsonRpcIntegerOverflowError";
35
+ }
36
+ };
37
+
38
+ // src/rpc-default-config.ts
39
+ var DEFAULT_RPC_CONFIG = {
40
+ onIntegerOverflow(methodName, keyPath, value) {
41
+ throw new SolanaJsonRpcIntegerOverflowError(methodName, keyPath, value);
42
+ }
43
+ };
44
+ function createSolanaRpc(config) {
45
+ return rpcTransport.createJsonRpc({
46
+ ...config,
47
+ api: rpcCore.createSolanaRpcApi(DEFAULT_RPC_CONFIG)
48
+ });
49
+ }
50
+ function normalizeHeaders(headers) {
51
+ const out = {};
52
+ for (const headerName in headers) {
53
+ out[headerName.toLowerCase()] = headers[headerName];
54
+ }
55
+ return out;
56
+ }
57
+ function createDefaultRpcTransport(config) {
58
+ return rpcTransport.createHttpTransport({
59
+ ...config,
60
+ headers: {
61
+ ...config.headers ? normalizeHeaders(config.headers) : void 0,
62
+ ...{
63
+ // Keep these headers lowercase so they will override any user-supplied headers above.
64
+ "solana-client": `js/${"2.0.0-development"}` ?? "UNKNOWN"
65
+ }
66
+ }
67
+ });
68
+ }
69
+
70
+ exports.createDefaultRpcTransport = createDefaultRpcTransport;
71
+ exports.createSolanaRpc = createSolanaRpc;
72
+ Object.keys(keys).forEach(function (k) {
73
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
74
+ enumerable: true,
75
+ get: function () { return keys[k]; }
76
+ });
77
+ });
78
+ //# sourceMappingURL=out.js.map
79
+ //# sourceMappingURL=index.node.cjs.map
@@ -0,0 +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"],"names":[],"mappings":";AAAA,cAAc;;;ACAd,SAA2B,0BAA0B;;;ACA9C,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;;;ACnCO,IAAM,qBAAwE;AAAA,EACjF,kBAAkB,YAAY,SAAS,OAAO;AAC1C,UAAM,IAAI,kCAAkC,YAAY,SAAS,KAAK;AAAA,EAC1E;AACJ;;;AFJA,SAAS,qBAAqB;AAGvB,SAAS,gBAAgB,QAAiF;AAC7G,SAAO,cAAgC;AAAA,IACnC,GAAG;AAAA,IACH,KAAK,mBAAmB,kBAAkB;AAAA,EAC9C,CAAC;AACL;;;AGXA,SAAS,2BAA2B;AAMpC,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,oBAAoB;AAAA,IACvB,GAAG;AAAA,IACH,SAAS;AAAA,MACL,GAAI,OAAO,UAAU,iBAAiB,OAAO,OAAO,IAAI;AAAA,MACxD,GAAI;AAAA;AAAA,QAEA,iBAAiB,MAAM,yBAAiB;AAAA,MAC5C;AAAA,IACJ;AAAA,EACJ,CAAC;AACL","sourcesContent":["export * from '@solana/keys';\nexport * from './rpc';\nexport * from './rpc-transport';\n","import { SolanaRpcMethods, createSolanaRpcApi } from '@solana/rpc-core';\nimport { DEFAULT_RPC_CONFIG } from './rpc-default-config';\n\nimport { createJsonRpc } from '@solana/rpc-transport';\nimport type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types';\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';\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\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 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}\n"]}
@@ -0,0 +1,70 @@
1
+ export * from '@solana/keys';
2
+ import { createSolanaRpcApi } from '@solana/rpc-core';
3
+ import { createJsonRpc, createHttpTransport } from '@solana/rpc-transport';
4
+
5
+ // src/index.ts
6
+
7
+ // src/rpc-integer-overflow-error.ts
8
+ var SolanaJsonRpcIntegerOverflowError = class extends Error {
9
+ constructor(methodName, keyPath, value) {
10
+ const argPosition = (typeof keyPath[0] === "number" ? keyPath[0] : parseInt(keyPath[0], 10)) + 1;
11
+ let ordinal = "";
12
+ const lastDigit = argPosition % 10;
13
+ const lastTwoDigits = argPosition % 100;
14
+ if (lastDigit == 1 && lastTwoDigits != 11) {
15
+ ordinal = argPosition + "st";
16
+ } else if (lastDigit == 2 && lastTwoDigits != 12) {
17
+ ordinal = argPosition + "nd";
18
+ } else if (lastDigit == 3 && lastTwoDigits != 13) {
19
+ ordinal = argPosition + "rd";
20
+ } else {
21
+ ordinal = argPosition + "th";
22
+ }
23
+ const path = keyPath.length > 1 ? keyPath.slice(1).map((pathPart) => typeof pathPart === "number" ? `[${pathPart}]` : pathPart).join(".") : null;
24
+ super(
25
+ `The ${ordinal} argument to the \`${methodName}\` RPC method${path ? ` at path \`${path}\`` : ""} was \`${value}\`. This number is unsafe for use with the Solana JSON-RPC because it exceeds \`Number.MAX_SAFE_INTEGER\`.`
26
+ );
27
+ this.keyPath = keyPath;
28
+ this.methodName = methodName;
29
+ this.value = value;
30
+ }
31
+ get name() {
32
+ return "SolanaJsonRpcIntegerOverflowError";
33
+ }
34
+ };
35
+
36
+ // src/rpc-default-config.ts
37
+ var DEFAULT_RPC_CONFIG = {
38
+ onIntegerOverflow(methodName, keyPath, value) {
39
+ throw new SolanaJsonRpcIntegerOverflowError(methodName, keyPath, value);
40
+ }
41
+ };
42
+ function createSolanaRpc(config) {
43
+ return createJsonRpc({
44
+ ...config,
45
+ api: createSolanaRpcApi(DEFAULT_RPC_CONFIG)
46
+ });
47
+ }
48
+ function normalizeHeaders(headers) {
49
+ const out = {};
50
+ for (const headerName in headers) {
51
+ out[headerName.toLowerCase()] = headers[headerName];
52
+ }
53
+ return out;
54
+ }
55
+ function createDefaultRpcTransport(config) {
56
+ return createHttpTransport({
57
+ ...config,
58
+ headers: {
59
+ ...config.headers ? normalizeHeaders(config.headers) : void 0,
60
+ ...{
61
+ // Keep these headers lowercase so they will override any user-supplied headers above.
62
+ "solana-client": `js/${"2.0.0-development"}` ?? "UNKNOWN"
63
+ }
64
+ }
65
+ });
66
+ }
67
+
68
+ export { createDefaultRpcTransport, createSolanaRpc };
69
+ //# sourceMappingURL=out.js.map
70
+ //# sourceMappingURL=index.node.js.map
@@ -0,0 +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"],"names":[],"mappings":";AAAA,cAAc;;;ACAd,SAA2B,0BAA0B;;;ACA9C,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;;;ACnCO,IAAM,qBAAwE;AAAA,EACjF,kBAAkB,YAAY,SAAS,OAAO;AAC1C,UAAM,IAAI,kCAAkC,YAAY,SAAS,KAAK;AAAA,EAC1E;AACJ;;;AFJA,SAAS,qBAAqB;AAGvB,SAAS,gBAAgB,QAAiF;AAC7G,SAAO,cAAgC;AAAA,IACnC,GAAG;AAAA,IACH,KAAK,mBAAmB,kBAAkB;AAAA,EAC9C,CAAC;AACL;;;AGXA,SAAS,2BAA2B;AAMpC,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,oBAAoB;AAAA,IACvB,GAAG;AAAA,IACH,SAAS;AAAA,MACL,GAAI,OAAO,UAAU,iBAAiB,OAAO,OAAO,IAAI;AAAA,MACxD,GAAI;AAAA;AAAA,QAEA,iBAAiB,MAAM,yBAAiB;AAAA,MAC5C;AAAA,IACJ;AAAA,EACJ,CAAC;AACL","sourcesContent":["export * from '@solana/keys';\nexport * from './rpc';\nexport * from './rpc-transport';\n","import { SolanaRpcMethods, createSolanaRpcApi } from '@solana/rpc-core';\nimport { DEFAULT_RPC_CONFIG } from './rpc-default-config';\n\nimport { createJsonRpc } from '@solana/rpc-transport';\nimport type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types';\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';\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\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 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}\n"]}
@@ -0,0 +1,13 @@
1
+ this.globalThis = this.globalThis || {};
2
+ this.globalThis.solanaWeb3 = (function (exports) {
3
+ 'use strict';
4
+
5
+ var G=Object.create;var C=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Y=(e,r)=>()=>(e&&(r=e(e=0)),r);var I=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var B=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of W(r))!X.call(e,o)&&o!==t&&C(e,o,{get:()=>r[o],enumerable:!(n=V(r,o))||n.enumerable});return e};var Q=(e,r,t)=>(t=e!=null?G(k(e)):{},B(r||!e||!e.__esModule?C(t,"default",{value:e,enumerable:!0}):t,e));var i=Y(()=>{});var H=I((Ee,D)=>{i();function Z(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),t=0;t<r.length;t++)r[t]=255;for(var n=0;n<e.length;n++){var o=e.charAt(n),c=o.charCodeAt(0);if(r[c]!==255)throw new TypeError(o+" is ambiguous");r[c]=n;}var a=e.length,p=e.charAt(0),f=Math.log(a)/Math.log(256),R=Math.log(256)/Math.log(a);function g(s){if(s instanceof Uint8Array||(ArrayBuffer.isView(s)?s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength):Array.isArray(s)&&(s=Uint8Array.from(s))),!(s instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(s.length===0)return "";for(var u=0,N=0,h=0,m=s.length;h!==m&&s[h]===0;)h++,u++;for(var w=(m-h)*R+1>>>0,l=new Uint8Array(w);h!==m;){for(var y=s[h],b=0,d=w-1;(y!==0||b<N)&&d!==-1;d--,b++)y+=256*l[d]>>>0,l[d]=y%a>>>0,y=y/a>>>0;if(y!==0)throw new Error("Non-zero carry");N=b,h++;}for(var E=w-N;E!==w&&l[E]===0;)E++;for(var S=p.repeat(u);E<w;++E)S+=e.charAt(l[E]);return S}function O(s){if(typeof s!="string")throw new TypeError("Expected String");if(s.length===0)return new Uint8Array;for(var u=0,N=0,h=0;s[u]===p;)N++,u++;for(var m=(s.length-u)*f+1>>>0,w=new Uint8Array(m);s[u];){var l=r[s.charCodeAt(u)];if(l===255)return;for(var y=0,b=m-1;(l!==0||y<h)&&b!==-1;b--,y++)l+=a*w[b]>>>0,w[b]=l%256>>>0,l=l/256>>>0;if(l!==0)throw new Error("Non-zero carry");h=y,u++;}for(var d=m-h;d!==m&&w[d]===0;)d++;for(var E=new Uint8Array(N+(m-d)),S=N;d!==m;)E[S++]=w[d++];return E}function q(s){var u=O(s);if(u)return u;throw new Error("Non-base"+a+" character")}return {encode:g,decodeUnsafe:O,decode:q}}D.exports=Z;});var L=I((be,U)=>{i();var ee=H(),re="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";U.exports=ee(re);});i();i();var M=Q(L(),1);function Ne(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 t=M.default.decode(e).byteLength;if(t!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${t}`)}catch(r){throw new Error(`\`${e}\` is not a base-58 encoded address`,{cause:r})}}i();i();function v(e,r,t){if(Array.isArray(e))return e.map((n,o)=>v(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]=v(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 te(e,r){return v(e,[],r)}var F={},ne={getInflationReward:[[F,"commission"]]};function P(e,r){return e.filter(t=>t[0]===F&&typeof r=="number"||t[0]===r).map(t=>t.slice(1))}function _(e,r){if(Array.isArray(e))return e.map((t,n)=>{let o=P(r,n);return _(t,o)});if(typeof e=="object"&&e!==null){let t={};for(let[n,o]of Object.entries(e)){let c=P(r,n);t[n]=_(o,c);}return t}else return typeof e=="number"&&r.length===0?BigInt(e):e}function oe(e,r){let t=r?ne[r]:void 0;return _(e,t??[])}function $(e){return new Proxy({},{defineProperty(){return !1},deleteProperty(){return !1},get(...r){let[t,n]=r,o=n.toString();return function(...c){let a=e?.onIntegerOverflow,p=te(c,a?(f,R)=>a(o,f,R):void 0);return {methodName:o,params:p,responseProcessor:f=>oe(f,o)}}}})}i();i();var T=class extends Error{constructor(t,n,o){let c=(typeof n[0]=="number"?n[0]:parseInt(n[0],10))+1,a="",p=c%10,f=c%100;p==1&&f!=11?a=c+"st":p==2&&f!=12?a=c+"nd":p==3&&f!=13?a=c+"rd":a=c+"th";let R=n.length>1?n.slice(1).map(g=>typeof g=="number"?`[${g}]`:g).join("."):null;super(`The ${a} argument to the \`${t}\` RPC method${R?` at path \`${R}\``:""} 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 j={onIntegerOverflow(e,r,t){throw new T(e,r,t)}};i();var se=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"}},x=0;function ae(){let e=x;return x=(x+1)%Number.MAX_SAFE_INTEGER,e}function ie(e,r){return {id:ae(),jsonrpc:"2.0",method:e,params:r}}function ce(e,r){return {async send(t){let{methodName:n,params:o,responseProcessor:c}=r,a=ie(n,o),p=await e.transport({payload:a,signal:t?.abortSignal});if("error"in p)throw new se(p.error);return c?c(p.result):p.result}}}function pe(e){return new Proxy(e.api,{defineProperty(){return !1},deleteProperty(){return !1},get(r,t,n){return function(...o){let c=t.toString(),a=Reflect.get(r,c,n),p=a?a(...o):{methodName:c,params:o};return ce(e,p)}}})}function z(e){return pe(e)}var fe=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 de(e){let r={};for(let t in e)r[t.toLowerCase()]=e[t];return r}var ge=globalThis.fetch;function J({httpAgentNodeOnly:e,headers:r,url:t}){let n=void 0;let o=r&&de(r);return async function({payload:a,signal:p}){let f=JSON.stringify(a),R={agent:n,body:f,headers:{...o,accept:"application/json","content-length":f.length.toString(),"content-type":"application/json; charset=utf-8"},method:"POST",signal:p},g=await ge(t,R);if(!g.ok)throw new fe({message:g.statusText,statusCode:g.status});return await g.json()}}function Ke(e){return z({...e,api:$(j)})}i();function me(e){let r={};for(let t in e)r[t.toLowerCase()]=e[t];return r}function Ge(e){return J({...e,headers:{...e.headers?me(e.headers):void 0,"solana-client":"js/2.0.0-development"}})}
6
+
7
+ exports.assertIsBase58EncodedAddress = Ne;
8
+ exports.createDefaultRpcTransport = Ge;
9
+ exports.createSolanaRpc = Ke;
10
+
11
+ return exports;
12
+
13
+ })({});
@@ -0,0 +1,4 @@
1
+ export * from '@solana/keys';
2
+ export * from './rpc';
3
+ export * from './rpc-transport';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { createSolanaRpcApi } from '@solana/rpc-core';
2
+ export declare const DEFAULT_RPC_CONFIG: Partial<Parameters<typeof createSolanaRpcApi>[0]>;
3
+ //# sourceMappingURL=rpc-default-config.d.ts.map
@@ -0,0 +1,8 @@
1
+ export declare class SolanaJsonRpcIntegerOverflowError extends Error {
2
+ readonly methodName: string;
3
+ readonly keyPath: (number | string)[];
4
+ readonly value: bigint;
5
+ constructor(methodName: string, keyPath: (number | string)[], value: bigint);
6
+ get name(): string;
7
+ }
8
+ //# sourceMappingURL=rpc-integer-overflow-error.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { createHttpTransport } from '@solana/rpc-transport';
2
+ import { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';
3
+ export declare function createDefaultRpcTransport(config: Parameters<typeof createHttpTransport>[0]): IRpcTransport;
4
+ //# sourceMappingURL=rpc-transport.d.ts.map
@@ -0,0 +1,5 @@
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';
4
+ export declare function createSolanaRpc(config: Omit<Parameters<typeof createJsonRpc>[0], 'api'>): Rpc<SolanaRpcMethods>;
5
+ //# sourceMappingURL=rpc.d.ts.map
package/package.json CHANGED
@@ -1,131 +1,104 @@
1
1
  {
2
2
  "name": "@solana/web3.js",
3
- "version": "1.74.0",
3
+ "version": "2.0.0-experimental.20762e0",
4
4
  "description": "Solana Javascript API",
5
+ "exports": {
6
+ "browser": {
7
+ "import": "./dist/index.browser.js",
8
+ "require": "./dist/index.browser.cjs"
9
+ },
10
+ "node": {
11
+ "import": "./dist/index.node.js",
12
+ "require": "./dist/index.node.cjs"
13
+ },
14
+ "react-native": "./dist/index.native.js",
15
+ "types": "./dist/types/index.d.ts"
16
+ },
17
+ "browser": {
18
+ "./dist/index.node.cjs": "./dist/index.browser.cjs",
19
+ "./dist/index.node.js": "./dist/index.browser.js"
20
+ },
21
+ "jsdelivr": "./dist/index.production.min.js",
22
+ "umd": "./dist/index.production.min.js",
23
+ "unpkg": "./dist/index.production.min.js",
24
+ "main": "./dist/index.node.cjs",
25
+ "module": "./dist/index.node.js",
26
+ "react-native": "./dist/index.native.js",
27
+ "types": "./dist/types/index.d.ts",
28
+ "type": "module",
29
+ "files": [
30
+ "./dist/"
31
+ ],
32
+ "sideEffects": false,
5
33
  "keywords": [
6
- "api",
7
- "blockchain"
34
+ "blockchain",
35
+ "solana",
36
+ "web3"
8
37
  ],
9
- "license": "MIT",
10
38
  "author": "Solana Labs Maintainers <maintainers@solanalabs.com>",
11
- "homepage": "https://solana.com/",
39
+ "license": "MIT",
12
40
  "repository": {
13
41
  "type": "git",
14
- "url": "https://github.com/solana-labs/solana-web3.js.git"
42
+ "url": "https://github.com/solana-labs/solana-web3.js"
15
43
  },
16
44
  "bugs": {
17
- "url": "http://github.com/solana-labs/solana-web3.js.git/issues"
18
- },
19
- "publishConfig": {
20
- "access": "public"
21
- },
22
- "browser": {
23
- "./lib/index.cjs.js": "./lib/index.browser.cjs.js",
24
- "./lib/index.esm.js": "./lib/index.browser.esm.js"
45
+ "url": "http://github.com/solana-labs/solana-web3.js/issues"
25
46
  },
26
- "react-native": "lib/index.native.js",
27
- "main": "lib/index.cjs.js",
28
- "module": "lib/index.esm.js",
29
- "types": "lib/index.d.ts",
30
47
  "browserslist": [
31
- "defaults",
32
- "not IE 11",
48
+ "supports bigint and not dead",
33
49
  "maintained node versions"
34
50
  ],
35
- "files": [
36
- "/lib",
37
- "/src"
38
- ],
39
- "scripts": {
40
- "compile:docs": "typedoc --treatWarningsAsErrors",
41
- "compile:js": "cross-env NODE_ENV=production rollup -c",
42
- "compile:typedefs": "./scripts/typegen.sh",
43
- "build:fixtures": "set -ex; ./test/fixtures/noop-program/build.sh",
44
- "clean": "rimraf ./docs ./declarations ./lib",
45
- "dev": "cross-env NODE_ENV=development rollup -c --watch",
46
- "publish-packages": "semantic-release --repository-url git@github.com:solana-labs/solana-web3.js.git",
47
- "test:lint": "eslint src/ test/ --ext .js,.ts",
48
- "test:lint:fix": "eslint src/ test/ --fix --ext .js,.ts",
49
- "test:live": "TEST_LIVE=1 pnpm run test:unit:node",
50
- "test:live-with-test-validator": "start-server-and-test '$HOME/.local/share/solana/install/active_release/bin/solana-test-validator --reset --quiet' http://127.0.0.1:8899/health test:live",
51
- "test:prettier": "prettier --check '{,{src,test}/**/}*.{j,t}s'",
52
- "test:prettier:fix": "prettier --write '{,{src,test}/**/}*.{j,t}s'",
53
- "test:typecheck": "tsc --noEmit",
54
- "test:unit:node": "cross-env NODE_ENV=test TS_NODE_COMPILER_OPTIONS='{ \"module\": \"commonjs\", \"target\": \"es2019\" }' ts-mocha --require esm './test/**/*.test.ts'"
55
- },
56
51
  "dependencies": {
57
- "@babel/runtime": "^7.12.5",
58
- "@noble/ed25519": "^1.7.0",
59
- "@noble/hashes": "^1.1.2",
60
- "@noble/secp256k1": "^1.6.3",
61
- "@solana/buffer-layout": "^4.0.0",
62
- "agentkeepalive": "^4.2.1",
63
- "bigint-buffer": "^1.1.5",
64
- "bn.js": "^5.0.0",
65
- "borsh": "^0.7.0",
66
- "bs58": "^4.0.1",
67
- "buffer": "6.0.1",
68
- "fast-stable-stringify": "^1.0.0",
69
- "jayson": "^3.4.4",
70
- "node-fetch": "^2.6.7",
71
- "rpc-websockets": "^7.5.1",
72
- "superstruct": "^0.14.2"
52
+ "@solana/keys": "2.0.0-experimental.20762e0",
53
+ "@solana/rpc-core": "2.0.0-experimental.20762e0",
54
+ "@solana/rpc-transport": "2.0.0-experimental.20762e0"
73
55
  },
74
56
  "devDependencies": {
75
- "@babel/core": "^7.12.13",
76
- "@babel/plugin-proposal-class-properties": "^7.12.1",
77
- "@babel/plugin-transform-runtime": "^7.12.10",
78
- "@babel/preset-env": "^7.12.11",
79
- "@babel/preset-typescript": "^7.12.16",
80
- "@rollup/plugin-alias": "^4.0.3",
81
- "@rollup/plugin-babel": "^6.0.3",
82
- "@rollup/plugin-commonjs": "^24.0.1",
83
- "@rollup/plugin-json": "^6.0.0",
84
- "@rollup/plugin-multi-entry": "^6.0.0",
85
- "@rollup/plugin-node-resolve": "^15.0.1",
86
- "@rollup/plugin-replace": "^5.0.2",
87
- "@solana/spl-token": "^0.3.7",
88
- "@types/bn.js": "^5.1.0",
89
- "@types/bs58": "^4.0.1",
90
- "@types/chai": "^4.2.15",
91
- "@types/chai-as-promised": "^7.1.3",
92
- "@types/express-serve-static-core": "^4.17.21",
93
- "@types/mocha": "^10.0.0",
94
- "@types/mz": "^2.7.3",
95
- "@types/node": "^18.11.10",
96
- "@types/node-fetch": "2",
97
- "@types/sinon": "^10.0.0",
98
- "@types/sinon-chai": "^3.2.8",
99
- "@typescript-eslint/eslint-plugin": "^5.40.1",
100
- "@typescript-eslint/parser": "^5.40.1",
101
- "chai": "^4.3.0",
102
- "chai-as-promised": "^7.1.1",
103
- "cross-env": "7.0.3",
104
- "eslint": "^8.25.0",
105
- "eslint-config-prettier": "^8.5.0",
106
- "eslint-plugin-import": "^2.26.0",
107
- "eslint-plugin-mocha": "^10.1.0",
108
- "eslint-plugin-prettier": "^4.2.1",
109
- "esm": "^3.2.25",
110
- "mocha": "^10.1.0",
111
- "mockttp": "^3.6.2",
112
- "mz": "^2.7.0",
113
- "node-abort-controller": "^3.0.1",
114
- "prettier": "^2.3.0",
115
- "rimraf": "4.1.2",
116
- "rollup": "2.79.1",
117
- "rollup-plugin-dts": "^4.0.0",
118
- "rollup-plugin-node-polyfills": "^0.2.1",
119
- "rollup-plugin-terser": "^7.0.2",
120
- "semantic-release": "^19.0.3",
121
- "sinon": "^15.0.1",
122
- "sinon-chai": "^3.7.0",
123
- "start-server-and-test": "^1.12.0",
124
- "ts-mocha": "^10.0.0",
125
- "ts-node": "^10.0.0",
126
- "tsconfig": "workspace:*",
127
- "tslib": "^2.1.0",
128
- "typedoc": "^0.23",
129
- "typescript": "^4.9"
57
+ "@solana/eslint-config-solana": "^1.0.0",
58
+ "@swc/core": "^1.3.18",
59
+ "@swc/jest": "^0.2.23",
60
+ "@types/jest": "^29.5.0",
61
+ "@typescript-eslint/eslint-plugin": "^5.57.1",
62
+ "@typescript-eslint/parser": "^5.57.1",
63
+ "agadoo": "^3.0.0",
64
+ "eslint": "^8.37.0",
65
+ "eslint-plugin-jest": "^27.1.5",
66
+ "eslint-plugin-react-hooks": "^4.6.0",
67
+ "eslint-plugin-sort-keys-fix": "^1.1.2",
68
+ "jest": "^29.5.0",
69
+ "jest-environment-jsdom": "^29.5.0",
70
+ "jest-runner-eslint": "^2.0.0",
71
+ "jest-runner-prettier": "^1.0.0",
72
+ "postcss": "^8.4.12",
73
+ "prettier": "^2.7.1",
74
+ "ts-node": "^10.9.1",
75
+ "tsup": "6.7.0",
76
+ "typescript": "^5.0.3",
77
+ "version-from-git": "^1.1.1",
78
+ "build-scripts": "0.0.0",
79
+ "test-config": "0.0.0",
80
+ "tsconfig": "0.0.0"
81
+ },
82
+ "bundlewatch": {
83
+ "defaultCompression": "gzip",
84
+ "files": [
85
+ {
86
+ "path": "./dist/index*.js"
87
+ }
88
+ ]
89
+ },
90
+ "scripts": {
91
+ "compile:js": "tsup --config build-scripts/tsup.config.library.ts",
92
+ "compile:typedefs": "tsc -p ./tsconfig.declarations.json",
93
+ "dev": "jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch",
94
+ "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",
95
+ "test:lint": "jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent",
96
+ "test:prettier": "jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent",
97
+ "test:treeshakability:browser": "agadoo dist/index.browser.js",
98
+ "test:treeshakability:native": "agadoo dist/index.node.js",
99
+ "test:treeshakability:node": "agadoo dist/index.native.js",
100
+ "test:typecheck": "tsc --noEmit",
101
+ "test:unit:browser": "jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent",
102
+ "test:unit:node": "jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent"
130
103
  }
131
- }
104
+ }