forked from NearDeFi/near-price-oracle-bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.js
83 lines (81 loc) · 2.86 KB
/
config.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
74
75
76
77
78
79
80
81
82
83
const CONTRACT_NAME = process.env.CONTRACT_NAME || "null_address.testnet";
module.exports = {
CONTRACT_ID: process.env.CONTRACT_ID || "priceoracle.testnet",
NEAR_ACCOUNT_ID: process.env.NEAR_ACCOUNT_ID || "zavodil.testnet",
// Will report the prices at least every 50 seconds
MAX_NO_REPORT_DURATION: process.env.MAX_NO_REPORT_DURATION
? parseFloat(process.env.MAX_NO_REPORT_DURATION)
: 50000,
// Relative difference. Default 0.005 or 0.5%
RELATIVE_DIFF: process.env.RELATIVE_DIFF
? parseFloat(process.env.RELATIVE_DIFF)
: 0.005,
// Each price is reported with 4 digits after floating point.
FRACTION_DIGITS: process.env.FRACTION_DIGITS
? parseInt(process.env.FRACTION_DIGITS)
: 4,
// Time out is milliseconds when the process is killed.
REPORT_TIMEOUT: process.env.REPORT_TIMEOUT
? parseInt(process.env.REPORT_TIMEOUT)
: 15000,
getConfig: (env) => {
switch (env) {
case "production":
case "mainnet":
return {
networkId: "mainnet",
nodeUrl: "https://rpc.mainnet.near.org",
contractName: CONTRACT_NAME || "null_address.near",
walletUrl: "https://wallet.near.org",
helperUrl: "https://helper.mainnet.near.org",
explorerUrl: "https://explorer.mainnet.near.org",
};
case "development":
case "testnet":
return {
networkId: "testnet",
nodeUrl: "https://rpc.testnet.near.org",
contractName: CONTRACT_NAME || "null_address.testnet",
walletUrl: "https://wallet.testnet.near.org",
helperUrl: "https://helper.testnet.near.org",
explorerUrl: "https://explorer.testnet.near.org",
};
case "betanet":
return {
networkId: "betanet",
nodeUrl: "https://rpc.betanet.near.org",
contractName: CONTRACT_NAME,
walletUrl: "https://wallet.betanet.near.org",
helperUrl: "https://helper.betanet.near.org",
explorerUrl: "https://explorer.betanet.near.org",
};
case "local":
return {
networkId: "local",
nodeUrl: "http://localhost:3030",
keyPath: `${process.env.HOME}/.near/validator_key.json`,
walletUrl: "http://localhost:4000/wallet",
contractName: CONTRACT_NAME,
};
case "test":
case "ci":
return {
networkId: "shared-test",
nodeUrl: "https://rpc.ci-testnet.near.org",
contractName: CONTRACT_NAME,
masterAccount: "test.near",
};
case "ci-betanet":
return {
networkId: "shared-test-staging",
nodeUrl: "https://rpc.ci-betanet.near.org",
contractName: CONTRACT_NAME,
masterAccount: "test.near",
};
default:
throw Error(
`Unconfigured environment '${env}'. Can be configured in src/config.js.`
);
}
},
};