mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-25 16:26:48 +00:00

* Replace default hasher (Double-SHA256) with domain seperated blake2b * Replace all hashes with domain seperated blake2b * Update the genesis blocks * Replace OP_HASH256 with OP_BLAKE2B * Fix the merkle tree by appending zeros instead of duplicating the hash when there is 1 branch left * Update tests * Add a payloadHash function * Update gitignore to ignore binaries * Fix a bug in the blake2b opcode
44 lines
1.4 KiB
Go
44 lines
1.4 KiB
Go
package transactionhelper
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
"github.com/kaspanet/kaspad/domain/consensus/utils/hashes"
|
|
"github.com/kaspanet/kaspad/domain/consensus/utils/subnetworks"
|
|
)
|
|
|
|
// NewSubnetworkTransaction returns a new trsnactions in the specified subnetwork with specified gas and payload
|
|
func NewSubnetworkTransaction(version int32, inputs []*externalapi.DomainTransactionInput,
|
|
outputs []*externalapi.DomainTransactionOutput, subnetworkID *externalapi.DomainSubnetworkID,
|
|
gas uint64, payload []byte) *externalapi.DomainTransaction {
|
|
|
|
payloadHash := hashes.PayloadHash(payload)
|
|
return &externalapi.DomainTransaction{
|
|
Version: version,
|
|
Inputs: inputs,
|
|
Outputs: outputs,
|
|
LockTime: 0,
|
|
SubnetworkID: *subnetworkID,
|
|
Gas: gas,
|
|
PayloadHash: *payloadHash,
|
|
Payload: payload,
|
|
Fee: 0,
|
|
Mass: 0,
|
|
}
|
|
}
|
|
|
|
// NewNativeTransaction returns a new native transaction
|
|
func NewNativeTransaction(version int32, inputs []*externalapi.DomainTransactionInput,
|
|
outputs []*externalapi.DomainTransactionOutput) *externalapi.DomainTransaction {
|
|
return &externalapi.DomainTransaction{
|
|
Version: version,
|
|
Inputs: inputs,
|
|
Outputs: outputs,
|
|
LockTime: 0,
|
|
SubnetworkID: subnetworks.SubnetworkIDNative,
|
|
Gas: 0,
|
|
Payload: []byte{},
|
|
Fee: 0,
|
|
Mass: 0,
|
|
}
|
|
}
|