Skip to content

Commit

Permalink
Add PruningPointBlueWork.
Browse files Browse the repository at this point in the history
  • Loading branch information
stasatdaglabs committed Sep 5, 2021
1 parent 1a66498 commit 48182f6
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 17 deletions.
6 changes: 4 additions & 2 deletions app/appmessage/domainconverters.go
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,8 @@ func MsgPruningPointProofToDomainPruningPointProof(pruningPointProofMessage *Msg
headers[i] = BlockHeaderToDomainBlockHeader(header)
}
return &externalapi.PruningPointProof{
Headers: headers,
Headers: headers,
PruningPointBlueWork: pruningPointProofMessage.PruningPointBlueWork,
}
}

Expand All @@ -537,6 +538,7 @@ func DomainPruningPointProofToMsgPruningPointProof(pruningPointProof *externalap
headers[i] = DomainBlockHeaderToBlockHeader(header)
}
return &MsgPruningPointProof{
Headers: headers,
Headers: headers,
PruningPointBlueWork: pruningPointProof.PruningPointBlueWork,
}
}
10 changes: 7 additions & 3 deletions app/appmessage/p2p_msgpruningpointproof.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
package appmessage

import "math/big"

// MsgPruningPointProof represents a kaspa PruningPointProof message
type MsgPruningPointProof struct {
baseMessage

Headers []*MsgBlockHeader
Headers []*MsgBlockHeader
PruningPointBlueWork *big.Int
}

// Command returns the protocol command string for the message
Expand All @@ -13,8 +16,9 @@ func (msg *MsgPruningPointProof) Command() MessageCommand {
}

// NewMsgPruningPointProof returns a new MsgPruningPointProof.
func NewMsgPruningPointProof(headers []*MsgBlockHeader) *MsgPruningPointProof {
func NewMsgPruningPointProof(headers []*MsgBlockHeader, pruningPointBlueWork *big.Int) *MsgPruningPointProof {
return &MsgPruningPointProof{
Headers: headers,
Headers: headers,
PruningPointBlueWork: pruningPointBlueWork,
}
}
5 changes: 4 additions & 1 deletion domain/consensus/model/externalapi/pruning_point_proof.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package externalapi

import "math/big"

// PruningPointProof is the data structure holding the pruning point proof
type PruningPointProof struct {
Headers []BlockHeader
Headers []BlockHeader
PruningPointBlueWork *big.Int
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -255,4 +255,5 @@ message RequestPruningPointProofMessage {

message PruningPointProofMessage {
repeated BlockHeader headers = 1;
bytes pruningPointBlueWork = 2;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package protowire
import (
"github.com/kaspanet/kaspad/app/appmessage"
"github.com/pkg/errors"
"math/big"
)

func (x *KaspadMessage_PruningPointProof) toAppMessage() (appmessage.Message, error) {
Expand All @@ -23,7 +24,8 @@ func (x *KaspadMessage_PruningPointProof) toAppMessage() (appmessage.Message, er
}
}
return &appmessage.MsgPruningPointProof{
Headers: blockHeaders,
Headers: blockHeaders,
PruningPointBlueWork: big.NewInt(0).SetBytes(x.PruningPointProof.PruningPointBlueWork),
}, nil
}

Expand All @@ -38,7 +40,8 @@ func (x *KaspadMessage_PruningPointProof) fromAppMessage(msgPruningPointProof *a
}

x.PruningPointProof = &PruningPointProofMessage{
Headers: blockHeaders,
Headers: blockHeaders,
PruningPointBlueWork: msgPruningPointProof.PruningPointBlueWork.Bytes(),
}
return nil
}

0 comments on commit 48182f6

Please sign in to comment.