@solana/web3.js 1.75.0 → 1.76.0

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/lib/index.cjs.js CHANGED
@@ -1,10 +1,7 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var buffer = require('buffer');
6
- var sha512 = require('@noble/hashes/sha512');
7
- var ed25519 = require('@noble/ed25519');
4
+ var ed25519 = require('@noble/curves/ed25519');
8
5
  var BN = require('bn.js');
9
6
  var bs58 = require('bs58');
10
7
  var sha256 = require('@noble/hashes/sha256');
@@ -23,13 +20,12 @@ var nodeFetch = require('node-fetch');
23
20
  var RpcWebSocketCommonClient = require('rpc-websockets/dist/lib/client');
24
21
  var WebsocketFactory = require('rpc-websockets/dist/lib/client/websocket');
25
22
  var sha3 = require('@noble/hashes/sha3');
26
- var hmac = require('@noble/hashes/hmac');
27
- var secp256k1 = require('@noble/secp256k1');
23
+ var secp256k1 = require('@noble/curves/secp256k1');
28
24
 
29
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
30
26
 
31
- function _interopNamespace(e) {
32
- if (e && e.__esModule) return e;
27
+ function _interopNamespaceCompat(e) {
28
+ if (e && typeof e === 'object' && 'default' in e) return e;
33
29
  var n = Object.create(null);
34
30
  if (e) {
35
31
  Object.keys(e).forEach(function (k) {
@@ -42,25 +38,23 @@ function _interopNamespace(e) {
42
38
  }
43
39
  });
44
40
  }
45
- n["default"] = e;
41
+ n.default = e;
46
42
  return Object.freeze(n);
47
43
  }
48
44
 
49
- var ed25519__namespace = /*#__PURE__*/_interopNamespace(ed25519);
50
- var BN__default = /*#__PURE__*/_interopDefaultLegacy(BN);
51
- var bs58__default = /*#__PURE__*/_interopDefaultLegacy(bs58);
52
- var BufferLayout__namespace = /*#__PURE__*/_interopNamespace(BufferLayout);
53
- var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
54
- var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
55
- var require$$0__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$0$2);
56
- var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
57
- var require$$0__default$3 = /*#__PURE__*/_interopDefaultLegacy(require$$0$3);
58
- var require$$0__default$4 = /*#__PURE__*/_interopDefaultLegacy(require$$0$4);
59
- var RpcClient__default = /*#__PURE__*/_interopDefaultLegacy(RpcClient);
60
- var nodeFetch__namespace = /*#__PURE__*/_interopNamespace(nodeFetch);
61
- var RpcWebSocketCommonClient__default = /*#__PURE__*/_interopDefaultLegacy(RpcWebSocketCommonClient);
62
- var WebsocketFactory__default = /*#__PURE__*/_interopDefaultLegacy(WebsocketFactory);
63
- var secp256k1__namespace = /*#__PURE__*/_interopNamespace(secp256k1);
45
+ var BN__default = /*#__PURE__*/_interopDefaultCompat(BN);
46
+ var bs58__default = /*#__PURE__*/_interopDefaultCompat(bs58);
47
+ var BufferLayout__namespace = /*#__PURE__*/_interopNamespaceCompat(BufferLayout);
48
+ var require$$0__default$1 = /*#__PURE__*/_interopDefaultCompat(require$$0$1);
49
+ var require$$0__default = /*#__PURE__*/_interopDefaultCompat(require$$0);
50
+ var require$$0__default$2 = /*#__PURE__*/_interopDefaultCompat(require$$0$2);
51
+ var require$$1__default = /*#__PURE__*/_interopDefaultCompat(require$$1);
52
+ var require$$0__default$3 = /*#__PURE__*/_interopDefaultCompat(require$$0$3);
53
+ var require$$0__default$4 = /*#__PURE__*/_interopDefaultCompat(require$$0$4);
54
+ var RpcClient__default = /*#__PURE__*/_interopDefaultCompat(RpcClient);
55
+ var nodeFetch__namespace = /*#__PURE__*/_interopNamespaceCompat(nodeFetch);
56
+ var RpcWebSocketCommonClient__default = /*#__PURE__*/_interopDefaultCompat(RpcWebSocketCommonClient);
57
+ var WebsocketFactory__default = /*#__PURE__*/_interopDefaultCompat(WebsocketFactory);
64
58
 
65
59
  /**
66
60
  * A 64 byte secret key, the first 32 bytes of which is the
@@ -68,10 +62,9 @@ var secp256k1__namespace = /*#__PURE__*/_interopNamespace(secp256k1);
68
62
  * Read more: https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/
