hermez-node/eth/helpers.go
eth/helpers.goRaw
1package eth
2
3import (
4 "fmt"
5 "net/http"
6 "strconv"
7 "strings"
8)
9
10func addBlock(url string) {
11 method := "POST"
12
13 payload := strings.NewReader("{\n \"jsonrpc\":\"2.0\",\n \"method\":\"evm_mine\",\n \"params\":[],\n \"id\":1\n}")
14
15 client := &http.Client{}
16 req, err := http.NewRequest(method, url, payload)
17
18 if err != nil {
19 fmt.Println(err)
20 }
21 req.Header.Add("Content-Type", "application/json")
22
23 res, err := client.Do(req)
24 if err != nil {
25 fmt.Println(err)
26 }
27 defer func() {
28 if err := res.Body.Close(); err != nil {
29 fmt.Println("Error when closing:", err)
30 }
31 }()
32}
33
34func addBlocks(numBlocks int64, url string) {
35 for i := int64(0); i < numBlocks; i++ {
36 addBlock(url)
37 }
38}
39
40func addTime(seconds float64, url string) {
41 secondsStr := strconv.FormatFloat(seconds, 'E', -1, 32)
42
43 method := "POST"
44 payload := strings.NewReader("{\n \"jsonrpc\":\"2.0\",\n \"method\":\"evm_increaseTime\",\n \"params\":[" + secondsStr + "],\n \"id\":1\n}")
45
46 client := &http.Client{}
47 req, err := http.NewRequest(method, url, payload)
48
49 if err != nil {
50 fmt.Println(err)
51 }
52 req.Header.Add("Content-Type", "application/json")
53
54 res, err := client.Do(req)
55 if err != nil {
56 fmt.Println(err)
57 }
58 defer func() {
59 if err := res.Body.Close(); err != nil {
60 fmt.Println("Error when closing:", err)
61 }
62 }()
63}