@solana/web3.js 1.73.1 → 1.73.2
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.browser.cjs.js +61 -6
- package/lib/index.browser.cjs.js.map +1 -1
- package/lib/index.browser.esm.js +60 -7
- package/lib/index.browser.esm.js.map +1 -1
- package/lib/index.cjs.js +97 -22
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.esm.js +96 -23
- package/lib/index.esm.js.map +1 -1
- package/lib/index.iife.js +2594 -2291
- package/lib/index.iife.js.map +1 -1
- package/lib/index.iife.min.js +5 -5
- package/lib/index.iife.min.js.map +1 -1
- package/lib/index.native.js +61 -6
- package/lib/index.native.js.map +1 -1
- package/package.json +5 -5
- package/src/__forks__/browser/rpc-websocket-factory.ts +1 -0
- package/src/__forks__/react-native/rpc-websocket-factory.ts +1 -0
- package/src/connection.ts +7 -2
- package/src/rpc-websocket-factory.ts +4 -0
- package/src/rpc-websocket.ts +79 -0
package/lib/index.cjs.js
CHANGED
|
@@ -19,9 +19,10 @@ var require$$1 = require('path');
|
|
|
19
19
|
var require$$0$4 = require('http');
|
|
20
20
|
var require$$0$5 = require('https');
|
|
21
21
|
var superstruct = require('superstruct');
|
|
22
|
-
var rpcWebsockets = require('rpc-websockets');
|
|
23
22
|
var RpcClient = require('jayson/lib/client/browser');
|
|
24
23
|
var nodeFetch = require('node-fetch');
|
|
24
|
+
var RpcWebSocketCommonClient = require('rpc-websockets/dist/lib/client');
|
|
25
|
+
var WebsocketFactory = require('rpc-websockets/dist/lib/client/websocket');
|
|
25
26
|
var sha3 = require('@noble/hashes/sha3');
|
|
26
27
|
var hmac = require('@noble/hashes/hmac');
|
|
27
28
|
var secp256k1 = require('@noble/secp256k1');
|
|
@@ -59,6 +60,8 @@ var require$$0__default$4 = /*#__PURE__*/_interopDefaultLegacy(require$$0$4);
|
|
|
59
60
|
var require$$0__default$5 = /*#__PURE__*/_interopDefaultLegacy(require$$0$5);
|
|
60
61
|
var RpcClient__default = /*#__PURE__*/_interopDefaultLegacy(RpcClient);
|
|
61
62
|
var nodeFetch__namespace = /*#__PURE__*/_interopNamespace(nodeFetch);
|
|
63
|
+
var RpcWebSocketCommonClient__default = /*#__PURE__*/_interopDefaultLegacy(RpcWebSocketCommonClient);
|
|
64
|
+
var WebsocketFactory__default = /*#__PURE__*/_interopDefaultLegacy(WebsocketFactory);
|
|
62
65
|
var secp256k1__namespace = /*#__PURE__*/_interopNamespace(secp256k1);
|
|
63
66
|
|
|
64
67
|
/**
|
|
@@ -3349,7 +3352,11 @@ function getDefaultExportFromCjs (x) {
|
|
|
3349
3352
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
3350
3353
|
}
|
|
3351
3354
|
|
|
3352
|
-
var
|
|
3355
|
+
var agentkeepaliveExports = {};
|
|
3356
|
+
var agentkeepalive = {
|
|
3357
|
+
get exports(){ return agentkeepaliveExports; },
|
|
3358
|
+
set exports(v){ agentkeepaliveExports = v; },
|
|
3359
|
+
};
|
|
3353
3360
|
|
|
3354
3361
|
/**
|
|
3355
3362
|
* Helpers.
|
|
@@ -3537,9 +3544,17 @@ var humanizeMs = function (t) {
|
|
|
3537
3544
|
return r;
|
|
3538
3545
|
};
|
|
3539
3546
|
|
|
3540
|
-
var
|
|
3547
|
+
var srcExports = {};
|
|
3548
|
+
var src = {
|
|
3549
|
+
get exports(){ return srcExports; },
|
|
3550
|
+
set exports(v){ srcExports = v; },
|
|
3551
|
+
};
|
|
3541
3552
|
|
|
3542
|
-
var
|
|
3553
|
+
var browserExports = {};
|
|
3554
|
+
var browser = {
|
|
3555
|
+
get exports(){ return browserExports; },
|
|
3556
|
+
set exports(v){ browserExports = v; },
|
|
3557
|
+
};
|
|
3543
3558
|
|
|
3544
3559
|
var common;
|
|
3545
3560
|
var hasRequiredCommon;
|
|
@@ -3828,7 +3843,7 @@ function requireCommon () {
|
|
|
3828
3843
|
var hasRequiredBrowser;
|
|
3829
3844
|
|
|
3830
3845
|
function requireBrowser () {
|
|
3831
|
-
if (hasRequiredBrowser) return
|
|
3846
|
+
if (hasRequiredBrowser) return browserExports;
|
|
3832
3847
|
hasRequiredBrowser = 1;
|
|
3833
3848
|
(function (module, exports) {
|
|
3834
3849
|
/**
|
|
@@ -4098,11 +4113,15 @@ function requireBrowser () {
|
|
|
4098
4113
|
return '[UnexpectedJSONParseError]: ' + error.message;
|
|
4099
4114
|
}
|
|
4100
4115
|
};
|
|
4101
|
-
} (browser,
|
|
4102
|
-
return
|
|
4116
|
+
} (browser, browserExports));
|
|
4117
|
+
return browserExports;
|
|
4103
4118
|
}
|
|
4104
4119
|
|
|
4105
|
-
var
|
|
4120
|
+
var nodeExports = {};
|
|
4121
|
+
var node = {
|
|
4122
|
+
get exports(){ return nodeExports; },
|
|
4123
|
+
set exports(v){ nodeExports = v; },
|
|
4124
|
+
};
|
|
4106
4125
|
|
|
4107
4126
|
var hasFlag;
|
|
4108
4127
|
var hasRequiredHasFlag;
|
|
@@ -4266,7 +4285,7 @@ function requireSupportsColor () {
|
|
|
4266
4285
|
var hasRequiredNode;
|
|
4267
4286
|
|
|
4268
4287
|
function requireNode () {
|
|
4269
|
-
if (hasRequiredNode) return
|
|
4288
|
+
if (hasRequiredNode) return nodeExports;
|
|
4270
4289
|
hasRequiredNode = 1;
|
|
4271
4290
|
(function (module, exports) {
|
|
4272
4291
|
const tty = require$$0__default$2["default"];
|
|
@@ -4528,8 +4547,8 @@ function requireNode () {
|
|
|
4528
4547
|
this.inspectOpts.colors = this.useColors;
|
|
4529
4548
|
return util.inspect(v, this.inspectOpts);
|
|
4530
4549
|
};
|
|
4531
|
-
} (node,
|
|
4532
|
-
return
|
|
4550
|
+
} (node, nodeExports));
|
|
4551
|
+
return nodeExports;
|
|
4533
4552
|
}
|
|
4534
4553
|
|
|
4535
4554
|
/**
|
|
@@ -4545,7 +4564,11 @@ function requireNode () {
|
|
|
4545
4564
|
}
|
|
4546
4565
|
} (src));
|
|
4547
4566
|
|
|
4548
|
-
var
|
|
4567
|
+
var compatExports = {};
|
|
4568
|
+
var compat = {
|
|
4569
|
+
get exports(){ return compatExports; },
|
|
4570
|
+
set exports(v){ compatExports = v; },
|
|
4571
|
+
};
|
|
4549
4572
|
|
|
4550
4573
|
/*!
|
|
4551
4574
|
* depd
|
|
@@ -4779,8 +4802,8 @@ function requireEventListenerCount () {
|
|
|
4779
4802
|
* Module dependencies.
|
|
4780
4803
|
*/
|
|
4781
4804
|
|
|
4782
|
-
var callSiteToString =
|
|
4783
|
-
var eventListenerCount =
|
|
4805
|
+
var callSiteToString = compatExports.callSiteToString;
|
|
4806
|
+
var eventListenerCount = compatExports.eventListenerCount;
|
|
4784
4807
|
var relative = require$$1__default["default"].relative;
|
|
4785
4808
|
|
|
4786
4809
|
/**
|
|
@@ -5306,7 +5329,7 @@ var constants = {
|
|
|
5306
5329
|
|
|
5307
5330
|
const OriginalAgent = require$$0__default$4["default"].Agent;
|
|
5308
5331
|
const ms = humanizeMs;
|
|
5309
|
-
const debug =
|
|
5332
|
+
const debug = srcExports('agentkeepalive');
|
|
5310
5333
|
const deprecate = depd_1('agentkeepalive');
|
|
5311
5334
|
const {
|
|
5312
5335
|
INIT_SOCKET: INIT_SOCKET$1,
|
|
@@ -5758,7 +5781,7 @@ var https_agent = HttpsAgent;
|
|
|
5758
5781
|
module.exports.constants = constants;
|
|
5759
5782
|
} (agentkeepalive));
|
|
5760
5783
|
|
|
5761
|
-
var HttpKeepAliveAgent = /*@__PURE__*/getDefaultExportFromCjs(
|
|
5784
|
+
var HttpKeepAliveAgent = /*@__PURE__*/getDefaultExportFromCjs(agentkeepaliveExports);
|
|
5762
5785
|
|
|
5763
5786
|
var objToString = Object.prototype.toString;
|
|
5764
5787
|
var objKeys = Object.keys || function(obj) {
|
|
@@ -5981,6 +6004,56 @@ async function fetchImpl (input, init) {
|
|
|
5981
6004
|
return await nodeFetch__namespace.default(processedInput, init);
|
|
5982
6005
|
}
|
|
5983
6006
|
|
|
6007
|
+
class RpcWebSocketClient extends RpcWebSocketCommonClient__default["default"] {
|
|
6008
|
+
constructor(address, options, generate_request_id) {
|
|
6009
|
+
const webSocketFactory = url => {
|
|
6010
|
+
const rpc = WebsocketFactory__default["default"](url, {
|
|
6011
|
+
autoconnect: true,
|
|
6012
|
+
max_reconnects: 5,
|
|
6013
|
+
reconnect: true,
|
|
6014
|
+
reconnect_interval: 1000,
|
|
6015
|
+
...options
|
|
6016
|
+
});
|
|
6017
|
+
|
|
6018
|
+
if ('socket' in rpc) {
|
|
6019
|
+
this.underlyingSocket = rpc.socket;
|
|
6020
|
+
} else {
|
|
6021
|
+
this.underlyingSocket = rpc;
|
|
6022
|
+
}
|
|
6023
|
+
|
|
6024
|
+
return rpc;
|
|
6025
|
+
};
|
|
6026
|
+
|
|
6027
|
+
super(webSocketFactory, address, options, generate_request_id);
|
|
6028
|
+
this.underlyingSocket = void 0;
|
|
6029
|
+
}
|
|
6030
|
+
|
|
6031
|
+
call(...args) {
|
|
6032
|
+
const readyState = this.underlyingSocket?.readyState;
|
|
6033
|
+
|
|
6034
|
+
if (readyState === 1
|
|
6035
|
+
/* WebSocket.OPEN */
|
|
6036
|
+
) {
|
|
6037
|
+
return super.call(...args);
|
|
6038
|
+
}
|
|
6039
|
+
|
|
6040
|
+
return Promise.reject(new Error('Tried to call a JSON-RPC method `' + args[0] + '` but the socket was not `CONNECTING` or `OPEN` (`readyState` was ' + readyState + ')'));
|
|
6041
|
+
}
|
|
6042
|
+
|
|
6043
|
+
notify(...args) {
|
|
6044
|
+
const readyState = this.underlyingSocket?.readyState;
|
|
6045
|
+
|
|
6046
|
+
if (readyState === 1
|
|
6047
|
+
/* WebSocket.OPEN */
|
|
6048
|
+
) {
|
|
6049
|
+
return super.notify(...args);
|
|
6050
|
+
}
|
|
6051
|
+
|
|
6052
|
+
return Promise.reject(new Error('Tried to send a JSON-RPC notification `' + args[0] + '` but the socket was not `CONNECTING` or `OPEN` (`readyState` was ' + readyState + ')'));
|
|
6053
|
+
}
|
|
6054
|
+
|
|
6055
|
+
}
|
|
6056
|
+
|
|
5984
6057
|
// TODO: These constants should be removed in favor of reading them out of a
|
|
5985
6058
|
// Syscall account
|
|
5986
6059
|
|
|
@@ -6360,7 +6433,7 @@ function createRpcClient(url, httpHeaders, customFetch, fetchMiddleware, disable
|
|
|
6360
6433
|
};
|
|
6361
6434
|
|
|
6362
6435
|
if (url.startsWith('https:')) {
|
|
6363
|
-
agent = new
|
|
6436
|
+
agent = new agentkeepaliveExports.HttpsAgent(agentOptions);
|
|
6364
6437
|
} else {
|
|
6365
6438
|
agent = new HttpKeepAliveAgent(agentOptions);
|
|
6366
6439
|
}
|
|
@@ -7310,7 +7383,7 @@ class Connection {
|
|
|
7310
7383
|
this._rpcClient = createRpcClient(endpoint, httpHeaders, fetch, fetchMiddleware, disableRetryOnRateLimit, httpAgent);
|
|
7311
7384
|
this._rpcRequest = createRpcRequest(this._rpcClient);
|
|
7312
7385
|
this._rpcBatchRequest = createRpcBatchRequest(this._rpcClient);
|
|
7313
|
-
this._rpcWebSocket = new
|
|
7386
|
+
this._rpcWebSocket = new RpcWebSocketClient(this._rpcWsEndpoint, {
|
|
7314
7387
|
autoconnect: false,
|
|
7315
7388
|
max_reconnects: Infinity
|
|
7316
7389
|
});
|
|
@@ -9758,7 +9831,11 @@ class Connection {
|
|
|
9758
9831
|
this._rpcWebSocketConnected = true;
|
|
9759
9832
|
this._rpcWebSocketHeartbeat = setInterval(() => {
|
|
9760
9833
|
// Ping server every 5s to prevent idle timeouts
|
|
9761
|
-
|
|
9834
|
+
(async () => {
|
|
9835
|
+
try {
|
|
9836
|
+
await this._rpcWebSocket.notify('ping'); // eslint-disable-next-line no-empty
|
|
9837
|
+
} catch {}
|
|
9838
|
+
})();
|
|
9762
9839
|
}, 5000);
|
|
9763
9840
|
|
|
9764
9841
|
this._updateSubscriptions();
|
|
@@ -10106,9 +10183,7 @@ class Connection {
|
|
|
10106
10183
|
*/
|
|
10107
10184
|
args) {
|
|
10108
10185
|
const clientSubscriptionId = this._nextClientSubscriptionId++;
|
|
10109
|
-
const hash = fastStableStringify$1([subscriptionConfig.method, args]
|
|
10110
|
-
/* isArrayProp */
|
|
10111
|
-
);
|
|
10186
|
+
const hash = fastStableStringify$1([subscriptionConfig.method, args]);
|
|
10112
10187
|
const existingSubscription = this._subscriptionsByHash[hash];
|
|
10113
10188
|
|
|
10114
10189
|
if (existingSubscription === undefined) {
|