Commit Graph

1 Commits

Author SHA1 Message Date
Andrey Kuprianov a821fe4a61
Model-based tests for relay functions of ICS-20 token transfer (#8145)
* 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>
2020-12-11 17:35:44 +00:00