Skip to content

Commit a513469

Browse files
committed
TRON using tre image and static keys
1 parent 1637f8c commit a513469

File tree

3 files changed

+52
-32
lines changed

3 files changed

+52
-32
lines changed

framework/.changeset/v0.4.4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
- Add TRON network support
1+
- Add Sui network support

framework/.changeset/v0.4.5.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Add TRON network support

framework/components/blockchain/tron.go

Lines changed: 50 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package blockchain
22

33
import (
44
"context"
5+
"encoding/json"
56
"fmt"
67
"github.com/docker/docker/api/types/container"
7-
"github.com/docker/go-connections/nat"
88
"github.com/smartcontractkit/chainlink-testing-framework/framework"
99
"os"
1010
"time"
@@ -13,30 +13,30 @@ import (
1313
"github.com/testcontainers/testcontainers-go/wait"
1414
)
1515

16+
type Accounts struct {
17+
HDPath string `json:"hdPath"`
18+
Mnemonic string `json:"mnemonic"`
19+
PrivateKeys []string `json:"privateKeys"`
20+
More []string `json:"more"`
21+
}
22+
1623
const (
1724
AccountsFile = `{
18-
"hdPath": "m/44'/195'/0'/0/",
19-
"mnemonic": "resemble birth wool happy sun burger fatal trumpet globe purity health ritual",
20-
"privateKeys": [
21-
"cf36898af3c63e13537063ae165ec8262fafac188f09200647b4b76b6f212b90",
22-
"7d5110f81cc6b2c65a532066e81fe813edf781e24f4e0fa42d22a3003dae7a54",
23-
"ae0de6fb5450622bfc96ec0c25a8a5cb85256d1f9d6cbbe5fd9de073d22f0060",
24-
"e972c3c213f8ba8cfe9a75e5d0b48310f4e35715f70986edd1eade904dd03437",
25-
"23d81a4d6c85661b58922e68db09cca0ebe77c787beb0e12c8d29da111568855"
26-
],
27-
"more": [
28-
{
29-
"hdPath": "m/44'/195'/0'/0/",
30-
"mnemonic": "resemble birth wool happy sun burger fatal trumpet globe purity health ritual",
31-
"privateKeys": [
32-
"cf36898af3c63e13537063ae165ec8262fafac188f09200647b4b76b6f212b90",
33-
"7d5110f81cc6b2c65a532066e81fe813edf781e24f4e0fa42d22a3003dae7a54",
34-
"ae0de6fb5450622bfc96ec0c25a8a5cb85256d1f9d6cbbe5fd9de073d22f0060",
35-
"e972c3c213f8ba8cfe9a75e5d0b48310f4e35715f70986edd1eade904dd03437",
36-
"23d81a4d6c85661b58922e68db09cca0ebe77c787beb0e12c8d29da111568855"
37-
]
38-
}
39-
]
25+
"hdPath": "m/44'/195'/0'/0/",
26+
"mnemonic": "resemble birth wool happy sun burger fatal trumpet globe purity health ritual",
27+
"privateKeys": [
28+
"932a39242805a1b1095638027f26af9664d1d5bf8ab3b7527ee75e7efb2946dd",
29+
"1c17c9c049d36cde7e5ea99df6c86e0474b04f0e258ab619a1e674f397a17152",
30+
"458130a239671674746582184711a6f8d633355df1a491b9f3b323576134c2e9",
31+
"2676fd1427968e07feaa9aff967d4ba7607c5497c499968c098d0517cd75cfbb",
32+
"d26b24a691ff2b03ee6ab65bf164def216f73574996b9ca6299c43a9a63767ac",
33+
"55df6adf3d081944dbe4688205d94f236fb4427ac44f3a286a96d47db0860667",
34+
"8a9a60ddd722a40753c2a38edd6b6fa38e806d681c9b08a520ba4912e62b6458",
35+
"75eb182fb623acf5e53d9885c4e8578f2530533a96c753481cc4277ecc6022de",
36+
"6c4b22b1d9d68ef7a8ecd151cd4ffdd4ecc2a7b3a3f8a9f9f9bbdbcef6671f10",
37+
"e578d66453cb41b6c923b9caa91c375a0545eeb171ccafc60b46fa834ce5c200"
38+
],
39+
"more": []
4040
}
4141
`
4242
DefaultTronPort = "9090"
@@ -45,7 +45,7 @@ const (
4545

4646
func defaultTron(in *Input) {
4747
if in.Image == "" {
48-
in.Image = "trontools/quickstart:2.1.1"
48+
in.Image = "tronbox/tre"
4949
}
5050
if in.Port == "" {
5151
in.Port = DefaultTronPort
@@ -63,7 +63,29 @@ func newTron(in *Input) (*Output, error) {
6363
if err != nil {
6464
return nil, err
6565
}
66-
_, err = accounts.WriteString(AccountsFile)
66+
accountsData, err := json.Marshal(Accounts{
67+
HDPath: "m/44'/195'/0'/0/",
68+
Mnemonic: "resemble birth wool happy sun burger fatal trumpet globe purity health ritual",
69+
PrivateKeys: []string{
70+
"932a39242805a1b1095638027f26af9664d1d5bf8ab3b7527ee75e7efb2946dd",
71+
"1c17c9c049d36cde7e5ea99df6c86e0474b04f0e258ab619a1e674f397a17152",
72+
"458130a239671674746582184711a6f8d633355df1a491b9f3b323576134c2e9",
73+
"2676fd1427968e07feaa9aff967d4ba7607c5497c499968c098d0517cd75cfbb",
74+
"d26b24a691ff2b03ee6ab65bf164def216f73574996b9ca6299c43a9a63767ac",
75+
"55df6adf3d081944dbe4688205d94f236fb4427ac44f3a286a96d47db0860667",
76+
"8a9a60ddd722a40753c2a38edd6b6fa38e806d681c9b08a520ba4912e62b6458",
77+
"75eb182fb623acf5e53d9885c4e8578f2530533a96c753481cc4277ecc6022de",
78+
"6c4b22b1d9d68ef7a8ecd151cd4ffdd4ecc2a7b3a3f8a9f9f9bbdbcef6671f10",
79+
"e578d66453cb41b6c923b9caa91c375a0545eeb171ccafc60b46fa834ce5c200",
80+
},
81+
// should not be empty, otherwise TRE will panic
82+
More: []string{},
83+
})
84+
if err != nil {
85+
return nil, err
86+
}
87+
88+
_, err = accounts.WriteString(string(accountsData))
6789
if err != nil {
6890
return nil, err
6991
}
@@ -72,19 +94,16 @@ func newTron(in *Input) (*Output, error) {
7294
AlwaysPullImage: in.PullImage,
7395
Image: in.Image,
7496
Name: containerName,
75-
ExposedPorts: []string{bindPort, "18190/tcp", "18191/tcp"},
97+
ExposedPorts: []string{bindPort},
7698
Networks: []string{framework.DefaultNetworkName},
7799
NetworkAliases: map[string][]string{
78100
framework.DefaultNetworkName: {containerName},
79101
},
80-
Env: map[string]string{
81-
"accounts": "10",
82-
},
83102
Labels: framework.DefaultTCLabels(),
84103
HostConfigModifier: func(h *container.HostConfig) {
85-
h.PortBindings = framework.MapTheSamePort(bindPort, "18190/tcp", "19191/tcp")
104+
h.PortBindings = framework.MapTheSamePort(bindPort)
86105
},
87-
WaitingFor: wait.ForListeningPort(nat.Port(in.Port)).WithStartupTimeout(60 * time.Second).WithPollInterval(200 * time.Millisecond),
106+
WaitingFor: wait.ForLog("Mnemonic").WithPollInterval(200 * time.Millisecond).WithStartupTimeout(1 * time.Minute),
88107
Files: []testcontainers.ContainerFile{
89108
{
90109
HostFilePath: accounts.Name(),

0 commit comments

Comments
 (0)