2021-02-17 18:00:16 +02:00

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 uint16, 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 uint16, 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,
}
}