• Levin Zimmermann's avatar
    go/neo/proto: Fix KnownMasterList nesting · 30c69d9a
    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
    18287612 for a similar issue.
    
    /reviewed-by @kirr
    /reviewed-on kirr/neo!6
    30c69d9a
zproto-marshal.go 269 KB