mpool: get nonce for correct address
This commit is contained in:
parent
2de6a38c8b
commit
f11b1bbbeb
@ -482,19 +482,21 @@ func (mp *MessagePool) PushWithNonce(ctx context.Context, addr address.Address,
|
|||||||
mp.lk.Lock()
|
mp.lk.Lock()
|
||||||
defer mp.lk.Unlock()
|
defer mp.lk.Unlock()
|
||||||
|
|
||||||
nonce, err := mp.getNonceLocked(addr, mp.curTs)
|
|
||||||
if err != nil {
|
|
||||||
return nil, xerrors.Errorf("get nonce locked failed: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
fromKey := addr
|
fromKey := addr
|
||||||
if fromKey.Protocol() == address.ID {
|
if fromKey.Protocol() == address.ID {
|
||||||
|
var err error
|
||||||
fromKey, err = mp.api.StateAccountKey(ctx, fromKey, mp.curTs)
|
fromKey, err = mp.api.StateAccountKey(ctx, fromKey, mp.curTs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("resolving sender key: %w", err)
|
return nil, xerrors.Errorf("resolving sender key: %w", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nonce, err := mp.getNonceLocked(fromKey, mp.curTs)
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Errorf("get nonce locked failed: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
msg, err := cb(fromKey, nonce)
|
msg, err := cb(fromKey, nonce)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
Loading…
Reference in New Issue
Block a user