[#1959] neofs-adm: Fix double multisig

Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>
This commit is contained in:
Evgenii Stratonikov 2022-10-24 14:12:36 +03:00 committed by fyrchik
parent 2484c1d35e
commit 942155be6e
2 changed files with 10 additions and 4 deletions

View file

@ -395,6 +395,7 @@ func (c *initializeContext) sendMultiTx(script []byte, tryGroup bool, withConsen
var act *actor.Actor
var err error
withConsensus = withConsensus && !c.ConsensusAcc.Contract.ScriptHash().Equals(c.CommitteeAcc.ScriptHash())
if tryGroup {
// Even for consensus signatures we need the committee to pay.
signers := make([]actor.SignerAccount, 1, 2)

View file

@ -131,13 +131,18 @@ func (c *initializeContext) multiSign(tx *transaction.Transaction, accType strin
}
if len(tx.Scripts) == 0 {
tx.Scripts = append(tx.Scripts, *w)
} else {
tx.Scripts[0] = *w
tx.Scripts = make([]transaction.Witness, len(tx.Signers))
}
for i := range tx.Signers {
if tx.Signers[i].Account == h {
tx.Scripts[i] = *w
return nil
}
}
return fmt.Errorf("%s account was not found among transaction signers", accType)
}
func (c *initializeContext) transferGASToProxy() error {
gasHash := c.nativeHash(nativenames.Gas)