neo-go/pkg/core/transaction/reserved.go
Ekaterina Pavlova 956fd08adb *: add Copy() to transaction.Transaction and payload.P2PNotaryRequest
Add a method that makes a deep copy of all fields and resets size/hash
caches.

Close #3288

Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-04-28 00:59:15 +05:30

31 lines
660 B
Go

package transaction
import (
"github.com/nspcc-dev/neo-go/pkg/io"
)
// Reserved represents an attribute for experimental or private usage.
type Reserved struct {
Value []byte
}
// DecodeBinary implements the io.Serializable interface.
func (e *Reserved) DecodeBinary(br *io.BinReader) {
e.Value = br.ReadVarBytes()
}
// EncodeBinary implements the io.Serializable interface.
func (e *Reserved) EncodeBinary(w *io.BinWriter) {
w.WriteVarBytes(e.Value)
}
func (e *Reserved) toJSONMap(m map[string]any) {
m["value"] = e.Value
}
// Copy implements the AttrValue interface.
func (e *Reserved) Copy() AttrValue {
return &Reserved{
Value: e.Value,
}
}