diff --git a/misc/aspell_dict b/misc/aspell_dict index d1008027c311..17059ffc7b59 100644 --- a/misc/aspell_dict +++ b/misc/aspell_dict @@ -332,7 +332,6 @@ changelog datapipe queryClientRoot Pre -CLOSETRY createClient dataflow BIP diff --git a/scripts/make_pdf.sh b/scripts/make_pdf.sh index 0c984b68d1f2..98ecb85e182e 100755 --- a/scripts/make_pdf.sh +++ b/scripts/make_pdf.sh @@ -7,4 +7,5 @@ find $DIR -type f -name "*.md" -exec cp {} {}.xfm \; find $DIR -type f -name "*.md.xfm" -exec awk -i inplace '/## Backwards Compatibility/ {exit} {print}' {} \; find $DIR -type f -name "*.png" -exec cp {} . \; pandoc --pdf-engine=xelatex --template eisvogel --filter pandoc-include --mathjax --toc --number-sections -o spec.pdf spec.pdc +find $DIR -type f -name "*.md.xfm" -exec rm {} \; rm *.png diff --git a/spec.pdf b/spec.pdf index e13dd59fa5a1..bfc6a3d56fc7 100644 Binary files a/spec.pdf and b/spec.pdf differ diff --git a/spec/ics-002-consensus-verification/README.md b/spec/ics-002-consensus-verification/README.md index a0c51893553b..626c6d6d2fba 100644 --- a/spec/ics-002-consensus-verification/README.md +++ b/spec/ics-002-consensus-verification/README.md @@ -162,9 +162,13 @@ state transitions, or other evidence as defined by the consensus algorithm. The `MisbehaviourPredicate` type is defined as ```typescript -type MisbehaviourPredicate = (ConsensusState, bytes) => bool +type MisbehaviourPredicate = (ConsensusState, bytes) => (bool) ``` +The boolean returned indicates whether the evidence of misbehaviour was valid. +The client MUST also mutate internal state to mark appropriate heights which +were previously considered valid invalid, according to the nature of the misbehaviour. + More details about `MisbehaviourPredicate`s can be found in [CONSENSUS.md](./CONSENSUS.md) ### Sub-protocols @@ -285,7 +289,6 @@ method can be introduced in the future versions. function freezeClient(identifier: Identifier, evidence: bytes) { consensusState = get(consensusStateKey(identifier)) assert(consensusState.misbehaviourPredicate(evidence)) - set(frozenKey(id), true) } ``` diff --git a/spec/ics-003-connection-semantics/README.md b/spec/ics-003-connection-semantics/README.md index e9b2f55006e6..e59b3a7349df 100644 --- a/spec/ics-003-connection-semantics/README.md +++ b/spec/ics-003-connection-semantics/README.md @@ -303,11 +303,10 @@ The closing handshake sub-protocol defines three datagrams: *ConnCloseInit*, *Co A correct protocol execution flows as follows (note that all calls are made through modules per ICS 25): -| Initiator | Datagram | Chain acted upon | Prior state (A, B) | Post state (A, B) | -| --------- | ----------------- | ---------------- | ------------------ | ------------------ | -| Actor | `ConnCloseInit` | A | (OPEN, OPEN) | (CLOSETRY, OPEN) | -| Relayer | `ConnCloseTry` | B | (CLOSETRY, OPEN) | (CLOSETRY, CLOSED) | -| Relayer | `ConnCloseAck` | A | (CLOSETRY, CLOSED) | (CLOSED, CLOSED) | +| Initiator | Datagram | Chain acted upon | Prior state (A, B) | Post state (A, B) | +| --------- | ------------------- | ---------------- | ------------------ | ----------------- | +| Actor | `ConnCloseInit` | A | (OPEN, OPEN) | (CLOSED, OPEN) | +| Relayer | `ConnCloseConfirm` | B | (CLOSED, OPEN) | (CLOSED, CLOSED) | *ConnCloseInit* initialises a close attempt on chain A. diff --git a/spec/ics-004-channel-and-packet-semantics/README.md b/spec/ics-004-channel-and-packet-semantics/README.md index 5759620f436f..59c7483ec717 100644 --- a/spec/ics-004-channel-and-packet-semantics/README.md +++ b/spec/ics-004-channel-and-packet-semantics/README.md @@ -6,7 +6,7 @@ category: ibc-core requires: 2, 3, 5, 23, 24 author: Christopher Goes created: 2019-03-07 -modified: 2019-06-29 +modified: 2019-08-13 --- ## Synopsis @@ -790,6 +790,7 @@ Coming soon. 4 July 2019 - Modifications for unordered channels & acknowledgements 16 July 2019 - Alterations for multi-hop routing future compatibility 29 July 2019 - Revisions to handle timeouts after connection closure +13 August 2019 - Various edits ## Copyright