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

Feat: leaving office (sync repo)

parent fd142dcf
No related branches found
No related tags found
No related merge requests found
package value_transaction package value_transaction
import (
"strings"
"github.com/iotaledger/goshimmer/packages/ternary"
)
const ( const (
ADDRESS_OFFSET = 0 ADDRESS_OFFSET = 0
VALUE_OFFSET = ADDRESS_END VALUE_OFFSET = ADDRESS_END
...@@ -12,6 +18,7 @@ const ( ...@@ -12,6 +18,7 @@ const (
TIMESTAMP_SIZE = 27 TIMESTAMP_SIZE = 27
NONCE_SIZE = 81 NONCE_SIZE = 81
SIGNATURE_MESSAGE_FRAGMENT_SIZE = 6561 SIGNATURE_MESSAGE_FRAGMENT_SIZE = 6561
BUNDLE_ESSENCE_SIZE = ADDRESS_SIZE + VALUE_SIZE + SIGNATURE_MESSAGE_FRAGMENT_SIZE
ADDRESS_END = ADDRESS_OFFSET + ADDRESS_SIZE ADDRESS_END = ADDRESS_OFFSET + ADDRESS_SIZE
VALUE_END = VALUE_OFFSET + VALUE_SIZE VALUE_END = VALUE_OFFSET + VALUE_SIZE
...@@ -21,3 +28,7 @@ const ( ...@@ -21,3 +28,7 @@ const (
TOTAL_SIZE = SIGNATURE_MESSAGE_FRAGMENT_END TOTAL_SIZE = SIGNATURE_MESSAGE_FRAGMENT_END
) )
var (
EMPTY_SIGNATURE = ternary.Trytes(strings.Repeat("9", SIGNATURE_MESSAGE_FRAGMENT_SIZE/ternary.NUMBER_OF_TRITS_IN_A_TRYTE))
)
...@@ -192,15 +192,17 @@ func (this *ValueTransaction) SetTimestamp(timestamp uint) bool { ...@@ -192,15 +192,17 @@ func (this *ValueTransaction) SetTimestamp(timestamp uint) bool {
return false return false
} }
func (this *ValueTransaction) GetBundleEssence() (result ternary.Trytes) { func (this *ValueTransaction) GetBundleEssence() (result ternary.Trits) {
this.addressMutex.RLock() this.addressMutex.RLock()
this.valueMutex.RLock() this.valueMutex.RLock()
this.signatureMessageFragmentMutex.RLock() this.signatureMessageFragmentMutex.RLock()
result = make(ternary.Trits, BUNDLE_ESSENCE_SIZE)
copy(result[0:], this.trits[ADDRESS_OFFSET:VALUE_END])
if this.GetValue() < 0 { if this.GetValue() < 0 {
result = this.trits[ADDRESS_OFFSET:VALUE_END].ToTrytes() + this.trits[SIGNATURE_MESSAGE_FRAGMENT_OFFSET:SIGNATURE_MESSAGE_FRAGMENT_END].ToTrytes() copy(result[:VALUE_END], this.trits[SIGNATURE_MESSAGE_FRAGMENT_OFFSET:SIGNATURE_MESSAGE_FRAGMENT_END])
} else {
result = this.trits[ADDRESS_OFFSET:VALUE_END].ToTrytes()
} }
this.signatureMessageFragmentMutex.RUnlock() this.signatureMessageFragmentMutex.RUnlock()
......
package valuebundle
import (
"github.com/iotaledger/goshimmer/packages/curl"
)
const (
CURLP81_HASH_LENGTH = 243
CURLP81_ROUNDS = 81
)
var (
Hasher = curl.NewBatchHasher(CURLP81_HASH_LENGTH, CURLP81_ROUNDS)
)
...@@ -27,10 +27,5 @@ func (bundle *MetaBundle) GetHash() ternary.Trytes { ...@@ -27,10 +27,5 @@ func (bundle *MetaBundle) GetHash() ternary.Trytes {
} }
func CalculateBundleHash(transactions []*value_transaction.ValueTransaction) ternary.Trytes { func CalculateBundleHash(transactions []*value_transaction.ValueTransaction) ternary.Trytes {
transactions[0].GetAddress() return (<-Hasher.Hash(transactions[0].GetBundleEssence())).ToTrytes()
transactions[0].GetSignatureMessageFragment()
transactions[0].GetTimestamp()
transactions[0].GetValue()
//transactions[0].GetData()[value_transaction.SIGNATURE_MESSAGE_FRAGMENT_OFFSET]
return ternary.Trytes("A")
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment