hive issueshttps://gitlab.syncad.com/groups/hive/-/issues2024-01-19T14:27:26Zhttps://gitlab.syncad.com/hive/clive/-/issues/139Test - TUI - Saving a transaction2024-01-19T14:27:26ZAleksandra GrabowskaTest - TUI - Saving a transaction### Test cases - Saving a transaction
##### Preconditions:
1. The user starts on the Dashboard view.
2. There is a created profile.
3. The transaction contains always one transfer.
#### I. Test cases: Clive is activate and there is a...### Test cases - Saving a transaction
##### Preconditions:
1. The user starts on the Dashboard view.
2. There is a created profile.
3. The transaction contains always one transfer.
#### I. Test cases: Clive is activate and there is a defined key in the profile.
Remark:
The transaction contains one transfer.
* [ ] 1.1. The user saves a transaction with signature in the json format.
* [ ] 1.2. The user saves a transaction without signature in the json format.
* [ ] 1.3. The user saves a transaction with signature in the binary format.
* [ ] 1.4. The user saves a transaction without signature in the binary format.
To check:
1. The transaction is saved correctly (we can discuss how to check...)
#### II. Test cases: Clive is inactivate and there is a defined key in the profile.
Remark:
The transaction contains one transfer.
* [ ] 2.1. The user saves a transaction with signature in the json format.
* [ ] 2.2. The user saves a transaction without signature in the json format.
* [ ] 2.3. The user saves a transaction with signature in the binary format.
* [ ] 2.4. The user saves a transaction without signature in the binary format.
To check:
1. In case 2.1 and 2.3 clive should ask about activation.
2. The transaction is saved correctly (we can discuss how to check...).
#### III. Test cases: Clive is activate and there is no defined key in the profile.
Remark:
The transaction contains one transfer.
* [ ] 3.1. The user saves a transaction with signature in the json format (impossible - validation).
* [ ] 3.2. The user saves a transaction without signature in the json format.
* [ ] 3.3. The user saves a transaction with signature in the binary format (impossible - validation).
* [ ] 3.4. The user saves a transaction without signature in the binary format.
To check:
1. The transaction is saved correctly if saved (we can discuss how to check...).
#### IV. Test cases: Clive is inactivate and there is no defined key in the profile.
Remark:
The transaction contains one transfer.
* [ ] 4.1. The user saves a transaction with signature in the json format (impossible - validation).
* [ ] 4.2. The user saves a transaction without signature in the json format.
* [ ] 4.3. The user saves a transaction with signature in the binary format (impossible - validation).
* [ ] 4.4. The user saves a transaction without signature in the binary format.
To check:
1. The transaction is saved correctly if saved (we can discuss how to check...).https://gitlab.syncad.com/hive/clive/-/issues/140Test - TUI - Loading a transaction from a file2024-01-19T14:26:31ZAleksandra GrabowskaTest - TUI - Loading a transaction from a file### Test cases - Saving a transaction
##### Preconditions:
1. The user starts on the Dashboard view.
2. There is a created profile.
3. The transaction contains always one transfer.
4. For each test there are following files needed:
- ...### Test cases - Saving a transaction
##### Preconditions:
1. The user starts on the Dashboard view.
2. There is a created profile.
3. The transaction contains always one transfer.
4. For each test there are following files needed:
- tr_sign.json
- tr_sign.bin
- tr_unsign.json
- tr_unsign.bin
#### I. Test cases: Clive is activate and there is a defined key in the profile.
* [ ] 1.1. The user loads the file tr_sign.json and broadcasts it.
* [ ] 1.2. The user loads the file tr_sign.bin and broadcasts it.
* [ ] 1.3. The user loads the file tr_unsign.json and broadcasts it.
* [ ] 1.4. The user loads the file tr_unsign.bin and broadcasts it.
To check:
1. If the transaction is signed, there should be a message: "This transaction is already signed."
2. If the transaction is not signed,there should be "Sign with key:"
3. There should be a name of the file on the view.
4. It should be possible to broadcast the transaction.
#### II. Test cases: Clive is inactivate and there is a defined key in the profile.
* [ ] 2.1. The user loads the file tr_sign.json and broadcasts it.
* [ ] 2.2. The user loads the file tr_sign.bin and broadcasts it.
* [ ] 2.3. The user loads the file tr_unsign.json and broadcasts it.
* [ ] 2.4. The user loads the file tr_unsign.bin and broadcasts it.
To check:
1. The signed transaction - it should be possible to broadcast without activation a profile.
2. The unsigned transaction - before broadcasting clive should ask about profile activation.
#### III. Test cases: Clive is activate and there is no defined key in the profile.
* [ ] 3.1. The user loads the file tr_sign.json and broadcasts it.
* [ ] 3.2. The user loads the file tr_sign.bin and broadcasts it.
* [ ] 3.3. The user loads the file tr_unsign.json and tries to broadcast it.
* [ ] 3.4. The user loads the file tr_unsign.bin and tries to broadcast it.
To check:
1. The signed transaction - it should be possible to broadcast without a define key.
2. The unsigned transaction - the error message is displayed.
#### IV. Test cases: Clive is inactivate and there is no defined key in the profile.
* [ ] 4.1. The user loads the file tr_sign.json and broadcasts it.
* [ ] 4.2. The user loads the file tr_sign.bin and broadcasts it.
* [ ] 4.3. The user loads the file tr_unsign.json and tries to broadcast it.
* [ ] 4.4. The user loads the file tr_unsign.bin and tries to broadcast it.
To check:
1. The signed transaction - it should be possible to broadcast without a define key.
2. The unsigned transaction - the error message is displayed.https://gitlab.syncad.com/hive/denser/-/issues/219Specific post devastates the app2024-01-19T11:34:43ZGandalfSpecific post devastates the appHow's that possible that a single post that I try to open can devastate the whole website?
Example:
https://blog.openhive.network/hive-158489/@satoru-raiden/my-favorite-dragon-ball-character-gohanHow's that possible that a single post that I try to open can devastate the whole website?
Example:
https://blog.openhive.network/hive-158489/@satoru-raiden/my-favorite-dragon-ball-character-gohanhttps://gitlab.syncad.com/hive/hive/-/issues/563Tests - beekeeper - performance2024-01-19T09:15:03ZWieslaw KedzierskiTests - beekeeper - performanceTest beekeepers functionality under heavy load.
Under heavy load, we should check:
- [ ] validate read/write operations,
- [ ] validate timeout influence,
- [ ] try to simulate a crash.Test beekeepers functionality under heavy load.
Under heavy load, we should check:
- [ ] validate read/write operations,
- [ ] validate timeout influence,
- [ ] try to simulate a crash.Wieslaw KedzierskiWieslaw Kedzierskihttps://gitlab.syncad.com/hive/denser/-/issues/208Profile related components are missing2024-01-18T11:18:10ZGandalfProfile related components are missingAnything related to currently logged in user, such as links to own profile, notifications, comments, settings.
(None of those were blocked by lack of signing component)Anything related to currently logged in user, such as links to own profile, notifications, comments, settings.
(None of those were blocked by lack of signing component)https://gitlab.syncad.com/hive/helpy/-/issues/6Remove pytest-is-running dependency as it is no longer maintained2024-01-15T11:07:48ZMateusz ŻebrakRemove pytest-is-running dependency as it is no longer maintainedIf possible we should get rid of such a dependency, because in the future it may prevent us from updating the pytest version.
In https://github.com/adamchainz/pytest-is-running we can see:
```plaintext
Unmaintained (2024-01-02)
I sto...If possible we should get rid of such a dependency, because in the future it may prevent us from updating the pytest version.
In https://github.com/adamchainz/pytest-is-running we can see:
```plaintext
Unmaintained (2024-01-02)
I stopped maintaining this package as it doesn’t provide much value over checking whether pytest has been imported:
import sys
if "pytest" in sys.modules:
...
In every project I’ve seen, pytest is only imported when running.
```
Was noticed by @wkedzierskihttps://gitlab.syncad.com/hive/hive/-/issues/471Test plan - operations in Hive2024-01-12T10:45:30ZAleksandra GrabowskaTest plan - operations in HiveOperations:
1. Transfer - transfer_operation, // 2 - https://gitlab.syncad.com/hive/hive/-/issues/472
2. Power up - transfer_to_vesting_operation, // 3 - https://gitlab.syncad.com/hive/hive/-/issues/473
3. Power down - withdraw_vestin...Operations:
1. Transfer - transfer_operation, // 2 - https://gitlab.syncad.com/hive/hive/-/issues/472
2. Power up - transfer_to_vesting_operation, // 3 - https://gitlab.syncad.com/hive/hive/-/issues/473
3. Power down - withdraw_vesting_operation, // 4 - https://gitlab.syncad.com/hive/hive/-/issues/474
4. Transfer to savings - transfer_to_savings_operation, // 32 - https://gitlab.syncad.com/hive/hive/-/issues/475
5. Transfer from savings - transfer_from_savings_operation, // 33 - https://gitlab.syncad.com/hive/hive/-/issues/476
6. Cancel transfer from savings - cancel_transfer_from_savings_operation, // 34 - https://gitlab.syncad.com/hive/hive/-/issues/477
7. Convert - convert_operation, // 8 - https://gitlab.syncad.com/hive/hive/-/issues/478
8. Collateralized convert - collateralized_convert_operation, // 48 - https://gitlab.syncad.com/hive/hive/-/issues/481
9. Recurrent transfer - recurrent_transfer_operation, // 49 - https://gitlab.syncad.com/hive/hive/-/issues/484, with {extension} https://gitlab.syncad.com/hive/hive/-/issues/523
10. Limit order - limit_order_create_operation, // 5 - https://gitlab.syncad.com/hive/hive/-/issues/485
11. Limit order 2 - limit_order_create2_operation, // 21 - https://gitlab.syncad.com/hive/hive/-/issues/487
12. Mixed: Limit order and Limit order 2 - https://gitlab.syncad.com/hive/hive/-/issues/492
13. Limit order cancel operation - limit_order_cancel_operation, // 6 - https://gitlab.syncad.com/hive/hive/-/issues/493
14. Account witness vote operation - account_witness_vote_operation, // 12 - https://gitlab.syncad.com/hive/hive/-/issues/494
15. Update proposal votes operation - update_proposal_votes_operation, // 45 - https://gitlab.syncad.com/hive/hive/-/issues/496
16. Account witness proxy operation - account_witness_proxy_operation, // 13 (also tests with account_witness_vote_operation and update_proposal_votes_operation) - https://gitlab.syncad.com/hive/hive/-/issues/497
17. Comment - comment_operation, // 1 - https://gitlab.syncad.com/hive/hive/-/issues/503
18. Delete comment - delete_comment_operation, // 17 - https://gitlab.syncad.com/hive/hive/-/issues/504
19. Vote - vote_operation, // 0 - https://gitlab.syncad.com/hive/hive/-/issues/505
20. Comment options - comment_options_operation, // 19 - https://gitlab.syncad.com/hive/hive/-/issues/509
21. Mixed: Calculated rewards: operations: Vote - vote_operation, // 0, Comment - comment_operation, // 1 and comment_options_operation, // 19 - https://gitlab.syncad.com/hive/hive/-/issues/511
22. Claim rewards - claim_reward_balance_operation, // 39 - https://gitlab.syncad.com/hive/hive/-/issues/518
23. Account update operation - account_update_operation, // 10 - https://gitlab.syncad.com/hive/hive/-/issues/519
24. Account update2 operation -account_update2_operation, // 43 - https://gitlab.syncad.com/hive/hive/-/issues/520
25. Set withdraw vesting route - set_withdraw_vesting_route_operation, // 20 - https://gitlab.syncad.com/hive/hive/-/issues/539
26. Decline voting rights - decline_voting_rights_operation, // 36 - contains vote_operation, // 0, account_witness_vote_operation, // 12, account_witness_proxy_operation, // 13, update_proposal_votes_operation, // 45, delegate_vesting_shares_operation, // 40 - https://gitlab.syncad.com/hive/hive/-/issues/546
27. Create proposal - create_proposal_operation, // 44 - https://gitlab.syncad.com/hive/hive/-/issues/594
28. Update proposal - update_proposal_operation, // 47 - https://gitlab.syncad.com/hive/hive/-/issues/595
29. Remove proposal - remove_proposal_operation, // 46 - https://gitlab.syncad.com/hive/hive/-/issues/596
30. Custom json operation - custom_json_operation, // 18 - https://gitlab.syncad.com/hive/hive/-/issues/632
31. Feed price operation - feed_publish_operation, // 7 - https://gitlab.syncad.com/hive/hive/-/issues/633
32. Witness update - witness_update_operation, // 11 - https://gitlab.syncad.com/hive/hive/-/issues/634
33. Witness set properties - witness_set_properties_operation, // 42 - https://gitlab.syncad.com/hive/hive/-/issues/635
34. The escrow - escrow_transfer_operation, // 27, escrow_approve_operation, // 31, escrow_release_operation, // 29, escrow_dispute_operation, // 28 - https://gitlab.syncad.com/hive/hive/-/issues/638
35. Custom operation - custom_operation, // 15 - https://gitlab.syncad.com/hive/hive/-/issues/644
36. Witness block approve operation - witness_block_approve_operation, // 16 - https://gitlab.syncad.com/hive/hive/-/issues/645
### Notes:
Don't forget about authority testsAleksandra GrabowskaAleksandra Grabowskahttps://gitlab.syncad.com/hive/hive/-/issues/644Tests - operation in Hive - custom_operation2024-01-12T10:27:53ZAleksandra GrabowskaTests - operation in Hive - custom_operation### Operation: custom_operation, // 15
### Test cases (positive): User creates a custom operation.
##### Preconditions:
1. There are users A, B and c.
2. Users have enough RC.
##### Test cases
- [ ] 1.1 User A creates a custom opera...### Operation: custom_operation, // 15
### Test cases (positive): User creates a custom operation.
##### Preconditions:
1. There are users A, B and c.
2. Users have enough RC.
##### Test cases
- [ ] 1.1 User A creates a custom operation with a required active authority of user A and user A signs it with the active authority.
- [ ] 1.2 User A creates a custom operation with a required active authority of user B and user B signs it with the active authority.
- [ ] 1.3 User A creates a custom operation with a required active authorities of users B and C and users B and C sign it with the active authorities.
##### Expected results:
1. The operation is added to the blockchain.
2. The RC cost is paid by the first account specified on the operation.https://gitlab.syncad.com/hive/clive/-/issues/135Investigate (and correct if possible) if we can use `wallet` / `setup_wallet`...2024-01-12T08:01:22ZMateusz ŻebrakInvestigate (and correct if possible) if we can use `wallet` / `setup_wallet` fixtures from `tests/conftest.py` in `tests/tui/conftest.py` ( in/in place of `prepare_wallet` fixture)FYI: @marek
Looks like the `prepare_wallet` fixture from tui conftest is very similar to the `wallet` fixture from global conftest. Ity may be possible to reuse that `wallet` fixture in the place of TUI tests. If not, we still can use ...FYI: @marek
Looks like the `prepare_wallet` fixture from tui conftest is very similar to the `wallet` fixture from global conftest. Ity may be possible to reuse that `wallet` fixture in the place of TUI tests. If not, we still can use the `setup_wallets` fixture there, which is more flexible.
Related thread: https://gitlab.syncad.com/hive/clive/-/merge_requests/272#note_147836https://gitlab.syncad.com/hive/haf/-/issues/196HAF recovery after loss of ram-based statefile2024-01-12T07:43:03ZDan NotesteinHAF recovery after loss of ram-based statefileA haf server (shed14) with a fully synced hivemind and ramdisk-based state file lost power (bad UPS). Docker images: shed14: 12/21 replayed thread-names with older hive ON hmind_howo 631b0543
`HAF_IMAGE=registry.gitlab.syncad.com/hive/h...A haf server (shed14) with a fully synced hivemind and ramdisk-based state file lost power (bad UPS). Docker images: shed14: 12/21 replayed thread-names with older hive ON hmind_howo 631b0543
`HAF_IMAGE=registry.gitlab.syncad.com/hive/haf/instance:6671c63`
Since the database was ok, I just did a `replay-blockchain` of hived to fix the statefile. After replay, hived died while trying to restore indexes:
```
2023-12-28T07:46:10.914081 indexes_controler.cpp:117 operator() ] Attempting to execute query: `SELECT hive.restore_indexes( 'hive.applied_hardforks' );`...
2023-12-28T07:46:10.914158 indexes_controler.cpp:120 operator() ] Query processor: `SELECT hive.restore_indexes( 'hive.irreversible_data' );' Creating of enable indexes done in 1.52499999999999991 ms
2023-12-28T07:46:10.914177 indexes_controler.cpp:124 operator() ] The enable indexes have been created...
2023-12-28T07:46:10.942131 data_processor.cpp:214 handle_exception ] Data processor Query processor: `SELECT hive.restore_indexes( 'hive.applied_hardforks' );' detected SQL statement execution failure. Failing statement: `SELECT hive.restore_indexes( 'hive.applied_hardforks' );'.
2023-12-28T07:46:10.942180 data_processor.cpp:16 kill_node ] An error occured and HAF is stopping synchronization...
```
Maybe some ordering problem related to how constraints are restored?
```
haf_block_log=# \dS+ hive.blocks
Table "hive.blocks"
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
-------------------------+-----------------------------+-----------+----------+---------+----------+-------------+--------------+-------------
num | integer | | not null | | plain | | |
hash | bytea | | not null | | extended | | |
prev | bytea | | not null | | extended | | |
created_at | timestamp without time zone | | not null | | plain | | |
producer_account_id | integer | | not null | | plain | | |
transaction_merkle_root | bytea | | not null | | extended | | |
extensions | jsonb | | | | extended | | |
witness_signature | bytea | | not null | | extended | | |
signing_key | text | | not null | | extended | | |
hbd_interest_rate | hive.interest_rate | | | | plain | | |
total_vesting_fund_hive | hive.hive_amount | | | | main | | |
total_vesting_shares | hive.vest_amount | | | | main | | |
total_reward_fund_hive | hive.hive_amount | | | | main | | |
virtual_supply | hive.hive_amount | | | | main | | |
current_supply | hive.hive_amount | | | | main | | |
current_hbd_supply | hive.hbd_amount | | | | main | | |
dhf_interval_ledger | hive.hbd_amount | | | | main | | |
Access method: heap
haf_block_log=# \dS+ hive.irreversible_data
Table "hive.irreversible_data"
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
------------------+---------+-----------+----------+---------+---------+-------------+--------------+-------------
id | integer | | not null | | plain | | |
consistent_block | integer | | | | plain | | |
is_dirty | boolean | | not null | | plain | | |
Indexes:
"pk_irreversible_data" PRIMARY KEY, btree (id)
Access method: heap
haf_block_log=# ALTER TABLE hive.irreversible_data ADD CONSTRAINT fk_1_hive_irreversible_data FOREIGN KEY (consistent_block) REFERENCES hive.blocks(num) NOT VALID;
ERROR: there is no unique constraint matching given keys for referenced table "blocks"
```
```
table_name | index_constraint_name | command | is_constraint | is_index | is_foreign_key
----------------------------+----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+----------+----------------
hive.irreversible_data | fk_1_hive_irreversible_data | ALTER TABLE hive.irreversible_data ADD CONSTRAINT fk_1_hive_irreversible_data FOREIGN KEY (consistent_block) REFERENCES hive.blocks(num) NOT VALID | f | f | t
hive.blocks | fk_1_hive_blocks | ALTER TABLE hive.blocks ADD CONSTRAINT fk_1_hive_blocks FOREIGN KEY (producer_account_id) REFERENCES hive.accounts(id) DEFERRABLE INITIALLY DEFERRED NOT VALID | f | f | t
hive.transactions | fk_1_hive_transactions | ALTER TABLE hive.transactions ADD CONSTRAINT fk_1_hive_transactions FOREIGN KEY (block_num) REFERENCES hive.blocks(num) NOT VALID | f | f | t
hive.transactions_multisig | fk_1_hive_transactions_multisig | ALTER TABLE hive.transactions_multisig ADD CONSTRAINT fk_1_hive_transactions_multisig FOREIGN KEY (trx_hash) REFERENCES hive.transactions(trx_hash) NOT VALID | f | f | t
hive.operations | fk_1_hive_operations | ALTER TABLE hive.operations ADD CONSTRAINT fk_1_hive_operations FOREIGN KEY (block_num) REFERENCES hive.blocks(num) NOT VALID | f | f | t
hive.operations | fk_2_hive_operations | ALTER TABLE hive.operations ADD CONSTRAINT fk_2_hive_operations FOREIGN KEY (op_type_id) REFERENCES hive.operation_types(id) NOT VALID | f | f | t
hive.applied_hardforks | fk_1_hive_applied_hardforks | ALTER TABLE hive.applied_hardforks ADD CONSTRAINT fk_1_hive_applied_hardforks FOREIGN KEY (hardfork_vop_id) REFERENCES hive.operations(id) NOT VALID | f | f | t
hive.applied_hardforks | fk_2_hive_applied_hardforks | ALTER TABLE hive.applied_hardforks ADD CONSTRAINT fk_2_hive_applied_hardforks FOREIGN KEY (block_num) REFERENCES hive.blocks(num) NOT VALID | f | f | t
hive.accounts | fk_1_hive_accounts | ALTER TABLE hive.accounts ADD CONSTRAINT fk_1_hive_accounts FOREIGN KEY (block_num) REFERENCES hive.blocks(num) MATCH FULL NOT VALID | f | f | t
hive.account_operations | hive_account_operations_fk_1 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_fk_1 FOREIGN KEY (account_id) REFERENCES hive.accounts(id) NOT VALID | f | f | t
hive.account_operations | hive_account_operations_fk_2 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_fk_2 FOREIGN KEY (operation_id) REFERENCES hive.operations(id) NOT VALID | f | f | t
hive.account_operations | hive_account_operations_fk_3 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_fk_3 FOREIGN KEY (op_type_id) REFERENCES hive.operation_types(id) NOT VALID | f | f | t
hive.blocks | pk_hive_blocks | ALTER TABLE hive.blocks ADD CONSTRAINT pk_hive_blocks PRIMARY KEY (num) | t | f | f
hive.blocks | hive_blocks_created_at_idx | CREATE INDEX hive_blocks_created_at_idx ON hive.blocks USING btree (created_at) | f | t | f
hive.blocks | hive_blocks_producer_account_id_idx | CREATE INDEX hive_blocks_producer_account_id_idx ON hive.blocks USING btree (producer_account_id) | f | t | f
hive.transactions | pk_hive_transactions | ALTER TABLE hive.transactions ADD CONSTRAINT pk_hive_transactions PRIMARY KEY (trx_hash) | t | f | f
hive.transactions | hive_transactions_block_num_trx_in_block_idx | CREATE INDEX hive_transactions_block_num_trx_in_block_idx ON hive.transactions USING btree (block_num, trx_in_block) | f | t | f
hive.transactions_multisig | pk_hive_transactions_multisig | ALTER TABLE hive.transactions_multisig ADD CONSTRAINT pk_hive_transactions_multisig PRIMARY KEY (trx_hash, signature) | t | f | f
hive.applied_hardforks | pk_hive_applied_hardforks | ALTER TABLE hive.applied_hardforks ADD CONSTRAINT pk_hive_applied_hardforks PRIMARY KEY (hardfork_num) | t | f | f
hive.applied_hardforks | hive_applied_hardforks_block_num_idx | CREATE INDEX hive_applied_hardforks_block_num_idx ON hive.applied_hardforks USING btree (block_num) | f | t | f
hive.accounts | pk_hive_accounts_id | ALTER TABLE hive.accounts ADD CONSTRAINT pk_hive_accounts_id PRIMARY KEY (id) | t | f | f
hive.accounts | uq_hive_accounst_name | ALTER TABLE hive.accounts ADD CONSTRAINT uq_hive_accounst_name UNIQUE (name) | t | f | f
hive.accounts | hive_accounts_block_num_idx | CREATE INDEX hive_accounts_block_num_idx ON hive.accounts USING btree (block_num) | f | t | f
hive.account_operations | hive_account_operations_uq2 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_uq2 UNIQUE (account_id, operation_id) | t | f | f
hive.blocks | fk_1_hive_blocks | ALTER TABLE hive.blocks ADD CONSTRAINT fk_1_hive_blocks FOREIGN KEY (producer_account_id) REFERENCES hive.accounts(id) DEFERRABLE INITIALLY DEFERRED NOT VALID | f | f | t
hive.transactions | fk_1_hive_transactions | ALTER TABLE hive.transactions ADD CONSTRAINT fk_1_hive_transactions FOREIGN KEY (block_num) REFERENCES hive.blocks(num) NOT VALID | f | f | t
hive.transactions_multisig | fk_1_hive_transactions_multisig | ALTER TABLE hive.transactions_multisig ADD CONSTRAINT fk_1_hive_transactions_multisig FOREIGN KEY (trx_hash) REFERENCES hive.transactions(trx_hash) NOT VALID | f | f | t
hive.operations | fk_1_hive_operations | ALTER TABLE hive.operations ADD CONSTRAINT fk_1_hive_operations FOREIGN KEY (block_num) REFERENCES hive.blocks(num) NOT VALID | f | f | t
hive.operations | fk_2_hive_operations | ALTER TABLE hive.operations ADD CONSTRAINT fk_2_hive_operations FOREIGN KEY (op_type_id) REFERENCES hive.operation_types(id) NOT VALID | f | f | t
hive.applied_hardforks | fk_1_hive_applied_hardforks | ALTER TABLE hive.applied_hardforks ADD CONSTRAINT fk_1_hive_applied_hardforks FOREIGN KEY (hardfork_vop_id) REFERENCES hive.operations(id) NOT VALID | f | f | t
hive.applied_hardforks | fk_2_hive_applied_hardforks | ALTER TABLE hive.applied_hardforks ADD CONSTRAINT fk_2_hive_applied_hardforks FOREIGN KEY (block_num) REFERENCES hive.blocks(num) NOT VALID | f | f | t
hive.accounts | fk_1_hive_accounts | ALTER TABLE hive.accounts ADD CONSTRAINT fk_1_hive_accounts FOREIGN KEY (block_num) REFERENCES hive.blocks(num) MATCH FULL NOT VALID | f | f | t
hive.account_operations | hive_account_operations_fk_1 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_fk_1 FOREIGN KEY (account_id) REFERENCES hive.accounts(id) NOT VALID | f | f | t
hive.account_operations | hive_account_operations_fk_2 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_fk_2 FOREIGN KEY (operation_id) REFERENCES hive.operations(id) NOT VALID | f | f | t
hive.account_operations | hive_account_operations_fk_3 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_fk_3 FOREIGN KEY (op_type_id) REFERENCES hive.operation_types(id) NOT VALID | f | f | t
hive.blocks | pk_hive_blocks | ALTER TABLE hive.blocks ADD CONSTRAINT pk_hive_blocks PRIMARY KEY (num) | t | f | f
hive.blocks | hive_blocks_created_at_idx | CREATE INDEX hive_blocks_created_at_idx ON hive.blocks USING btree (created_at) | f | t | f
hive.blocks | hive_blocks_producer_account_id_idx | CREATE INDEX hive_blocks_producer_account_id_idx ON hive.blocks USING btree (producer_account_id) | f | t | f
hive.transactions | pk_hive_transactions | ALTER TABLE hive.transactions ADD CONSTRAINT pk_hive_transactions PRIMARY KEY (trx_hash) | t | f | f
hive.transactions | hive_transactions_block_num_trx_in_block_idx | CREATE INDEX hive_transactions_block_num_trx_in_block_idx ON hive.transactions USING btree (block_num, trx_in_block) | f | t | f
hive.transactions_multisig | pk_hive_transactions_multisig | ALTER TABLE hive.transactions_multisig ADD CONSTRAINT pk_hive_transactions_multisig PRIMARY KEY (trx_hash, signature) | t | f | f
hive.applied_hardforks | pk_hive_applied_hardforks | ALTER TABLE hive.applied_hardforks ADD CONSTRAINT pk_hive_applied_hardforks PRIMARY KEY (hardfork_num) | t | f | f
hive.applied_hardforks | hive_applied_hardforks_block_num_idx | CREATE INDEX hive_applied_hardforks_block_num_idx ON hive.applied_hardforks USING btree (block_num) | f | t | f
hive.accounts | pk_hive_accounts_id | ALTER TABLE hive.accounts ADD CONSTRAINT pk_hive_accounts_id PRIMARY KEY (id) | t | f | f
hive.accounts | uq_hive_accounst_name | ALTER TABLE hive.accounts ADD CONSTRAINT uq_hive_accounst_name UNIQUE (name) | t | f | f
hive.accounts | hive_accounts_block_num_idx | CREATE INDEX hive_accounts_block_num_idx ON hive.accounts USING btree (block_num) | f | t | f
hive.account_operations | hive_account_operations_uq2 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_uq2 UNIQUE (account_id, operation_id) | t | f | f
hive.account_operations | hive_account_operations_uq_1 | ALTER TABLE hive.account_operations ADD CONSTRAINT hive_account_operations_uq_1 UNIQUE (account_id, account_op_seq_no) | t | f | f
hive.account_operations | hive_account_operations_type_account_id_op_seq_idx | CREATE UNIQUE INDEX hive_account_operations_type_account_id_op_seq_idx ON hive.account_operations USING btree (op_type_id, account_id, account_op_seq_no DESC) INCLUDE (operation_id, block_num) | f | t | f
```
(26 rows)https://gitlab.syncad.com/hive/haf_api_node/-/issues/8Could admin/versions page also show some variable values (like location of ha...2024-01-11T18:45:37ZDan NotesteinCould admin/versions page also show some variable values (like location of haf_api_node and/or haf_data_dir)? Or is it too much info?https://gitlab.syncad.com/hive/denser/-/issues/199Login form: Input elements should have autocomplete attributes2024-01-11T15:19:34ZGandalfLogin form: Input elements should have autocomplete attributesMore info: https://goo.gl/9p2vKq
suggested: "current-password"
etc.More info: https://goo.gl/9p2vKq
suggested: "current-password"
etc.Damian JanusDamian Janushttps://gitlab.syncad.com/hive/hive/-/issues/642Unifi test bodies for NodeJS and Web based environments2024-01-11T14:09:23ZBartek WronaUnifi test bodies for NodeJS and Web based environmentsThe following discussion from !1165 should be addressed:
- [ ] @bwrona started a [discussion](https://gitlab.syncad.com/hive/hive/-/merge_requests/1165#note_149110):
> Test bodies should be unified somehow to avoid their copies ac...The following discussion from !1165 should be addressed:
- [ ] @bwrona started a [discussion](https://gitlab.syncad.com/hive/hive/-/merge_requests/1165#note_149110):
> Test bodies should be unified somehow to avoid their copies across test environmentsMateusz TyszczakMateusz Tyszczakhttps://gitlab.syncad.com/hive/imagehoster/-/issues/10Add new route for denser app to provide params - format and mode, add new ima...2024-01-11T13:26:47ZDamian JanusAdd new route for denser app to provide params - format and mode, add new image format avifDamian JanusDamian Janushttps://gitlab.syncad.com/hive/clive/-/issues/133Tests - random fail of test_if_beekeeper_closes_after_last_session_terminatio...2024-01-11T09:47:06ZMateusz ŻebrakTests - random fail of test_if_beekeeper_closes_after_last_session_termination - No such file or directory beekeeper.pid```bash
FAILED tests/functional/beekeeper/api_tests/test_api_close_session.py::test_if_beekeeper_closes_after_last_session_termination - FileNotFoundError: [Errno 2] No such file or directory: '/builds/hive/clive/tests/functional/beekeep...```bash
FAILED tests/functional/beekeeper/api_tests/test_api_close_session.py::test_if_beekeeper_closes_after_last_session_termination - FileNotFoundError: [Errno 2] No such file or directory: '/builds/hive/clive/tests/functional/beekeeper/api_tests/generated_during_test_api_close_session/test_if_beekeeper_closes_after_last_session_termination/beekeeper/beekeeper.pid'
```
Full error message available here:
- https://gitlab.syncad.com/hive/clive/-/jobs/896597
- https://gitlab.syncad.com/hive/clive/-/jobs/896633
Green after 3rd run:
- https://gitlab.syncad.com/hive/clive/-/jobs/896798Wieslaw KedzierskiWieslaw Kedzierskihttps://gitlab.syncad.com/hive/clive/-/issues/134Tests - random fail of test_webserver_http_endpoint - Couldn't start or conne...2024-01-11T09:46:59ZMateusz ŻebrakTests - random fail of test_webserver_http_endpoint - Couldn't start or connect to locally running beekeeper instance in 5.00 seconds.```
FAILED tests/functional/beekeeper/commandline/application_options/test_webserver_http_endpoint.py::test_webserver_http_endpoint[webserver_http_endpoint1] - clive.__private.core.beekeeper.exceptions.BeekeeperNotRunningError: Couldn't ...```
FAILED tests/functional/beekeeper/commandline/application_options/test_webserver_http_endpoint.py::test_webserver_http_endpoint[webserver_http_endpoint1] - clive.__private.core.beekeeper.exceptions.BeekeeperNotRunningError: Couldn't start or connect to locally running beekeeper instance in 5.00 seconds.
```
Job:
- https://gitlab.syncad.com/hive/clive/-/jobs/902160Wieslaw KedzierskiWieslaw Kedzierskihttps://gitlab.syncad.com/hive/wax/-/issues/11Missing import in wax stub .pyi file, Deprecated functions placed there (?), ...2024-01-10T13:38:34ZMateusz ŻebrakMissing import in wax stub .pyi file, Deprecated functions placed there (?), A tool to verify the stub files during CIRelated: https://gitlab.syncad.com/hive/clive/-/commit/4d9450b50fba371b00656a334ccf47d475e2c304
* [ ] Missing import in wax stub .pyi file
* [ ] Deprecated functions placed in the .pyi file
* [ ] A tool to verify the stub files during C...Related: https://gitlab.syncad.com/hive/clive/-/commit/4d9450b50fba371b00656a334ccf47d475e2c304
* [ ] Missing import in wax stub .pyi file
* [ ] Deprecated functions placed in the .pyi file
* [ ] A tool to verify the stub files during CI
### Missing import in wax stub .pyi file
---
While bumping wax version from `0.0.3a2.dev16+af71c58` to `0.0.3a2.dev39+44db07f` in the `clive` repo I encountered the following error messages from one of our code static analysis tools (`mypy`)
```bash
clive/__private/core/iwax.py:146: error: Returning Any from function declared to return "python_ref_block_data" [no-any-return]
```
and it resulted these lines (this is \`clive\` code adding a simple layer around the rough wax interface, so we don't have to encode every time):
```python
def get_tapos_data(block_id: str) -> wax.python_ref_block_data:
return wax.get_tapos_data(block_id.encode()) # <---- this line generated an error
```
That's because wax.get_tapos_data has a return type hinting of `Any`: ![image](/uploads/a5f1f01b23077d6a492b7b0d5da6db48/image.png)
When in the wax stub file (wax.pyi) it already has: ![image](/uploads/e11cd19e5fcff4b74f7a2c2d9ed4fa23/image.png)
This type-hinting does not work because there is an import of `python_ref_block_data` missing at the top: ![image](/uploads/fdb029377de6b064b5d71ad741d24414/image.png)
... So changing it to: ![image](/uploads/e8146384a14c6ef6d4dd6b6dfc48a7c1/image.png)
solves the issue. And that probably would be a simple fix.
### Deprecated functions placed there (?)
---
While looking at the wax.pyi I encountered a strange thing - some of the stubs defined there have the "stub for item found icon" like: ![image](/uploads/61a62760dd040300809aa8b95bd71545/image.png)
but some does not: ![image](/uploads/e1d1c8815721412a7a7f9fd9e51a85cd/image.png)
Those who don't have it are:
- `calculate_legacy_transaction_id`
- `calculate_proto_legacy_transaction_id`
- `get_tapos_data`
and as I checked it seems to me that:
- `calculate_proto_legacy_transaction_id`
is no longer available in wax. So should be removed. But IDK why:
- `calculate_legacy_transaction_id`
- `get_tapos_data`
also has this icon (maybe something is wrong with them also so IDE notify me about it?)
### A tool to verify the stub file during CI
---
As you can see it's very easy to have a mismatch between stub `.pyi` and actual code. In other repositories, we have a lint tool running on the CI like `pre-commit` or `mypy`. I think it would be very good to spend a moment on this and investigate what could we do to have some checks running on the CI if `.pyi` is consistent with the actual code. (Note: as wax.py is a generated code it may be not so obvious, you may need to do this only after installation, IDK)
It may be helpful:
- https://mypy.readthedocs.io/en/stable/stubgen.html
- https://github.com/MarcoGorelli/cython-linthttps://gitlab.syncad.com/hive/hive/-/issues/641beekeeper | Tests for config.ini file2024-01-10T12:13:30ZWieslaw Kedzierskibeekeeper | Tests for config.ini fileCreate scenarios that will check the impact on beekeeper setup, by setting fields in config.ini file.Create scenarios that will check the impact on beekeeper setup, by setting fields in config.ini file.Wieslaw KedzierskiWieslaw Kedzierskihttps://gitlab.syncad.com/hive/hive/-/issues/637beekeeper | Add new test for cli2024-01-08T08:54:11ZWieslaw Kedzierskibeekeeper | Add new test for cliLately, we have introduced new cli options for beekeeper. We need to write tests for those
https://gitlab.syncad.com/hive/clive/-/jobs/892472Lately, we have introduced new cli options for beekeeper. We need to write tests for those
https://gitlab.syncad.com/hive/clive/-/jobs/892472Wieslaw KedzierskiWieslaw Kedzierskihttps://gitlab.syncad.com/hive/hive/-/issues/636beekeeper | Improve test_default_values test2024-01-08T08:53:12ZWieslaw Kedzierskibeekeeper | Improve test_default_values testWe need to improve test_default_values.py test, so that it will check if there were new cli values checked.We need to improve test_default_values.py test, so that it will check if there were new cli values checked.Wieslaw KedzierskiWieslaw Kedzierski