api: Document StateReplay replaced message behavior
This commit is contained in:
parent
887249afee
commit
e74aa7ef09
@ -350,7 +350,22 @@ type FullNode interface {
|
|||||||
// tipset.
|
// tipset.
|
||||||
StateCall(context.Context, *types.Message, types.TipSetKey) (*InvocResult, error)
|
StateCall(context.Context, *types.Message, types.TipSetKey) (*InvocResult, error)
|
||||||
// StateReplay replays a given message, assuming it was included in a block in the specified tipset.
|
// StateReplay replays a given message, assuming it was included in a block in the specified tipset.
|
||||||
// If no tipset key is provided, the appropriate tipset is looked up.
|
//
|
||||||
|
// If a tipset key is provided, and a replacing message is found on chain,
|
||||||
|
// the method will return an error saying that the message wasn't found
|
||||||
|
//
|
||||||
|
// If no tipset key is provided, the appropriate tipset is looked up, and if
|
||||||
|
// the message was gas-repriced, the on-chain message will be replayed - in
|
||||||
|
// that case the returned InvocResult.MsgCid will not match the Cid param
|
||||||
|
//
|
||||||
|
// If the caller wants to ensure that exactly the requested message was executed,
|
||||||
|
// they MUST check that InvocResult.MsgCid is equal to the provided Cid.
|
||||||
|
// Without this check both the requested and original message may appear as
|
||||||
|
// successfully executed on-chain, which may look like a double-spend.
|
||||||
|
//
|
||||||
|
// A replacing message is a message with a different CID, any of Gas values, and
|
||||||
|
// different signature, but with all other parameters matching (source/destination,
|
||||||
|
// nonce, params, etc.)
|
||||||
StateReplay(context.Context, types.TipSetKey, cid.Cid) (*InvocResult, error)
|
StateReplay(context.Context, types.TipSetKey, cid.Cid) (*InvocResult, error)
|
||||||
// StateGetActor returns the indicated actor's nonce and balance.
|
// StateGetActor returns the indicated actor's nonce and balance.
|
||||||
StateGetActor(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*types.Actor, error)
|
StateGetActor(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*types.Actor, error)
|
||||||
|
@ -4459,7 +4459,22 @@ Response:
|
|||||||
|
|
||||||
### StateReplay
|
### StateReplay
|
||||||
StateReplay replays a given message, assuming it was included in a block in the specified tipset.
|
StateReplay replays a given message, assuming it was included in a block in the specified tipset.
|
||||||
If no tipset key is provided, the appropriate tipset is looked up.
|
|
||||||
|
If a tipset key is provided, and a replacing message is found on chain,
|
||||||
|
the method will return an error saying that the message wasn't found
|
||||||
|
|
||||||
|
If no tipset key is provided, the appropriate tipset is looked up, and if
|
||||||
|
the message was gas-repriced, the on-chain message will be replayed - in
|
||||||
|
that case the returned InvocResult.MsgCid will not match the Cid param
|
||||||
|
|
||||||
|
If the caller wants to ensure that exactly the requested message was executed,
|
||||||
|
they MUST check that InvocResult.MsgCid is equal to the provided Cid.
|
||||||
|
Without this check both the requested and original message may appear as
|
||||||
|
successfully executed on-chain, which may look like a double-spend.
|
||||||
|
|
||||||
|
A replacing message is a message with a different CID, any of Gas values, and
|
||||||
|
different signature, but with all other parameters matching (source/destination,
|
||||||
|
nonce, params, etc.)
|
||||||
|
|
||||||
|
|
||||||
Perms: read
|
Perms: read
|
||||||
|
Loading…
Reference in New Issue
Block a user