Skip to content

Commit

Permalink
feat(request-node): allow ws connection (#691)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandre-abrioux committed Dec 1, 2021
1 parent f224545 commit 2c879a6
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 2 deletions.
1 change: 1 addition & 0 deletions packages/request-node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
"keyv-file": "0.2.0",
"shelljs": "0.8.4",
"tslib": "2.3.1",
"web3-providers-ws": "1.6.1",
"yargs": "16.2.0"
},
"devDependencies": {
Expand Down
27 changes: 25 additions & 2 deletions packages/request-node/src/storageUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import * as config from './config';
import Keyv from 'keyv';
import KeyvFile from 'keyv-file';

import hdWalletProvider from '@truffle/hdwallet-provider';
import Web3WsProvider from 'web3-providers-ws';
import HDWalletProvider from '@truffle/hdwallet-provider';

/**
* Get the ethereum storage with values from config
Expand All @@ -28,7 +29,29 @@ export function getEthereumStorage(
};

// Initializes web3 connection object
const provider = new hdWalletProvider(mnemonic, config.getStorageWeb3ProviderUrl());
let provider: HDWalletProvider;
if (config.getStorageWeb3ProviderUrl().match('^wss?://.+')) {
provider = new HDWalletProvider({
mnemonic,
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
providerOrUrl: new Web3WsProvider(config.getStorageWeb3ProviderUrl(), {
clientConfig: {
keepalive: true,
keepaliveInterval: 10000, // ms
},
// Enable auto reconnection
reconnect: {
auto: true,
delay: 3000, // ms
maxAttempts: 5,
onTimeout: false,
},
}),
});
} else {
provider = new HDWalletProvider(mnemonic, config.getStorageWeb3ProviderUrl());
}

const web3Connection: StorageTypes.IWeb3Connection = {
networkId: config.getStorageNetworkId(),
Expand Down
38 changes: 38 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -25456,6 +25456,14 @@ web3-core-helpers@1.3.6:
web3-eth-iban "1.3.6"
web3-utils "1.3.6"

web3-core-helpers@1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.1.tgz#cb21047306871f4cf0fedfece7d47ea2aa96141b"
integrity sha512-om2PZvK1uoWcgMq6JfcSx3241LEIVF6qi2JuHz2SLKiKEW5UsBUaVx0mNCmcZaiuYQCyOsLS3r33q5AdM+v8ng==
dependencies:
web3-eth-iban "1.6.1"
web3-utils "1.6.1"

web3-core-method@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.1.tgz#9df1bafa2cd8be9d9937e01c6a47fc768d15d90a"
Expand Down Expand Up @@ -26033,6 +26041,14 @@ web3-eth-iban@1.3.6:
bn.js "^4.11.9"
web3-utils "1.3.6"

web3-eth-iban@1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.1.tgz#20bbed75723e3e9ff98e624979629d26329462b6"
integrity sha512-91H0jXZnWlOoXmc13O9NuQzcjThnWyAHyDn5Yf7u6mmKOhpJSGF/OHlkbpXt1Y4v2eJdEPaVFa+6i8aRyagE7Q==
dependencies:
bn.js "^4.11.9"
web3-utils "1.6.1"

web3-eth-personal@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz#244e9911b7b482dc17c02f23a061a627c6e47faf"
Expand Down Expand Up @@ -26392,6 +26408,15 @@ web3-providers-ws@1.3.6:
web3-core-helpers "1.3.6"
websocket "^1.0.32"

web3-providers-ws@1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.6.1.tgz#f7ee71f158971102b865e99ea7911f483e0507e9"
integrity sha512-FWMEFYb4rYFYRgSFBf/O1Ex4p/YKSlN+JydCtdlJwRimd89qm95CTfs4xGjCskwvXMjV2sarH+f1NPwJXicYpg==
dependencies:
eventemitter3 "4.0.4"
web3-core-helpers "1.6.1"
websocket "^1.0.32"

web3-shh@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.1.tgz#4460e3c1e07faf73ddec24ccd00da46f89152b0c"
Expand Down Expand Up @@ -26501,6 +26526,19 @@ web3-utils@1.3.6:
underscore "1.12.1"
utf8 "3.0.0"

web3-utils@1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.1.tgz#befcb23922b00603ab56d8c5b4158468dc494aca"
integrity sha512-RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w==
dependencies:
bn.js "^4.11.9"
ethereum-bloom-filters "^1.0.6"
ethereumjs-util "^7.1.0"
ethjs-unit "0.1.6"
number-to-bn "1.7.0"
randombytes "^2.1.0"
utf8 "3.0.0"

web3-utils@^1.0.0-beta.31:
version "1.4.0"
resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.4.0.tgz#e8cb381c81b242dc1d4ecb397200356d404410e6"
Expand Down

0 comments on commit 2c879a6

Please sign in to comment.