diff --git a/docs/spec/ibc/ibc2.md b/docs/spec/ibc/ibc2.md new file mode 100644 index 0000000000..215600e7b1 --- /dev/null +++ b/docs/spec/ibc/ibc2.md @@ -0,0 +1,31 @@ +# IBC Spec + +## MVP2 + +`IBCUpdate` is added, making it able to prove the header. + +### IBC Module + +```golang +type IBCOutMsg struct { + IBCTransfer +} + +type IBCInMsg struct { + IBCTransfer + Proof merkle.IAVLProof + FromChainID string + FromChainHeight uint64 +} + +// update sync state of other blockchain +type IBCUpdateMsg struct { + Header tm.Header + Commit tm.Commit +} + +type IBCTransfer struct { + Destination sdk.Address + Coins sdk.Coins +} +```