Merge pull request #2384 from nspcc-dev/rpc/rules

rpc: add Rules signer scope to request parameters
This commit is contained in:
Roman Khimov 2022-03-03 14:46:56 +03:00 committed by GitHub
commit 3db8dffa3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -429,6 +429,7 @@ func (p *Param) GetSignerWithWitness() (SignerWithWitness, error) {
Scopes: aux.Scopes, Scopes: aux.Scopes,
AllowedContracts: aux.AllowedContracts, AllowedContracts: aux.AllowedContracts,
AllowedGroups: aux.AllowedGroups, AllowedGroups: aux.AllowedGroups,
Rules: aux.Rules,
}, },
Witness: transaction.Witness{ Witness: transaction.Witness{
InvocationScript: aux.InvocationScript, InvocationScript: aux.InvocationScript,
@ -485,17 +486,19 @@ type signerWithWitnessAux struct {
Scopes transaction.WitnessScope `json:"scopes"` Scopes transaction.WitnessScope `json:"scopes"`
AllowedContracts []util.Uint160 `json:"allowedcontracts,omitempty"` AllowedContracts []util.Uint160 `json:"allowedcontracts,omitempty"`
AllowedGroups []*keys.PublicKey `json:"allowedgroups,omitempty"` AllowedGroups []*keys.PublicKey `json:"allowedgroups,omitempty"`
Rules []transaction.WitnessRule `json:"rules,omitempty"`
InvocationScript []byte `json:"invocation,omitempty"` InvocationScript []byte `json:"invocation,omitempty"`
VerificationScript []byte `json:"verification,omitempty"` VerificationScript []byte `json:"verification,omitempty"`
} }
// MarshalJSON implements json.Unmarshaler interface. // MarshalJSON implements json.Marshaler interface.
func (s *SignerWithWitness) MarshalJSON() ([]byte, error) { func (s *SignerWithWitness) MarshalJSON() ([]byte, error) {
signer := &signerWithWitnessAux{ signer := &signerWithWitnessAux{
Account: s.Account.StringLE(), Account: s.Account.StringLE(),
Scopes: s.Scopes, Scopes: s.Scopes,
AllowedContracts: s.AllowedContracts, AllowedContracts: s.AllowedContracts,
AllowedGroups: s.AllowedGroups, AllowedGroups: s.AllowedGroups,
Rules: s.Rules,
InvocationScript: s.InvocationScript, InvocationScript: s.InvocationScript,
VerificationScript: s.VerificationScript, VerificationScript: s.VerificationScript,
} }