~fuzzbawls/pivx-core/+git/test:2022_GUI-prop-creation-validation

Last commit made on 2022-05-16
Get this branch:
git clone -b 2022_GUI-prop-creation-validation https://git.launchpad.net/~fuzzbawls/pivx-core/+git/test

Branch merges

Branch information

Name:
2022_GUI-prop-creation-validation
Repository:
lp:~fuzzbawls/pivx-core/+git/test

Recent commits

dc11219... by Fuzzbawls

Future: Introduce future function to validate proposal strings

Future implementation of string validation on the network level for
proposal name/URL

54c0d10... by Fuzzbawls

[Cleanup] Use raw string literal in validateURL

clang-tidy: can use a raw string literal instead of an escaped string
for better readability.

76898cb... by Fuzzbawls

[Cleanup] Pass strURL via reference and make const in validateURL

efbc420... by Fuzzbawls

GUI: Sanitize Proposal Name/URL input fields and validate

This matches the behavior provided by the RPC interface to prevent
illegal characters from being included in either a proposal's name or
URL

91dd3d3... by Fuzzbawls

GUI: Don't hard cap proposal name/URL input length

Let the validation methods give length warnings

5a7b514... by furszy <email address hidden>

Merge #2749: [Budget] Use space and time efficient data structure to check for already sent item sync requests

d8e2c984bdc8d9b67cfe9a3f4eb749cff231323c budget manager: use space and time efficient data structure for unknown item requests. (furszy)
f3a7fea18cd35c7e601a2b715d28d3fd7ad3d0ba budget manager: use g_netfulfilledman instead of mAskedUsForBudgetSync to prevent spam. (furszy)

Pull request description:

  In the arriving orphan vote process; the node, after trying to add the vote to the orphan map, tries to ask the proposal/budget to the peer that sent the vote, sending a single item sync request.
  The request, as the node can receive several votes going to the same proposal, is relayed only if the node haven't sent a sync request for the proposal already. As we are using a map to perform this membership test, the time complexity is O(log n).

  This PR improves it migrating the map to a bloom filter, which time complexity for membership test is O(1).
  The false-positive rate, even when it's negligible (i set the rate to 0.001), isn't really a worry here because, as wrote above, this is only use to test for sync proposal request existence, which is not ban cause. It's just used to not send extra unneeded requests.

  Plus, aside from that, cleaned the other `mAskedUsForBudgetSync` map, using the already existent net request manager flow.

ACKs for top commit:
  random-zebra:
    ACK d8e2c984bdc8d9b67cfe9a3f4eb749cff231323c
  Fuzzbawls:
    ACK d8e2c984bdc8d9b67cfe9a3f4eb749cff231323c

Tree-SHA512: 8cc2dc945f9182aaa553588b7f2e741b6388f70e550d2a99946476796ff1885a153ec9b8284ef299aff418f7e095bfa96e679caf02963597158d5974a8e77b1d

fc63a6f... by furszy <email address hidden>

Merge #2750: [Refactor] Create coinstake outputs moved from stakeInput to the wallet class.

ccd6fcdf638ed96528c6e213e7a6d01abd4eb95b Move-only: Create coinstake outputs moved fro stakeInput.h/cpp to wallet.h/cpp (furszy)

Pull request description:

  Fixing the circular dependency:
  "kernel -> stakeinput -> wallet/wallet -> kernel"

ACKs for top commit:
  random-zebra:
    utACK ccd6fcdf638ed96528c6e213e7a6d01abd4eb95b

Tree-SHA512: 4a5a2f1b9dc9407e805c89073051eb20bd867402ec07e3e571556d116b4996f60461ec15454ca11948c9ea64a6b8a671d9b1bd9ae11bbba14d38e8e867bd024a

76de203... by furszy <email address hidden>

Merge #2748: [Consensus] Introduce Spork 22: LLMQ_DKG_MAINTENANCE

273981e3dd1a5055ae46b3dc21fcca35a3d1572b QA: Add tests for SPORK_22 (random-zebra)
9b561f53ca02b73cf8b19fe3960ca428973e63d0 Consensus: Add SPORK_22 LLMQ_DKG_MAINTENANCE (random-zebra)

Pull request description:

  Add `SPORK_22_LLMQ_DKG_MAINTENANCE` to block the relay of final commitments and allow only null-commitments during the mining phase.

ACKs for top commit:
  furszy:
    great, ACK 273981e3dd1a5055ae46b3dc21fcca35a3d1572b
  Fuzzbawls:
    ACK 273981e3dd1a5055ae46b3dc21fcca35a3d1572b

Tree-SHA512: 77a6eeeee272d449d024458318a02433b22cee1db21892715686bdace25845dba0a32381a746607ec8c96e1ca98afdd8b70c4372f227599138e6b2ec41a0cb0c

4e46b14... by furszy <email address hidden>

Merge #2747: QA: Add proper bech32 encoding/decoding utilities to python framework

7e04420f9bd794bd807a5ad91c5a5014900136f5 QA: Add proper bech32 encoding/decoding utilities to python framework (random-zebra)

Pull request description:

  As per title, completes the rudimentary python implementation introduced in #2733

ACKs for top commit:
  furszy:
    you had some fun here, utACK 7e04420f9bd794bd807a5ad91c5a5014900136f5

Tree-SHA512: b32c126efa44dedde32c473b3c2a25cac21c3380d881637bdb87764bae0928b8fb53701b75ef72ab1e1d8da32af0d8f367428571813c33340550678ff3ca0c5d

fccfe2c... by furszy <email address hidden>

Merge #2745: Error out at startup if there was an internal problem during DMN init

f48176b7cf4e9797f87ad0d331e09c210d06f1e5 CMasternodePayments: remove unnecessary logging (furszy)
51c6ed3afc533726f85ca3b4a643043434081e4b net: no need to reject incoming connections if the node is a Masternode. (furszy)
67283a81875dc865a5c2ee709f5673a57bea51ad Init: activate MN after connman initialization. (furszy)
1bba8306a7553d4ba1c267934c1913c9b51fd16f Init: Error out at startup if there was an internal problem during DMN init. (furszy)

Pull request description:

  Follow-up to #2742.

  1) Notify user if the Deterministic MN initialization failed for a local non-recoverable error.

  2) Moved the startup Masternode activation after the connection manager initialization.
  Without it, as the network module isn't initialized, the MN connectivity check always fails.

  3) Removed an overkill check that was rejecting incoming connections on Masternodes if the node wasn't, tier two wise, synchronized.
  The tier two sync preference for outbound connections can, and will, be achieved differently on a subsequent PR.

ACKs for top commit:
  random-zebra:
    utACK f48176b7cf4e9797f87ad0d331e09c210d06f1e5
  Fuzzbawls:
    utACK f48176b7cf4e9797f87ad0d331e09c210d06f1e5

Tree-SHA512: 491966f9a31a077da0354edd5d5370a37d88ff6b9409a21d90a130a9571a81181816f565ba430a87ad08e16f1c3499cd5712dc8b5decf32b275dab5da9b2690c