chore: add fleet ENRs to the list of discv5 nodes (#5184)

* chore_: add fleet ENRs to the list of discv5 nodes
* fix_: handle scenario in which there are dnsDiscoveryURLs and enrs in the DiscV5Bootnode list
This commit is contained in:
richΛrd 2024-05-26 19:16:26 -04:00 committed by GitHub
parent cc505d3018
commit 94e5431ea3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 187 additions and 125 deletions

View File

@ -152,7 +152,7 @@ func SetFleet(fleet string, nodeConfig *params.NodeConfig) error {
nodeConfig.ClusterConfig = *clusterConfig
nodeConfig.ClusterConfig.Fleet = fleet
nodeConfig.ClusterConfig.WakuNodes = params.DefaultWakuNodes(fleet)
nodeConfig.ClusterConfig.DiscV5BootstrapNodes = params.DefaultWakuNodes(fleet)
nodeConfig.ClusterConfig.DiscV5BootstrapNodes = params.DefaultDiscV5Nodes(fleet)
if fleet == params.FleetShardsTest {
nodeConfig.ClusterConfig.ClusterID = shardsTestClusterID

View File

@ -19,6 +19,12 @@
"/dns4/boot-01.do-ams3.shards.staging.status.im/tcp/30303/p2p/16Uiu2HAmEqqio4UR1SWqAc7KY19t6qyDvtmyjreZpzUBJvb4u65R",
"/dns4/boot-01.gc-us-central1-a.shards.staging.status.im/tcp/30303/p2p/16Uiu2HAmGAA54bBTE78MYidSy3P7Q9yAWFNTAEReJYD69VRvtL5r",
"/dns4/boot-01.ac-cn-hongkong-c.shards.staging.status.im/tcp/30303/p2p/16Uiu2HAmNTpGnyZ8W1BK2sXEmgSCNWiyDKgRU3NBR2DXST2HzxRU"
],
"DiscV5BootstrapNodes": [
"enrtree://AI4W5N5IFEUIHF5LESUAOSMV6TKWF2MB6GU2YK7PU4TYUGUNOCEPW@boot.staging.shards.nodes.status.im",
"/dns4/boot-01.do-ams3.shards.staging.status.im/tcp/30303/p2p/16Uiu2HAmEqqio4UR1SWqAc7KY19t6qyDvtmyjreZpzUBJvb4u65R",
"/dns4/boot-01.gc-us-central1-a.shards.staging.status.im/tcp/30303/p2p/16Uiu2HAmGAA54bBTE78MYidSy3P7Q9yAWFNTAEReJYD69VRvtL5r",
"/dns4/boot-01.ac-cn-hongkong-c.shards.staging.status.im/tcp/30303/p2p/16Uiu2HAmNTpGnyZ8W1BK2sXEmgSCNWiyDKgRU3NBR2DXST2HzxRU"
]
},
"WakuV2Config": {

View File

@ -19,6 +19,12 @@
"/dns4/boot-01.do-ams3.shards.test.statusim.net/tcp/30303/p2p/16Uiu2HAmAR24Mbb6VuzoyUiGx42UenDkshENVDj4qnmmbabLvo31",
"/dns4/boot-01.gc-us-central1-a.shards.test.statusim.net/tcp/30303/p2p/16Uiu2HAm8mUZ18tBWPXDQsaF7PbCKYA35z7WB2xNZH2EVq1qS8LJ",
"/dns4/boot-01.ac-cn-hongkong-c.shards.test.statusim.net/tcp/30303/p2p/16Uiu2HAmGwcE8v7gmJNEWFtZtojYpPMTHy2jBLL6xRk33qgDxFWX"
],
"DiscV5BootstrapNodes": [
"enrtree://AMOJVZX4V6EXP7NTJPMAYJYST2QP6AJXYW76IU6VGJS7UVSNDYZG4@boot.test.shards.nodes.status.im",
"/dns4/boot-01.do-ams3.shards.test.statusim.net/tcp/30303/p2p/16Uiu2HAmAR24Mbb6VuzoyUiGx42UenDkshENVDj4qnmmbabLvo31",
"/dns4/boot-01.gc-us-central1-a.shards.test.statusim.net/tcp/30303/p2p/16Uiu2HAm8mUZ18tBWPXDQsaF7PbCKYA35z7WB2xNZH2EVq1qS8LJ",
"/dns4/boot-01.ac-cn-hongkong-c.shards.test.statusim.net/tcp/30303/p2p/16Uiu2HAmGwcE8v7gmJNEWFtZtojYpPMTHy2jBLL6xRk33qgDxFWX"
]
},
"WakuV2Config": {

View File

@ -1002,8 +1002,8 @@ func GetPasswordStrengthScore(paramsJSON string) string {
}
type FleetDescription struct {
DefaultFleet string `json:"defaultFleet"`
Fleets map[string][]string `json:"fleets"`
DefaultFleet string `json:"defaultFleet"`
Fleets map[string]map[string][]string `json:"fleets"`
}
func Fleets() string {

View File

@ -20,16 +20,63 @@ type Cluster struct {
RendezvousNodes []string `json:"rendezvousnodes"`
}
type FleetName = string
type NodeType = string
const (
WakuNodes NodeType = "WakuNodes"
DiscV5BootstrapNodes NodeType = "DiscV5BootstrapNodes"
)
// DefaultWakuNodes is a list of "supported" fleets. This list is populated to clients UI settings.
var supportedFleets = map[string][]string{
FleetShardsStaging: {"enrtree://AI4W5N5IFEUIHF5LESUAOSMV6TKWF2MB6GU2YK7PU4TYUGUNOCEPW@boot.staging.shards.nodes.status.im"},
FleetShardsTest: {"enrtree://AMOJVZX4V6EXP7NTJPMAYJYST2QP6AJXYW76IU6VGJS7UVSNDYZG4@boot.test.shards.nodes.status.im"},
FleetWakuSandbox: {"enrtree://AIRVQ5DDA4FFWLRBCHJWUWOO6X6S4ZTZ5B667LQ6AJU6PEYDLRD5O@sandbox.waku.nodes.status.im"},
FleetWakuTest: {"enrtree://AOGYWMBYOUIMOENHXCHILPKY3ZRFEULMFI4DOM442QSZ73TT2A7VI@test.waku.nodes.status.im"},
var supportedFleets = map[FleetName]map[NodeType][]string{
FleetShardsStaging: {
WakuNodes: {
"enrtree://AI4W5N5IFEUIHF5LESUAOSMV6TKWF2MB6GU2YK7PU4TYUGUNOCEPW@boot.staging.shards.nodes.status.im",
},
DiscV5BootstrapNodes: {
"enrtree://AI4W5N5IFEUIHF5LESUAOSMV6TKWF2MB6GU2YK7PU4TYUGUNOCEPW@boot.staging.shards.nodes.status.im",
"enr:-QEQuEDsh6FgAb_36cReaX7W4gWx_7_GNpsUki7bXMoMrrrWij5pDEyV3guR-urDW_6GJTAzpQiJV61F-CfNn_NxPbY-AYJpZIJ2NIJpcISPxvrpim11bHRpYWRkcnO4YAAtNihib290LTAxLmRvLWFtczMuc2hhcmRzLnN0YWdpbmcuc3RhdHVzLmltBnZfAC82KGJvb3QtMDEuZG8tYW1zMy5zaGFyZHMuc3RhZ2luZy5zdGF0dXMuaW0GAbveA4Jyc40AEAUAAQAgAEAAgAEAiXNlY3AyNTZrMaEDIH8BcuEzgnmwPQTu7BPYyg4u4om7K9qekKA2gT_H2wSDdGNwgnZfg3VkcIIjKIV3YWt1Mg0",
"enr:-QEiuECWCuk1CoefbPYUV_cff27t-471k_QhJ_MvgOUQmRE4vgI6h9fD4LgXy7TZNSFXeBBP9haWJB7lx8Wujx-LPmhrAYJpZIJ2NIJpcIRoxQVgim11bHRpYWRkcnO4cgA2NjFib290LTAxLmdjLXVzLWNlbnRyYWwxLWEuc2hhcmRzLnN0YWdpbmcuc3RhdHVzLmltBnZfADg2MWJvb3QtMDEuZ2MtdXMtY2VudHJhbDEtYS5zaGFyZHMuc3RhZ2luZy5zdGF0dXMuaW0GAbveA4Jyc40AEAUAAQAgAEAAgAEAiXNlY3AyNTZrMaEDNAvlGjekD1YV4WpmjwArGAH2g9kHFJnMRfgUhcIkoA2DdGNwgnZfg3VkcIIjKIV3YWt1Mg0",
"enr:-QEiuEAcHWW7aNBtJhigTCAnKu9-H1b98SWpBJkGm3PAxth5QjJA0kdiabOfou4HgCD6RuyZEnFE5L8ymahouw3kWRiWAYJpZIJ2NIJpcIQvTKi6im11bHRpYWRkcnO4cgA2NjFib290LTAxLmFjLWNuLWhvbmdrb25nLWMuc2hhcmRzLnN0YWdpbmcuc3RhdHVzLmltBnZfADg2MWJvb3QtMDEuYWMtY24taG9uZ2tvbmctYy5zaGFyZHMuc3RhZ2luZy5zdGF0dXMuaW0GAbveA4Jyc40AEAUAAQAgAEAAgAEAiXNlY3AyNTZrMaEDkbgV7oqPNmFtX5FzSPi9WH8kkmrPB1R3n9xRXge91M-DdGNwgnZfg3VkcIIjKIV3YWt1Mg0",
},
},
FleetShardsTest: {
WakuNodes: {
"enrtree://AMOJVZX4V6EXP7NTJPMAYJYST2QP6AJXYW76IU6VGJS7UVSNDYZG4@boot.test.shards.nodes.status.im",
},
DiscV5BootstrapNodes: {
"enrtree://AMOJVZX4V6EXP7NTJPMAYJYST2QP6AJXYW76IU6VGJS7UVSNDYZG4@boot.test.shards.nodes.status.im",
"enr:-QEKuECA0zhRJej2eaOoOPddNcYr7-5NdRwuoLCe2EE4wfEYkAZhFotg6Kkr8K15pMAGyUyt0smHkZCjLeld0BUzogNtAYJpZIJ2NIJpcISnYxMvim11bHRpYWRkcnO4WgAqNiVib290LTAxLmRvLWFtczMuc2hhcmRzLnRlc3Quc3RhdHVzLmltBnZfACw2JWJvb3QtMDEuZG8tYW1zMy5zaGFyZHMudGVzdC5zdGF0dXMuaW0GAbveA4Jyc40AEAUAAQAgAEAAgAEAiXNlY3AyNTZrMaEC3rRtFQSgc24uWewzXaxTY8hDAHB8sgnxr9k8Rjb5GeSDdGNwgnZfg3VkcIIjKIV3YWt1Mg0",
"enr:-QEcuEAgXDqrYd_TrpUWtn3zmxZ9XPm7O3GS6lV7aMJJOTsbOAAeQwSd_eoHcCXqVzTUtwTyB4855qtbd8DARnExyqHPAYJpZIJ2NIJpcIQihw1Xim11bHRpYWRkcnO4bAAzNi5ib290LTAxLmdjLXVzLWNlbnRyYWwxLWEuc2hhcmRzLnRlc3Quc3RhdHVzLmltBnZfADU2LmJvb3QtMDEuZ2MtdXMtY2VudHJhbDEtYS5zaGFyZHMudGVzdC5zdGF0dXMuaW0GAbveA4Jyc40AEAUAAQAgAEAAgAEAiXNlY3AyNTZrMaECxjqgDQ0WyRSOilYU32DA5k_XNlDis3m1VdXkK9xM6kODdGNwgnZfg3VkcIIjKIV3YWt1Mg0",
"enr:-QEcuEAX6Qk-vVAoJLxR4A_4UVogGhvQrqKW4DFKlf8MA1PmCjgowL-LBtSC9BLjXbb8gf42FdDHGtSjEvvWKD10erxqAYJpZIJ2NIJpcIQI2hdMim11bHRpYWRkcnO4bAAzNi5ib290LTAxLmFjLWNuLWhvbmdrb25nLWMuc2hhcmRzLnRlc3Quc3RhdHVzLmltBnZfADU2LmJvb3QtMDEuYWMtY24taG9uZ2tvbmctYy5zaGFyZHMudGVzdC5zdGF0dXMuaW0GAbveA4Jyc40AEAUAAQAgAEAAgAEAiXNlY3AyNTZrMaEDP7CbRk-YKJwOFFM4Z9ney0GPc7WPJaCwGkpNRyla7mCDdGNwgnZfg3VkcIIjKIV3YWt1Mg0",
},
},
FleetWakuSandbox: {
WakuNodes: {
"enrtree://AIRVQ5DDA4FFWLRBCHJWUWOO6X6S4ZTZ5B667LQ6AJU6PEYDLRD5O@sandbox.waku.nodes.status.im",
},
DiscV5BootstrapNodes: {
"enrtree://AIRVQ5DDA4FFWLRBCHJWUWOO6X6S4ZTZ5B667LQ6AJU6PEYDLRD5O@sandbox.waku.nodes.status.im",
},
},
FleetWakuTest: {
WakuNodes: {
"enrtree://AOGYWMBYOUIMOENHXCHILPKY3ZRFEULMFI4DOM442QSZ73TT2A7VI@test.waku.nodes.status.im",
},
DiscV5BootstrapNodes: {
"enrtree://AOGYWMBYOUIMOENHXCHILPKY3ZRFEULMFI4DOM442QSZ73TT2A7VI@test.waku.nodes.status.im",
},
},
}
func DefaultWakuNodes(fleet string) []string {
return supportedFleets[fleet]
return supportedFleets[fleet][WakuNodes]
}
func DefaultDiscV5Nodes(fleet string) []string {
return supportedFleets[fleet][DiscV5BootstrapNodes]
}
func IsFleetSupported(fleet string) bool {
@ -37,6 +84,6 @@ func IsFleetSupported(fleet string) bool {
return ok
}
func GetSupportedFleets() map[string][]string {
func GetSupportedFleets() map[FleetName]map[NodeType][]string {
return supportedFleets
}

View File

@ -5,9 +5,8 @@
// ../config/cli/anon-metric-node-client.json (857B)
// ../config/cli/anon-metric-node-server.json (696B)
// ../config/cli/fleet-eth.prod.json (3.619kB)
// ../config/cli/fleet-eth.staging.json (2.139kB)
// ../config/cli/fleet-shards.staging.json (1.307kB)
// ../config/cli/fleet-shards.test.json (1.301kB)
// ../config/cli/fleet-shards.staging.json (1.842kB)
// ../config/cli/fleet-shards.test.json (1.833kB)
// ../config/cli/fleet-status.prod.json (1.528kB)
// ../config/cli/fleet-status.test.json (1.138kB)
// ../config/cli/fleet-waku.sandbox.json (1.133kB)
@ -31,6 +30,7 @@ import (
"crypto/sha256"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
@ -40,7 +40,7 @@ import (
func bindataRead(data []byte, name string) ([]byte, error) {
gz, err := gzip.NewReader(bytes.NewBuffer(data))
if err != nil {
return nil, fmt.Errorf("read %q: %w", name, err)
return nil, fmt.Errorf("read %q: %v", name, err)
}
var buf bytes.Buffer
@ -48,7 +48,7 @@ func bindataRead(data []byte, name string) ([]byte, error) {
clErr := gz.Close()
if err != nil {
return nil, fmt.Errorf("read %q: %w", name, err)
return nil, fmt.Errorf("read %q: %v", name, err)
}
if clErr != nil {
return nil, err
@ -104,7 +104,7 @@ func emojisTxt() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "emojis.txt", size: 28134, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "emojis.txt", size: 28134, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x28, 0xc, 0x22, 0x34, 0xa1, 0xeb, 0x8, 0x8d, 0xef, 0x38, 0x1b, 0xd8, 0xc2, 0x1a, 0x6d, 0xa2, 0x62, 0xad, 0x43, 0xfc, 0x1c, 0x38, 0xda, 0x8c, 0x3f, 0x34, 0xa, 0x8c, 0x6f, 0x5d, 0xd8}}
return a, nil
}
@ -124,7 +124,7 @@ func ConfigReadmeMd() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0x44, 0x2b, 0x13, 0x14, 0x34, 0xa, 0x66, 0x62, 0x1b, 0xc6, 0x4a, 0x2c, 0x7d, 0x4d, 0x89, 0xfb, 0xc9, 0x69, 0xe4, 0x18, 0x5f, 0x3, 0x98, 0x6d, 0x3c, 0x9e, 0xa8, 0xcd, 0x53, 0x5d, 0x75}}
return a, nil
}
@ -144,7 +144,7 @@ func ConfigCliAnonMetricNodeClientJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0xdf, 0xcd, 0xc8, 0x92, 0x1d, 0x63, 0x5e, 0xe1, 0xf9, 0x7f, 0xed, 0xf2, 0x68, 0x6b, 0x20, 0xff, 0x1d, 0x3b, 0xc9, 0x7b, 0xb9, 0x6a, 0xba, 0xd3, 0xbd, 0xf7, 0x48, 0x7b, 0x5a, 0x52, 0x79}}
return a, nil
}
@ -164,7 +164,7 @@ func ConfigCliAnonMetricNodeServerJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0x2f, 0x97, 0xab, 0x77, 0x61, 0x93, 0x9d, 0x1f, 0x33, 0x18, 0x72, 0xad, 0xce, 0xa3, 0x35, 0xa9, 0x44, 0xbf, 0x29, 0xa8, 0xea, 0x21, 0xb7, 0x22, 0x7f, 0x7d, 0x3a, 0x6b, 0x55, 0x3c, 0x66}}
return a, nil
}
@ -184,32 +184,12 @@ func ConfigCliFleetEthProdJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 3619, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 3619, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x92, 0x4f, 0x86, 0x8b, 0x6e, 0x2, 0x27, 0xa3, 0x37, 0x27, 0x74, 0x51, 0xf0, 0x97, 0x5b, 0x64, 0x8e, 0xbd, 0x29, 0xba, 0x75, 0x2d, 0x75, 0x78, 0x46, 0xb9, 0x56, 0x6, 0xb1, 0xf9, 0x85, 0xdd}}
return a, nil
}
var _ConfigCliFleetEthStagingJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x94\x4d\x8b\x26\xc7\x0d\xc7\xef\xfb\x29\x1e\xe6\x1c\x1e\x4b\x55\x2a\xbd\xec\x69\x89\x93\xdc\x62\x42\x9c\x5b\xc8\x41\xaf\xf6\xc0\xb2\x03\x33\xb3\x86\x24\xf8\xbb\x87\xb6\x17\x6c\x93\xf1\xad\x51\x77\x97\x7e\xa8\x7e\x7f\xfd\xf7\xdd\xed\xf6\xf0\xf7\xfe\x54\xfd\x9f\x1f\x9e\x3e\xbf\x3c\xbc\xbf\x8d\x7f\x7c\xe9\x3f\x5c\xe5\x6f\x9e\xfe\xf4\xf8\x92\x4f\x3f\xf4\xf3\xbf\x7f\x53\xff\xfa\xe3\xe7\x97\xd7\x7e\xfe\xfa\xe9\xd3\x3c\x7e\xf7\xf0\xfe\x76\x9d\x71\xbb\x3d\xfc\xf9\x93\xc7\xc7\xae\x87\xf7\xb7\xd7\xe7\xcf\x3f\x7d\x79\xbb\x3d\xfc\xe5\x63\xf7\xeb\xc3\xfb\xdb\x43\xbf\x7e\x7f\x7f\x79\xf5\xef\x1e\x3f\x7d\xf7\xf0\xe5\xdd\x1f\x9f\x9e\x5e\xbf\x79\xaa\xbe\xba\xfe\xf3\xa7\xd2\xed\xf6\xd0\x9f\x9e\xaa\xdf\x7f\xf5\xd5\x88\x4d\x6c\x43\x1b\x59\xe9\x87\xc1\x0b\x68\x53\x65\x6e\x15\x8f\x69\xc2\x06\x66\x5e\x80\x1d\xe5\xe5\xda\xd5\x40\xbc\xe8\x90\xe3\xae\x0e\x38\x59\x8e\x67\x96\x4a\xad\xa4\x28\x3d\xe5\x8a\x03\x1d\xeb\x14\x38\x29\x47\x44\x6a\x0d\x2d\x09\x13\xf4\x3c\x78\xf6\x8e\x02\x98\xfe\x80\x42\x77\xdc\x7a\x47\x90\xfb\xda\xf6\x9e\x68\x7f\x01\xff\x15\x25\x82\x8b\x26\x8a\x2d\x73\x01\xb4\x1e\x72\x5f\x8b\xac\x64\xc3\x1a\x61\x6f\x75\xe0\x21\x88\x55\xa9\x1a\x12\x1b\x3b\x66\xc8\x79\xed\x89\x20\x8a\xeb\x51\x3c\xc3\x97\x71\x62\x76\x6d\x91\x53\x86\x13\x8d\x4a\xbc\x13\x0f\x98\x38\xfb\xe6\xa9\x58\xa9\x40\x33\x7b\xf2\xc4\x3e\x1f\xf6\xb9\xaf\xad\x77\xbb\x18\xe9\x6d\x46\xde\x10\xb0\x69\xa5\x53\xdb\x39\x6b\x0e\x08\x52\x70\x6a\x2f\x2d\xb6\x73\x22\x61\x0a\xa9\xc5\x0e\x8c\xed\xc8\x1d\x2b\x34\x53\x13\x67\x07\x17\xc2\xae\x61\x9e\x83\xd7\x64\x45\x76\x9c\x0a\x18\xdc\xc0\x8c\x13\x27\x25\x74\x7c\x61\x92\xaa\x41\x32\xa5\x58\x10\xfa\x61\x27\x83\x0f\x24\x77\xc3\xfb\x5a\x76\xa7\x9f\x11\x7f\x22\xfc\xd7\x17\x0b\xfe\xf1\x7c\xd9\x54\x7f\xf5\xc7\x8f\xdf\xf6\xf3\x0f\xfd\xfc\xa6\x0e\x7c\x79\x10\xee\x32\x28\x6b\x15\x22\xba\xa6\x25\x6b\x6e\xf3\x8d\xb4\xa1\xad\x0e\x0b\xdb\x19\x46\xd0\xd9\x98\x19\x9c\xa5\x03\x5e\x33\x64\x86\x2d\x53\xe9\x3a\x2e\x02\x2d\x27\x52\xfd\x5c\xe7\x48\x2d\x62\x83\x8c\x54\x68\x00\x45\x39\x43\x90\x78\xa4\x78\x58\x54\x8b\xf4\xc3\x02\xbe\xa3\xda\x7d\x11\xdc\x91\xdf\x9e\x74\xd3\x24\x42\xe2\xf0\x49\xf5\x2e\xdd\x9e\x8b\x23\x31\x26\x16\x3a\x9d\x4c\x74\x3d\x07\xfc\x28\x88\xa4\xd6\xaa\x5e\x0e\x0d\x59\xa8\x4d\x30\x45\x30\xd2\x3c\x52\xb0\x2a\x39\x0b\xd8\x74\x05\x20\x65\xab\x16\x37\xb1\xca\x3a\x33\xbd\x12\xb7\xb6\x1d\xbd\xf8\x00\x60\xb9\xcc\xcf\x36\xd8\x1d\x6d\xdf\x09\xdf\x66\x0c\x21\x3d\x86\xc2\x69\x72\xb0\x36\x92\x77\xcf\xe4\xe2\x4e\x1b\x65\x76\xc2\x25\x67\xb5\x54\x75\x1a\x06\x1a\xa0\x3a\x6a\x4b\xa6\x6b\xf1\x96\xbc\xba\x77\x65\x98\xac\xd1\x0e\xa6\x52\xe4\x89\x3a\x41\xad\x96\xd2\x9a\x32\x25\x35\xea\xb8\x97\x8d\xd3\xae\x50\x08\x88\xe9\xcb\x86\xb3\xee\x06\x77\x3c\xfc\xff\x36\xfc\xed\xf3\xcb\xf7\xdf\x3c\xbd\x3e\xce\x63\xfa\xeb\xe3\xd3\xa7\x97\x37\x9c\x20\xc0\xf0\xd3\xe5\x04\x8b\x45\x2b\x45\x1d\xfc\x9a\x1e\x88\x9d\xa1\x76\x0d\xec\x4d\x26\x2b\xa9\xf0\xe4\xec\xed\x09\xb8\x6c\x6d\xc2\x54\x9b\xeb\xae\x79\xcb\xb8\x8d\xf8\x9e\x69\x08\xab\x69\x83\xb6\x2c\x6f\x71\x24\x5b\xe7\x00\x78\x00\x06\xbb\x61\xb2\x84\x37\x2d\x37\xf1\x5f\x86\x8a\x8a\x48\x18\x78\xf9\x68\xa0\xee\x03\x67\x48\x54\x9b\x45\xb4\x13\x04\x64\x3b\x16\x35\x66\xd3\x4e\xd9\x8a\x27\x09\xba\xa9\x65\xd3\x71\xcc\x98\xe3\x06\x4e\x67\x18\x30\x66\x0b\xef\xc1\x15\xcd\x3b\x00\x79\x51\x38\xce\xe6\xee\xb0\x23\x8b\xce\x69\x81\x4d\xa1\x63\xb3\x92\x7e\x21\x39\x33\xb9\xa9\xce\x4c\x39\x2a\x94\x51\xd6\x36\xa1\xb2\xae\x15\x01\xba\xba\x9a\x75\x36\xad\xf0\xa8\x68\x05\xcc\x9e\x09\x29\x37\x58\xa0\x52\xb4\xc7\xdc\x8d\xf1\x8a\xf3\x81\x65\xfb\xa8\x0a\x25\x68\x0f\x50\xa7\x97\x0d\x96\x1d\xbf\x56\x28\x91\x66\x54\x9d\x6b\x29\x1f\x48\xf9\xed\x2d\x7e\xfb\xea\xaf\x8f\xf9\xbb\xbb\xdd\x90\x12\x62\xc3\x2c\x09\x8f\x0d\x89\x35\xb5\xb1\xbc\x84\xcf\x72\xe2\x29\xb7\x2d\x70\x68\x79\x37\x06\xf0\x22\xd3\xc0\x4d\xa7\x1b\x0c\x37\x23\x85\x86\xf5\x6e\x25\x5e\xab\x95\x5c\x16\xec\x3c\x7a\xd4\x1b\xcb\x14\x6d\x78\x7b\x67\xe3\xee\x66\xd6\xa6\x61\x66\x05\xde\xa6\xf6\x01\x59\xee\x76\xe5\xe4\x8e\xa4\x6f\xe7\x64\x95\x9a\x24\x5f\x0d\x8c\x6c\xac\x72\x10\x96\xd8\x00\xb4\x85\xee\x75\x12\x75\x5a\xc6\xcf\x2a\x3e\x7a\x16\x78\x49\xb4\x31\x48\xea\x06\xd0\xa0\x15\xc0\xde\x53\x76\x45\x06\xa7\x3c\x8e\xe0\x25\xe3\x72\xdb\xba\x67\x4c\xf2\x18\x58\xd7\xc1\xe1\x7d\xfd\xb4\xc9\x70\xaf\x2d\x7d\x65\x19\x6d\xdd\xe1\xae\xbf\xb3\x6d\x00\xb6\x1d\x56\x9e\x63\x87\x98\x97\x6f\x31\x6e\x14\x08\x6b\x95\x08\x1f\x56\x87\x03\x75\xa4\xcd\x54\x42\xd4\xd7\xb2\x75\x60\x95\x37\x91\x7b\xaf\x50\x85\xbd\x14\x1c\x50\x3a\xcd\xc7\xa2\x21\x36\x2e\xac\xb0\xe2\xd8\x6c\xdb\x63\x3b\xd0\x41\x57\xe6\xc8\xe8\xaa\xa3\x53\x9e\x5f\x92\xbc\x16\xdf\x71\xcb\xaf\xa2\xfc\xee\x76\xfb\xf1\xdd\x8f\xef\xfe\x17\x00\x00\xff\xff\x01\x66\x63\xf7\x5b\x08\x00\x00")
func ConfigCliFleetEthStagingJsonBytes() ([]byte, error) {
return bindataRead(
_ConfigCliFleetEthStagingJson,
"../config/cli/fleet-eth.staging.json",
)
}
func ConfigCliFleetEthStagingJson() (*asset, error) {
bytes, err := ConfigCliFleetEthStagingJsonBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2139, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb0, 0xac, 0xc9, 0x61, 0x97, 0x42, 0x0, 0x3a, 0xfc, 0x78, 0x11, 0xa1, 0xc7, 0x55, 0x71, 0x46, 0x72, 0x3e, 0x52, 0xb0, 0x89, 0x69, 0x7f, 0x8f, 0xf1, 0x26, 0x44, 0xc5, 0xfc, 0x20, 0x9f, 0xa1}}
return a, nil
}
var _ConfigCliFleetShardsStagingJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x94\x4b\x73\x1a\x47\x10\xc7\xef\xfa\x14\x5b\x7b\x36\x62\xde\x0f\x4e\x01\x81\x1e\x96\x85\x15\x60\x85\x71\x2a\x87\x9e\x99\x1e\xb4\x31\xec\xa2\x7d\x50\x41\x29\x7f\xf7\xd4\xca\x28\xd8\xb1\x7d\xf0\xf5\xdf\x8f\xf9\xf5\xf4\xbf\xfa\x9f\xb3\x24\x49\x67\x58\x04\x7c\xde\x97\x6d\x9d\x0e\x92\x08\x9b\x1a\xdf\x74\xf2\xb4\x1c\xe7\xb5\x2f\xf7\x58\x1d\xd2\x41\xd2\x54\xed\x17\xf9\x62\xd3\xd6\x0d\x56\x17\x65\x11\xf3\x75\x3a\x48\xba\x16\x27\xf9\x66\x9c\x0e\x12\xaa\xde\x7c\x11\x27\x05\xb8\x0d\x86\xaf\xca\x93\x24\xbd\xdc\x20\x36\xe9\x20\x49\xeb\x47\xa8\x42\x7d\x5e\x37\xb0\xce\x8b\x75\x7a\x0c\x8f\xca\xb2\x99\x96\x01\x3b\x98\x3f\xfe\x3c\x8a\x8b\xaa\xeb\x1e\xee\x20\xdf\xcc\xb1\xda\x63\xf5\x4d\xf4\xbe\xad\x1f\xa7\x65\x93\xc7\xdc\x43\x93\x97\x45\xfd\x55\xce\x4b\x46\x92\xa4\x82\x50\x07\x12\x03\x08\xc2\x94\x36\xc1\x6b\x03\x04\x04\x89\x81\x68\x2b\xa3\x40\x30\x8e\x22\x17\x56\x33\x2f\x02\x95\x3e\x72\x0e\x9e\x50\x66\x19\x17\xd4\x1b\x1b\x89\x77\x5e\x71\x1d\xc1\x46\x0d\x3c\x46\x24\xce\x86\x88\x96\xa0\xf5\x01\x50\x03\x15\x96\x49\x49\x08\x38\x42\x9d\x02\x4b\xbd\xd2\x0e\x50\x30\xb0\x1a\x8e\xe3\x25\x49\x4a\x0d\xa5\x82\x3a\x1a\x28\xa5\x96\x18\x80\x48\x64\x14\xda\x18\x54\x5a\x1b\xf4\x44\x13\xcd\x81\x06\x81\xd4\xa3\xe0\x5e\x73\x43\xa5\x17\x04\x51\xa0\xe6\x42\x02\xf5\x2e\x4a\xb0\x04\x84\x8c\x8a\x50\x17\xb9\x56\x3c\x52\xe6\x50\x71\x47\xa8\x62\xc2\x01\x8d\x5c\x21\x3a\x2b\x35\x13\x52\xa2\x26\x5c\x38\x13\x6d\x64\x5e\x9c\x48\x64\x8c\x9e\x8b\x20\x63\x0c\x40\x0d\x09\x56\xf8\xc0\xad\x16\xc1\x62\x60\xce\x11\xc3\x30\xa0\x32\x91\x0b\xe6\xc0\x05\x87\x86\x50\x8f\x31\x3a\x1d\xc0\x12\x46\x8c\x0e\x82\x47\x0b\x60\x15\xf5\xda\x19\x49\x98\xe5\xd2\x18\x2d\x3c\x31\x18\x89\x40\x0f\xc1\x46\x1a\xac\x04\x1a\x09\x0a\x61\xbc\x0b\x41\x06\x22\xb8\x24\x5e\xa7\x2f\x20\xaf\x5b\x9c\x37\xd0\xe4\xfe\xbb\xd5\x9f\xdc\xf9\x5d\x68\x09\x9f\xda\xff\xc4\xd7\xa1\xb0\xa8\x9a\x0a\x71\xd0\xef\x0f\x6f\xc4\x52\x4e\xe5\xcd\xe5\x24\xbb\xb9\xbe\x94\xef\x26\xf3\x6c\xf8\x7e\x7e\xf7\xa0\x16\xb7\xcb\x4b\x76\x37\x52\x57\x19\x5b\xdd\xea\xfb\x4c\x2c\x56\xd9\x55\x36\x7d\x7f\x31\xb9\x5f\xfe\xe6\xca\xb2\x79\xf5\xe4\xf9\xd1\xa2\x45\xf7\x48\x27\x36\x6d\x7d\x9e\x6f\x4f\x3f\xd8\x0f\x45\x2d\xfa\x5d\x49\x8f\xd0\xf3\x50\xf6\x60\x5b\xf3\xf3\x6f\x8d\x7d\xaa\xeb\x37\x7e\xd7\xe7\x84\x13\xde\xdf\xb1\x5d\x9f\xaa\x2c\x6f\xd9\xf5\x70\x3b\x79\x7a\xca\x4b\x91\xcd\xe8\x7c\xf9\x34\xf4\xfa\x76\x45\x6d\xa3\x9e\x0e\xe3\x7d\xb3\x3d\xfc\x55\xe1\xc7\xdd\x73\x36\x7a\xbb\x77\xa2\x55\x72\xf6\xb3\xb7\xd7\xbe\xd7\xd6\x3d\x8f\x45\x53\xc1\x86\xf6\xe0\x97\x21\xae\x86\x43\x29\xdc\x68\x31\xd1\xe6\x6e\x95\x87\xf9\x81\xdf\xeb\xdf\xed\x61\xb8\xbc\x9c\x2e\x86\x93\x19\xbe\x5d\x8d\x95\x7d\x98\xed\x9b\x77\xb2\xfa\x19\x04\xf8\x9e\x2f\x7a\x8f\x65\xb1\xfe\x54\x16\xeb\x9e\xff\x65\x88\xe9\x62\x77\x55\x1c\x3e\x9a\x25\x1d\xdd\xb2\xfa\xc3\x64\xbb\x9e\x5f\x4c\x97\xf9\x61\x7c\xbb\x9e\x65\x7c\x3a\x9a\xb1\xf1\x87\xf9\x82\x5d\x3f\xff\x3d\xcb\x8e\xee\x39\x4b\x92\xcf\x2f\x87\xa9\x73\xc3\x03\xfb\xff\x5d\xfa\xe1\x09\xca\x6a\x9c\x77\x64\xc3\x7a\x8c\x11\xda\x4d\xb3\x28\x77\xb9\x3f\xe6\x74\x0d\xcf\x3e\x9f\xfd\x1b\x00\x00\xff\xff\x40\x54\xe7\x4f\x1b\x05\x00\x00")
var _ConfigCliFleetShardsStagingJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x95\x4b\x77\x1a\x37\x14\xc7\xf7\xfe\x14\x73\x66\x1d\x40\xcf\x91\xc4\xaa\x60\xc0\x76\x88\x89\x0b\x8c\x09\xe9\xe9\xe2\x4a\xba\xc2\xd3\xc0\x0c\x9e\x07\xa7\xb8\x27\xdf\xbd\x67\x1c\x5c\xe2\xa6\x59\x64\xdd\x6c\xff\xf7\xa1\xbf\xa4\xdf\xb9\xf7\xaf\x8b\x28\x8a\xe7\x98\x7b\x7c\x3a\x14\x4d\x15\xf7\xa3\x00\xdb\x0a\xdf\xb4\xf2\xac\x18\x65\x95\x2b\x0e\x58\x1e\xe3\x7e\x54\x97\xcd\x17\xf9\x72\xdb\x54\x35\x96\x97\x45\x1e\xb2\x4d\xdc\x8f\xda\x16\x67\xf9\x66\x14\xf7\x23\x9a\xbc\xf9\x22\x8e\x73\xb0\x5b\xf4\x5f\x95\x47\x51\x3c\xd9\x22\xd6\x71\x3f\x8a\xab\x07\x28\x7d\xd5\xad\x6a\xd8\x64\xf9\x26\x3e\x85\x87\x45\x51\xcf\x0a\x8f\xad\x99\xdf\x7e\x3f\x89\xcb\xb2\xed\xee\x6f\x21\xdb\x2e\xb0\x3c\x60\xf9\x2a\x7a\xd7\x54\x0f\xb3\xa2\xce\x42\xe6\xa0\xce\x8a\xbc\xfa\x2a\xe7\x39\x23\x8a\x62\x41\xa8\x05\x89\x1e\x04\x61\x89\xd2\xde\x29\x0d\x04\x04\x09\x9e\x28\x23\x83\x40\xd0\x96\x22\x17\x46\x31\x27\x3c\x95\x2e\x70\x0e\x8e\x50\x66\x18\x17\xd4\x69\x13\x88\xb3\x2e\xe1\x2a\x80\x09\x0a\x78\x08\x48\xac\xf1\x01\x0d\x41\xe3\x3c\xa0\x02\x2a\x0c\x93\x92\x10\xb0\x84\xda\x04\x0c\x75\x89\xb2\x80\x82\x81\x51\x70\xba\x5e\x14\xc5\x54\x53\x2a\xa8\xa5\x9e\x52\x6a\x88\x06\x08\x44\x06\xa1\xb4\xc6\x44\x29\x8d\x8e\x28\xa2\x38\x50\x2f\x90\x3a\x14\xdc\x29\xae\xa9\x74\x82\x20\x0a\x54\x5c\x48\xa0\xce\x06\x09\x86\x80\x90\x21\x21\xd4\x06\xae\x12\x1e\x28\xb3\x98\x70\x4b\x68\xc2\x84\x05\x1a\x78\x82\x68\x8d\x54\x4c\x48\x89\x8a\x70\x61\x75\x30\x81\x39\x71\x76\x22\x43\x70\x5c\x78\x19\x82\x07\xaa\x89\x37\xc2\x79\x6e\x94\xf0\x06\x3d\xb3\x96\x68\x86\x1e\x13\x1d\xb8\x60\x16\xac\xb7\xa8\x09\x75\x18\x82\x55\x1e\x0c\x61\x44\x2b\x2f\x78\x30\x00\x26\xa1\x4e\x59\x2d\x09\x33\x5c\x6a\xad\x84\x23\x1a\x03\x11\xe8\xc0\x9b\x40\xbd\x91\x40\x03\x41\x21\xb4\xb3\xde\x4b\x4f\x04\x97\xc4\xa9\xf8\xd9\xc8\xcb\x2f\x2e\x6a\xa8\x33\xf7\xcd\xd7\x9f\xe9\xfc\x26\xb4\x82\x4f\xcd\x3f\xe2\xcb\xa5\x30\x2f\xeb\x12\xb1\xdf\xeb\x0d\x6e\xc4\x4a\xce\xe4\xcd\x64\x9c\xde\x5c\x4f\xe4\xbb\xf1\x22\x1d\xbc\x5f\xdc\xde\x27\xcb\xe9\x6a\xc2\x6e\x87\xc9\x55\xca\xd6\x53\x75\x97\x8a\xe5\x3a\xbd\x4a\x67\xef\x2f\xc7\x77\xab\x5f\x6c\x51\xd4\x2f\x4c\x76\x4f\x88\xe6\xed\x21\xad\x58\x37\x55\x37\xdb\x9d\x5f\xb0\xe7\xf3\x4a\xf4\xda\x92\x0e\xa1\x5d\x5f\x74\x60\x57\xf1\xee\x6b\xb0\xcf\x75\xbd\xda\xed\x7b\x9c\x70\xc2\x7b\x7b\xb6\xef\xd1\x24\xcd\x1a\x76\x3d\xd8\x8d\x1f\x1f\xb3\x42\xa4\x73\xba\x58\x3d\x0e\x9c\x9a\xae\xa9\xa9\x93\xc7\xe3\xe8\x50\xef\x8e\x7f\x94\xf8\x71\xff\x94\x0e\xdf\x1e\xac\x68\x12\x39\xff\xde\xd9\x1b\xd7\x69\xaa\x8e\xc3\xbc\x2e\x61\x4b\x3b\xf0\xc3\x26\xae\x06\x03\x29\xec\x70\x39\x56\xfa\x76\x9d\xf9\xc5\x91\xdf\xa9\x5f\xcd\x71\xb0\x9a\xcc\x96\x83\xf1\x1c\xdf\xae\x47\x89\xb9\x9f\x1f\xea\x77\xb2\xfc\x9e\x09\x70\x1d\x97\x77\x1e\x8a\x7c\xf3\xa9\xc8\x37\x1d\xf7\xc3\x26\x66\xcb\xfd\x55\x7e\xfc\xa8\x57\x74\x38\x65\xd5\x87\xf1\x6e\xb3\xb8\x9c\xad\xb2\xe3\x68\xba\x99\xa7\x7c\x36\x9c\xb3\xd1\x87\xc5\x92\x5d\x3f\xfd\x39\x4f\x5f\xd3\xd3\xce\xaa\x7b\xd9\x0e\x8f\xaa\x2e\x61\xff\x13\x8b\xff\x39\x16\x17\x51\xf4\xf9\x79\x5f\xb5\x43\xe2\x9e\xfd\x7b\x5d\xfd\xe7\x66\x4a\x2b\x5c\xb4\xce\x06\xd5\x08\x03\x34\xdb\x7a\x59\xec\x33\x77\xca\x69\x1b\x5e\x7c\xbe\xf8\x3b\x00\x00\xff\xff\x4c\xbd\xd5\xe8\x32\x07\x00\x00")
func ConfigCliFleetShardsStagingJsonBytes() ([]byte, error) {
return bindataRead(
@ -224,12 +204,12 @@ func ConfigCliFleetShardsStagingJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/fleet-shards.staging.json", size: 1307, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x42, 0xd8, 0x11, 0xbb, 0xdb, 0x2e, 0xf3, 0x34, 0x75, 0x26, 0x26, 0x8c, 0x29, 0x49, 0x79, 0x47, 0xf6, 0x3e, 0x2c, 0x0, 0xf3, 0x6a, 0x3e, 0x28, 0xc9, 0x1c, 0x45, 0xbe, 0x43, 0x65, 0x57, 0x80}}
info := bindataFileInfo{name: "../config/cli/fleet-shards.staging.json", size: 1842, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0x62, 0x43, 0x8, 0xdb, 0x8d, 0x3a, 0xa8, 0xe8, 0xbb, 0x87, 0xb, 0xea, 0x3d, 0xdd, 0x53, 0xde, 0x6, 0x69, 0xbb, 0x49, 0xed, 0xd4, 0x7d, 0x40, 0x5e, 0xf3, 0xf3, 0xd3, 0xd6, 0x39, 0x56}}
return a, nil
}
var _ConfigCliFleetShardsTestJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x94\x4f\x57\x22\x47\x14\xc5\xf7\x7e\x8a\x3e\xbd\x1e\xa0\xfe\xff\x61\x15\x1c\x50\x87\x28\x61\x44\x40\xcc\xc9\xe2\x55\xd5\x2b\x6c\x85\x6e\xed\xae\x26\x6a\xce\x7c\xf7\x1c\x1c\x26\x9a\x4c\x66\x31\xdb\xfb\x6e\xbd\xfa\x55\xbd\x7b\xde\x5f\x47\x59\x96\x5f\x62\x19\xf0\x65\x57\xb5\x4d\xde\xcf\x22\x6c\x1a\xfc\xb0\x97\x27\xd5\xb0\x68\x7c\xb5\xc3\xfa\x39\xef\x67\xa9\x6e\xbf\xca\x1f\x37\x6d\x93\xb0\xfe\x58\x95\xb1\x58\xe7\xfd\x6c\xdf\xe2\x4d\xfe\x34\xcc\xfb\x19\x55\x1f\xbe\x8a\xa3\x12\xdc\x06\xc3\xbb\xe3\x59\x96\x9f\x6c\x10\x53\xde\xcf\xf2\xe6\x16\xea\xd0\x74\x13\x36\x29\x3f\xd4\x8e\xab\x2a\x4d\xaa\x80\x7b\x92\xdf\xff\x38\x88\x57\xf5\xbe\x75\xb8\x80\x62\x33\xc3\x7a\x87\xf5\xbf\xaa\xd3\xb6\xb9\x9d\x54\xa9\x88\x85\x87\x54\x54\x65\xf3\xce\xf3\xea\xc8\xb2\x5c\x10\xea\x40\x62\x00\x41\x98\xd2\x26\x78\x6d\x80\x80\x20\x31\x10\x6d\x65\x14\x08\xc6\x51\xe4\xc2\x6a\xe6\x45\xa0\xd2\x47\xce\xc1\x13\xca\x2c\xe3\x82\x7a\x63\x23\xf1\xce\x2b\xae\x23\xd8\xa8\x81\xc7\x88\xc4\xd9\x10\xd1\x12\xb4\x3e\x00\x6a\xa0\xc2\x32\x29\x09\x01\x47\xa8\x53\x60\xa9\x57\xda\x01\x0a\x06\x56\xc3\xe1\x79\x59\x96\x53\x43\xa9\xa0\x8e\x06\x4a\xa9\x25\x06\x20\x12\x19\x85\x36\x06\x95\xd6\x06\x3d\xd1\x44\x73\xa0\x41\x20\xf5\x28\xb8\xd7\xdc\x50\xe9\x05\x41\x14\xa8\xb9\x90\x40\xbd\x8b\x12\x2c\x01\x21\xa3\x22\xd4\x45\xae\x15\x8f\x94\x39\x54\xdc\x11\xaa\x98\x70\x40\x23\x57\x88\xce\x4a\xcd\x84\x94\xa8\x09\x17\xce\x44\x1b\x99\x17\x6f\x24\x32\x46\xcf\x45\x90\x31\x06\xa0\x86\x04\x2b\x7c\xe0\x56\x8b\x60\x31\x30\xe7\x88\x61\x18\x50\x99\xc8\x05\x73\xe0\x82\x43\x43\xa8\xc7\x18\x9d\x0e\x60\x09\x23\x46\x07\xc1\xa3\x05\xb0\x8a\x7a\xed\x8c\x24\xcc\x72\x69\x8c\x16\x9e\x18\x8c\x44\xa0\x87\x60\x23\x0d\x56\x02\x8d\x04\x85\x30\xde\x85\x20\x03\x11\x5c\x12\xaf\xf3\x57\x90\x6f\x53\x9c\x25\x48\x85\xff\x6e\xf4\x6f\xd1\xfc\xae\xb4\x84\xfb\xf6\x1f\xf1\xdb\xa3\xb0\xac\x53\x8d\xd8\xef\xf5\x06\x17\xbf\x8d\x17\x37\xd7\x62\xa1\x46\xd7\x53\x3d\xb9\x1a\x4f\x2f\x06\xab\xf1\x6a\x76\xc5\x3e\x4f\xd5\x60\x7c\xbd\x5a\x6a\xf5\x69\xae\x16\xa7\xe3\x99\x9e\x2f\x66\x93\xe1\xea\xe6\x54\xfc\xe2\xaa\x2a\xbd\x06\xb2\x7b\x08\x67\xb9\xbf\xa1\xdb\x24\x48\x6d\xd3\x2d\xb6\x6f\xdf\xd7\x0b\x65\x23\x7a\x7b\x7f\x87\xd0\x6e\xa8\x3a\xb0\x6d\x78\xf7\x5d\xa4\x0f\x87\x8a\x6d\xb7\xc4\xd4\x4b\xfe\xa1\xc7\x09\x27\xbc\xf7\xc0\x1e\x7a\x54\xcd\x8b\x96\x9d\x0d\xb6\x83\x4b\x26\x2e\x9c\x53\x8b\xf6\xa5\x7a\x9e\x17\xa7\x4f\x82\xcd\xb1\x1c\xde\x37\xb7\xa3\xc9\x62\x78\x27\x1e\xcb\xed\xd6\x81\x3b\xdf\x55\x9c\xfe\xe8\xee\xb5\xef\xb4\x4d\xc7\x63\x99\x6a\xd8\xd0\x0e\xfc\x34\x84\xd9\xce\x6f\xa8\x49\xc7\xcb\xe9\xf5\xf0\x73\x03\x27\x7a\xea\x3e\xfe\xba\x1a\x70\xf9\xa2\x97\xc7\xec\x69\x72\x73\xc6\x46\x8b\x47\xfa\x38\x33\xe7\xe3\x1f\x41\x80\xef\xf8\xb2\x73\x5b\x95\xeb\xfb\xaa\x5c\x77\xfc\x4f\x43\x9c\xfe\xe9\x47\x66\xa7\xd7\xdb\xf1\x64\xb4\x3c\x49\x37\xa9\xba\x5b\x3d\x4c\x2f\xae\xce\x9e\xd9\xdd\xf1\xf9\xb9\x7a\xba\xbc\xe7\xfc\x71\x3d\x7c\x3a\x59\x5e\x1f\xa2\x73\x94\x65\x5f\x5e\x57\xd2\x3e\x0a\x0b\xf6\xdf\x8d\xf4\xbf\xcb\x67\xde\xe0\x6c\x4f\x36\x68\x86\x18\xa1\xdd\xa4\xab\xea\xa1\xf0\x07\xcf\xbe\xe1\xd1\x97\xa3\xbf\x03\x00\x00\xff\xff\xbc\x63\xbb\x63\x15\x05\x00\x00")
var _ConfigCliFleetShardsTestJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x55\x4f\x53\x23\xb7\x13\xbd\xf3\x29\xa6\xe6\xbc\xb6\xf5\x77\x24\xf9\xf4\x33\xd8\xc0\xfa\x07\x8e\x17\x63\x1b\x93\xca\xa1\x25\xb5\xcc\x80\x3d\x63\x66\x34\x0e\x90\xda\xef\x9e\x1a\xd6\x1b\xd8\x6c\xf6\xb0\xe7\xe4\xfa\xfa\xa9\xfb\xb5\xfa\x55\xf7\x1f\x47\x49\x92\x5e\x61\xe1\xf1\x65\x5f\x36\x75\xda\x4f\x02\x6c\x6a\xfc\xd0\xc2\x93\x72\x98\xd7\xae\xdc\x63\xf5\x9c\xf6\x93\x58\x35\x5f\xe0\x93\x4d\x53\x47\xac\x4e\xca\x22\xe4\xeb\xb4\x9f\xb4\x29\xde\xe0\x8f\xc3\xb4\x9f\xd0\xec\xc3\x17\x70\x54\x80\xdd\xa0\x7f\xf7\x3c\x49\xd2\xd3\x0d\x62\x4c\xfb\x49\x5a\xdf\x41\xe5\xeb\x6e\xc4\x3a\xa6\x87\xd8\x71\x59\xc6\x49\xe9\xb1\x55\xf2\xeb\x6f\x07\xf0\xba\x6a\x53\xfb\x4b\xc8\x37\x33\xac\xf6\x58\x7d\x13\x9d\x36\xf5\xdd\xa4\x8c\x79\xc8\x1d\xc4\xbc\x2c\xea\x77\x9c\x57\x46\x92\xa4\x82\x50\x0b\x12\x3d\x08\xc2\x32\xa5\xbd\x53\x1a\x08\x08\x12\x3c\x51\x46\x06\x81\xa0\x2d\x45\x2e\x8c\x62\x4e\x78\x2a\x5d\xe0\x1c\x1c\xa1\xcc\x30\x2e\xa8\xd3\x26\x10\x67\x5d\xc6\x55\x00\x13\x14\xf0\x10\x90\x58\xe3\x03\x1a\x82\xc6\x79\x40\x05\x54\x18\x26\x25\x21\x60\x09\xb5\x19\x18\xea\x32\x65\x01\x05\x03\xa3\xe0\xd0\x5e\x92\xa4\x54\x53\x2a\xa8\xa5\x9e\x52\x6a\x88\x06\x08\x44\x06\xa1\xb4\xc6\x4c\x29\x8d\x8e\x28\xa2\x38\x50\x2f\x90\x3a\x14\xdc\x29\xae\xa9\x74\x82\x20\x0a\x54\x5c\x48\xa0\xce\x06\x09\x86\x80\x90\x21\x23\xd4\x06\xae\x32\x1e\x28\xb3\x98\x71\x4b\x68\xc6\x84\x05\x1a\x78\x86\x68\x8d\x54\x4c\x48\x89\x8a\x70\x61\x75\x30\x81\x39\xf1\xa6\x44\x86\xe0\xb8\xf0\x32\x04\x0f\x54\x13\x6f\x84\xf3\xdc\x28\xe1\x0d\x7a\x66\x2d\xd1\x0c\x3d\x66\x3a\x70\xc1\x2c\x58\x6f\x51\x13\xea\x30\x04\xab\x3c\x18\xc2\x88\x56\x5e\xf0\x60\x00\x4c\x46\x9d\xb2\x5a\x12\x66\xb8\xd4\x5a\x09\x47\x34\x06\x22\xd0\x81\x37\x81\x7a\x23\x81\x06\x82\x42\x68\x67\xbd\x97\x9e\x08\x2e\x89\x53\xe9\xab\x90\xaf\x53\x9c\x45\x88\xb9\xfb\x6e\xf4\x6f\xd6\xfc\x2e\xb4\x84\x87\xe6\x2f\xf0\x6b\x53\x58\x54\xb1\x42\xec\xf7\x7a\x83\xcb\x5f\xc6\x8b\xdb\x1b\xb1\xc8\x46\x37\x53\x35\xb9\x1e\x4f\x2f\x07\xab\xf1\x6a\x76\xcd\x3e\x4d\xb3\xc1\xf8\x66\xb5\x54\xd9\xc7\x79\xb6\x38\x1b\xcf\xd4\x7c\x31\x9b\x0c\x57\xb7\x67\xe2\x7f\xb6\x2c\xe3\xab\x21\xbb\x07\x73\x16\x6d\x85\x6e\x1d\x21\x36\x75\x37\xdf\xbe\x7d\x5f\xcf\x17\xb5\xe8\xb5\xfc\x0e\xa1\x5d\x5f\x76\x60\x5b\xf3\xee\x3b\x4b\x1f\x1e\xe5\xdb\x6e\x81\xb1\x17\xdd\xae\xc7\x09\x27\xbc\xb7\x63\xbb\x1e\xcd\xe6\x79\xc3\xce\x07\xdb\xc1\x15\x13\x97\xd6\x66\x8b\xe6\xa5\x7c\x9e\xe7\x67\x4f\x82\xcd\xb1\x18\x3e\xd4\x77\xa3\xc9\x62\x78\x2f\x1e\x8b\xed\xd6\x82\xbd\xd8\x97\x9c\xfe\xa8\xf6\xda\x75\x9a\xba\xe3\xb0\x88\x15\x6c\x68\x07\x7e\x5a\x84\xde\xce\x6f\xa9\x8e\xc7\xcb\xe9\xcd\xf0\x53\x0d\xa7\x6a\x6a\x4f\xfe\xbf\x1a\x70\xf9\xa2\x96\xc7\xec\x69\x72\x7b\xce\x46\x8b\x47\xfa\x38\xd3\x17\xe3\x1f\x89\x00\xd7\x71\x45\xe7\xae\x2c\xd6\x0f\x65\xb1\xee\xb8\x9f\x16\x71\xf6\xbb\x1b\xe9\xbd\x5a\x6f\xc7\x93\xd1\xf2\x34\xde\xc6\xf2\x7e\xb5\x9b\x5e\x5e\x9f\x3f\xb3\xfb\xe3\x8b\x8b\xec\xe9\xea\x81\xf3\xc7\xf5\xf0\xe9\x74\x79\xf3\xad\x75\xda\x2d\xb5\x90\xed\xe6\xa8\x63\x05\xbb\xff\x3c\xf1\x6f\xf6\xc4\x51\x92\x7c\x7e\x3d\x53\xed\x7a\x58\xb0\xbf\x5f\xa9\x7f\x3c\x48\xf3\x1a\x67\xad\xb2\x41\x3d\xc4\x00\xcd\x26\x5e\x97\xbb\xdc\x1d\x38\x6d\xc2\xa3\xcf\x47\x7f\x06\x00\x00\xff\xff\x2b\x24\xca\x00\x29\x07\x00\x00")
func ConfigCliFleetShardsTestJsonBytes() ([]byte, error) {
return bindataRead(
@ -244,8 +224,8 @@ func ConfigCliFleetShardsTestJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/fleet-shards.test.json", size: 1301, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x40, 0x4, 0x2b, 0xe9, 0x2e, 0xa1, 0x7, 0x42, 0xb8, 0x5e, 0x54, 0x8c, 0x84, 0xd1, 0xd6, 0xd6, 0xc3, 0x72, 0x19, 0xa3, 0x9f, 0xa4, 0x72, 0xd2, 0xc5, 0xa6, 0xde, 0xcf, 0x5c, 0xc7, 0xcb, 0x9a}}
info := bindataFileInfo{name: "../config/cli/fleet-shards.test.json", size: 1833, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5a, 0x87, 0xab, 0x35, 0x3, 0x2a, 0xcb, 0x85, 0x1f, 0x1c, 0x3d, 0xca, 0x21, 0x4e, 0x3, 0x4f, 0x99, 0x93, 0x2, 0x10, 0xda, 0xea, 0x10, 0x7b, 0x5a, 0x3b, 0xc3, 0xf5, 0xf, 0xa6, 0x88, 0xdd}}
return a, nil
}
@ -264,7 +244,7 @@ func ConfigCliFleetStatusProdJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1528, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1528, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x13, 0x36, 0xdc, 0x13, 0x80, 0xd6, 0xd1, 0xfe, 0xf1, 0x4a, 0xba, 0xa6, 0xdc, 0xb5, 0xe1, 0xc1, 0x17, 0x77, 0x96, 0xf, 0x45, 0x96, 0x87, 0x5e, 0x67, 0xd2, 0xbf, 0xb, 0xc6, 0x79, 0xc7, 0x6f}}
return a, nil
}
@ -284,7 +264,7 @@ func ConfigCliFleetStatusTestJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 1138, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 1138, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x2c, 0xfb, 0x4f, 0x90, 0xa5, 0xb, 0x87, 0xcf, 0xc2, 0x61, 0xdb, 0x22, 0x86, 0xef, 0x4a, 0xcf, 0xba, 0xe8, 0x2c, 0x12, 0x3d, 0x44, 0xa, 0x59, 0x4a, 0xd6, 0xd8, 0xa4, 0xe7, 0x49, 0x91}}
return a, nil
}
@ -304,7 +284,7 @@ func ConfigCliFleetWakuSandboxJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/fleet-waku.sandbox.json", size: 1133, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/fleet-waku.sandbox.json", size: 1133, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x42, 0x47, 0xed, 0x68, 0x8c, 0x33, 0x1d, 0xce, 0x41, 0x6f, 0x36, 0x6e, 0xd4, 0x3d, 0x57, 0x61, 0xd9, 0x31, 0xe6, 0xeb, 0xb, 0xb9, 0x93, 0xbf, 0x6b, 0xd6, 0xae, 0x8b, 0xe8, 0x51, 0x6f, 0xd2}}
return a, nil
}
@ -324,7 +304,7 @@ func ConfigCliFleetWakuTestJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/fleet-waku.test.json", size: 1130, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/fleet-waku.test.json", size: 1130, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7a, 0x9, 0xc6, 0x7e, 0x4f, 0xad, 0x1e, 0x9, 0xd2, 0xad, 0x15, 0x91, 0x24, 0x78, 0x8a, 0x20, 0x9f, 0x1c, 0xbf, 0xa6, 0xd0, 0xad, 0x9f, 0x5, 0x2a, 0xc1, 0x8f, 0x88, 0x25, 0xcb, 0xa3, 0x7c}}
return a, nil
}
@ -344,7 +324,7 @@ func ConfigCliLesEnabledJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xee, 0x27, 0xa7, 0x74, 0xa0, 0x46, 0xa1, 0x41, 0xed, 0x4d, 0x16, 0x5b, 0xf3, 0xf0, 0x7c, 0xc8, 0x2f, 0x6f, 0x47, 0xa4, 0xbb, 0x5f, 0x43, 0x33, 0xd, 0x9, 0x9d, 0xea, 0x9e, 0x15, 0xee}}
return a, nil
}
@ -364,7 +344,7 @@ func ConfigCliMailserverEnabledJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xec, 0x81, 0x8b, 0x99, 0xb6, 0xdb, 0xc0, 0x8b, 0x46, 0x97, 0x96, 0xc7, 0x58, 0x30, 0x33, 0xef, 0x54, 0x25, 0x87, 0x7b, 0xb9, 0x94, 0x6b, 0x18, 0xa4, 0x5b, 0x58, 0x67, 0x7c, 0x44, 0xa6}}
return a, nil
}
@ -384,7 +364,7 @@ func ConfigStatusChainGenesisJson() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb, 0xf0, 0xc, 0x1, 0x95, 0x65, 0x6, 0x55, 0x48, 0x8f, 0x83, 0xa0, 0xb4, 0x81, 0xda, 0xad, 0x30, 0x6d, 0xb2, 0x78, 0x1b, 0x26, 0x4, 0x13, 0x12, 0x9, 0x6, 0xae, 0x3a, 0x2c, 0x1, 0x71}}
return a, nil
}
@ -404,7 +384,7 @@ func keysBootnodeKey() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xcf, 0x27, 0xd4, 0x96, 0x2e, 0x32, 0xcd, 0x58, 0x96, 0x2a, 0xe5, 0x8c, 0xa0, 0xf1, 0x73, 0x1f, 0xd6, 0xd6, 0x8b, 0xb, 0x73, 0xd3, 0x2c, 0x84, 0x1a, 0x56, 0xa4, 0x74, 0xb6, 0x95, 0x20}}
return a, nil
}
@ -424,7 +404,7 @@ func keysFirebaseauthkey() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x69, 0x23, 0x64, 0x7d, 0xf9, 0x14, 0x37, 0x6f, 0x2b, 0x1, 0xf0, 0xb0, 0xa4, 0xb2, 0xd0, 0x18, 0xcd, 0xf9, 0xeb, 0x57, 0xa3, 0xfd, 0x79, 0x25, 0xa7, 0x9c, 0x3, 0xce, 0x26, 0xec, 0xe1}}
return a, nil
}
@ -444,7 +424,7 @@ func keysTestAccount1StatusChainPk() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0xba, 0x35, 0x1, 0x2b, 0x9d, 0xad, 0xf0, 0x2d, 0x3c, 0x4d, 0x6, 0xb5, 0x22, 0x2, 0x47, 0xd4, 0x1c, 0xf4, 0x31, 0x2f, 0xb, 0x5b, 0x27, 0x5d, 0x43, 0x97, 0x58, 0x2d, 0xf0, 0xe1, 0xbe}}
return a, nil
}
@ -464,7 +444,7 @@ func keysTestAccount1Pk() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0x43, 0xc2, 0xf4, 0x8c, 0xc6, 0x64, 0x25, 0x8c, 0x7, 0x8c, 0xa8, 0x89, 0x2b, 0x7b, 0x9b, 0x4f, 0x81, 0xcb, 0xce, 0x3d, 0xef, 0x82, 0x9c, 0x27, 0x27, 0xa9, 0xc5, 0x46, 0x70, 0x30, 0x38}}
return a, nil
}
@ -484,7 +464,7 @@ func keysTestAccount2StatusChainPk() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0xf8, 0x5c, 0xe9, 0x92, 0x96, 0x2d, 0x88, 0x2b, 0x8e, 0x42, 0x3f, 0xa4, 0x93, 0x6c, 0xad, 0xe9, 0xc0, 0x1b, 0x8a, 0x8, 0x8c, 0x5e, 0x7a, 0x84, 0xa2, 0xf, 0x9f, 0x77, 0x58, 0x2c, 0x2c}}
return a, nil
}
@ -504,7 +484,7 @@ func keysTestAccount2Pk() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9f, 0x72, 0xd5, 0x95, 0x5c, 0x5a, 0x99, 0x9d, 0x2f, 0x21, 0x83, 0xd7, 0x10, 0x17, 0x4a, 0x3d, 0x65, 0xc9, 0x26, 0x1a, 0x2c, 0x9d, 0x65, 0x63, 0xd2, 0xa0, 0xfc, 0x7c, 0x0, 0x87, 0x38, 0x9f}}
return a, nil
}
@ -524,7 +504,7 @@ func keysTestAccount3BeforeEip55Pk() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0664), modTime: time.Unix(1700000000, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x40, 0x56, 0xc1, 0x5e, 0x10, 0x6e, 0x28, 0x15, 0x3, 0x4e, 0xc4, 0xc4, 0x71, 0x4d, 0x16, 0x99, 0xcc, 0x1b, 0x63, 0xee, 0x10, 0x20, 0xe4, 0x59, 0x52, 0x3f, 0xc0, 0xad, 0x15, 0x13, 0x72}}
return a, nil
}
@ -620,44 +600,58 @@ func AssetNames() []string {
// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
"emojis.txt": emojisTxt,
"../config/README.md": ConfigReadmeMd,
"../config/cli/anon-metric-node-client.json": ConfigCliAnonMetricNodeClientJson,
"../config/cli/anon-metric-node-server.json": ConfigCliAnonMetricNodeServerJson,
"../config/cli/fleet-eth.prod.json": ConfigCliFleetEthProdJson,
"../config/cli/fleet-eth.staging.json": ConfigCliFleetEthStagingJson,
"../config/cli/fleet-shards.staging.json": ConfigCliFleetShardsStagingJson,
"../config/cli/fleet-shards.test.json": ConfigCliFleetShardsTestJson,
"../config/cli/fleet-status.prod.json": ConfigCliFleetStatusProdJson,
"../config/cli/fleet-status.test.json": ConfigCliFleetStatusTestJson,
"../config/cli/fleet-waku.sandbox.json": ConfigCliFleetWakuSandboxJson,
"../config/cli/fleet-waku.test.json": ConfigCliFleetWakuTestJson,
"../config/cli/les-enabled.json": ConfigCliLesEnabledJson,
"../config/cli/mailserver-enabled.json": ConfigCliMailserverEnabledJson,
"../config/status-chain-genesis.json": ConfigStatusChainGenesisJson,
"keys/bootnode.key": keysBootnodeKey,
"keys/firebaseauthkey": keysFirebaseauthkey,
"keys/test-account1-status-chain.pk": keysTestAccount1StatusChainPk,
"keys/test-account1.pk": keysTestAccount1Pk,
"keys/test-account2-status-chain.pk": keysTestAccount2StatusChainPk,
"keys/test-account2.pk": keysTestAccount2Pk,
"keys/test-account3-before-eip55.pk": keysTestAccount3BeforeEip55Pk,
}
"emojis.txt": emojisTxt,
// AssetDebug is true if the assets were built with the debug flag enabled.
const AssetDebug = false
"../config/README.md": ConfigReadmeMd,
"../config/cli/anon-metric-node-client.json": ConfigCliAnonMetricNodeClientJson,
"../config/cli/anon-metric-node-server.json": ConfigCliAnonMetricNodeServerJson,
"../config/cli/fleet-eth.prod.json": ConfigCliFleetEthProdJson,
"../config/cli/fleet-shards.staging.json": ConfigCliFleetShardsStagingJson,
"../config/cli/fleet-shards.test.json": ConfigCliFleetShardsTestJson,
"../config/cli/fleet-status.prod.json": ConfigCliFleetStatusProdJson,
"../config/cli/fleet-status.test.json": ConfigCliFleetStatusTestJson,
"../config/cli/fleet-waku.sandbox.json": ConfigCliFleetWakuSandboxJson,
"../config/cli/fleet-waku.test.json": ConfigCliFleetWakuTestJson,
"../config/cli/les-enabled.json": ConfigCliLesEnabledJson,
"../config/cli/mailserver-enabled.json": ConfigCliMailserverEnabledJson,
"../config/status-chain-genesis.json": ConfigStatusChainGenesisJson,
"keys/bootnode.key": keysBootnodeKey,
"keys/firebaseauthkey": keysFirebaseauthkey,
"keys/test-account1-status-chain.pk": keysTestAccount1StatusChainPk,
"keys/test-account1.pk": keysTestAccount1Pk,
"keys/test-account2-status-chain.pk": keysTestAccount2StatusChainPk,
"keys/test-account2.pk": keysTestAccount2Pk,
"keys/test-account3-before-eip55.pk": keysTestAccount3BeforeEip55Pk,
}
// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
//
// data/
// foo.txt
// img/
// a.png
// b.png
//
// data/
// foo.txt
// img/
// a.png
// b.png
// then AssetDir("data") would return []string{"foo.txt", "img"},
// AssetDir("data/img") would return []string{"a.png", "b.png"},
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
@ -690,35 +684,34 @@ type bintree struct {
}
var _bintree = &bintree{nil, map[string]*bintree{
"..": {nil, map[string]*bintree{
"config": {nil, map[string]*bintree{
"README.md": {ConfigReadmeMd, map[string]*bintree{}},
"cli": {nil, map[string]*bintree{
"anon-metric-node-client.json": {ConfigCliAnonMetricNodeClientJson, map[string]*bintree{}},
"anon-metric-node-server.json": {ConfigCliAnonMetricNodeServerJson, map[string]*bintree{}},
"fleet-eth.prod.json": {ConfigCliFleetEthProdJson, map[string]*bintree{}},
"fleet-eth.staging.json": {ConfigCliFleetEthStagingJson, map[string]*bintree{}},
"fleet-shards.staging.json": {ConfigCliFleetShardsStagingJson, map[string]*bintree{}},
"fleet-shards.test.json": {ConfigCliFleetShardsTestJson, map[string]*bintree{}},
"fleet-status.prod.json": {ConfigCliFleetStatusProdJson, map[string]*bintree{}},
"fleet-status.test.json": {ConfigCliFleetStatusTestJson, map[string]*bintree{}},
"fleet-waku.sandbox.json": {ConfigCliFleetWakuSandboxJson, map[string]*bintree{}},
"fleet-waku.test.json": {ConfigCliFleetWakuTestJson, map[string]*bintree{}},
"les-enabled.json": {ConfigCliLesEnabledJson, map[string]*bintree{}},
"mailserver-enabled.json": {ConfigCliMailserverEnabledJson, map[string]*bintree{}},
"..": &bintree{nil, map[string]*bintree{
"config": &bintree{nil, map[string]*bintree{
"README.md": &bintree{ConfigReadmeMd, map[string]*bintree{}},
"cli": &bintree{nil, map[string]*bintree{
"anon-metric-node-client.json": &bintree{ConfigCliAnonMetricNodeClientJson, map[string]*bintree{}},
"anon-metric-node-server.json": &bintree{ConfigCliAnonMetricNodeServerJson, map[string]*bintree{}},
"fleet-eth.prod.json": &bintree{ConfigCliFleetEthProdJson, map[string]*bintree{}},
"fleet-shards.staging.json": &bintree{ConfigCliFleetShardsStagingJson, map[string]*bintree{}},
"fleet-shards.test.json": &bintree{ConfigCliFleetShardsTestJson, map[string]*bintree{}},
"fleet-status.prod.json": &bintree{ConfigCliFleetStatusProdJson, map[string]*bintree{}},
"fleet-status.test.json": &bintree{ConfigCliFleetStatusTestJson, map[string]*bintree{}},
"fleet-waku.sandbox.json": &bintree{ConfigCliFleetWakuSandboxJson, map[string]*bintree{}},
"fleet-waku.test.json": &bintree{ConfigCliFleetWakuTestJson, map[string]*bintree{}},
"les-enabled.json": &bintree{ConfigCliLesEnabledJson, map[string]*bintree{}},
"mailserver-enabled.json": &bintree{ConfigCliMailserverEnabledJson, map[string]*bintree{}},
}},
"status-chain-genesis.json": {ConfigStatusChainGenesisJson, map[string]*bintree{}},
"status-chain-genesis.json": &bintree{ConfigStatusChainGenesisJson, map[string]*bintree{}},
}},
}},
"emojis.txt": {emojisTxt, map[string]*bintree{}},
"keys": {nil, map[string]*bintree{
"bootnode.key": {keysBootnodeKey, map[string]*bintree{}},
"firebaseauthkey": {keysFirebaseauthkey, map[string]*bintree{}},
"test-account1-status-chain.pk": {keysTestAccount1StatusChainPk, map[string]*bintree{}},
"test-account1.pk": {keysTestAccount1Pk, map[string]*bintree{}},
"test-account2-status-chain.pk": {keysTestAccount2StatusChainPk, map[string]*bintree{}},
"test-account2.pk": {keysTestAccount2Pk, map[string]*bintree{}},
"test-account3-before-eip55.pk": {keysTestAccount3BeforeEip55Pk, map[string]*bintree{}},
"emojis.txt": &bintree{emojisTxt, map[string]*bintree{}},
"keys": &bintree{nil, map[string]*bintree{
"bootnode.key": &bintree{keysBootnodeKey, map[string]*bintree{}},
"firebaseauthkey": &bintree{keysFirebaseauthkey, map[string]*bintree{}},
"test-account1-status-chain.pk": &bintree{keysTestAccount1StatusChainPk, map[string]*bintree{}},
"test-account1.pk": &bintree{keysTestAccount1Pk, map[string]*bintree{}},
"test-account2-status-chain.pk": &bintree{keysTestAccount2StatusChainPk, map[string]*bintree{}},
"test-account2.pk": &bintree{keysTestAccount2Pk, map[string]*bintree{}},
"test-account3-before-eip55.pk": &bintree{keysTestAccount3BeforeEip55Pk, map[string]*bintree{}},
}},
}}
@ -736,7 +729,7 @@ func RestoreAsset(dir, name string) error {
if err != nil {
return err
}
err = os.WriteFile(_filePath(dir, name), data, info.Mode())
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
if err != nil {
return err
}

View File

@ -324,6 +324,8 @@ func (w *Waku) getDiscV5BootstrapNodes(ctx context.Context, addresses []string)
mu := sync.Mutex{}
var result []*enode.Node
w.seededBootnodesForDiscV5 = true
retrieveENR := func(d dnsdisc.DiscoveredNode, wg *sync.WaitGroup) {
mu.Lock()
defer mu.Unlock()
@ -343,7 +345,11 @@ func (w *Waku) getDiscV5BootstrapNodes(ctx context.Context, addresses []string)
wg.Add(1)
go func(addr string) {
defer wg.Done()
w.dnsDiscover(ctx, addr, retrieveENR)
if err := w.dnsDiscover(ctx, addr, retrieveENR); err != nil {
mu.Lock()
w.seededBootnodesForDiscV5 = false
mu.Unlock()
}
}(addrString)
} else {
// It's a normal enr
@ -356,14 +362,12 @@ func (w *Waku) getDiscV5BootstrapNodes(ctx context.Context, addresses []string)
}
wg.Wait()
w.seededBootnodesForDiscV5 = len(result) > 0
return result, nil
}
type fnApplyToEachPeer func(d dnsdisc.DiscoveredNode, wg *sync.WaitGroup)
func (w *Waku) dnsDiscover(ctx context.Context, enrtreeAddress string, apply fnApplyToEachPeer) {
func (w *Waku) dnsDiscover(ctx context.Context, enrtreeAddress string, apply fnApplyToEachPeer) error {
w.logger.Info("retrieving nodes", zap.String("enr", enrtreeAddress))
ctx, cancel := context.WithTimeout(ctx, requestTimeout)
defer cancel()
@ -387,7 +391,7 @@ func (w *Waku) dnsDiscover(ctx context.Context, enrtreeAddress string, apply fnA
discoveredNodes, err := dnsdisc.RetrieveNodes(ctx, enrtreeAddress, opts...)
if err != nil {
w.logger.Warn("dns discovery error ", zap.Error(err))
return
return err
}
if len(discoveredNodes) != 0 {
@ -402,6 +406,8 @@ func (w *Waku) dnsDiscover(ctx context.Context, enrtreeAddress string, apply fnA
apply(d, wg)
}
wg.Wait()
return nil
}
func (w *Waku) discoverAndConnectPeers() error {
@ -416,7 +422,11 @@ func (w *Waku) discoverAndConnectPeers() error {
addrString := addrString
if strings.HasPrefix(addrString, "enrtree://") {
// Use DNS Discovery
go w.dnsDiscover(w.ctx, addrString, fnApply)
go func() {
if err := w.dnsDiscover(w.ctx, addrString, fnApply); err != nil {
w.logger.Error("could not obtain dns discovery peers for ClusterConfig.WakuNodes", zap.Error(err), zap.String("dnsDiscURL", addrString))
}
}()
} else {
// It is a normal multiaddress
addr, err := multiaddr.NewMultiaddr(addrString)