diff --git a/serialization.go b/serialization.go deleted file mode 100644 index 5a92a434f..000000000 --- a/serialization.go +++ /dev/null @@ -1,63 +0,0 @@ -package main - -import ( - "math" - "bytes" -) - -func ToBinary(x int, bytes int) string { - if bytes == 0 { - return "" - } else { - return ToBinary(int(x / 256), bytes - 1) + string(x % 256) - } -} - -func NumToVarInt(x int) string { - if x < 253 { - return string(x) - } else if x < int(math.Pow(2,16)) { - return string(253) + ToBinary(x, 2) - } else if x < int(math.Pow(2,32)) { - return string(253) + ToBinary(x, 4) - } else { - return string(253) + ToBinary(x, 8) - } -} - -func RlpEncode(object interface{}) string { - if str, ok := object.(string); ok { - return "\x00" + NumToVarInt(len(str)) + str - } else if num, ok := object.(uint32); ok { - return RlpEncode(Uitoa(num)) - } else if byt, ok := object.([]byte); ok { - return RlpEncode(string(byt)) - } else if slice, ok := object.([]interface{}); ok { - var buffer bytes.Buffer - for _, val := range slice { - if v, ok := val.(string); ok { - buffer.WriteString(RlpEncode(v)) - } else { - buffer.WriteString(RlpEncode(val)) - } - } - - return "\x01" + RlpEncode(len(buffer.String())) + buffer.String() - } else if slice, ok := object.([]string); ok { - - // FIXME this isn't dry. Fix this - var buffer bytes.Buffer - for _, val := range slice { - buffer.WriteString(RlpEncode(val)) - } - return "\x01" + RlpEncode(len(buffer.String())) + buffer.String() - } - - return "" -} - -type RlpSerializer interface { - MarshalRlp() []byte - UnmarshalRlp([]byte) -} - diff --git a/serialization_test.go b/serialization_test.go deleted file mode 100644 index adb1b6e2d..000000000 --- a/serialization_test.go +++ /dev/null @@ -1,20 +0,0 @@ -package main - -import ( - "testing" - "fmt" -) - -func TestRlpEncode(t *testing.T) { - strRes := "\x00\x03dog" - str := RlpEncode("dog") - if str != strRes { - t.Error(fmt.Sprintf("Expected %q, got %q", strRes, str)) - } - - sliceRes := "\x01\x00\x03dog\x00\x03god\x00\x03cat" - slice := RlpEncode([]string{"dog", "god", "cat"}) - if slice != sliceRes { - t.Error(fmt.Sprintf("Expected %q, got %q", sliceRes, slice)) - } -}