Summary
It appears that Forest diverges from Lotus in how the sequence number (Nonce) is calculated.
In Lotus, the MpoolPushMessage RPC method uses a message signer module to sign the message, retrieve the next nonce, and store a message UUID in the signer.
Our MpoolGetNonce RPC method implementation seems to deviate from Lotus as well.
This divergence could be a contributing factor to failure of the "send message" subcommand.
Completion Criteria
Additional Links & Resources
https://github.com/filecoin-project/lotus/blob/v1.30.0-rc2/chain/messagesigner/messagesigner.go
https://github.com/filecoin-project/lotus/blob/v1.30.0-rc2/node/impl/full/mpool.go#L307
#2726
Summary
It appears that Forest diverges from Lotus in how the sequence number (Nonce) is calculated.
In Lotus, the
MpoolPushMessageRPC method uses a message signer module to sign the message, retrieve the next nonce, and store a message UUID in the signer.Our
MpoolGetNonceRPC method implementation seems to deviate from Lotus as well.This divergence could be a contributing factor to failure of the "send message" subcommand.
Completion Criteria
MpoolPushMessageandMpoolGetNonceimplementations, identifying edge cases where our implementation falls short.sanityCheckOutgoingMessagelogic, which we currently lack.Additional Links & Resources
https://github.com/filecoin-project/lotus/blob/v1.30.0-rc2/chain/messagesigner/messagesigner.go
https://github.com/filecoin-project/lotus/blob/v1.30.0-rc2/node/impl/full/mpool.go#L307
#2726