Skip to content
Snippets Groups Projects
Commit 016721a1 authored by Hans Moog's avatar Hans Moog
Browse files

Feat: valuetransfers store input now

parent 6db939fd
No related branches found
No related tags found
No related merge requests found
package valuetransfer package valuetransfer
import ( import (
"sync"
"github.com/iotaledger/goshimmer/packages/binary/address" "github.com/iotaledger/goshimmer/packages/binary/address"
"github.com/iotaledger/goshimmer/packages/binary/transaction"
"github.com/iotaledger/goshimmer/packages/binary/transaction/payload" "github.com/iotaledger/goshimmer/packages/binary/transaction/payload"
"github.com/iotaledger/goshimmer/packages/ledgerstate/transfer"
) )
type ValueTransfer struct{} type ValueTransfer struct {
inputs []*transfer.OutputReference
inputsMutex sync.RWMutex
}
var Type = payload.Type(1) var Type = payload.Type(1)
func New() *ValueTransfer { func New() *ValueTransfer {
return &ValueTransfer{} return &ValueTransfer{
inputs: make([]*transfer.OutputReference, 0),
}
} }
func (valueTransfer *ValueTransfer) AddInput(transaction transaction.Id, address address.Address) *ValueTransfer { func (valueTransfer *ValueTransfer) AddInput(transferHash transfer.Hash, address address.Address) *ValueTransfer {
valueTransfer.inputsMutex.Lock()
valueTransfer.inputs = append(valueTransfer.inputs, transfer.NewOutputReference(transferHash, address))
valueTransfer.inputsMutex.Unlock()
return valueTransfer return valueTransfer
} }
......
...@@ -4,6 +4,8 @@ import ( ...@@ -4,6 +4,8 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/iotaledger/goshimmer/packages/ledgerstate/transfer"
"github.com/iotaledger/goshimmer/packages/binary/transaction" "github.com/iotaledger/goshimmer/packages/binary/transaction"
"github.com/iotaledger/goshimmer/packages/binary/address" "github.com/iotaledger/goshimmer/packages/binary/address"
...@@ -17,7 +19,7 @@ func TestNew(t *testing.T) { ...@@ -17,7 +19,7 @@ func TestNew(t *testing.T) {
newTransaction1 := transaction.New(transaction.EmptyId, transaction.EmptyId, identity.Generate(), data.New([]byte("test"))) newTransaction1 := transaction.New(transaction.EmptyId, transaction.EmptyId, identity.Generate(), data.New([]byte("test")))
assert.Equal(t, newTransaction1.VerifySignature(), true) assert.Equal(t, newTransaction1.VerifySignature(), true)
valueTransfer := valuetransfer.New().AddInput(transaction.EmptyId, address.Random()) valueTransfer := valuetransfer.New().AddInput(transfer.NewHash("test"), address.Random())
newValueTransaction1 := transaction.New(transaction.EmptyId, transaction.EmptyId, identity.Generate(), valueTransfer) newValueTransaction1 := transaction.New(transaction.EmptyId, transaction.EmptyId, identity.Generate(), valueTransfer)
assert.Equal(t, newValueTransaction1.VerifySignature(), true) assert.Equal(t, newValueTransaction1.VerifySignature(), true)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment