arnaucube
arnaucube/hermez-nodePublic Self-hosted repository
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}