-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathalephium.config.ts
58 lines (49 loc) · 1.83 KB
/
alephium.config.ts
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
import { Configuration } from '@alephium/cli'
import { NodeProvider, web3, ZERO_ADDRESS } from '@alephium/web3'
import { configDotenv } from 'dotenv'
// Settings are usually for configuring
export type Settings = {
oracleAddress: string
}
const defaultSettings: Settings = {
oracleAddress: ZERO_ADDRESS
}
configDotenv()
const configuration: Configuration<Settings> = {
networks: {
devnet: {
nodeUrl: process.env.DEVNET_NODE_URL === undefined ? 'http://127.0.0.1:22973' : process.env.DEVNET_NODE_URL,
// here we could configure which address groups to deploy the contract
privateKeys: ['a642942e67258589cd2b1822c631506632db5a12aabcf413604e785300d762a5'],
settings: defaultSettings
},
testnet: {
nodeUrl: process.env.TESTNET_NODE_URL as string,
privateKeys: process.env.TESTNET_PRIVATE_KEYS === undefined ? [] : process.env.TESTNET_PRIVATE_KEYS.split(','),
settings: {
oracleAddress: 'vKdWgyqtQZzAV7eoMXxQCkyiNtceViGZheXC1iHbKFDZ'
}
},
mainnet: {
nodeUrl: process.env.MAINNET_NODE_URL as string,
privateKeys: process.env.MAINNET_PRIVATE_KEYS === undefined ? [] : process.env.MAINNET_PRIVATE_KEYS.split(','),
settings: {
oracleAddress: '285zrkZTPpUCpjKg9E3z238VmpUBQEAbESGsJT6yX7Rod'
}
}
}
}
let nodeProvider: NodeProvider = new NodeProvider("")
switch(process.env.NETWORK) {
case configuration.networks.devnet.networkId:
nodeProvider = new NodeProvider(configuration.networks.devnet.nodeUrl)
break
case configuration.networks.testnet.networkId:
nodeProvider = new NodeProvider(configuration.networks.testnet.nodeUrl)
break
case configuration.networks.mainnet.networkId:
nodeProvider = new NodeProvider(configuration.networks.mainnet.nodeUrl)
break
}
web3.setCurrentNodeProvider(nodeProvider)
export default configuration