Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[expirationwatch] Fixes consistency bug #773

Merged
merged 3 commits into from
Apr 2, 2020

Conversation

jalextowle
Copy link
Contributor

@jalextowle jalextowle commented Apr 2, 2020

Description

An order becomes expired when order.expirationTimeSeconds <= block.timestamp (source). Previously, Mesh pruned orders once timestamp.After(expirationTime) == true, which would allow GetOrders to return invalid orders when timestamp == expirationTime.

Big thanks to @dekz for reporting the bug!

@jalextowle jalextowle marked this pull request as ready for review April 2, 2020 01:21
@jalextowle jalextowle changed the title [WIP] [expirationwatch] Fixes consistency bug [expirationwatch] Fixes consistency bug Apr 2, 2020
@jalextowle jalextowle merged commit 4dbd921 into development Apr 2, 2020
albrow added a commit that referenced this pull request Apr 20, 2020
* Periodically rerun ordersync instead of running it only once on startup (#764)

* Periodically rerun ordersync instead of running it only once on startup

* Add a random jitter to ordersync delay

* Change ordersyncApproxDelay to 1 hour

* Add log message when starting ordersync service

* Improve comment clarity

* Update ganache addresses (#765)

* Update Ganache DevUtils address

* Update Ganache snapshot version

* Update Dummy ERC1155 contract address

* Fix typo

* Add a polyfill for WebAssembly.instantateStreaming (#770)

* Add a polyfill for WebAssembly.instantateStreaming

* Fix linter error

* Update changelog

* Compare chain id env variable with rpc on startup (#733)

* ADDS check that configured chain id matches RPC WIP

* FIXES async error channel race condition and clean up code

* FIXES remove unnecessary wait group, move chain id fetch into helper

* FIXES use ParseBig256 for parsing chain id response from eth_chainId

* Fix race condition in core.App.Start

* Update changelog

Co-authored-by: Alex Browne <stephenalexbrowne@gmail.com>

* Add custom order filters documentation (#768)

* Add custom order filters docs

* Fix nits

* Add doc to menu

* Improve limitations description

* Add example filters

* Merge the two example sections

* Fully Automate Document Generation (#771)

* Automated the documentation update step

* Ignored exported fields that shouldn't be documented

* Addressed @albrow's review feedback

* Revert "Addressed @albrow's review feedback"

This reverts commit 75f48c0.

* [expirationwatch] Fixes consistency bug (#773)

* Fix small bug in expirationwatcher

* Add a test to ensure that a "barely expired" order will be pruned

* Update CHANGELOG with PR number

* Fixes race condition in orderwatcher test (#774)

* Improve scenario package (#779)

* WIP Improve scenario package

* Create orderopts package. Update scenario and ordervalidator to use it

* Fix remaining ordervalidator tests

* Update most orderwatcher tests

* Support setting taker state and enable remaining orderwatcher tests

* Fix remaining tests (only MultiAsset disabled)

* Uncomment test that depends on on-chain state for a StaticCall order

* Fix browser integration test

* Remove unneeded ethClient parameter in a few places

* Move sleep statement in order_watcher_test.go

* Address Alex Towle's feedback

* Remove old comment

* Revalidate affected orders regardless of ERC721 approval operator (#782)

* Increase sleep duration in TestPingPong (#785)

* scenario: Add ability to create multiple orders in a single batch (#784)

* scenario: Add ability to create multiple orders in a single batch

* Fix some typos

* Update changelog for PR #782 (#786)

* p2p: Don't call HandleMessages if there are no messages to handle (#787)

* Add missing regression test for ordersync pagination subprotocol (#788)

* Add missing regression test for ordersync pagination subprotocol

Also fixes a minor bug where the exponential backoff for ordersync
was too long in some circumstances.

* Remove some duplicated code in core_test.go

* Set versions to 9.3.0

Co-authored-by: Fabio B <me@fabioberger.com>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
Co-authored-by: Alex Towle <jalextowle@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants