mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00
34 lines
851 B
Go
34 lines
851 B
Go
package integration
|
|
|
|
import (
|
|
"math/rand"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/kaspanet/kaspad/app/appmessage"
|
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
"github.com/kaspanet/kaspad/domain/consensus/utils/mining"
|
|
)
|
|
|
|
func mineNextBlock(t *testing.T, harness *appHarness) *externalapi.DomainBlock {
|
|
blockTemplate, err := harness.rpcClient.GetBlockTemplate(harness.miningAddress, "integration")
|
|
if err != nil {
|
|
t.Fatalf("Error getting block template: %+v", err)
|
|
}
|
|
|
|
block, err := appmessage.RPCBlockToDomainBlock(blockTemplate.Block)
|
|
if err != nil {
|
|
t.Fatalf("Error converting block: %s", err)
|
|
}
|
|
|
|
rd := rand.New(rand.NewSource(time.Now().UnixNano()))
|
|
mining.SolveBlock(block, rd)
|
|
|
|
_, err = harness.rpcClient.SubmitBlockAlsoIfNonDAA(block)
|
|
if err != nil {
|
|
t.Fatalf("Error submitting block: %s", err)
|
|
}
|
|
|
|
return block
|
|
}
|