Skip to content

Conversation

@dhrubabasu
Copy link
Contributor

Why this should be merged

This function relies on fields in the backend struct only. Hoisting it there will allow us to use it when verifying mempool txs before putting them in a block.

Refactored it slightly to take in a blkID.

Factored out of #2359

How this works

pretty straightforward

How this was tested

CI

@dhrubabasu dhrubabasu added the cleanup Code quality improvement label Dec 3, 2023
@dhrubabasu dhrubabasu added this to the v1.10.18 milestone Dec 3, 2023
@dhrubabasu dhrubabasu self-assigned this Dec 3, 2023

// VerifyUniqueInputs returns nil iff no blocks in the inclusive
// ancestry of [blkID] consume an input in [inputs].
func (b *backend) VerifyUniqueInputs(blkID ids.ID, inputs set.Set[ids.ID]) error {
Copy link
Contributor

Choose a reason for hiding this comment

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

q: why is this exported? It wasn't. Are we planning to use it outside P-chain block executor package?

Copy link
Contributor Author

@dhrubabasu dhrubabasu Dec 4, 2023

Choose a reason for hiding this comment

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

It doesn't need to be exported. I felt exporting it makes it clearer that it can be consumed by structs outside of backend, namely in the verifier

Copy link
Contributor

@abi87 abi87 left a comment

Choose a reason for hiding this comment

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

I would unexport VerifyUniqueInputs. Also I'd add some more context about why this change is needed. Other than that LGTM

@dhrubabasu
Copy link
Contributor Author

dhrubabasu commented Dec 4, 2023

Also I'd add some more context about why this change is needed. Other than that LGTM

This change is needed to access VerifyUniqueInputs in the blk manager. We need it for verifying each mempool tx against the latest stateDiff (WIP PR is at #2359)

@StephenButtolph StephenButtolph added this pull request to the merge queue Dec 4, 2023
Merged via the queue into dev with commit b741c19 Dec 4, 2023
@StephenButtolph StephenButtolph deleted the verify-unique-inputs branch December 4, 2023 23:12
joshua-kim added a commit that referenced this pull request Dec 6, 2023
commit b36416d
Author: Alberto Benegiamo <alberto.benegiamo@gmail.com>
Date:   Wed Dec 6 12:12:11 2023 -0700

    Drop Pending Stakers 1 - introduced ScheduledStaker txs (#2323)

    Co-authored-by: Stephen Buttolph <stephen@avalabs.org>

commit 7df1f3a
Author: Stephen Buttolph <stephen@avalabs.org>
Date:   Wed Dec 6 13:46:56 2023 -0500

    Restrict GOPROXY (#2434)

commit 21b7ab8
Author: Stephen Buttolph <stephen@avalabs.org>
Date:   Tue Dec 5 19:43:00 2023 -0500

    Fix platformvm.SetPreference (#2429)

commit ada692a
Author: Stephen Buttolph <stephen@avalabs.org>
Date:   Tue Dec 5 17:40:03 2023 -0500

    Update minimum golang version to v1.20.12 (#2427)

commit 004a23e
Author: Dhruba Basu <7675102+dhrubabasu@users.noreply.github.com>
Date:   Tue Dec 5 12:56:25 2023 -0500

    `vms/platformvm`: Add `decisionTxs` parameter to `NewBanffProposalBlock` (#2411)

    Co-authored-by: Dan Laine <daniel.laine@avalabs.org>

commit 439dc1e
Author: Alberto Benegiamo <alberto.benegiamo@gmail.com>
Date:   Tue Dec 5 10:46:13 2023 -0700

    ProposerVM Extend windows 0 - Cleanup (#2404)

    Co-authored-by: Stephen Buttolph <stephen@avalabs.org>

commit 477157d
Author: Dhruba Basu <7675102+dhrubabasu@users.noreply.github.com>
Date:   Tue Dec 5 11:10:56 2023 -0500

    `vms/platformvm`: Cleanup some block tests (#2422)

    Co-authored-by: Dan Laine <daniel.laine@avalabs.org>

commit b6700c9
Author: Stephen Buttolph <stephen@avalabs.org>
Date:   Mon Dec 4 22:24:34 2023 -0500

    Update slices dependency to use Compare (#2424)

    Co-authored-by: James Walker <jim.walker@smartcontract.com>

commit 5d9e482
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Mon Dec 4 19:27:29 2023 -0500

    allow user of `build_fuzz.sh` to specify a directory to fuzz in (#2414)

commit 2e32281
Author: Stephen Buttolph <stephen@avalabs.org>
Date:   Mon Dec 4 18:30:41 2023 -0500

    Fix duplicated bootstrapper engine termination (#2334)

    Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com>
    Co-authored-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com>

commit b741c19
Author: Dhruba Basu <7675102+dhrubabasu@users.noreply.github.com>
Date:   Mon Dec 4 17:49:15 2023 -0500

    `vms/platformvm`: Move `VerifyUniqueInputs` from `verifier` to `backend` (#2410)

commit 6aa20fc
Author: Dhruba Basu <7675102+dhrubabasu@users.noreply.github.com>
Date:   Mon Dec 4 17:32:07 2023 -0500

    `vms/platformvm`: Initialize txs in `Transactions` field for `BanffProposalBlock` (#2419)

commit c11accd
Author: Alberto Benegiamo <alberto.benegiamo@gmail.com>
Date:   Mon Dec 4 09:16:01 2023 -0700

    Drop Pending Stakers 0 - De-duplicate staking tx verification (#2335)

commit 05ce366
Author: marun <maru.newby@avalabs.org>
Date:   Sat Dec 2 13:33:18 2023 -0800

    testing: Update to latest version of ginkgo (#2390)

commit 04af33e
Author: Dhruba Basu <7675102+dhrubabasu@users.noreply.github.com>
Date:   Sat Dec 2 16:33:07 2023 -0500

    `vms/platformvm`: Cleanup block builder tests (#2406)

    Co-authored-by: Stephen Buttolph <stephen@avalabs.org>

commit 7623ffd
Author: Stephen Buttolph <stephen@avalabs.org>
Date:   Fri Dec 1 19:39:15 2023 -0500

    Update versions for v1.10.17 (#2394)

commit be1a2ad
Author: aaronbuchwald <aaron.buchwald56@gmail.com>
Date:   Fri Dec 1 13:31:49 2023 -0500

    Add more descriptive formatted error (#2403)

    Co-authored-by: Stephen Buttolph <stephen@avalabs.org>

commit 9b85141
Author: Dhruba Basu <7675102+dhrubabasu@users.noreply.github.com>
Date:   Thu Nov 30 12:42:36 2023 -0800

    `vms/platformvm`: Move `GetRewardUTXOs`, `GetSubnets`, and `GetChains` to `State` interface (#2402)

commit de3b16c
Author: Joshua Kim <20001595+joshua-kim@users.noreply.github.com>
Date:   Thu Nov 30 12:49:53 2023 -0500

    Add `p2p.Network` component (#2283)

    Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com>
    Co-authored-by: Stephen Buttolph <stephen@avalabs.org>

commit 0ab2046
Author: marun <maru.newby@avalabs.org>
Date:   Thu Nov 30 09:18:59 2023 -0800

    Rename `testnet` fixture to `tmpnet` (#2307)

commit 907b34c
Author: Stephen Buttolph <stephen@avalabs.org>
Date:   Wed Nov 29 21:32:43 2023 -0500

    Update bootstrap IPs (#2396)

commit 96d451d
Author: Stephen Buttolph <stephen@avalabs.org>
Date:   Wed Nov 29 18:15:47 2023 -0500

    Periodically PullGossip only from connected validators (#2399)

commit 0da5bcc
Author: Dan Laine <daniel.laine@avalabs.org>
Date:   Wed Nov 29 16:32:16 2023 -0500

    Remove method `CappedList` from `set.Set` (#2395)

Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cleanup Code quality improvement

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants