Skip to content

Commit

Permalink
Merge branch 'develop' into FD-75
Browse files Browse the repository at this point in the history
# Conflicts:
#	state/authority_test.go
#	state/identityUtils.go
  • Loading branch information
ThePiachu committed May 26, 2017
2 parents 56a3043 + 0087658 commit 00440db
Show file tree
Hide file tree
Showing 81 changed files with 3,203 additions and 1,282 deletions.
44 changes: 25 additions & 19 deletions common/adminBlock/EntryAddAuditServer.go
@@ -1,7 +1,6 @@
package adminBlock

import (
"encoding/binary"
"fmt"

"github.com/FactomProject/factomd/common/constants"
Expand Down Expand Up @@ -59,45 +58,52 @@ func (e *AddAuditServer) Type() byte {
return constants.TYPE_ADD_AUDIT_SERVER
}

func (e *AddAuditServer) MarshalBinary() (data []byte, err error) {
func (e *AddAuditServer) MarshalBinary() ([]byte, error) {
e.Init()
var buf primitives.Buffer

buf.Write([]byte{e.Type()})
err := buf.PushByte(e.Type())
if err != nil {
return nil, err
}

data, err = e.IdentityChainID.MarshalBinary()
err = buf.PushBinaryMarshallable(e.IdentityChainID)
if err != nil {
return nil, err
}
buf.Write(data)

binary.Write(&buf, binary.BigEndian, e.DBHeight)
err = buf.PushUInt32(e.DBHeight)
if err != nil {
return nil, err
}

return buf.DeepCopyBytes(), nil
}

func (e *AddAuditServer) UnmarshalBinaryData(data []byte) (newData []byte, err error) {
defer func() {
if r := recover(); r != nil {
err = fmt.Errorf("Error unmarshalling Add Federated Server Entry: %v", r)
}
}()
func (e *AddAuditServer) UnmarshalBinaryData(data []byte) ([]byte, error) {
buf := primitives.NewBuffer(data)

b, err := buf.PopByte()
if err != nil {
return nil, err
}

newData = data
if newData[0] != e.Type() {
if b != e.Type() {
return nil, fmt.Errorf("Invalid Entry type")
}
newData = newData[1:]

e.IdentityChainID = new(primitives.Hash)
newData, err = e.IdentityChainID.UnmarshalBinaryData(newData)
err = buf.PopBinaryMarshallable(e.IdentityChainID)
if err != nil {
panic(err.Error())
return nil, err
}

e.DBHeight, newData = binary.BigEndian.Uint32(newData[0:4]), newData[4:]
e.DBHeight, err = buf.PopUInt32()
if err != nil {
return nil, err
}

return
return buf.DeepCopyBytes(), nil
}

func (e *AddAuditServer) UnmarshalBinary(data []byte) (err error) {
Expand Down
44 changes: 21 additions & 23 deletions common/adminBlock/EntryAddFederatedServer.go
@@ -1,7 +1,6 @@
package adminBlock

import (
"encoding/binary"
"fmt"

"github.com/FactomProject/factomd/common/constants"
Expand Down Expand Up @@ -60,45 +59,44 @@ func (e *AddFederatedServer) Type() byte {
return constants.TYPE_ADD_FED_SERVER
}

func (e *AddFederatedServer) MarshalBinary() (data []byte, err error) {
func (e *AddFederatedServer) MarshalBinary() ([]byte, error) {
e.Init()
var buf primitives.Buffer

buf.Write([]byte{e.Type()})

data, err = e.IdentityChainID.MarshalBinary()
err := buf.PushByte(e.Type())
if err != nil {
return nil, err
}
err = buf.PushBinaryMarshallable(e.IdentityChainID)
if err != nil {
return nil, err
}
err = buf.PushUInt32(e.DBHeight)
if err != nil {
return nil, err
}
buf.Write(data)

binary.Write(&buf, binary.BigEndian, e.DBHeight)

return buf.DeepCopyBytes(), nil
}

func (e *AddFederatedServer) UnmarshalBinaryData(data []byte) (newData []byte, err error) {
defer func() {
if r := recover(); r != nil {
err = fmt.Errorf("Error unmarshalling Add Federated Server Entry: %v", r)
}
}()

newData = data
if newData[0] != e.Type() {
func (e *AddFederatedServer) UnmarshalBinaryData(data []byte) ([]byte, error) {
buf := primitives.NewBuffer(data)
b, err := buf.PopByte()
if b != e.Type() {
return nil, fmt.Errorf("Invalid Entry type")
}
newData = newData[1:]

e.IdentityChainID = new(primitives.Hash)
newData, err = e.IdentityChainID.UnmarshalBinaryData(newData)
err = buf.PopBinaryMarshallable(e.IdentityChainID)
if err != nil {
panic(err.Error())
return nil, err
}
e.DBHeight, err = buf.PopUInt32()
if err != nil {
return nil, err
}

e.DBHeight, newData = binary.BigEndian.Uint32(newData[0:4]), newData[4:]

return
return buf.DeepCopyBytes(), nil
}

func (e *AddFederatedServer) UnmarshalBinary(data []byte) (err error) {
Expand Down
59 changes: 31 additions & 28 deletions common/adminBlock/EntryAddFederatedServerBitcoinAnchorKey.go
Expand Up @@ -61,57 +61,60 @@ func (e *AddFederatedServerBitcoinAnchorKey) MarshalBinary() ([]byte, error) {
e.Init()
var buf primitives.Buffer

buf.Write([]byte{e.Type()})

data, err := e.IdentityChainID.MarshalBinary()
err := buf.PushByte(e.Type())
if err != nil {
return nil, err
}
buf.Write(data)

buf.Write([]byte{e.KeyPriority})
buf.Write([]byte{e.KeyType})

data, err = e.ECDSAPublicKey.MarshalBinary()
err = buf.PushBinaryMarshallable(e.IdentityChainID)
if err != nil {
return nil, err
}
err = buf.PushByte(e.KeyPriority)
if err != nil {
return nil, err
}
err = buf.PushByte(e.KeyType)
if err != nil {
return nil, err
}
err = buf.PushBinaryMarshallable(&e.ECDSAPublicKey)
if err != nil {
return nil, err
}
buf.Write(data)

return buf.DeepCopyBytes(), nil
}

func (e *AddFederatedServerBitcoinAnchorKey) UnmarshalBinaryData(data []byte) (newData []byte, err error) {
defer func() {
if r := recover(); r != nil {
err = fmt.Errorf("Error unmarshalling Add Federated Server Bitcoin Anchor Key: %v", r)
}
}()

newData = data
if newData[0] != e.Type() {
func (e *AddFederatedServerBitcoinAnchorKey) UnmarshalBinaryData(data []byte) ([]byte, error) {
buf := primitives.NewBuffer(data)
b, err := buf.PopByte()
if b != e.Type() {
return nil, fmt.Errorf("Invalid Entry type")
}
newData = newData[1:]

e.IdentityChainID = new(primitives.Hash)
newData, err = e.IdentityChainID.UnmarshalBinaryData(newData)
err = buf.PopBinaryMarshallable(e.IdentityChainID)
if err != nil {
return
return nil, err
}
e.KeyPriority, err = buf.PopByte()
if err != nil {
return nil, err
}
e.KeyType, err = buf.PopByte()
if err != nil {
return nil, err
}

e.KeyPriority, newData = newData[0], newData[1:]
e.KeyType, newData = newData[0], newData[1:]
if e.KeyType != 0 && e.KeyType != 1 {
return nil, fmt.Errorf("Invalid KeyType")
}

newData, err = e.ECDSAPublicKey.UnmarshalBinaryData(newData)
err = buf.PopBinaryMarshallable(&e.ECDSAPublicKey)
if err != nil {
return
return nil, err
}

return
return buf.DeepCopyBytes(), nil
}

func (e *AddFederatedServerBitcoinAnchorKey) UnmarshalBinary(data []byte) (err error) {
Expand Down
60 changes: 28 additions & 32 deletions common/adminBlock/EntryAddFederatedServerSigningKey.go
@@ -1,7 +1,6 @@
package adminBlock

import (
"encoding/binary"
"fmt"

"github.com/FactomProject/factomd/common/constants"
Expand Down Expand Up @@ -62,56 +61,53 @@ func (e *AddFederatedServerSigningKey) MarshalBinary() ([]byte, error) {
e.Init()
var buf primitives.Buffer

buf.Write([]byte{e.Type()})

data, err := e.IdentityChainID.MarshalBinary()
err := buf.PushByte(e.Type())
if err != nil {
return nil, err
}
buf.Write(data)

buf.Write([]byte{e.KeyPriority})

data, err = e.PublicKey.MarshalBinary()
err = buf.PushBinaryMarshallable(e.IdentityChainID)
if err != nil {
return nil, err
}
err = buf.PushByte(e.KeyPriority)
if err != nil {
return nil, err
}
err = buf.PushBinaryMarshallable(&e.PublicKey)
if err != nil {
return nil, err
}
err = buf.PushUInt32(e.DBHeight)
if err != nil {
return nil, err
}
buf.Write(data)

binary.Write(&buf, binary.BigEndian, e.DBHeight)

return buf.DeepCopyBytes(), nil
}

func (e *AddFederatedServerSigningKey) UnmarshalBinaryData(data []byte) (newData []byte, err error) {
defer func() {
if r := recover(); r != nil {
err = fmt.Errorf("Error unmarshalling Add Federated server Signing Key Entry: %v", r)
}
}()

newData = data
if newData[0] != e.Type() {
func (e *AddFederatedServerSigningKey) UnmarshalBinaryData(data []byte) ([]byte, error) {
buf := primitives.NewBuffer(data)
b, err := buf.PopByte()
if b != e.Type() {
return nil, fmt.Errorf("Invalid Entry type")
}
newData = newData[1:]

e.IdentityChainID = new(primitives.Hash)
newData, err = e.IdentityChainID.UnmarshalBinaryData(newData)
err = buf.PopBinaryMarshallable(e.IdentityChainID)
if err != nil {
return
return nil, err
}

e.KeyPriority, newData = newData[0], newData[1:]

newData, err = e.PublicKey.UnmarshalBinaryData(newData)
e.KeyPriority, err = buf.PopByte()
err = buf.PopBinaryMarshallable(&e.PublicKey)
if err != nil {
return nil, err
}
e.DBHeight, err = buf.PopUInt32()
if err != nil {
return
return nil, err
}

e.DBHeight, newData = binary.BigEndian.Uint32(newData[0:4]), newData[4:]

return
return buf.DeepCopyBytes(), nil
}

func (e *AddFederatedServerSigningKey) UnmarshalBinary(data []byte) (err error) {
Expand Down

0 comments on commit 00440db

Please sign in to comment.