Documentation ¶
Index ¶
- Constants
- Variables
- type GOVGUARD
- type GOVGUARDCaller
- func (_GOVGUARD *GOVGUARDCaller) CanCall(opts *bind.CallOpts, src common.Address, arg1 common.Address, sig [4]byte) (bool, error)
- func (_GOVGUARD *GOVGUARDCaller) Root(opts *bind.CallOpts) (common.Address, error)
- func (_GOVGUARD *GOVGUARDCaller) Wards(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error)
- type GOVGUARDCallerRaw
- type GOVGUARDCallerSession
- type GOVGUARDFilterer
- func (_GOVGUARD *GOVGUARDFilterer) FilterLogDeny(opts *bind.FilterOpts, usr []common.Address) (*GOVGUARDLogDenyIterator, error)
- func (_GOVGUARD *GOVGUARDFilterer) FilterLogRely(opts *bind.FilterOpts, usr []common.Address) (*GOVGUARDLogRelyIterator, error)
- func (_GOVGUARD *GOVGUARDFilterer) FilterLogSetRoot(opts *bind.FilterOpts, newRoot []common.Address) (*GOVGUARDLogSetRootIterator, error)
- func (_GOVGUARD *GOVGUARDFilterer) ParseLogDeny(log types.Log) (*GOVGUARDLogDeny, error)
- func (_GOVGUARD *GOVGUARDFilterer) ParseLogRely(log types.Log) (*GOVGUARDLogRely, error)
- func (_GOVGUARD *GOVGUARDFilterer) ParseLogSetRoot(log types.Log) (*GOVGUARDLogSetRoot, error)
- func (_GOVGUARD *GOVGUARDFilterer) WatchLogDeny(opts *bind.WatchOpts, sink chan<- *GOVGUARDLogDeny, usr []common.Address) (event.Subscription, error)
- func (_GOVGUARD *GOVGUARDFilterer) WatchLogRely(opts *bind.WatchOpts, sink chan<- *GOVGUARDLogRely, usr []common.Address) (event.Subscription, error)
- func (_GOVGUARD *GOVGUARDFilterer) WatchLogSetRoot(opts *bind.WatchOpts, sink chan<- *GOVGUARDLogSetRoot, ...) (event.Subscription, error)
- type GOVGUARDLogDeny
- type GOVGUARDLogDenyIterator
- type GOVGUARDLogRely
- type GOVGUARDLogRelyIterator
- type GOVGUARDLogSetRoot
- type GOVGUARDLogSetRootIterator
- type GOVGUARDRaw
- func (_GOVGUARD *GOVGUARDRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, ...) error
- func (_GOVGUARD *GOVGUARDRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
- func (_GOVGUARD *GOVGUARDRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
- type GOVGUARDSession
- func (_GOVGUARD *GOVGUARDSession) CanCall(src common.Address, arg1 common.Address, sig [4]byte) (bool, error)
- func (_GOVGUARD *GOVGUARDSession) Deny(usr common.Address) (*types.Transaction, error)
- func (_GOVGUARD *GOVGUARDSession) Rely(usr common.Address) (*types.Transaction, error)
- func (_GOVGUARD *GOVGUARDSession) Root() (common.Address, error)
- func (_GOVGUARD *GOVGUARDSession) SetRoot(usr common.Address) (*types.Transaction, error)
- func (_GOVGUARD *GOVGUARDSession) Wards(arg0 common.Address) (*big.Int, error)
- type GOVGUARDTransactor
- func (_GOVGUARD *GOVGUARDTransactor) Deny(opts *bind.TransactOpts, usr common.Address) (*types.Transaction, error)
- func (_GOVGUARD *GOVGUARDTransactor) Rely(opts *bind.TransactOpts, usr common.Address) (*types.Transaction, error)
- func (_GOVGUARD *GOVGUARDTransactor) SetRoot(opts *bind.TransactOpts, usr common.Address) (*types.Transaction, error)
- type GOVGUARDTransactorRaw
- type GOVGUARDTransactorSession
- type LogDeny
- type LogRely
- type LogSetRoot
- func (*LogSetRoot) Descriptor() ([]byte, []int)deprecated
- func (x *LogSetRoot) GetNewRoot() []byte
- func (x *LogSetRoot) GetTs() *timestamppb.Timestamp
- func (*LogSetRoot) ProtoMessage()
- func (x *LogSetRoot) ProtoReflect() protoreflect.Message
- func (x *LogSetRoot) Reset()
- func (x *LogSetRoot) String() string
- type SmartContract
Constants ¶
const GOVGUARDABI = "" /* 2088-byte string literal not displayed */
GOVGUARDABI is the input ABI used to generate the binding from.
Variables ¶
var File_GovGuard_GovGuard_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type GOVGUARD ¶
type GOVGUARD struct { GOVGUARDCaller // Read-only binding to the contract GOVGUARDTransactor // Write-only binding to the contract GOVGUARDFilterer // Log filterer for contract events }
GOVGUARD is an auto generated Go binding around an Ethereum contract.
func NewGOVGUARD ¶
NewGOVGUARD creates a new instance of GOVGUARD, bound to a specific deployed contract.
type GOVGUARDCaller ¶
type GOVGUARDCaller struct {
// contains filtered or unexported fields
}
GOVGUARDCaller is an auto generated read-only Go binding around an Ethereum contract.
func NewGOVGUARDCaller ¶
func NewGOVGUARDCaller(address common.Address, caller bind.ContractCaller) (*GOVGUARDCaller, error)
NewGOVGUARDCaller creates a new read-only instance of GOVGUARD, bound to a specific deployed contract.
func (*GOVGUARDCaller) CanCall ¶
func (_GOVGUARD *GOVGUARDCaller) CanCall(opts *bind.CallOpts, src common.Address, arg1 common.Address, sig [4]byte) (bool, error)
CanCall is a free data retrieval call binding the contract method 0xb7009613.
Solidity: function canCall(address src, address , bytes4 sig) view returns(bool)
type GOVGUARDCallerRaw ¶
type GOVGUARDCallerRaw struct {
Contract *GOVGUARDCaller // Generic read-only contract binding to access the raw methods on
}
GOVGUARDCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
func (*GOVGUARDCallerRaw) Call ¶
func (_GOVGUARD *GOVGUARDCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error
Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.
type GOVGUARDCallerSession ¶
type GOVGUARDCallerSession struct { Contract *GOVGUARDCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session }
GOVGUARDCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.
func (*GOVGUARDCallerSession) CanCall ¶
func (_GOVGUARD *GOVGUARDCallerSession) CanCall(src common.Address, arg1 common.Address, sig [4]byte) (bool, error)
CanCall is a free data retrieval call binding the contract method 0xb7009613.
Solidity: function canCall(address src, address , bytes4 sig) view returns(bool)
type GOVGUARDFilterer ¶
type GOVGUARDFilterer struct {
// contains filtered or unexported fields
}
GOVGUARDFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
func NewGOVGUARDFilterer ¶
func NewGOVGUARDFilterer(address common.Address, filterer bind.ContractFilterer) (*GOVGUARDFilterer, error)
NewGOVGUARDFilterer creates a new log filterer instance of GOVGUARD, bound to a specific deployed contract.
func (*GOVGUARDFilterer) FilterLogDeny ¶
func (_GOVGUARD *GOVGUARDFilterer) FilterLogDeny(opts *bind.FilterOpts, usr []common.Address) (*GOVGUARDLogDenyIterator, error)
FilterLogDeny is a free log retrieval operation binding the contract event 0x2569dba00999b9a749665fecc99518b00d82fa6179a90d094a04f4c50b952ba1.
Solidity: event LogDeny(address indexed usr)
func (*GOVGUARDFilterer) FilterLogRely ¶
func (_GOVGUARD *GOVGUARDFilterer) FilterLogRely(opts *bind.FilterOpts, usr []common.Address) (*GOVGUARDLogRelyIterator, error)
FilterLogRely is a free log retrieval operation binding the contract event 0xbcea0e0a8da02ca32f79ec827797ef9d9b799f0f530a7015479294f8605f26dc.
Solidity: event LogRely(address indexed usr)
func (*GOVGUARDFilterer) FilterLogSetRoot ¶
func (_GOVGUARD *GOVGUARDFilterer) FilterLogSetRoot(opts *bind.FilterOpts, newRoot []common.Address) (*GOVGUARDLogSetRootIterator, error)
FilterLogSetRoot is a free log retrieval operation binding the contract event 0x590b975c6c0ad07291052d35e354944ebed986091d40026a932b3b6d122e753c.
Solidity: event LogSetRoot(address indexed newRoot)
func (*GOVGUARDFilterer) ParseLogDeny ¶
func (_GOVGUARD *GOVGUARDFilterer) ParseLogDeny(log types.Log) (*GOVGUARDLogDeny, error)
ParseLogDeny is a log parse operation binding the contract event 0x2569dba00999b9a749665fecc99518b00d82fa6179a90d094a04f4c50b952ba1.
Solidity: event LogDeny(address indexed usr)
func (*GOVGUARDFilterer) ParseLogRely ¶
func (_GOVGUARD *GOVGUARDFilterer) ParseLogRely(log types.Log) (*GOVGUARDLogRely, error)
ParseLogRely is a log parse operation binding the contract event 0xbcea0e0a8da02ca32f79ec827797ef9d9b799f0f530a7015479294f8605f26dc.
Solidity: event LogRely(address indexed usr)
func (*GOVGUARDFilterer) ParseLogSetRoot ¶
func (_GOVGUARD *GOVGUARDFilterer) ParseLogSetRoot(log types.Log) (*GOVGUARDLogSetRoot, error)
ParseLogSetRoot is a log parse operation binding the contract event 0x590b975c6c0ad07291052d35e354944ebed986091d40026a932b3b6d122e753c.
Solidity: event LogSetRoot(address indexed newRoot)
func (*GOVGUARDFilterer) WatchLogDeny ¶
func (_GOVGUARD *GOVGUARDFilterer) WatchLogDeny(opts *bind.WatchOpts, sink chan<- *GOVGUARDLogDeny, usr []common.Address) (event.Subscription, error)
WatchLogDeny is a free log subscription operation binding the contract event 0x2569dba00999b9a749665fecc99518b00d82fa6179a90d094a04f4c50b952ba1.
Solidity: event LogDeny(address indexed usr)
func (*GOVGUARDFilterer) WatchLogRely ¶
func (_GOVGUARD *GOVGUARDFilterer) WatchLogRely(opts *bind.WatchOpts, sink chan<- *GOVGUARDLogRely, usr []common.Address) (event.Subscription, error)
WatchLogRely is a free log subscription operation binding the contract event 0xbcea0e0a8da02ca32f79ec827797ef9d9b799f0f530a7015479294f8605f26dc.
Solidity: event LogRely(address indexed usr)
func (*GOVGUARDFilterer) WatchLogSetRoot ¶
func (_GOVGUARD *GOVGUARDFilterer) WatchLogSetRoot(opts *bind.WatchOpts, sink chan<- *GOVGUARDLogSetRoot, newRoot []common.Address) (event.Subscription, error)
WatchLogSetRoot is a free log subscription operation binding the contract event 0x590b975c6c0ad07291052d35e354944ebed986091d40026a932b3b6d122e753c.
Solidity: event LogSetRoot(address indexed newRoot)
type GOVGUARDLogDeny ¶
type GOVGUARDLogDeny struct { Usr common.Address Raw types.Log // Blockchain specific contextual infos }
GOVGUARDLogDeny represents a LogDeny event raised by the GOVGUARD contract.
type GOVGUARDLogDenyIterator ¶
type GOVGUARDLogDenyIterator struct { Event *GOVGUARDLogDeny // Event containing the contract specifics and raw log // contains filtered or unexported fields }
GOVGUARDLogDenyIterator is returned from FilterLogDeny and is used to iterate over the raw logs and unpacked data for LogDeny events raised by the GOVGUARD contract.
func (*GOVGUARDLogDenyIterator) Close ¶
func (it *GOVGUARDLogDenyIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*GOVGUARDLogDenyIterator) Error ¶
func (it *GOVGUARDLogDenyIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*GOVGUARDLogDenyIterator) Next ¶
func (it *GOVGUARDLogDenyIterator) Next() bool
Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.
type GOVGUARDLogRely ¶
type GOVGUARDLogRely struct { Usr common.Address Raw types.Log // Blockchain specific contextual infos }
GOVGUARDLogRely represents a LogRely event raised by the GOVGUARD contract.
type GOVGUARDLogRelyIterator ¶
type GOVGUARDLogRelyIterator struct { Event *GOVGUARDLogRely // Event containing the contract specifics and raw log // contains filtered or unexported fields }
GOVGUARDLogRelyIterator is returned from FilterLogRely and is used to iterate over the raw logs and unpacked data for LogRely events raised by the GOVGUARD contract.
func (*GOVGUARDLogRelyIterator) Close ¶
func (it *GOVGUARDLogRelyIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*GOVGUARDLogRelyIterator) Error ¶
func (it *GOVGUARDLogRelyIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*GOVGUARDLogRelyIterator) Next ¶
func (it *GOVGUARDLogRelyIterator) Next() bool
Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.
type GOVGUARDLogSetRoot ¶
type GOVGUARDLogSetRoot struct { NewRoot common.Address Raw types.Log // Blockchain specific contextual infos }
GOVGUARDLogSetRoot represents a LogSetRoot event raised by the GOVGUARD contract.
type GOVGUARDLogSetRootIterator ¶
type GOVGUARDLogSetRootIterator struct { Event *GOVGUARDLogSetRoot // Event containing the contract specifics and raw log // contains filtered or unexported fields }
GOVGUARDLogSetRootIterator is returned from FilterLogSetRoot and is used to iterate over the raw logs and unpacked data for LogSetRoot events raised by the GOVGUARD contract.
func (*GOVGUARDLogSetRootIterator) Close ¶
func (it *GOVGUARDLogSetRootIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*GOVGUARDLogSetRootIterator) Error ¶
func (it *GOVGUARDLogSetRootIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*GOVGUARDLogSetRootIterator) Next ¶
func (it *GOVGUARDLogSetRootIterator) Next() bool
Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.
type GOVGUARDRaw ¶
type GOVGUARDRaw struct {
Contract *GOVGUARD // Generic contract binding to access the raw methods on
}
GOVGUARDRaw is an auto generated low-level Go binding around an Ethereum contract.
func (*GOVGUARDRaw) Call ¶
func (_GOVGUARD *GOVGUARDRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error
Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.
func (*GOVGUARDRaw) Transact ¶
func (_GOVGUARD *GOVGUARDRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
Transact invokes the (paid) contract method with params as input values.
func (*GOVGUARDRaw) Transfer ¶
func (_GOVGUARD *GOVGUARDRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.
type GOVGUARDSession ¶
type GOVGUARDSession struct { Contract *GOVGUARD // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session }
GOVGUARDSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.
func (*GOVGUARDSession) CanCall ¶
func (_GOVGUARD *GOVGUARDSession) CanCall(src common.Address, arg1 common.Address, sig [4]byte) (bool, error)
CanCall is a free data retrieval call binding the contract method 0xb7009613.
Solidity: function canCall(address src, address , bytes4 sig) view returns(bool)
func (*GOVGUARDSession) Deny ¶
func (_GOVGUARD *GOVGUARDSession) Deny(usr common.Address) (*types.Transaction, error)
Deny is a paid mutator transaction binding the contract method 0x9c52a7f1.
Solidity: function deny(address usr) returns()
func (*GOVGUARDSession) Rely ¶
func (_GOVGUARD *GOVGUARDSession) Rely(usr common.Address) (*types.Transaction, error)
Rely is a paid mutator transaction binding the contract method 0x65fae35e.
Solidity: function rely(address usr) returns()
func (*GOVGUARDSession) Root ¶
func (_GOVGUARD *GOVGUARDSession) Root() (common.Address, error)
Root is a free data retrieval call binding the contract method 0xebf0c717.
Solidity: function root() view returns(address)
func (*GOVGUARDSession) SetRoot ¶
func (_GOVGUARD *GOVGUARDSession) SetRoot(usr common.Address) (*types.Transaction, error)
SetRoot is a paid mutator transaction binding the contract method 0x003ba1ed.
Solidity: function setRoot(address usr) returns()
type GOVGUARDTransactor ¶
type GOVGUARDTransactor struct {
// contains filtered or unexported fields
}
GOVGUARDTransactor is an auto generated write-only Go binding around an Ethereum contract.
func NewGOVGUARDTransactor ¶
func NewGOVGUARDTransactor(address common.Address, transactor bind.ContractTransactor) (*GOVGUARDTransactor, error)
NewGOVGUARDTransactor creates a new write-only instance of GOVGUARD, bound to a specific deployed contract.
func (*GOVGUARDTransactor) Deny ¶
func (_GOVGUARD *GOVGUARDTransactor) Deny(opts *bind.TransactOpts, usr common.Address) (*types.Transaction, error)
Deny is a paid mutator transaction binding the contract method 0x9c52a7f1.
Solidity: function deny(address usr) returns()
func (*GOVGUARDTransactor) Rely ¶
func (_GOVGUARD *GOVGUARDTransactor) Rely(opts *bind.TransactOpts, usr common.Address) (*types.Transaction, error)
Rely is a paid mutator transaction binding the contract method 0x65fae35e.
Solidity: function rely(address usr) returns()
func (*GOVGUARDTransactor) SetRoot ¶
func (_GOVGUARD *GOVGUARDTransactor) SetRoot(opts *bind.TransactOpts, usr common.Address) (*types.Transaction, error)
SetRoot is a paid mutator transaction binding the contract method 0x003ba1ed.
Solidity: function setRoot(address usr) returns()
type GOVGUARDTransactorRaw ¶
type GOVGUARDTransactorRaw struct {
Contract *GOVGUARDTransactor // Generic write-only contract binding to access the raw methods on
}
GOVGUARDTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
func (*GOVGUARDTransactorRaw) Transact ¶
func (_GOVGUARD *GOVGUARDTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
Transact invokes the (paid) contract method with params as input values.
func (*GOVGUARDTransactorRaw) Transfer ¶
func (_GOVGUARD *GOVGUARDTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.
type GOVGUARDTransactorSession ¶
type GOVGUARDTransactorSession struct { Contract *GOVGUARDTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session }
GOVGUARDTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.
func (*GOVGUARDTransactorSession) Deny ¶
func (_GOVGUARD *GOVGUARDTransactorSession) Deny(usr common.Address) (*types.Transaction, error)
Deny is a paid mutator transaction binding the contract method 0x9c52a7f1.
Solidity: function deny(address usr) returns()
func (*GOVGUARDTransactorSession) Rely ¶
func (_GOVGUARD *GOVGUARDTransactorSession) Rely(usr common.Address) (*types.Transaction, error)
Rely is a paid mutator transaction binding the contract method 0x65fae35e.
Solidity: function rely(address usr) returns()
func (*GOVGUARDTransactorSession) SetRoot ¶
func (_GOVGUARD *GOVGUARDTransactorSession) SetRoot(usr common.Address) (*types.Transaction, error)
SetRoot is a paid mutator transaction binding the contract method 0x003ba1ed.
Solidity: function setRoot(address usr) returns()
type LogDeny ¶
type LogDeny struct { Ts *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=ts,proto3" json:"ts,omitempty"` Usr []byte `protobuf:"bytes,2,opt,name=Usr,proto3" json:"Usr,omitempty"` // address // contains filtered or unexported fields }
func (*LogDeny) Descriptor
deprecated
func (*LogDeny) GetTs ¶
func (x *LogDeny) GetTs() *timestamppb.Timestamp
func (*LogDeny) ProtoMessage ¶
func (*LogDeny) ProtoMessage()
func (*LogDeny) ProtoReflect ¶
func (x *LogDeny) ProtoReflect() protoreflect.Message
type LogRely ¶
type LogRely struct { Ts *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=ts,proto3" json:"ts,omitempty"` Usr []byte `protobuf:"bytes,2,opt,name=Usr,proto3" json:"Usr,omitempty"` // address // contains filtered or unexported fields }
func (*LogRely) Descriptor
deprecated
func (*LogRely) GetTs ¶
func (x *LogRely) GetTs() *timestamppb.Timestamp
func (*LogRely) ProtoMessage ¶
func (*LogRely) ProtoMessage()
func (*LogRely) ProtoReflect ¶
func (x *LogRely) ProtoReflect() protoreflect.Message
type LogSetRoot ¶
type LogSetRoot struct { Ts *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=ts,proto3" json:"ts,omitempty"` NewRoot []byte `protobuf:"bytes,2,opt,name=NewRoot,proto3" json:"NewRoot,omitempty"` // address // contains filtered or unexported fields }
func (*LogSetRoot) Descriptor
deprecated
func (*LogSetRoot) Descriptor() ([]byte, []int)
Deprecated: Use LogSetRoot.ProtoReflect.Descriptor instead.
func (*LogSetRoot) GetNewRoot ¶
func (x *LogSetRoot) GetNewRoot() []byte
func (*LogSetRoot) GetTs ¶
func (x *LogSetRoot) GetTs() *timestamppb.Timestamp
func (*LogSetRoot) ProtoMessage ¶
func (*LogSetRoot) ProtoMessage()
func (*LogSetRoot) ProtoReflect ¶
func (x *LogSetRoot) ProtoReflect() protoreflect.Message
func (*LogSetRoot) Reset ¶
func (x *LogSetRoot) Reset()
func (*LogSetRoot) String ¶
func (x *LogSetRoot) String() string
type SmartContract ¶
type SmartContract struct{}
func (*SmartContract) Message ¶
func (sc *SmartContract) Message(eventName string, contractAbi *abi.ABI, vLog types.Log, timestamp *timestamppb.Timestamp) protoreflect.ProtoMessage