-
Notifications
You must be signed in to change notification settings - Fork 9
/
setup.js
39 lines (31 loc) · 1.06 KB
/
setup.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
#!/usr/bin/env node
const DVF = require('./dvf')
const { PRIVATE_KEY } = require('./config')
;(async () => {
const dvf = await DVF()
const fee = 0.1
const balance = await dvf.web3.eth.getBalance(dvf.config.ethAddress)
const balanceEth = parseFloat(dvf.web3.utils.fromWei(balance, 'ether'))
const depositValue = parseFloat(balanceEth.toFixed(2)) - fee
if (depositValue <= 0) {
console.warn('No balance on address: ', dvf.config.ethAddress)
process.exit(1)
}
await register(dvf)
console.log(`Depositing ${depositValue}ETH`)
await dvf.deposit('ETH', depositValue, PRIVATE_KEY.substring(2))
console.log('Deposit OK, please wait a few minutes for the confirmations')
process.exit(1)
})().catch((error) => {
console.error(error)
process.exit(1)
})
async function register (dvf) {
const config = await dvf.getUserConfig()
if (!config.isRegistered) {
console.log('Registering...')
const keyPair = await dvf.stark.createKeyPair(PRIVATE_KEY.substring(2))
await dvf.register(keyPair.starkPublicKey)
}
console.log('Registration OK')
}