Skip to content

[WIP] Technical Debt Resolution and Operator Experience#3382

Closed
KPrasch wants to merge 53 commits intonucypher:v7.4.xfrom
KPrasch:embed-operator-external
Closed

[WIP] Technical Debt Resolution and Operator Experience#3382
KPrasch wants to merge 53 commits intonucypher:v7.4.xfrom
KPrasch:embed-operator-external

Conversation

@KPrasch
Copy link
Member

@KPrasch KPrasch commented Jan 8, 2024

Type of PR:

  • Rework
  • Refactor
  • 🪓

Required reviews:
4

What this does:

Enhancements
  • Automated operator wallet generation from ursula's mnemonic (optional) on nucypher ursula init
    • example usage:
      nucypher ursula init 
      --eth-endpoint https://mainnet.infura.io/v3/abc 
      --polygon-endpoint https://polygon-mainnet.infura.io/v3/abc 
      --domain mainnet
      
      ...
      
      Generated keystore
      
      Operator Address:   0xeCaf28AD99A4150f9A890B214C005f19e344E3d9
      Network Public Key:   02a43893e5205546dfe07fbd39096697
      Keystore Directory: /home/k/.local/share/nucypher/keystore
      ...
  • Introduces new CLI/config option --wallet-filepath for using a pre-existing wallet
  • Extracts migrate to a dedicated CLI command nucypher ursula migrate
  • Reduces configuration fields with config bump v8 -> v9 and migration script
Deprecations
  • TransactingPower and Signers in favor of Wallet
  • --signer-uri, --operator-address, --light and --poa launch flags
  • operator_address and checksum_address as character constructor inputs
  • InfuraClient, AlchemyClient, RPC account management
  • Multiple configuration files handling and selection (now only one is required/supported)
  • Select JSON config values; Remaining fields are
    • keystore_filepath
    • domain
    • eth_endpoint
    • polygon_endpoint
    • host
    • port
    • wallet_filepath
    • condition_blockchain_endpoints
    • version
Renames
  • "node" (and in many cases "teacher") -> "peer"
  • rest_host, rest_port -> host, port
  • keystore_path -> keystore_filepath
Code Quality
  • Reinvention of wallet/account management (testing with local accounts a la ape, no more RPC wallets)
  • Unused code removal (constants, methods, utilities)
  • Unskips and fixes all skipped tests, removes unhelpful tests
  • Fixes exception handling and reporting of invalid peer nodes
  • Fixes failed transaction handling
  • Removes unhelpful TODOs
  • Improves P2P logging and error handling
  • more...
Issues

Notes for reviewers:

@arjunhassard arjunhassard changed the title [WIP] Mega Refactor & Technical Debt Resolution [WIP] Mega Refactor & Technical Debt Resolution (Operator Experience) Jan 8, 2024
@KPrasch KPrasch changed the base branch from v7.1.x to v7.2.x January 9, 2024 20:49
@KPrasch KPrasch added Bug 🐛 Broken functionality Enhancement New or improved features CLI This effects the nucypher CLI Configuration Node configuration Naming stuff The hardest part about code authorship Ursula 👩‍🚀 Effects the "Ursula" development area ux design User experience enhancements Code Quality 🔧 Pertaining to code quality improvements Optimization use less, go faster labels Jan 12, 2024
@KPrasch KPrasch force-pushed the embed-operator-external branch from 9cd6c1a to 0c09ceb Compare January 13, 2024 17:09
KPrasch added a commit to KPrasch/nucypher that referenced this pull request Jan 23, 2024
KPrasch added a commit to KPrasch/nucypher that referenced this pull request Jan 23, 2024
KPrasch added a commit to KPrasch/nucypher that referenced this pull request Jan 23, 2024
KPrasch added a commit to KPrasch/nucypher that referenced this pull request Jan 23, 2024
KPrasch added a commit that referenced this pull request Jan 23, 2024
@KPrasch KPrasch force-pushed the embed-operator-external branch from c7356b1 to c7b9a9d Compare January 25, 2024 15:10
@KPrasch KPrasch changed the title [WIP] Mega Refactor & Technical Debt Resolution (Operator Experience) [WIP] Technical Debt Resolution and Operator Experience Jan 26, 2024
@KPrasch KPrasch force-pushed the v7.2.x branch 2 times, most recently from 0ff379c to 7cccbe9 Compare January 30, 2024 12:37
@KPrasch KPrasch changed the base branch from v7.2.x to v7.3.x February 5, 2024 20:58
@KPrasch KPrasch self-assigned this Feb 5, 2024
@KPrasch KPrasch force-pushed the v7.3.x branch 3 times, most recently from 41993df to 64ec376 Compare February 13, 2024 17:29
@KPrasch KPrasch changed the base branch from v7.3.x to v7.4.x February 14, 2024 11:44
@KPrasch
Copy link
Member Author

KPrasch commented Apr 24, 2024

Base branch diverged, will attempt to extricate useful bits and bolts.

@KPrasch KPrasch closed this Apr 24, 2024
@derekpierre derekpierre mentioned this pull request Apr 26, 2024
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug 🐛 Broken functionality CLI This effects the nucypher CLI Code Quality 🔧 Pertaining to code quality improvements Configuration Node configuration Enhancement New or improved features Naming stuff The hardest part about code authorship Optimization use less, go faster Ursula 👩‍🚀 Effects the "Ursula" development area ux design User experience enhancements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant