1 const vaporCLI = (client) => {
5 const cmdArrays = params.split(' ')
8 const blockHeightArray =['get-block', 'get-block-header', 'get-difficulty', 'get-hash-rate']
9 if(cmdArrays[0] === 'validate-address'){
11 'address': cmdArrays[1]
13 }else if(cmdArrays[0] === 'sign-message') {
15 'address': cmdArrays[1],
16 'message': cmdArrays[2],
17 'password': cmdArrays[3]
19 }else if(cmdArrays[0] === 'get-transaction') {
23 }else if(cmdArrays[0] === 'sign-transaction') {
25 'password': cmdArrays[1],
26 'transaction': JSON.parse(cmdArrays[2])
28 }else if(cmdArrays[0] === 'build-transaction') {
30 'base_transaction': JSON.parse(cmdArrays[1]),
31 'actions':JSON.parse(cmdArrays[2]),
32 'ttl': Number(cmdArrays[3]),
33 'time_range': Number(cmdArrays[4])
35 }else if(cmdArrays[0] === 'submit-transaction') {
37 'raw_transaction': JSON.parse(cmdArrays[1])
39 }else if(cmdArrays[0] === 'estimate-transaction-gas') {
41 'transaction_template': JSON.parse(cmdArrays[1])
43 }else if(cmdArrays[0] === 'get-unconfirmed-transaction') {
47 }else if(cmdArrays[0] === 'decode-raw-transaction') {
49 'raw_transaction': cmdArrays[1]
51 }else if(blockHeightArray.includes(cmdArrays[0])) {
53 if(!isNaN(cmdArrays[1])){
55 'block_height': Number(cmdArrays[1])
59 'block_hash': cmdArrays[1]
63 }else if(cmdArrays[0] === 'set-mining') {
65 'is_mining': cmdArrays[1] === 'true' || (cmdArrays[1] === 'false' ? false : cmdArrays[1])
67 }else if(cmdArrays[0] === 'verify-message') {
69 'address': cmdArrays[1],
70 'derived_xpub': cmdArrays[2],
71 'message': cmdArrays[3],
72 'signature': cmdArrays[4]
74 }else if(cmdArrays[0] === 'decode-program') {
76 'program': cmdArrays[1]
80 return client.request(`/${cmdArrays[0]}`, requestParams)
85 module.exports = vaporCLI