Skip to content

Conversation

bertllll
Copy link
Contributor

A brief explanation of how it works, plus some instructions for testing in the attached file:
Payment mechanism testing guidlines.txt

utkarshg6 and others added 21 commits April 4, 2025 17:11
* GH-601: introduce sent_payable table

* GH-601: test that table with certain columns were created during migration

* GH-601: resuse code to test fields of table

* GH-601: migrate utils code

* GH-601: trigger actions

* GH-601: fix test constants_have_correct_values

* GH-601: review changes

* GH-601: move constant to database/test_utils.rs
…manily its DAO) (#617)

* GH-608: change the trait object to support SentPayables

* Revert "GH-608: change the trait object to support SentPayables"

This reverts commit df415c0.

* GH-608: introduce sent payable dao

* GH-608: add boilerplate code

* GH-608: implement insert_new_records

* GH-608: add test cases for the panic and error clause for the insert method

* GH-608: introduce builder pattern for the Tx

* GH-608: implement get_tx_identifiers

* GH-608: implement retrieve_pending_txs()

* GH-608: add more assertions for the retrieve_pending_txs() and implement Display for TxStatus

* GH-608: rename time_t in fn names to unix_timestamp

* GH-608: refactor sent_payable_dao.rs

* GH-608: add stronger tests for insert_new_records()

* GH-608: retrieve txs conditionally

* GH-608: change SQL to uppercase wherever necessary

* GH-608: add RetrieveCondtion::ToRetry

* GH-608: add constant RETRY_THRESHOLD_SECS

* GH-608: implement display and from_str() for TxStatus

* GH-608: implement retrieve_condition_display_works

* GH-608: update the query for txs_to_retry and reorder trait functions

* GH-608: change SQL query for txs to retry

* GH-608: remove RETRY_THRESHOLD_SECS

* GH-608: remove retried column from the sent_payable table

* GH-608: add ability to retrieve tx by hash

* GH-608: add the ability to update statuses

* GH-608: add types for TxHash and RowID

* GH-608: add test for deleting records

* GH-608: add fn for deleting records

* GH-608: add more TODOs

* GH-608: error testing

* GH-608: write tests for error handling while deleting records

* GH-608: add more TODOs

* GH-608: return SqlExecutionFailed in insert, change_status and delete operations

* GH-608: add better error handling for delete records

* GH-608: change the signature of delete_records() to accept Hashset

* GH-608: remove unused SentPayableDaoError

* GH-608: use the variant EmptyInput

* GH-608: add more validations for insert_new_records

* GH-608: test all errors

* GH-608: remove unnecessary TODOs

* GH-608: perform some cleanup

* GH-608: eliminate clippy warnings

* GH-608: review 1 changes

* GH-608: remove clippy warnings

* GH-608: review 2 changes
* GH-602: big bunch of changes

* GH-602: interim commit

* GH-602: four scans layout installed

* GH-602: mostly done but still some crumbs of work left

* GH-602: interim commit

* GH-602: Recorder enriched by counter messages

* GH-602: removed obfuscated and made right the formerly developed StopConditions

* GH-602: removed obfuscated and made right the formerly developed StopConditions

* GH-602: main part probably done

* GH-602: more todos knocked off in accountant/mod.rs

* GH-602: deep dive into schedulers and the awarness of the schedule state

* GH-602: save point before going into fully private scanner

* GH-602: another save point, this time before turning the scanner into fully private object

* GH-602: finally fully scanners as flexible parametrized generic objects

* GH-602: todos placed (many) as understood as the whole design

* GH-602: more cases covered...knocking off todos!() continues

* GH-602: made a markup for upcoming steps

* GH-602: made a markup for upcoming steps

* GH-602: Manual scanners prevented by the automation. Tested

* GH-602: More tests written; mainly constraining the manual scanning

* GH-602: before trying to implement the ScanScheduleHintErrorResolver

* GH-602: tests for pending payable scanner and its start scan error resolver are compiling

* GH-602: all tests in scan_schedulers passing now

* GH-602: all tests in scan_schedulers passing now

* GH-602: slowly fixing test in accountant/mod.rs

* GH-602: fixed another couple of failing tests in accountant/mod.rs and scanners/mod.rs

* GH-602: adding another little pile

* GH-602: closing the gap... probably only one test to be written yet

* GH-602: one more test written...ext tr. pen payable

* GH-602: eliminated last todos in scanners/mod.rs

* GH-602: first rough clean-up

* GH-602: some comments fixed

* GH-602: first piece of the review finished

* GH-602: addressing review continues...

* GH-602: addressing review continues on and on...

* GH-602: more things for the review...

* GH-602: last 6 comments to address

* GH-602: finished the big two tests covering the very start of the automatic process with pp scanner playing the first violin

* GH-602: huge tests refactored

* GH-602: small functionalities made right and huge tests refactored

* GH-602: prepared some fixes for early rescheduling

* GH-602: moved the scanner test utils

* GH-602: counter message summary comment added

* GH-602: probably finished the minimm of what can be submitted seriously

* GH-602: removed commented out impl

* GH-602: vast majority of the review is covered

* GH-602: refactoring in the biggeste tests - a la utkarsh

* GH-602: review two ends

* GH-602: improved comments

---------

Co-authored-by: Bert <[email protected]>
* GH-631: store gas price wei in two columns

* GH-631: more updates to the sent payable table

* GH-631: eliminate all errors

* GH-631: accept null values in db

* GH-631: all tests passing

* GH-631: use TransactionBlock everywhere

* GH-631: enforce that block details are complete

* GH-631: fix test constants_have_correct_values

* GH-631: introduce failed payable table

* GH-631: add db migration for failed payable table

* GH-631: mid review changes

* GH-631: wip: introduce failed_payable_dao.rs

* GH-631: introduce FailedTxBuilder and updated trait for FailedPayableDao

* GH-631: insert_new_txs() works

* GH-631: txs can be retrieved from FailedPayables

* GH-631: implement all trait fns for FailedPayables

* GH-631: add a test for string conversion for FailureReason

* GH-631: make improvements to failed_payable_dao

* GH-631: remove usages of H256 from the tests of DAOs

* GH-631: improve imports

* GH-631: introduce a utility fn make_block_hash()

* GH-631: add review changes for node/src/database/db_initializer.rs

* GH-631: some more review changes

* GH-631: some more review changes

* GH-631: change checked to a boolean

* GH-631: keep pushing more review changes

* GH-631: display more info in the error statements

* GH-631: and even more changes

* GH-631: change checked to rechecked

* GH-631: remove blank line

* GH-631: minor self-review changes

* GH-631: add another review changes

* GH-631: add more review changes

* GH-631: introduce the replace_record() in SentPayableDao

* v0.9.0: version bump (#657)

* GH-631: review 4 changes

* GH-631: review 5 changes

* GH-631: review 6 changes

* GH-631: import the Itertools and make join work without collect

* GH-631: eliminate clippy warnings; tests will still fail due to todo!()
* GH-638: ploughed all over, but the main structure has been planted; now let's get rid of 50 c. errors

* GH-638: interim commit; nice progress though

* GH-638: lots done; but the computations will be hrder to test

* GH-638: little rearrangement in the project tree before I bring in more files

* GH-638: transmission log repair

* GH-638: transmission log repair and some other tests

* GH-638: tests for gas price ceiling confrontations written

* GH-638: single test fixed

* GH-638: tests full - all and fixed

* GH-638: lint and formatting

* GH-638: self-review

* mend

* GH-638: added warning

* GH-638: another comment res

* GH-638: ref tests with a lot of created accounts

* GH-638: fixed chain records with more constants

* GH-638: review two addressed

---------

Co-authored-by: Bert <[email protected]>
* GH-605: add the steps to solve this card

* GH-605: change the recheck to status

* GH-605: all tests pass in failed_payable_dao.rs

* GH-605: few more changes

* GH-605: add instructions inside test retry_payable_scanner_can_initiate_a_scan

* GH-605: introduce mocks for FailedPayableDAO

* GH-665: add another variant for the reason: General

* GH-665: add the string conversion for General

* GH-665: review changes
* GH-672: add more errors

* GH-672: improve errors; compiling

* GH-672: introduce the conversion of FailureReason

* GH-672: all tests are passing :)

* GH-672: From conversion is properly tested

* GH-672: final touches

* GH-672: return String as Error instead of an error from serde

* GH-672: better error classification
* GH-683: savepoint

* GH-683: interim commit

* GH-683: mostly done

* GH-683: renamed error

* GH-683: additional fix to renaming

* GH-683: finished

* GH-683: fixed for a review

* GH-683: fixed screwed string replacement

* GH-683: finished fixing it

* GH-683: another fix...BlockchainError

---------

Co-authored-by: Bert <[email protected]>
* GH-598-json-hotfix: corrected

* GH-598-json-hotfix: little fix

* GH-598-json-hotfix: rearrangement

* GH-598-json-hotfix: addressing the review

* GH-598-json-hotfix: finished addressing review

---------

Co-authored-by: Bert <[email protected]>
* GH-642: interim commit

* GH-642: interim commit

* GH-642: interim commit

* GH-642: big initial messy reconstruction continuing...

* GH-642: big initial messy reconstruction... just realized I may've forgotten to update with the last changes from the other card

* GH-642: tests compiling...failing lots of them

* GH-642: fn confirm_transactions has been reimplemented

* GH-642: fn handle_failed_transactions has been reimplemented

* GH-642: fixed mainly internal, but smaller functions in the pending payable scanner; various From and Display implementations and these sorts

* GH-642: progressed quite greatelly; fixed many tests; took action against the mark pending payable rowid fn

* GH-642: another bunch fixed...down to 24

* GH-642: another bunch fixed...down to 10

* GH-642: the base of this card is done

* GH-642: lots of fixes in names

* GH-642: filling cache with failed txs to recheck at startup

* GH-642: rpc failers during receipt checks can be handled now

* GH-642: interim commit

* GH-642: first I need to finish the impl of the db system of tx statuses...opened in its own PR and then will start from here on

* GH-642: pending payable scanner machinery has been given the true skeleton

* GH-642: before creating a new whole folder for scanner utils

* GH-642: interim commit

* GH-642: preparing tests before writing the guts of the core fns

* GH-642: integration of the caches...100% at start_scan, 90% finish_scan

* GH-642: another big portion of work in interpreting the receipts

* GH-642: finishing tests for the receipt interpretation but I should rearrange the code a bit - maybe to add a separative class

* GH-642: mod structure changed, new file for TxReceiptInterpreter

* GH-642: fixed two unreliable tests

* GH-642: interim commit

* GH-642: worked away on the implementation of handling failed txs

* GH-642: more todos!() gone

* GH-642: processing failures is done; next tx confiramtions

* GH-642: tx reclaim implemented

* GH-642: finished the brain functions in PPS

* GH-642: ValidationStatus extension - huge chunk of work; still some failing tests remain

* GH-642: interim commit (some of the Validation error stuff will have to be fixed)

* GH-683: savepoint

* GH-683: interim commit

* GH-683: mostly done

* GH-683: renamed error

* GH-683: additional fix to renaming

* GH-683: finished

* GH-642: finished

* GH-683: fixed for a review

* GH-683: fixed screwed string replacement

* GH-683: finished fixing it

* GH-683: another fix...BlockchainError

* GH-642: added unreachable!

* GH-642: before bigger issue addressing

* GH-642: got rid of the BlockchainFailure::Unrecognized layer

* GH-642: savepoint

* GH-642: hashmap for receipt status result deployed

* GH-642: finally solid... as much as under this card, tests fixed

* GH-598-json-hotfix: interim commit

* GH-642: dragging the failing tests down to bare minimum

* GH-642: interim commit

* GH-642: before fixing the todo!() left over

* GH-642: finished

* GH-642: cosmetics

* GH-642: grrr - cosmetics - forgot e

* GH-642: review 2 addressed

* GH-642: added the cache clean-up on getting a scan error

---------

Co-authored-by: Bert <[email protected]>
* GH-689: finished

* GH-689: fixes after auto-review

---------

Co-authored-by: Bert <[email protected]>
* GH-606-v2: db and help msgs + the interface document

* GH-606-v2: constraint/raletion between scan intervals established

* GH-606: final clean-up

* GH-606-v2: after review

* GH-606-v2: formatting

---------

Co-authored-by: Bert <[email protected]>
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

Successfully merging this pull request may close these issues.

2 participants