• Levin Zimmermann's avatar
    go/neo/proto: Fix KnownMasterList nesting · dc844465
    Levin Zimmermann authored
    Before this patch, the 'KnownMasterList' field of the 'NotPrimaryMaster'
    was expected to be structured in the following way:
    
    	ArrayHeader (KnownMasterList)
    
    	    ArrayHeader (KnownMaster)
    
    		ArrayHeader (Address)
    
    		    Host (string)
    		    Port (uint16)
    
    However NEO/py sends the following structure:
    
    	ArrayHeader (KnownMasterList)
    
    	    ArrayHeader (Address)
    
    		Host (string)
    		Port (uint16)
    
    This also makes sense, as 'KnownMaster' doesn't need to add another
    nesting, because it only includes the address.
    
    This patch amends the NEO/go protocol definition to transparently
    represent the nesting as it's send by NEO/py. See also
    levin.zimmermann/neoppod@18287612 for a similar issue.
    
    ----
    kirr: tests currently live only on t branch.
    
    /reviewed-by @kirr
    /reviewed-on !6
    dc844465
zproto-marshal.go 269 KB