-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtruffle-config-ledger.js
73 lines (66 loc) · 1.93 KB
/
truffle-config-ledger.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
require('dotenv').config();
const LedgerWalletProvider = require('@ledgerhq/web3-subprovider');
const createLedgerSubprovider = LedgerWalletProvider.default;
const TransportNodeHid = require('@ledgerhq/hw-transport-node-hid-singleton').default;
const ProviderEngine = require('web3-provider-engine');
const RpcSubprovider = require('web3-provider-engine/subproviders/rpc');
const logger = require("@ledgerhq/logs");
logger.listen(log => console.log(log.type + ": " + log.message));
const kovanRpcUrl = `https://kovan.infura.io/v3/${process.env['INFURA_KEY']}`;
const mainnetRpcUrl = `https://mainnet.infura.io/v3/${process.env['INFURA_KEY']}`;
function ledgerSubprovider(networkId, rpcUrl) {
const getTransport = () => TransportNodeHid.create();
const ledger = createLedgerSubprovider(getTransport, {
networkId: networkId,
askConfirm: false,
});
const engine = new ProviderEngine();
engine.addProvider(ledger);
engine.addProvider(new RpcSubprovider({ rpcUrl }));
engine.start();
return engine;
}
//NOTE: Don't specify gasPrice parameter. Code will fail with "Web3ProviderEngine does not support synchronous requests" error
module.exports = {
mocha: {
timeout: 100000
},
compilers: {
solc: {
version: '0.8.4',
settings: {
optimizer: {
enabled: true,
runs: 9999
}
}
},
},
networks: {
api_keys: {
etherscan: process.env['ETHERSCAN_KEY']
},
plugins: [
'truffle-plugin-verify'
],
development: {
host: "localhost",
port: 7545,
network_id: "*"
},
kovan: {
provider: ledgerSubprovider(42, kovanRpcUrl),
network_id: 42,
from: process.env['DEPLOYER_ADDRESS'],
skipDryRun: true,
gas: 7900000,
},
live: {
provider: ledgerSubprovider(1, mainnetRpcUrl),
network_id: 1,
from: process.env['DEPLOYER_ADDRESS'],
skipDryRun: true,
gas: 7900000,
}
}
};