mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-09-14 13:30:11 +00:00
103 lines
2.9 KiB
Go
103 lines
2.9 KiB
Go
package consensushashing
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
"github.com/kaspanet/kaspad/domain/consensus/utils/subnetworks"
|
|
)
|
|
|
|
func TestTransactionHash(t *testing.T) {
|
|
tx := externalapi.DomainTransaction{0, []*externalapi.DomainTransactionInput{}, []*externalapi.DomainTransactionOutput{}, 0,
|
|
externalapi.DomainSubnetworkID{}, 0, []byte{}, 0, 0,
|
|
nil}
|
|
id := TransactionID(&tx)
|
|
fmt.Printf("%s\n", id)
|
|
tx_hash := TransactionHash(&tx)
|
|
fmt.Printf("%s\n\n", tx_hash)
|
|
|
|
inputs := []*externalapi.DomainTransactionInput{&externalapi.DomainTransactionInput{
|
|
PreviousOutpoint: externalapi.DomainOutpoint{
|
|
TransactionID: externalapi.DomainTransactionID{},
|
|
Index: 2,
|
|
},
|
|
SignatureScript: []byte{1, 2},
|
|
Sequence: 7,
|
|
SigOpCount: 5,
|
|
UTXOEntry: nil,
|
|
}}
|
|
|
|
tx = externalapi.DomainTransaction{1, inputs, []*externalapi.DomainTransactionOutput{}, 0,
|
|
externalapi.DomainSubnetworkID{}, 0, []byte{}, 0, 0,
|
|
nil}
|
|
id = TransactionID(&tx)
|
|
fmt.Printf("%s\n", id)
|
|
tx_hash = TransactionHash(&tx)
|
|
fmt.Printf("%s\n\n", tx_hash)
|
|
|
|
outputs := []*externalapi.DomainTransactionOutput{&externalapi.DomainTransactionOutput{
|
|
Value: 1564,
|
|
ScriptPublicKey: &externalapi.ScriptPublicKey{
|
|
Script: []byte{1, 2, 3, 4, 5},
|
|
Version: 7,
|
|
},
|
|
}}
|
|
|
|
tx = externalapi.DomainTransaction{1, inputs, outputs, 0,
|
|
externalapi.DomainSubnetworkID{}, 0, []byte{}, 0, 0,
|
|
nil}
|
|
id = TransactionID(&tx)
|
|
fmt.Printf("%s\n", id)
|
|
tx_hash = TransactionHash(&tx)
|
|
fmt.Printf("%s\n\n", tx_hash)
|
|
|
|
tx = externalapi.DomainTransaction{2, inputs, outputs, 54,
|
|
externalapi.DomainSubnetworkID{}, 3, []byte{}, 4, 7,
|
|
nil}
|
|
id = TransactionID(&tx)
|
|
fmt.Printf("%s\n", id)
|
|
tx_hash = TransactionHash(&tx)
|
|
fmt.Printf("%s\n\n", tx_hash)
|
|
|
|
transactionId, err := externalapi.NewDomainHashFromString("59b3d6dc6cdc660c389c3fdb5704c48c598d279cdf1bab54182db586a4c95dd5")
|
|
if err != nil {
|
|
t.Fatalf("%s", err)
|
|
}
|
|
|
|
inputs = []*externalapi.DomainTransactionInput{&externalapi.DomainTransactionInput{
|
|
PreviousOutpoint: externalapi.DomainOutpoint{
|
|
TransactionID: externalapi.DomainTransactionID(*transactionId),
|
|
Index: 2,
|
|
},
|
|
SignatureScript: []byte{1, 2},
|
|
Sequence: 7,
|
|
SigOpCount: 5,
|
|
UTXOEntry: nil,
|
|
}}
|
|
|
|
tx = externalapi.DomainTransaction{2, inputs, outputs, 54,
|
|
externalapi.DomainSubnetworkID{}, 3, []byte{}, 4, 7,
|
|
nil}
|
|
id = TransactionID(&tx)
|
|
fmt.Printf("%s\n", id)
|
|
tx_hash = TransactionHash(&tx)
|
|
fmt.Printf("%s\n\n", tx_hash)
|
|
|
|
tx = externalapi.DomainTransaction{2, inputs, outputs, 54,
|
|
subnetworks.SubnetworkIDCoinbase, 3, []byte{}, 4, 7,
|
|
nil}
|
|
id = TransactionID(&tx)
|
|
fmt.Printf("%s\n", id)
|
|
tx_hash = TransactionHash(&tx)
|
|
fmt.Printf("%s\n\n", tx_hash)
|
|
|
|
tx = externalapi.DomainTransaction{2, inputs, outputs, 54,
|
|
subnetworks.SubnetworkIDRegistry, 3, []byte{}, 4, 7,
|
|
nil}
|
|
id = TransactionID(&tx)
|
|
fmt.Printf("%s\n", id)
|
|
tx_hash = TransactionHash(&tx)
|
|
fmt.Printf("%s\n\n", tx_hash)
|
|
}
|