mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-11 18:29:57 +00:00
Adding support for mass.
This commit is contained in:
parent
6085d1fc84
commit
bbbc49ded5
app/appmessage
domain/consensus/utils/consensushashing
infrastructure/network/netadapter/server/grpcserver/protowire
@ -219,6 +219,7 @@ func RPCTransactionToDomainTransaction(rpcTransaction *RPCTransaction) (*externa
|
||||
LockTime: rpcTransaction.LockTime,
|
||||
SubnetworkID: *subnetworkID,
|
||||
Gas: rpcTransaction.Gas,
|
||||
Mass: rpcTransaction.Mass, // BPS10 add mass
|
||||
Payload: payload,
|
||||
}, nil
|
||||
}
|
||||
@ -287,6 +288,7 @@ func DomainTransactionToRPCTransaction(transaction *externalapi.DomainTransactio
|
||||
LockTime: transaction.LockTime,
|
||||
SubnetworkID: subnetworkID,
|
||||
Gas: transaction.Gas,
|
||||
Mass: transaction.Mass, // <<< BPS10 add mass
|
||||
Payload: payload,
|
||||
}
|
||||
}
|
||||
|
@ -52,6 +52,7 @@ type RPCTransaction struct {
|
||||
SubnetworkID string
|
||||
Gas uint64
|
||||
Payload string
|
||||
Mass uint64
|
||||
VerboseData *RPCTransactionVerboseData
|
||||
}
|
||||
|
||||
|
@ -126,6 +126,14 @@ func serializeTransaction(w io.Writer, tx *externalapi.DomainTransaction, encodi
|
||||
return err
|
||||
}
|
||||
|
||||
if tx.Mass > 0 { // Only serialize Mass if it's not zero
|
||||
err = binaryserializer.PutUint64(w, tx.Mass)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.2.0
|
||||
// - protoc v3.12.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v3.21.12
|
||||
// source: messages.proto
|
||||
|
||||
package protowire
|
||||
@ -15,14 +15,18 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
P2P_MessageStream_FullMethodName = "/protowire.P2P/MessageStream"
|
||||
)
|
||||
|
||||
// P2PClient is the client API for P2P service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type P2PClient interface {
|
||||
MessageStream(ctx context.Context, opts ...grpc.CallOption) (P2P_MessageStreamClient, error)
|
||||
MessageStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[KaspadMessage, KaspadMessage], error)
|
||||
}
|
||||
|
||||
type p2PClient struct {
|
||||
@ -33,53 +37,39 @@ func NewP2PClient(cc grpc.ClientConnInterface) P2PClient {
|
||||
return &p2PClient{cc}
|
||||
}
|
||||
|
||||
func (c *p2PClient) MessageStream(ctx context.Context, opts ...grpc.CallOption) (P2P_MessageStreamClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &P2P_ServiceDesc.Streams[0], "/protowire.P2P/MessageStream", opts...)
|
||||
func (c *p2PClient) MessageStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[KaspadMessage, KaspadMessage], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &P2P_ServiceDesc.Streams[0], P2P_MessageStream_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &p2PMessageStreamClient{stream}
|
||||
x := &grpc.GenericClientStream[KaspadMessage, KaspadMessage]{ClientStream: stream}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type P2P_MessageStreamClient interface {
|
||||
Send(*KaspadMessage) error
|
||||
Recv() (*KaspadMessage, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type p2PMessageStreamClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *p2PMessageStreamClient) Send(m *KaspadMessage) error {
|
||||
return x.ClientStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *p2PMessageStreamClient) Recv() (*KaspadMessage, error) {
|
||||
m := new(KaspadMessage)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type P2P_MessageStreamClient = grpc.BidiStreamingClient[KaspadMessage, KaspadMessage]
|
||||
|
||||
// P2PServer is the server API for P2P service.
|
||||
// All implementations must embed UnimplementedP2PServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
type P2PServer interface {
|
||||
MessageStream(P2P_MessageStreamServer) error
|
||||
MessageStream(grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]) error
|
||||
mustEmbedUnimplementedP2PServer()
|
||||
}
|
||||
|
||||
// UnimplementedP2PServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedP2PServer struct {
|
||||
}
|
||||
// UnimplementedP2PServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedP2PServer struct{}
|
||||
|
||||
func (UnimplementedP2PServer) MessageStream(P2P_MessageStreamServer) error {
|
||||
func (UnimplementedP2PServer) MessageStream(grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method MessageStream not implemented")
|
||||
}
|
||||
func (UnimplementedP2PServer) mustEmbedUnimplementedP2PServer() {}
|
||||
func (UnimplementedP2PServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeP2PServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to P2PServer will
|
||||
@ -89,34 +79,22 @@ type UnsafeP2PServer interface {
|
||||
}
|
||||
|
||||
func RegisterP2PServer(s grpc.ServiceRegistrar, srv P2PServer) {
|
||||
// If the following call pancis, it indicates UnimplementedP2PServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&P2P_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _P2P_MessageStream_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
return srv.(P2PServer).MessageStream(&p2PMessageStreamServer{stream})
|
||||
return srv.(P2PServer).MessageStream(&grpc.GenericServerStream[KaspadMessage, KaspadMessage]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type P2P_MessageStreamServer interface {
|
||||
Send(*KaspadMessage) error
|
||||
Recv() (*KaspadMessage, error)
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type p2PMessageStreamServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *p2PMessageStreamServer) Send(m *KaspadMessage) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *p2PMessageStreamServer) Recv() (*KaspadMessage, error) {
|
||||
m := new(KaspadMessage)
|
||||
if err := x.ServerStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type P2P_MessageStreamServer = grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]
|
||||
|
||||
// P2P_ServiceDesc is the grpc.ServiceDesc for P2P service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
@ -136,11 +114,15 @@ var P2P_ServiceDesc = grpc.ServiceDesc{
|
||||
Metadata: "messages.proto",
|
||||
}
|
||||
|
||||
const (
|
||||
RPC_MessageStream_FullMethodName = "/protowire.RPC/MessageStream"
|
||||
)
|
||||
|
||||
// RPCClient is the client API for RPC service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type RPCClient interface {
|
||||
MessageStream(ctx context.Context, opts ...grpc.CallOption) (RPC_MessageStreamClient, error)
|
||||
MessageStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[KaspadMessage, KaspadMessage], error)
|
||||
}
|
||||
|
||||
type rPCClient struct {
|
||||
@ -151,53 +133,39 @@ func NewRPCClient(cc grpc.ClientConnInterface) RPCClient {
|
||||
return &rPCClient{cc}
|
||||
}
|
||||
|
||||
func (c *rPCClient) MessageStream(ctx context.Context, opts ...grpc.CallOption) (RPC_MessageStreamClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &RPC_ServiceDesc.Streams[0], "/protowire.RPC/MessageStream", opts...)
|
||||
func (c *rPCClient) MessageStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[KaspadMessage, KaspadMessage], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &RPC_ServiceDesc.Streams[0], RPC_MessageStream_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &rPCMessageStreamClient{stream}
|
||||
x := &grpc.GenericClientStream[KaspadMessage, KaspadMessage]{ClientStream: stream}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type RPC_MessageStreamClient interface {
|
||||
Send(*KaspadMessage) error
|
||||
Recv() (*KaspadMessage, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type rPCMessageStreamClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *rPCMessageStreamClient) Send(m *KaspadMessage) error {
|
||||
return x.ClientStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *rPCMessageStreamClient) Recv() (*KaspadMessage, error) {
|
||||
m := new(KaspadMessage)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type RPC_MessageStreamClient = grpc.BidiStreamingClient[KaspadMessage, KaspadMessage]
|
||||
|
||||
// RPCServer is the server API for RPC service.
|
||||
// All implementations must embed UnimplementedRPCServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
type RPCServer interface {
|
||||
MessageStream(RPC_MessageStreamServer) error
|
||||
MessageStream(grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]) error
|
||||
mustEmbedUnimplementedRPCServer()
|
||||
}
|
||||
|
||||
// UnimplementedRPCServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedRPCServer struct {
|
||||
}
|
||||
// UnimplementedRPCServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedRPCServer struct{}
|
||||
|
||||
func (UnimplementedRPCServer) MessageStream(RPC_MessageStreamServer) error {
|
||||
func (UnimplementedRPCServer) MessageStream(grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method MessageStream not implemented")
|
||||
}
|
||||
func (UnimplementedRPCServer) mustEmbedUnimplementedRPCServer() {}
|
||||
func (UnimplementedRPCServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeRPCServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to RPCServer will
|
||||
@ -207,34 +175,22 @@ type UnsafeRPCServer interface {
|
||||
}
|
||||
|
||||
func RegisterRPCServer(s grpc.ServiceRegistrar, srv RPCServer) {
|
||||
// If the following call pancis, it indicates UnimplementedRPCServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&RPC_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _RPC_MessageStream_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
return srv.(RPCServer).MessageStream(&rPCMessageStreamServer{stream})
|
||||
return srv.(RPCServer).MessageStream(&grpc.GenericServerStream[KaspadMessage, KaspadMessage]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type RPC_MessageStreamServer interface {
|
||||
Send(*KaspadMessage) error
|
||||
Recv() (*KaspadMessage, error)
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type rPCMessageStreamServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *rPCMessageStreamServer) Send(m *KaspadMessage) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *rPCMessageStreamServer) Recv() (*KaspadMessage, error) {
|
||||
m := new(KaspadMessage)
|
||||
if err := x.ServerStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type RPC_MessageStreamServer = grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]
|
||||
|
||||
// RPC_ServiceDesc is the grpc.ServiceDesc for RPC service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -30,6 +30,7 @@ message TransactionMessage{
|
||||
SubnetworkId subnetworkId = 5;
|
||||
uint64 gas = 6;
|
||||
bytes payload = 8;
|
||||
uint64 mass = 9; // <<< BPS10 - Add mass to TransactionMessage
|
||||
}
|
||||
|
||||
message TransactionInput{
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -66,6 +66,7 @@ message RpcTransaction {
|
||||
uint64 gas = 6;
|
||||
string payload = 8;
|
||||
RpcTransactionVerboseData verboseData = 9;
|
||||
uint64 mass = 10; // <<< BPS10 - Add mass to RpcTransaction
|
||||
}
|
||||
|
||||
message RpcTransactionInput {
|
||||
|
@ -110,6 +110,7 @@ func (x *RpcTransaction) toAppMessage() (*appmessage.RPCTransaction, error) {
|
||||
SubnetworkID: x.SubnetworkId,
|
||||
Gas: x.Gas,
|
||||
Payload: x.Payload,
|
||||
Mass: x.Mass,
|
||||
VerboseData: verboseData,
|
||||
}, nil
|
||||
}
|
||||
@ -138,6 +139,7 @@ func (x *RpcTransaction) fromAppMessage(transaction *appmessage.RPCTransaction)
|
||||
SubnetworkId: transaction.SubnetworkID,
|
||||
Gas: transaction.Gas,
|
||||
Payload: transaction.Payload,
|
||||
Mass: transaction.Mass,
|
||||
VerboseData: verboseData,
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user