From 49f4e2907a8f101cdb70478665886389a8ad1919 Mon Sep 17 00:00:00 2001 From: Nate Maninger Date: Thu, 29 Feb 2024 07:54:44 -0800 Subject: [PATCH 1/2] rhp4: rename netaddress to transport, add release string --- rhp/v4/encoding.go | 22 ++++++++++++---------- rhp/v4/rhp.go | 9 +++++---- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/rhp/v4/encoding.go b/rhp/v4/encoding.go index d95d5f71..efcd91f7 100644 --- a/rhp/v4/encoding.go +++ b/rhp/v4/encoding.go @@ -33,11 +33,12 @@ func (hp *HostPrices) DecodeFrom(d *types.Decoder) { // EncodeTo implements types.EncoderTo. func (hs HostSettings) EncodeTo(e *types.Encoder) { - e.Write(hs.Version[:]) - e.WritePrefix(len(hs.NetAddresses)) - for i := range hs.NetAddresses { - e.WriteString(hs.NetAddresses[i].Protocol) - e.WriteString(hs.NetAddresses[i].Address) + e.Write(hs.ProtocolVersion[:]) + e.WriteString(hs.Release) + e.WritePrefix(len(hs.Transports)) + for i := range hs.Transports { + e.WriteString(hs.Transports[i].Protocol) + e.WriteString(hs.Transports[i].Address) } hs.WalletAddress.EncodeTo(e) e.WriteBool(hs.AcceptingContracts) @@ -50,11 +51,12 @@ func (hs HostSettings) EncodeTo(e *types.Encoder) { // DecodeFrom implements types.DecoderFrom. func (hs *HostSettings) DecodeFrom(d *types.Decoder) { - d.Read(hs.Version[:]) - hs.NetAddresses = make([]NetAddress, d.ReadPrefix()) - for i := range hs.NetAddresses { - hs.NetAddresses[i].Protocol = d.ReadString() - hs.NetAddresses[i].Address = d.ReadString() + d.Read(hs.ProtocolVersion[:]) + hs.Release = d.ReadString() + hs.Transports = make([]Transport, d.ReadPrefix()) + for i := range hs.Transports { + hs.Transports[i].Protocol = d.ReadString() + hs.Transports[i].Address = d.ReadString() } hs.WalletAddress.DecodeFrom(d) hs.AcceptingContracts = d.ReadBool() diff --git a/rhp/v4/rhp.go b/rhp/v4/rhp.go index bc88a2b5..04053af8 100644 --- a/rhp/v4/rhp.go +++ b/rhp/v4/rhp.go @@ -22,8 +22,8 @@ func round4KiB(n uint64) uint64 { return (n + (1<<12 - 1)) &^ (1<<12 - 1) } -// A NetAddress is a pair of protocol and address that a host may be reached on. -type NetAddress struct { +// A Transport is a pair of protocol and address that a host may be reached on. +type Transport struct { Protocol string `json:"protocol"` Address string `json:"address"` } @@ -53,8 +53,9 @@ func (hp HostPrices) WriteSectorCost(sector []byte) types.Currency { // HostSettings specify the settings of a host. type HostSettings struct { - Version [3]uint8 `json:"version"` - NetAddresses []NetAddress `json:"netAddresses"` + ProtocolVersion [3]uint8 `json:"protocolVersion"` + Release string `json:"release"` + Transports []Transport `json:"transports"` WalletAddress types.Address `json:"walletAddress"` AcceptingContracts bool `json:"acceptingContracts"` MaxCollateral types.Currency `json:"maxCollateral"` From cb1df26ba257c856dcbea72cf3599e7370269f39 Mon Sep 17 00:00:00 2001 From: Nate Maninger Date: Thu, 29 Feb 2024 08:08:45 -0800 Subject: [PATCH 2/2] add release to rhp2 settings --- rhp/v2/rhp.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rhp/v2/rhp.go b/rhp/v2/rhp.go index 29727976..2adbefe8 100644 --- a/rhp/v2/rhp.go +++ b/rhp/v2/rhp.go @@ -75,6 +75,7 @@ type HostSettings struct { MaxEphemeralAccountBalance types.Currency `json:"maxephemeralaccountbalance"` RevisionNumber uint64 `json:"revisionnumber"` Version string `json:"version"` + Release string `json:"release"` SiaMuxPort string `json:"siamuxport"` } @@ -104,6 +105,7 @@ func (hs HostSettings) MarshalJSON() ([]byte, error) { "maxephemeralaccountbalance": hs.MaxEphemeralAccountBalance, "revisionnumber": hs.RevisionNumber, "version": hs.Version, + "release": hs.Release, "siamuxport": hs.SiaMuxPort, }) }