aboutsummaryrefslogtreecommitdiffstats
path: root/transaction.go
diff options
context:
space:
mode:
Diffstat (limited to 'transaction.go')
-rw-r--r--transaction.go16
1 files changed, 7 insertions, 9 deletions
diff --git a/transaction.go b/transaction.go
index 26d7df258..5a268b566 100644
--- a/transaction.go
+++ b/transaction.go
@@ -6,7 +6,6 @@ import (
"encoding/hex"
"crypto/sha256"
_ "bytes"
- "strconv"
)
/*
@@ -35,14 +34,17 @@ var Period3Reward *big.Int = new(big.Int)
var Period4Reward *big.Int = new(big.Int)
type Transaction struct {
+ RlpSerializer
+
sender string
recipient uint32
value uint32
fee uint32
data []string
memory []int
- signature string
+ // To be removed
+ signature string
addr string
}
@@ -61,18 +63,14 @@ func NewTransaction(to uint32, value uint32, data []string) *Transaction {
tx.data[i] = instr
}
- b:= []byte(tx.Serialize())
+ b:= []byte(tx.MarshalRlp())
hash := sha256.Sum256(b)
tx.addr = hex.EncodeToString(hash[0:19])
return &tx
}
-func Uitoa(i uint32) string {
- return strconv.FormatUint(uint64(i), 10)
-}
-
-func (tx *Transaction) Serialize() string {
+func (tx *Transaction) MarshalRlp() []byte {
// Prepare the transaction for serialization
preEnc := []interface{}{
"0", // TODO last Tx
@@ -84,7 +82,7 @@ func (tx *Transaction) Serialize() string {
tx.data,
}
- return RlpEncode(preEnc)
+ return []byte(RlpEncode(preEnc))
}
func InitFees() {