1 // Code generated by github.com/atombender/go-jsonschema, DO NOT EDIT.
9 // List of addresses to listen on for libp2p traffic.
10 ListenAddresses
[]string `json:"listenAddresses,omitempty"`
12 // Trusted peers in the network.
13 Peers
[]ConfigPeersElem
`json:"peers,omitempty"`
15 // This node's private key.
16 PrivateKey
string `json:"privateKey"`
18 // The services this node provides via the Service Network.
19 Services ConfigServices
`json:"services,omitempty"`
22 type ConfigPeersElem
struct {
23 // PeerID of this peer.
26 // Friendly name for this peer. (optional)
27 Name
string `json:"name,omitempty"`
29 // Networks to route to this peer. (optional)
30 Routes
[]ConfigPeersElemRoutesElem
`json:"routes,omitempty"`
33 type ConfigPeersElemRoutesElem
struct {
34 // Network specification.
35 Net
string `json:"net"`
38 // UnmarshalJSON implements json.Unmarshaler.
39 func (j
*ConfigPeersElemRoutesElem
) UnmarshalJSON(b
[]byte) error
{
40 var raw
map[string]interface{}
41 if err
:= json
.Unmarshal(b
, &raw
); err
!= nil {
44 if _
, ok
:= raw
["net"]; raw
!= nil && !ok
{
45 return fmt
.Errorf("field net in ConfigPeersElemRoutesElem: required")
47 type Plain ConfigPeersElemRoutesElem
49 if err
:= json
.Unmarshal(b
, &plain
); err
!= nil {
52 *j
= ConfigPeersElemRoutesElem(plain
)
56 // UnmarshalJSON implements json.Unmarshaler.
57 func (j
*ConfigPeersElem
) UnmarshalJSON(b
[]byte) error
{
58 var raw
map[string]interface{}
59 if err
:= json
.Unmarshal(b
, &raw
); err
!= nil {
62 if _
, ok
:= raw
["id"]; raw
!= nil && !ok
{
63 return fmt
.Errorf("field id in ConfigPeersElem: required")
65 type Plain ConfigPeersElem
67 if err
:= json
.Unmarshal(b
, &plain
); err
!= nil {
70 if v
, ok
:= raw
["name"]; !ok || v
== nil {
73 if v
, ok
:= raw
["routes"]; !ok || v
== nil {
74 plain
.Routes
= []ConfigPeersElemRoutesElem
{}
76 *j
= ConfigPeersElem(plain
)
80 // The services this node provides via the Service Network.
81 type ConfigServices
map[string]string
83 // UnmarshalJSON implements json.Unmarshaler.
84 func (j
*Config
) UnmarshalJSON(b
[]byte) error
{
85 var raw
map[string]interface{}
86 if err
:= json
.Unmarshal(b
, &raw
); err
!= nil {
89 if _
, ok
:= raw
["privateKey"]; raw
!= nil && !ok
{
90 return fmt
.Errorf("field privateKey in Config: required")
94 if err
:= json
.Unmarshal(b
, &plain
); err
!= nil {
97 if v
, ok
:= raw
["listenAddresses"]; !ok || v
== nil {
98 plain
.ListenAddresses
= []string{
99 "/ip4/0.0.0.0/tcp/8001",
100 "/ip4/0.0.0.0/udp/8001/quic-v1",
102 "/ip6/::/udp/8001/quic-v1",
105 if v
, ok
:= raw
["peers"]; !ok || v
== nil {
106 plain
.Peers
= []ConfigPeersElem
{}
108 if v
, ok
:= raw
["services"]; !ok || v
== nil {
109 plain
.Services
= map[string]string{}