Skip to content
Snippets Groups Projects
Select Git revision
  • 3005ebb150db487f4528c30c6331b0ee996e7765
  • develop default protected
  • congestioncontrol
  • merge-v-data-collection-spammer-0.8.2
  • WIP-merge-v-data-collection-spammer-0.8.2
  • merge-v-data-collection-spammer-0.7.7
  • tmp
  • test-masterpow-fixing
  • test-masterpow
  • test-echo
  • v-data-collection
  • v-data-collection-spammer
  • tmp-dump-spam-info
  • dump-msg-info-0.3.1
  • test-dump-message-info
  • spammer-exprandom
  • extra/tutorial
  • without_tipselection
  • hacking-docker-network
  • hacking-docker-network-0.2.3
  • master
  • v0.2.3
22 results

signatures_test.go

Blame
  • signatures_test.go 1.46 KiB
    package transaction
    
    import (
    	"testing"
    
    	"github.com/iotaledger/hive.go/crypto/ed25519"
    	"github.com/stretchr/testify/assert"
    
    	"github.com/iotaledger/goshimmer/packages/binary/valuetransfer/address"
    	"github.com/iotaledger/goshimmer/packages/binary/valuetransfer/address/signaturescheme"
    )
    
    func TestSignatures(t *testing.T) {
    	dataToSign := []byte("test")
    
    	address1SigScheme := signaturescheme.ED25519(ed25519.GenerateKeyPair())
    	address2SigScheme := signaturescheme.ED25519(ed25519.GenerateKeyPair())
    	address3SigScheme := signaturescheme.RandBLS()
    
    	signatures := NewSignatures()
    	signatures.Add(address1SigScheme.Address(), address1SigScheme.Sign(dataToSign))
    	signatures.Add(address2SigScheme.Address(), address2SigScheme.Sign(dataToSign))
    	signatures.Add(address3SigScheme.Address(), address3SigScheme.Sign(dataToSign))
    
    	assert.Equal(t, 3, signatures.Size())
    
    	signatures.Add(address1SigScheme.Address(), address1SigScheme.Sign(dataToSign))
    
    	assert.Equal(t, 3, signatures.Size())
    
    	signatures.ForEach(func(address address.Address, signature signaturescheme.Signature) bool {
    		assert.Equal(t, true, signature.IsValid(dataToSign))
    
    		return true
    	})
    
    	clonedSignatures, err, _ := SignaturesFromBytes(signatures.Bytes())
    	if err != nil {
    		t.Error(err)
    
    		return
    	}
    
    	assert.Equal(t, 3, clonedSignatures.Size())
    
    	clonedSignatures.ForEach(func(address address.Address, signature signaturescheme.Signature) bool {
    		assert.Equal(t, true, signature.IsValid(dataToSign))
    
    		return true
    	})
    }