* start on MBT for ICS20: setting and checking bank balances
* add bank struct for subtracting banks
* reconstruct ibc denominations in the bank
* add some static tests with bank changes tracking
* small fixes
* better error handling
* add Jsonatr transform from Apalache conterexample into OnRecvPacket test
* add example Apalache CE and transformed test
* changed apalache-to-recv-test.json to output arrays instead of records
* add datastructures for parsing TLA+ tests
* remove accidentally committed code
* add conversion from TLA+ structs to Go structs
* encode abstract ids into addresses via hashes
* first run of auto-generated MBT tests
* first run of auto-generated MBT tests: fix ports and channels
* fix small inconsistencies
* fix mbt_relay_test by not setting the bank balances in every iteration
* add test for onTimeoutPacket
* add handling of OnRecvAcknowledgement to mbt relay test
* add handling of SendTransfer
* add relay-test.json
* revert manual changes in relay-test.json
* fix handling of denominations for SendTransfer
* setup two test channels A-B, B-C; fix escrow address encoding
* a test for all handlers passing
* generalize denom handling to arbitrary length + failing denom test
* rename test function
* MBT test for unsecrow tokens
* add model-based generated tests
* add model-based tests (prev commit: addded model)
* transformed json tests with jsonatr
* modify mbt_relay_test.go to execute all MBT tests
* cleanup
* move jsonatr transforms into another dir
* add MBT_README.md
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* add IBC prefix to escrow addresses
* use ADR 028 AddressHash construction
* remove extra space
* apply @AdityaSripal suggestion; prefix from ibc -> ibc-transfer-escrow-prefix
* Use alternative 1 proposed by @andrey-kuprianov
* anticpate necessary build fix
* add escrow address issue link into module.go
* Update x/ibc/applications/transfer/types/keys.go
Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>
* Update x/ibc/applications/transfer/types/keys.go
Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>
* apply @andrey-kuprianov review suggestions
Deduplicate code into a helper function as suggested. Add unit tests for max transfer channels test.
Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>
* ibc: commit packet and hash
* minor changes
* fix build
* update err msgs
* don't use Any
* update commitment hash to used fixed length preimage
The commitment hash will now use 8 bytes timeout timestamp + 8 bytes timeout height version number + 8 bytes timeout height version height + sha 256 hash of data
* remove error from CommitPacket return values
* update godoc
* rm proto-tools-stamp
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* x/ibc: transfer specs
* update titles and list todos
* denom trace and client UX
* add UX recommendations and locked funds section
* metrics
* state transitions
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* address comments from review
* jack suggestions
* add example
* fix
* address comments from call with @zakimanian
* Update x/ibc/applications/transfer/spec/01_concepts.md
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
* add comment about verification
* address comments from review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
* panic on GetSignBytes and remove SubModuleCdc where possible
* fix build
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>