[#239] morph/client: Deduplicate signers in Client a bit
One signer in the cfg is enough. Signed-off-by: Roman Khimov <roman@nspcc.ru> Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
parent
96b38f7e86
commit
be4df989e5
4 changed files with 10 additions and 11 deletions
|
@ -57,8 +57,6 @@ type Client struct {
|
|||
acc *wallet.Account // neo account
|
||||
accAddr util.Uint160 // account's address
|
||||
|
||||
signer *transaction.Signer
|
||||
|
||||
notary *notaryInfo
|
||||
|
||||
cfg cfg
|
||||
|
|
|
@ -105,7 +105,6 @@ func New(ctx context.Context, key *keys.PrivateKey, opts ...Option) (*Client, er
|
|||
logger: cfg.logger,
|
||||
acc: acc,
|
||||
accAddr: accAddr,
|
||||
signer: cfg.signer,
|
||||
cfg: *cfg,
|
||||
switchLock: &sync.RWMutex{},
|
||||
notifications: make(chan rpcclient.Notification),
|
||||
|
|
|
@ -208,8 +208,10 @@ func (c *Client) SetGroupSignerScope() error {
|
|||
return err
|
||||
}
|
||||
|
||||
c.signer.Scopes = transaction.CustomGroups | transaction.CalledByEntry
|
||||
c.signer.AllowedGroups = []*keys.PublicKey{pub}
|
||||
c.cfg.signer = &transaction.Signer{
|
||||
Scopes: transaction.CustomGroups | transaction.CalledByEntry,
|
||||
AllowedGroups: []*keys.PublicKey{pub},
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -596,18 +596,18 @@ func (c *Client) notaryCosigners(invokedByAlpha bool, ir []*keys.PublicKey, comm
|
|||
|
||||
s = append(s, transaction.Signer{
|
||||
Account: hash.Hash160(multisigScript),
|
||||
Scopes: c.signer.Scopes,
|
||||
AllowedContracts: c.signer.AllowedContracts,
|
||||
AllowedGroups: c.signer.AllowedGroups,
|
||||
Scopes: c.cfg.signer.Scopes,
|
||||
AllowedContracts: c.cfg.signer.AllowedContracts,
|
||||
AllowedGroups: c.cfg.signer.AllowedGroups,
|
||||
})
|
||||
|
||||
if !invokedByAlpha {
|
||||
// then we have invoker signature
|
||||
s = append(s, transaction.Signer{
|
||||
Account: hash.Hash160(c.acc.GetVerificationScript()),
|
||||
Scopes: c.signer.Scopes,
|
||||
AllowedContracts: c.signer.AllowedContracts,
|
||||
AllowedGroups: c.signer.AllowedGroups,
|
||||
Scopes: c.cfg.signer.Scopes,
|
||||
AllowedContracts: c.cfg.signer.AllowedContracts,
|
||||
AllowedGroups: c.cfg.signer.AllowedGroups,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue