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

Use avalanchego's sorting methods #260

Merged
merged 8 commits into from
Jun 28, 2023
Merged

Conversation

danlaine
Copy link

Why this should be merged

Removes duplicate code

How this works

Use imported avalanchego sorting functions and add Less methods as needed

How this was tested

New UT

@danlaine danlaine self-assigned this Jun 14, 2023
@danlaine danlaine marked this pull request as draft June 14, 2023 14:26
@danlaine danlaine marked this pull request as ready for review June 14, 2023 14:39
Copy link
Collaborator

@aaronbuchwald aaronbuchwald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requested one change to the test cases, thanks for putting this up 🙌

@aaronbuchwald aaronbuchwald merged commit fbd9dad into master Jun 28, 2023
@aaronbuchwald aaronbuchwald deleted the use-avalanchego-sort branch June 28, 2023 18:22
joshua-kim added a commit that referenced this pull request Jul 18, 2023
commit c6c0b1d
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Tue Jul 18 10:02:30 2023 -0400

    Rename sorting method imported from avalanchego (#272)

    * update avalanchego version

    * rename sorting method import

    * update avalanchego dep

    * fix sorting method name

    * fix sorting method name for real

commit 734c238
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Mon Jul 17 21:13:39 2023 -0400

    Add release notes and bump AvalancheGo dep (#289)

commit e024457
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Mon Jul 17 14:39:58 2023 -0400

    Prevent panic for LOG edge cases in callTracer (#285)

    * cherry-pick tracer log edge case handling

    * Update goja

    ---------

    Co-authored-by: jwasinger <j-wasinger@hotmail.com>

commit 1855d7e
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Mon Jul 17 11:39:11 2023 -0700

    Whitespace and nits (#287)

    * Whitespace and nits

    * add cpfg fix

commit 72df753
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Mon Jul 17 14:37:11 2023 -0400

    Prestate lookup account storage (#286)

    * Add lookupAccount in lookupStorage

    * fix tracer regression

    * Move tracer test to new directory

    ---------

    Co-authored-by: morrisettjohn <morrisettjohn@gmail.com>

commit 261d2ad
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Fri Jul 14 11:17:33 2023 -0400

    Cleanup accepted logs subscription test (#283)

commit a025ecc
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Mon Jul 10 11:50:09 2023 -0700

    Use go1.19 in CI for consistency with avalanchego (#278)

commit 419b262
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Fri Jul 7 13:07:54 2023 -0700

    Fix goroutine leaks in core/ tests (#273)

commit fbd9dad
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Wed Jun 28 14:22:38 2023 -0400

    Use avalanchego's sorting methods (#260)

    * use avalanchgo sorting functions

    * add tests for Less

    * import ordering

    * import ordering

    * Use `slices` methods instead of `sort` methods (#261)

    * use slices.Sort instead of sort.Slice

    * import ordering

    * add test case

commit 3f0df72
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Mon Jun 26 23:10:03 2023 -0400

    Bump to v0.12.4 (#271)

commit 6c9d2c3
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Thu Jun 22 00:42:44 2023 -0400

    Fix collect unflattened logs (#270)

    * Handle empty logs edge case in collectUnflattenedLogs

    * Add unit test to check log handling for block with atomic tx and no eth transactions

    * Fix race and add nil check

commit c08a7c1
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Tue Jun 20 15:05:03 2023 -0700

    Restrict ClearPrefix by key size (#265)

commit 0d02ea7
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Thu Jun 15 11:07:31 2023 -0400

    export CalculateDynamicFee (#259)

commit 0eb8685
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Thu Jun 15 10:48:26 2023 -0400

    update golangci-lint-action (#263)
joshua-kim added a commit to joshua-kim/coreth that referenced this pull request Jul 27, 2023
commit 8ef933f
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Tue Jul 25 07:12:10 2023 -0700

    Takes geth changes v1.11.14 -> v1.12.0 (ava-labs#277)

    * trie/

    * remove rej file

    * metrics/

    * accounts/

    * internal

    * rpc/

    * core/rawdb

    * go.mod

    * core/state

    * eth/...

    * core/vm core/types/ ethdb

    * core/txpool

    * left out

    * additional core/

    * should pass tests

    * nits

    * remove .rej file

    * newTestBlockChain TODO

    * Pr comments

    * remove ExcessDataGas

    * Add ExcessDataGas with verification

    * Add verification in plugin/evm

commit 8a8a220
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Fri Jul 21 11:36:26 2023 -0400

    Bump coreth to v0.12.5 and bump avalanchego dep to v1.10.5 (ava-labs#291)

commit 1da5b37
Author: Anusha <63559942+anusha-ctrl@users.noreply.github.com>
Date:   Thu Jul 20 12:32:22 2023 -0700

    remove (ava-labs#290)

commit c6c0b1d
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Tue Jul 18 10:02:30 2023 -0400

    Rename sorting method imported from avalanchego (ava-labs#272)

    * update avalanchego version

    * rename sorting method import

    * update avalanchego dep

    * fix sorting method name

    * fix sorting method name for real

commit 734c238
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Mon Jul 17 21:13:39 2023 -0400

    Add release notes and bump AvalancheGo dep (ava-labs#289)

commit e024457
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Mon Jul 17 14:39:58 2023 -0400

    Prevent panic for LOG edge cases in callTracer (ava-labs#285)

    * cherry-pick tracer log edge case handling

    * Update goja

    ---------

    Co-authored-by: jwasinger <j-wasinger@hotmail.com>

commit 1855d7e
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Mon Jul 17 11:39:11 2023 -0700

    Whitespace and nits (ava-labs#287)

    * Whitespace and nits

    * add cpfg fix

commit 72df753
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Mon Jul 17 14:37:11 2023 -0400

    Prestate lookup account storage (ava-labs#286)

    * Add lookupAccount in lookupStorage

    * fix tracer regression

    * Move tracer test to new directory

    ---------

    Co-authored-by: morrisettjohn <morrisettjohn@gmail.com>

commit 261d2ad
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Fri Jul 14 11:17:33 2023 -0400

    Cleanup accepted logs subscription test (ava-labs#283)

commit a025ecc
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Mon Jul 10 11:50:09 2023 -0700

    Use go1.19 in CI for consistency with avalanchego (ava-labs#278)

commit 419b262
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Fri Jul 7 13:07:54 2023 -0700

    Fix goroutine leaks in core/ tests (ava-labs#273)

commit fbd9dad
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Wed Jun 28 14:22:38 2023 -0400

    Use avalanchego's sorting methods (ava-labs#260)

    * use avalanchgo sorting functions

    * add tests for Less

    * import ordering

    * import ordering

    * Use `slices` methods instead of `sort` methods (ava-labs#261)

    * use slices.Sort instead of sort.Slice

    * import ordering

    * add test case

commit 3f0df72
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Mon Jun 26 23:10:03 2023 -0400

    Bump to v0.12.4 (ava-labs#271)

commit 6c9d2c3
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Thu Jun 22 00:42:44 2023 -0400

    Fix collect unflattened logs (ava-labs#270)

    * Handle empty logs edge case in collectUnflattenedLogs

    * Add unit test to check log handling for block with atomic tx and no eth transactions

    * Fix race and add nil check

commit c08a7c1
Author: Darioush Jalali <darioush.jalali@avalabs.org>
Date:   Tue Jun 20 15:05:03 2023 -0700

    Restrict ClearPrefix by key size (ava-labs#265)

commit 0d02ea7
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Thu Jun 15 11:07:31 2023 -0400

    export CalculateDynamicFee (ava-labs#259)

commit 0eb8685
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Thu Jun 15 10:48:26 2023 -0400

    update golangci-lint-action (ava-labs#263)
darioush pushed a commit that referenced this pull request Apr 25, 2024
* add initial precompile configs and handle them

* add verify to precompile configs

* add unit tests for initial configs and verify

* add a nil check for initial fee config verification

* conditionally verify allowlist

* Update precompile/stateful_precompile_config.go

Co-authored-by: aaronbuchwald <aaron.buchwald56@gmail.com>

* add config test to precompile package

* add 0 test case for gas limit

* add comments for allowlist storage keys

* move allow list role to different file

* Update precompile/allow_list.go

Co-authored-by: aaronbuchwald <aaron.buchwald56@gmail.com>

* rename test

* Update precompile/allow_list.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* rename test & use func to create config

* Remove unnecessary role checks

* use config constructor for precompile tests

* Update accounts/abi/bind/precompile_template.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update precompile/contract_native_minter.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update precompile/contract_deployer_allow_list.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update precompile/allow_list.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* add equals methods

* initialize reward manager precompile by precompilegen

* add reward upgrade to block verification

* handle empty case in configure

* use single field to decide allow fee recipieints

* add coinbase verification

* configure miner with coinbase in state accordingly

* Remove abis

* use header coinbase for verification

* remove hashToBool util methods

* use require and remove unneccessary address field from test

* add unit tests

* cleanups

* Update consensus/dummy/consensus.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update contract-examples/contracts/IAllowList.sol

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update core/stateful_precompile_test.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update core/stateful_precompile_test.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update core/stateful_precompile_test.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update precompile/reward_manager.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update precompile/reward_manager.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update precompile/reward_manager.go

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* review fixes

* add e2e tests and example contract

* add initial config to test

* Update contract-examples/tasks.ts

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update contract-examples/test/ExampleRewardDistributor.ts

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update contract-examples/test/ExampleRewardDistributor.ts

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* review fixes

* Update consensus/dummy/consensus.go

Co-authored-by: aaronbuchwald <aaron.buchwald56@gmail.com>

* Update params/config.go

Co-authored-by: aaronbuchwald <aaron.buchwald56@gmail.com>

* Update params/config.go

Co-authored-by: aaronbuchwald <aaron.buchwald56@gmail.com>

* fixs after review

* add string method to reward manager

* revert coinbase syntactic verification

* review fixes

* review fixes

* add disabled precompile test cases

* use hash value instead of address

* config cleanup

* Update contract-examples/tasks.ts

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* Update contract-examples/tasks.ts

Co-authored-by: Darioush Jalali <darioush.jalali@avalabs.org>

* more nit fixes

* fix conflict

* add disabled test case
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants