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

HotShot open sourcing checklist #254

Closed
9 of 13 tasks
VictorKoenders opened this issue Jun 27, 2022 · 1 comment
Closed
9 of 13 tasks

HotShot open sourcing checklist #254

VictorKoenders opened this issue Jun 27, 2022 · 1 comment

Comments

@VictorKoenders
Copy link
Contributor

VictorKoenders commented Jun 27, 2022

At the time of staging deployment, we should check off anything in the release checklist that is unlikely to change between staging and release and that doesn't relate directly to releasing code publicly (e.g. open sourcing related tasks are not included here).

  • All tests pass
  • Check all README.md are up to date
  • README has instructions on how to set up development environment
  • README has instructions on how to run tests
  • Instructions for obtaining help are included in all reasonable starting points, e.g. all the README.md files (not relevant for staging as we will not have any users, no support channels to point to)
  • All TODO comments are clear, actionable, and linked to a GitHub issue (See below)
  • Rename the project and repository to hotshot Renamed project to HotShot #282
  • Licenses in all projects

(Based on EspressoSystems/espresso#132)

Upcoming changes we want to merge in before 0.1.0:

@VictorKoenders
Copy link
Contributor Author

VictorKoenders commented Jun 27, 2022

  • src/demos/dentry.rs:97: self.add.amount <= self.sub.amount // TODO why not strict equality?
  • src/demos/dentry.rs:473: // TODO: Generate a tc::Signature
  • phaselock-types/src/traits/block_contents.rs:44: /// TODO: Abstract out into transaction trait
  • src/lib.rs:123: /// TODO: Move the functionality this expresses into the election trait
  • src/lib.rs:597: // TODO: Don't blindly accept the newest QC but make sure it's valid with other nodes too
  • flake.nix:100: # TODO uncomment when fetching dependencies is unborked
  • flake.nix:151: # TODO uncomment when fetching dependencies is unborked
  • src/traits/networking/libp2p_network.rs:72: /// TODO jr make this LRU eventually/less jank
  • src/traits/networking/libp2p_network.rs:103: /// TODO error handling!! unwraps is bad
  • src/traits/networking/libp2p_network.rs:175: // TODO do we want to use pk.nonce? or idx? or are they the same?
  • src/traits/networking/libp2p_network.rs:436: // TODO separate out into separate function
  • src/traits/networking/libp2p_network.rs:449: // TODO insert
  • src/traits/storage/atomic_storage/dual_key_value_store.rs:121: // TODO: This still adds a duplicate K in the storage
  • examples/multi-machine.rs:91:// TODO: remove SecretKeySet from parameters and read PubKeys from files.
  • examples/multi-machine.rs:193: // TODO: read PubKeys from files.
  • src/traits/networking/w_network.rs:732: todo!()
  • src/traits/networking/w_network.rs:988: // TODO (vko): I think shutting down the TcpListener will shut down this network, but I'm not sure
  • src/traits/networking/w_network.rs:998: todo!()
  • src/traits/networking/w_network.rs:1005: todo!()
  • phaselock-testing/tests/failures.rs:13:// TODO jr: fix test
  • phaselock-testing/tests/failures.rs:29:// TODO jr: fix test
  • libp2p-networking/src/network/mod.rs:154:/// TODO something more general
  • libp2p-networking/src/network/node.rs:131: // TODO: Extract these defaults into some sort of config
  • libp2p-networking/src/network/node.rs:144: // TODO do we even need this?
  • libp2p-networking/examples/common/web.rs:40: // TODO: I think this will not work as this .lock will conflict with the other lock, but we'll see
  • phaselock-testing/tests/common/mod.rs:222: /// TODO unneeded (should be sufficient to have gen runner)
  • phaselock-testing/tests/common/mod.rs:229: /// TODO this should be implementation detail of network (perhaps fed into
  • libp2p-networking/src/network/node/handle.rs:78: // TODO separate this into a separate function so you can make everyone know about everyone
  • phaselock-testing/tests/random_tests.rs:23:// TODO: Consensus behaves nondeterministically (https://github.com/EspressoSystems/phaselock/issues/15)
  • phaselock-testing/tests/random_tests.rs:34:// TODO: Consensus behaves nondeterministically (https://github.com/EspressoSystems/phaselock/issues/15)
  • phaselock-testing/tests/random_tests.rs:58:// TODO jr: fix failure
  • phaselock-testing/tests/random_tests.rs:71:// TODO jr: fix failure
  • phaselock-testing/tests/random_tests.rs:85:// TODO (issue): https://github.com/EspressoSystems/phaselock/issues/15
  • phaselock-testing/tests/random_tests.rs:100:// TODO jr: fix failure
  • phaselock-testing/tests/random_tests.rs:115:// TODO (vko): these tests seem to fail in CI
  • phaselock-testing/tests/random_tests.rs:126:// TODO: Consensus behaves nondeterministically (https://github.com/EspressoSystems/phaselock/issues/15)
  • phaselock-testing/tests/random_tests.rs:138:// TODO: Consensus behaves nondeterministically (https://github.com/EspressoSystems/phaselock/issues/15)
  • phaselock-testing/tests/random_tests.rs:151:// TODO: Consensus behaves nondeterministically (https://github.com/EspressoSystems/phaselock/issues/15)
  • phaselock-testing/tests/random_tests.rs:164:// TODO: Consensus behaves nondeterministically (https://github.com/EspressoSystems/phaselock/issues/15)
  • phaselock-testing/tests/random_tests.rs:178:// TODO: Consensus behaves nondeterministically (https://github.com/EspressoSystems/phaselock/issues/15)
  • phaselock-testing/tests/random_tests.rs:193:// TODO (vko): these tests seem to fail in CI
  • libp2p-networking/src/network/def.rs:141: // TODO: Should we change this into a channel?
  • libp2p-networking/src/network/def.rs:327: // TODO might be better just to push this into the queue and not try to
  • phaselock-testing/src/impls/election.rs:54: todo!()
  • phaselock-testing/src/impls/election.rs:66: todo!()
  • phaselock-testing/src/lib.rs:598: // TODO: Should we add this?
  • phaselock-testing/src/lib.rs:701: /// TODO error handling to make sure entire set of transactions can be processed
  • libp2p-networking/src/ui.rs:256: // TODO this is repetitive. Separate out into function.
  • libp2p-networking/web/index.html:60: // TODO: Typescript the state for auto completion etc
  • libp2p-networking/tests/counter.rs:123: // TODO fix error handling
  • phaselock-hotstuff/src/lib.rs:55: // TODO: Allow this to be loaded from Storage?
  • phaselock-hotstuff/src/lib.rs:334: // TODO(vko): see if we can remove this Arc<RwLock<..>> and use mutable references instead
  • phaselock-hotstuff/src/lib.rs:357:// TODO: These fields are not used. In the future we can use this for:
  • phaselock-hotstuff/src/phase/precommit/leader.rs:81: // TODO: Make sure signatures are valid before including them. This isn't critical, as the
  • phaselock-hotstuff/src/phase/precommit/leader.rs:86: // TODO: Should we safe_node the incoming Prepare?
  • phaselock-hotstuff/src/phase/update_ctx.rs:65: // TODO: Make sure this doesn't happen
  • phaselock-hotstuff/src/phase/prepare/leader.rs:137: // TODO: state.append could change our state.
  • phaselock-hotstuff/src/phase/decide/leader.rs:97: // TODO: Walk from storage().locked_qc() instead
  • phaselock-hotstuff/src/phase/commit/replica.rs:72: // TODO(vko) try the next commit in ctx if any?
  • phaselock-hotstuff/src/phase/decide/replica.rs:55: // TODO: Walk from storage().locked_qc() instead
  • phaselock-hotstuff/src/phase/prepare/replica.rs:103: // TODO: rework how transactions are stored and processed
  • phaselock-hotstuff/src/phase/precommit/replica.rs:60: // TODO: We can probably get these from PreparePhase

@VictorKoenders VictorKoenders self-assigned this Jul 6, 2022
@VictorKoenders VictorKoenders changed the title Testnet v1 Staging checklist HotShot open sourcing checklist Jul 13, 2022
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

No branches or pull requests

2 participants