69
63
  */
70
64
 
71
- ed25519__namespace.utils.sha512Sync = (...m) => sha512.sha512(ed25519__namespace.utils.concatBytes(...m));
72
- const generatePrivateKey = ed25519__namespace.utils.randomPrivateKey;
65
+ const generatePrivateKey = ed25519.ed25519.utils.randomPrivateKey;
73
66
  const generateKeypair = () => {
74
- const privateScalar = ed25519__namespace.utils.randomPrivateKey();
67
+ const privateScalar = ed25519.ed25519.utils.randomPrivateKey();
75
68
  const publicKey = getPublicKey(privateScalar);
76
69
  const secretKey = new Uint8Array(64);
77
70
  secretKey.set(privateScalar);
@@ -81,17 +74,17 @@ const generateKeypair = () => {
81
74
  secretKey
82
75
  };
83
76
  };
84
- const getPublicKey = ed25519__namespace.sync.getPublicKey;
77
+ const getPublicKey = ed25519.ed25519.getPublicKey;
85
78
  function isOnCurve(publicKey) {
86
79
  try {
87
- ed25519__namespace.Point.fromHex(publicKey, true /* strict */);
80
+ ed25519.ed25519.ExtendedPoint.fromHex(publicKey);
88
81
  return true;
89
82
  } catch {
90
83
  return false;
91
84
  }
92
85
  }
93
- const sign = (message, secretKey) => ed25519__namespace.sync.sign(message, secretKey.slice(0, 32));
94
- const verify = ed25519__namespace.sync.verify;
86
+ const sign = (message, secretKey) => ed25519.ed25519.sign(message, secretKey.slice(0, 32));
87
+ const verify = ed25519.ed25519.verify;
95
88
 
96
89
  const toBuffer = arr => {
97
90
  if (buffer.Buffer.isBuffer(arr)) {
@@ -177,13 +170,13 @@ class PublicKey extends Struct {
177
170
  } else {
178
171
  if (typeof value === 'string') {
179
172
  // assume base 58 encoding by default
180
- const decoded = bs58__default["default"].decode(value);
173
+ const decoded = bs58__default.default.decode(value);
181
174
  if (decoded.length != PUBLIC_KEY_LENGTH) {
182
175
  throw new Error(`Invalid public key input`);
183
176
  }
184
- this._bn = new BN__default["default"](decoded);
177
+ this._bn = new BN__default.default(decoded);
185
178
  } else {
186
- this._bn = new BN__default["default"](value);
179
+ this._bn = new BN__default.default(value);
187
180
  }
188
181
  if (this._bn.byteLength() > PUBLIC_KEY_LENGTH) {
189
182
  throw new Error(`Invalid public key input`);
@@ -216,7 +209,7 @@ class PublicKey extends Struct {
216
209
  * Return the base-58 representation of the public key
217
210
  */
218
211
  toBase58() {
219
- return bs58__default["default"].encode(this.toBytes());
212
+ return bs58__default.default.encode(this.toBytes());
220
213
  }
221
214
  toJSON() {
222
215
  return this.toBase58();
@@ -648,8 +641,8 @@ class CompiledKeys {
648
641
  getOrInsertDefault(ix.programId).isInvoked = true;
649
642
  for (const accountMeta of ix.keys) {
650
643
  const keyMeta = getOrInsertDefault(accountMeta.pubkey);
651
- keyMeta.isSigner || (keyMeta.isSigner = accountMeta.isSigner);
652
- keyMeta.isWritable || (keyMeta.isWritable = accountMeta.isWritable);
644
+ keyMeta.isSigner ||= accountMeta.isSigner;
645
+ keyMeta.isWritable ||= accountMeta.isWritable;
653
646
  }
654
647
  }
655
648
  return new CompiledKeys(payer, keyMetaMap);
@@ -748,7 +741,7 @@ class Message {
748
741
  return this.instructions.map(ix => ({
749
742
  programIdIndex: ix.programIdIndex,
750
743
  accountKeyIndexes: ix.accounts,
751
- data: bs58__default["default"].decode(ix.data)
744
+ data: bs58__default.default.decode(ix.data)
752
745
  }));
753
746
  }
754
747
  get addressTableLookups() {
@@ -764,7 +757,7 @@ class Message {
764
757
  const instructions = accountKeys.compileInstructions(args.instructions).map(ix => ({
765
758
  programIdIndex: ix.programIdIndex,
766
759
  accounts: ix.accountKeyIndexes,
767
- data: bs58__default["default"].encode(ix.data)
760
+ data: bs58__default.default.encode(ix.data)
768
761
  }));
769
762
  return new Message({
770
763
  header,
@@ -806,7 +799,7 @@ class Message {
806
799
  accounts,
807
800
  programIdIndex
808
801
  } = instruction;
809
- const data = Array.from(bs58__default["default"].decode(instruction.data));
802
+ const data = Array.from(bs58__default.default.decode(instruction.data));
810
803
  let keyIndicesCount = [];
811
804
  encodeLength(keyIndicesCount, accounts.length);
812
805
  let dataCount = [];
@@ -837,7 +830,7 @@ class Message {
837
830
  numReadonlyUnsignedAccounts: buffer.Buffer.from([this.header.numReadonlyUnsignedAccounts]),
838
831
  keyCount: buffer.Buffer.from(keyCount),
839
832
  keys: this.accountKeys.map(key => toBuffer(key.toBytes())),
840
- recentBlockhash: bs58__default["default"].decode(this.recentBlockhash)
833
+ recentBlockhash: bs58__default.default.decode(this.recentBlockhash)
841
834
  };
842
835
  let signData = buffer.Buffer.alloc(2048);
843
836
  const length = signDataLayout.encode(transaction, signData);
@@ -875,7 +868,7 @@ class Message {
875
868
  byteArray = byteArray.slice(accountCount);
876
869
  const dataLength = decodeLength(byteArray);
877
870
  const dataSlice = byteArray.slice(0, dataLength);
878
- const data = bs58__default["default"].encode(buffer.Buffer.from(dataSlice));
871
+ const data = bs58__default.default.encode(buffer.Buffer.from(dataSlice));
879
872
  byteArray = byteArray.slice(dataLength);
880
873
  instructions.push({
881
874
  programIdIndex,
@@ -889,7 +882,7 @@ class Message {
889
882
  numReadonlySignedAccounts,
890
883
  numReadonlyUnsignedAccounts
891
884
  },
892
- recentBlockhash: bs58__default["default"].encode(buffer.Buffer.from(recentBlockhash)),
885
+ recentBlockhash: bs58__default.default.encode(buffer.Buffer.from(recentBlockhash)),
893
886
  accountKeys,
894
887
  instructions
895
888
  };
@@ -1033,7 +1026,7 @@ class MessageV0 {
1033
1026
  header: this.header,
1034
1027
  staticAccountKeysLength: new Uint8Array(encodedStaticAccountKeysLength),
1035
1028
  staticAccountKeys: this.staticAccountKeys.map(key => key.toBytes()),
1036
- recentBlockhash: bs58__default["default"].decode(this.recentBlockhash),
1029
+ recentBlockhash: bs58__default.default.decode(this.recentBlockhash),
1037
1030
  instructionsLength: new Uint8Array(encodedInstructionsLength),
1038
1031
  serializedInstructions,
1039
1032
  addressTableLookupsLength: new Uint8Array(encodedAddressTableLookupsLength),
@@ -1096,7 +1089,7 @@ class MessageV0 {
1096
1089
  for (let i = 0; i < staticAccountKeysLength; i++) {
1097
1090
  staticAccountKeys.push(new PublicKey(byteArray.splice(0, PUBLIC_KEY_LENGTH)));
1098
1091
  }
1099
- const recentBlockhash = bs58__default["default"].encode(byteArray.splice(0, PUBLIC_KEY_LENGTH));
1092
+ const recentBlockhash = bs58__default.default.encode(byteArray.splice(0, PUBLIC_KEY_LENGTH));
1100
1093
  const instructionCount = decodeLength(byteArray);
1101
1094
  const compiledInstructions = [];
1102
1095
  for (let i = 0; i < instructionCount; i++) {
@@ -1502,7 +1495,7 @@ class Transaction {
1502
1495
  return {
1503
1496
  programIdIndex: accountKeys.indexOf(programId.toString()),
1504
1497
  accounts: instruction.keys.map(meta => accountKeys.indexOf(meta.pubkey.toString())),
1505
- data: bs58__default["default"].encode(data)
1498
+ data: bs58__default.default.encode(data)
1506
1499
  };
1507
1500
  });
1508
1501
  compiledInstructions.forEach(instruction => {
@@ -1795,7 +1788,7 @@ class Transaction {
1795
1788
  for (let i = 0; i < signatureCount; i++) {
1796
1789
  const signature = byteArray.slice(0, SIGNATURE_LENGTH_IN_BYTES);
1797
1790
  byteArray = byteArray.slice(SIGNATURE_LENGTH_IN_BYTES);
1798
- signatures.push(bs58__default["default"].encode(buffer.Buffer.from(signature)));
1791
+ signatures.push(bs58__default.default.encode(buffer.Buffer.from(signature)));
1799
1792
  }
1800
1793
  return Transaction.populate(Message.from(byteArray), signatures);
1801
1794
  }
@@ -1811,7 +1804,7 @@ class Transaction {
1811
1804
  }
1812
1805
  signatures.forEach((signature, index) => {
1813
1806
  const sigPubkeyPair = {
1814
- signature: signature == bs58__default["default"].encode(DEFAULT_SIGNATURE) ? null : bs58__default["default"].decode(signature),
1807
+ signature: signature == bs58__default.default.encode(DEFAULT_SIGNATURE) ? null : bs58__default.default.decode(signature),
1815
1808
  publicKey: message.accountKeys[index]
1816
1809
  };
1817
1810
  transaction.signatures.push(sigPubkeyPair);
@@ -1828,7 +1821,7 @@ class Transaction {
1828
1821
  transaction.instructions.push(new TransactionInstruction({
1829
1822
  keys,
1830
1823
  programId: message.accountKeys[instruction.programIdIndex],
1831
- data: bs58__default["default"].decode(instruction.data)
1824
+ data: bs58__default.default.decode(instruction.data)
1832
1825
  }));
1833
1826
  });
1834
1827
  transaction._message = message;
@@ -3226,7 +3219,7 @@ function plural(ms, msAbs, n, name) {
3226
3219
  * Module dependencies.
3227
3220
  */
3228
3221
 
3229
- var util = require$$0__default["default"];
3222
+ var util = require$$0__default.default;
3230
3223
  var ms$2 = ms$3;
3231
3224
 
3232
3225
  var humanizeMs = function (t) {
@@ -4032,8 +4025,8 @@ function requireNode () {
4032
4025
  if (hasRequiredNode) return nodeExports;
4033
4026
  hasRequiredNode = 1;
4034
4027
  (function (module, exports) {
4035
- const tty = require$$0__default$1["default"];
4036
- const util = require$$0__default["default"];
4028
+ const tty = require$$0__default$1.default;
4029
+ const util = require$$0__default.default;
4037
4030
 
4038
4031
  /**
4039
4032
  * This is the Node.js implementation of `debug()`.
@@ -4468,7 +4461,7 @@ function requireEventListenerCount () {
4468
4461
  * @private
4469
4462
  */
4470
4463
 
4471
- var EventEmitter = require$$0__default$2["default"].EventEmitter;
4464
+ var EventEmitter = require$$0__default$2.default.EventEmitter;
4472
4465
 
4473
4466
  /**
4474
4467
  * Module exports.
@@ -4548,7 +4541,7 @@ function requireEventListenerCount () {
4548
4541
 
4549
4542
  var callSiteToString = compatExports.callSiteToString;
4550
4543
  var eventListenerCount = compatExports.eventListenerCount;
4551
- var relative = require$$1__default["default"].relative;
4544
+ var relative = require$$1__default.default.relative;
4552
4545
 
4553
4546
  /**
4554
4547
  * Module exports.
@@ -5071,7 +5064,7 @@ var constants = {
5071
5064
  SOCKET_REQUEST_FINISHED_COUNT: Symbol('agentkeepalive#socketRequestFinishedCount'),
5072
5065
  };
5073
5066
 
5074
- const OriginalAgent = require$$0__default$3["default"].Agent;
5067
+ const OriginalAgent = require$$0__default$3.default.Agent;
5075
5068
  const ms = humanizeMs;
5076
5069
  const debug = srcExports('agentkeepalive');
5077
5070
  const deprecate = depd_1('agentkeepalive');
@@ -5468,7 +5461,7 @@ function inspect(obj) {
5468
5461
  return res;
5469
5462
  }
5470
5463
 
5471
- const OriginalHttpsAgent = require$$0__default$4["default"].Agent;
5464
+ const OriginalHttpsAgent = require$$0__default$4.default.Agent;
5472
5465
  const HttpAgent = agent;
5473
5466
  const {
5474
5467
  INIT_SOCKET,
@@ -5740,10 +5733,10 @@ async function fetchImpl (input, init) {
5740
5733
  return await nodeFetch__namespace.default(processedInput, init);
5741
5734
  }
5742
5735
 
5743
- class RpcWebSocketClient extends RpcWebSocketCommonClient__default["default"] {
5736
+ class RpcWebSocketClient extends RpcWebSocketCommonClient__default.default {
5744
5737
  constructor(address, options, generate_request_id) {
5745
5738
  const webSocketFactory = url => {
5746
- const rpc = WebsocketFactory__default["default"](url, {
5739
+ const rpc = WebsocketFactory__default.default(url, {
5747
5740
  autoconnect: true,
5748
5741
  max_reconnects: 5,
5749
5742
  reconnect: true,
@@ -5997,7 +5990,7 @@ function versionedMessageFromResponse(version, response) {
5997
5990
  compiledInstructions: response.instructions.map(ix => ({
5998
5991
  programIdIndex: ix.programIdIndex,
5999
5992
  accountKeyIndexes: ix.accounts,
6000
- data: bs58__default["default"].decode(ix.data)
5993
+ data: bs58__default.default.decode(ix.data)
6001
5994
  })),
6002
5995
  addressTableLookups: response.addressTableLookups
6003
5996
  });
@@ -6181,7 +6174,7 @@ function createRpcClient(url, httpHeaders, customFetch, fetchMiddleware, disable
6181
6174
  return await fetch(...modifiedFetchArgs);
6182
6175
  };
6183
6176
  }
6184
- const clientBrowser = new RpcClient__default["default"](async (request, callback) => {
6177
+ const clientBrowser = new RpcClient__default.default(async (request, callback) => {
6185
6178
  const options = {
6186
6179
  method: 'POST',
6187
6180
  body: request,
@@ -7500,7 +7493,7 @@ class Connection {
7500
7493
  }
7501
7494
  let decodedSignature;
7502
7495
  try {
7503
- decodedSignature = bs58__default["default"].decode(rawSignature);
7496
+ decodedSignature = bs58__default.default.decode(rawSignature);
7504
7497
  } catch (err) {
7505
7498
  throw new Error('signature must be base58 encoded: ' + rawSignature);
7506
7499
  }
@@ -9193,12 +9186,11 @@ class Connection {
9193
9186
  * @internal
9194
9187
  */
9195
9188
  _onSubscriptionStateChange(clientSubscriptionId, callback) {
9196
- var _this$_subscriptionSt;
9197
9189
  const hash = this._subscriptionHashByClientSubscriptionId[clientSubscriptionId];
9198
9190
  if (hash == null) {
9199
9191
  return () => {};
9200
9192
  }
9201
- const stateChangeCallbacks = (_this$_subscriptionSt = this._subscriptionStateChangeCallbacksByHash)[hash] || (_this$_subscriptionSt[hash] = new Set());
9193
+ const stateChangeCallbacks = this._subscriptionStateChangeCallbacksByHash[hash] ||= new Set();
9202
9194
  stateChangeCallbacks.add(callback);
9203
9195
  return () => {
9204
9196
  stateChangeCallbacks.delete(callback);
@@ -10426,19 +10418,12 @@ class Ed25519Program {
10426
10418
  }
10427
10419
  Ed25519Program.programId = new PublicKey('Ed25519SigVerify111111111111111111111111111');
10428
10420
 
10429
- // Supply a synchronous hashing algorithm to make this
10430
- // library interoperable with the synchronous APIs in web3.js.
10431
- secp256k1__namespace.utils.hmacSha256Sync = (key, ...msgs) => {
10432
- const h = hmac.hmac.create(sha256.sha256, key);
10433
- msgs.forEach(msg => h.update(msg));
10434
- return h.digest();
10421
+ const ecdsaSign = (msgHash, privKey) => {
10422
+ const signature = secp256k1.secp256k1.sign(msgHash, privKey);
10423
+ return [signature.toCompactRawBytes(), signature.recovery];
10435
10424
  };
10436
- const ecdsaSign = (msgHash, privKey) => secp256k1__namespace.signSync(msgHash, privKey, {
10437
- der: false,
10438
- recovered: true
10439
- });
10440
- secp256k1__namespace.utils.isValidPrivateKey;
10441
- const publicKeyCreate = secp256k1__namespace.getPublicKey;
10425
+ secp256k1.secp256k1.utils.isValidPrivateKey;
10426
+ const publicKeyCreate = secp256k1.secp256k1.getPublicKey;
10442
10427
 
10443
10428
  const PRIVATE_KEY_BYTES = 32;
10444
10429
  const ETHEREUM_ADDRESS_BYTES = 20;