hive issueshttps://gitlab.syncad.com/hive/hive/-/issues2021-11-24T16:18:33Zhttps://gitlab.syncad.com/hive/hive/-/issues/176Missing implementation of some block_log functions2021-11-24T16:18:33ZMateusz TyszczakMissing implementation of some block_log functionsSome block_log functions are unimplemented, e.g.: `get_block_pos_helper` and `read_block_helper`, which can cause linker `undefined reference` errors if someone tries to use them (although they are declared as private).
Their definition...Some block_log functions are unimplemented, e.g.: `get_block_pos_helper` and `read_block_helper`, which can cause linker `undefined reference` errors if someone tries to use them (although they are declared as private).
Their definitions [were added to steem](https://github.com/steemit/steem/commit/2d62c7cbccc7eb3ae34490065ad1c5ca45d208c8#diff-39e9e733815410ef01f1c286fb63525feeb6fb120ea12c3e7a9de24622c8a421R237) on Oct 25, 2017 and are still missing in hive.
Maybe it would be better to remove their declarations.Mateusz TyszczakMateusz Tyszczakhttps://gitlab.syncad.com/hive/hive/-/issues/542Something is wrong in test_if_proposal_votes_are_removed_after_removing_proposal2023-08-02T20:23:32ZKrzysztof Mochockikmochocki@syncad.comSomething is wrong in test_if_proposal_votes_are_removed_after_removing_proposalFirst of all this test is very slow after switching from dicts to object representation, because there is nested loop with linear search, which is quite costly:
`assert not any(proposal_votes.count(vote) > 1 for vote in proposal_votes)`...First of all this test is very slow after switching from dicts to object representation, because there is nested loop with linear search, which is quite costly:
`assert not any(proposal_votes.count(vote) > 1 for vote in proposal_votes)` in `get_all_proposal_votes` function
idk, why is that working quite fast on dicts, but on pydantics models it's very slow, which i fixed by appending acquired accounts to map (voter name: voter data from api), which speed up everything significally, but test stopped working. There were missing 19 votes (19981 instead of 20k votes), as i started investigation it seems, that there is missing few votes from 19 accounts, here is proof. I saved order of saving account to map in file [dmp.csv](/uploads/dc69b65899e4131110e9649762eb8649/dmp.csv), and I can't find votes for accounts in range `<account-9982 : account-9999>`, which is exacly missing amount. I think this require verification of block log generation script and regeneration of block log itself. I am also attaching fixed test with commented line which duplicates border account (it simulate bug in current version of test).
PS: there is typo in file name
[test_if_porposal_votes_are_removed_after_removing_propsal.py](/uploads/f60d58bdc20be990b346a89161de9c31/test_if_porposal_votes_are_removed_after_removing_propsal.py)
@kudmichhttps://gitlab.syncad.com/hive/hive/-/issues/427debug_api.debug_pop_block works diffrently, than name suggest2023-02-13T14:59:02ZKrzysztof Mochockikmochocki@syncad.comdebug_api.debug_pop_block works diffrently, than name suggestduring writing tests @mkudela found, that `debug_api.debug_pop_block` does not pop head block num/
After short investigation, it looks that this endpoint just return raw signed_block structure:
https://gitlab.syncad.com/hive/hive/-/blo...during writing tests @mkudela found, that `debug_api.debug_pop_block` does not pop head block num/
After short investigation, it looks that this endpoint just return raw signed_block structure:
https://gitlab.syncad.com/hive/hive/-/blob/4314b3b14bfc12e2008cbc4f452bbdfd7ea68c56/libraries/plugins/apis/debug_node_api/debug_node_api.cpp#L111
solutions:
- change name of this endpint
- make this endpoint do, what is called to doMateusz KudelaMateusz Kudelahttps://gitlab.syncad.com/hive/hive/-/issues/175[cli_wallet] Merge imported wallet file on load instead of replacing it2022-09-02T18:31:37ZMateusz Tyszczak[cli_wallet] Merge imported wallet file on load instead of replacing it## Expected Behavior
Merge new wallet file with old wallet file when invoking `load_wallet_file` function:
Replace each member of the old wallet file with the according member from the new wallet file (if its new value is not empty)
Ex...## Expected Behavior
Merge new wallet file with old wallet file when invoking `load_wallet_file` function:
Replace each member of the old wallet file with the according member from the new wallet file (if its new value is not empty)
Example:
*old*: `{ "cipher_keys": "abcdef", "ws_server": "ws://localhost:8090", "ws_password": "test", "ws_user": "test" }`
*new*: `{ "cipher_keys": "", "ws_server": "ws://localhost:8091", "ws_password": "test2", "ws_user": "test2" }`
*result*: `{ "cipher_keys": "abcdef", "ws_server": "ws://localhost:8091", "ws_password": "test2", "ws_user": "test2" }`
## Current Behavior
Replaces each member of the old wallet file with the according member from new wallet file when invoking `load_wallet_file` function:
Example:
*old*: `{ "cipher_keys": "abcdef", "ws_server": "ws://localhost:8090", "ws_password": "test", "ws_user": "test" }`
*new*: `{ "cipher_keys": "", "ws_server": "ws://localhost:8091", "ws_password": "test2", "ws_user": "test2" }`
*result*: `{ "cipher_keys": "", "ws_server": "ws://localhost:8091", "ws_password": "test2", "ws_user": "test2" }` - Note: no `cipher_keys`!
## Possible Solution
Create a function merging `wallet_data` structure as it would be also useful, when dealing with program options (currently when the user provides new endpoint url with already existing wallet file, it is not being updated in configuration, but still connects to the endpoint).
There is even an existing TODO in [wallet.cpp:415](https://gitlab.syncad.com/hive/hive/-/blob/develop/libraries/wallet/wallet.cpp#L415)
@bwronaMateusz TyszczakMateusz Tyszczakhttps://gitlab.syncad.com/hive/hive/-/issues/624beekeeper | Beekeeper sends `signals attached` notify too early2024-01-08T06:21:30ZWieslaw Kedzierskibeekeeper | Beekeeper sends `signals attached` notify too earlySome time ago, the beekeeper sent information about its readiness, by sending `signals attached` notification.
Currently, beekeeper still sends it, but it does it too early even before the notification server is set, it is an issue bec...Some time ago, the beekeeper sent information about its readiness, by sending `signals attached` notification.
Currently, beekeeper still sends it, but it does it too early even before the notification server is set, it is an issue because clive depends on this signal.
log:
```
(develop *)(default) $ ./beekeeper --notifications-endpoint 127.0.0.1:8000 --webserver-http-endpoint 127.0.0.1:6666
**3366689ms beekeeper_app.cpp:16 beekeeper_app ] Sending 'signals attached' signals**
3366689ms json_rpc_plugin.cpp:238 initialize ] initializing JSON RPC plugin
3366689ms json_rpc_plugin.cpp:200 add_api_method ] api_name: jsonrpc method_name: get_methods
3366689ms json_rpc_plugin.cpp:200 add_api_method ] api_name: jsonrpc method_name: get_signature
3366689ms webserver_plugin.cpp:587 plugin_initialize ] initializing webserver plugin
3366689ms webserver_plugin.cpp:590 plugin_initialize ] configured with 32 thread pool size
3366689ms webserver_plugin.cpp:593 plugin_initialize ] Compression in webserver is disabled
3366690ms webserver_plugin.cpp:605 plugin_initialize ] configured http to listen on 127.0.0.1:6666
3366690ms beekeeper_app_init.cpp:49 initialize_program_o ] initializing options
3366690ms notifications.cpp:65 setup ] setting up notification handler for 1 address
3366693ms beekeeper_app_init.cpp:72 initialize_program_o ] Backtrace on segfault is enabled.
3366693ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: create
3366693ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: open
3366693ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: close
3366693ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: set_timeout
3366693ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: lock_all
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: lock
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: unlock
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: import_key
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: remove_key
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: list_wallets
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: list_created_wallets
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: get_public_keys
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: sign_digest
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: get_info
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: create_session
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: close_session
3366694ms json_rpc_plugin.cpp:200 add_api_method ] api_name: beekeeper_api method_name: has_matching_private_key
3366694ms application.cpp:110 startup ] Startup...
3366694ms webserver_plugin.cpp:293 operator() ] start processing http thread
3366694ms webserver_plugin.cpp:308 operator() ] start listening for http requests on 127.0.0.1:6666
```
The first log entry was generated by adding a simple log snippet
```
beekeeper_app::beekeeper_app()
{
wlog("Sending 'signals attached' signals");
app.init_signals_handler();
}
```
@Trela said that this notification is no longer needed because it was used only to send info that the SIGINT handler is set, so it should be removed. Because it is not possible to even get this notification.
Additionally, we should send notification about beekeepers readiness - like `beekeeper is ready` or `everything is done`, it would be sent after `beekeeper is starting` notification.Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/622beekeeper | wrong notification while opening second bk instance2024-01-08T06:21:04ZWieslaw Kedzierskibeekeeper | wrong notification while opening second bk instanceThere is a problem while opening the second instance of bk pointing to the same storage. In such a scenario, the second instance should send a notification `Opening beekeeper failed` yet, it now sends `interrupted`.
It is because the v...There is a problem while opening the second instance of bk pointing to the same storage. In such a scenario, the second instance should send a notification `Opening beekeeper failed` yet, it now sends `interrupted`.
It is because the variable string `error_notifications_endpoint` that should hold the address of the notification server is empty. I added a log entry to `send_fail_notification` function to verify it :
```
void beekeeper_instance::send_fail_notification()
{
fc::variant _pid = read_file( pid_file );
fc::variant _connection = read_file( connection_file );
auto _map_pid = _pid.as<std::map<std::string, std::string>>();
auto __pid = _map_pid["pid"];
hive::utilities::notifications::notification_handler_wrapper _notification_handler;
if (error_notifications_endpoint.empty()) {
elog("error_notifications_endpoint is empty !");
}
_notification_handler.register_endpoint( error_notifications_endpoint );
appbase::application::dynamic_notify( _notification_handler, "Opening beekeeper failed", "pid", __pid, "connection", _connection );
}
```
Below we have logs from the second instance:
```
2401520ms json_rpc_plugin.cpp:238 initialize ] initializing JSON RPC plugin
2401520ms json_rpc_plugin.cpp:200 add_api_method ] api_name: jsonrpc method_name: get_methods
2401520ms json_rpc_plugin.cpp:200 add_api_method ] api_name: jsonrpc method_name: get_signature
2401520ms webserver_plugin.cpp:587 plugin_initialize ] initializing webserver plugin
2401520ms webserver_plugin.cpp:590 plugin_initialize ] configured with 1 thread pool size
2401520ms webserver_plugin.cpp:593 plugin_initialize ] Compression in webserver is disabled
2401520ms webserver_plugin.cpp:605 plugin_initialize ] configured http to listen on 0.0.0.0:0
2401520ms beekeeper_app_init.cpp:49 initialize_program_o ] initializing options
2401520ms notifications.cpp:65 setup ] setting up notification handler for 1 address
2401523ms beekeeper_instance.cpp:69 initialize_lock ] Failed to lock access to wallet directory; is another `beekeeper` running?
**2401523ms beekeeper_instance.cpp:144 send_fail_notificati ] error_notifications_endpoint is empty !**
2402692ms notifications.cpp:46 operator() ] notification error: `unspecified:Connection refused `
2402692ms notifications.cpp:127 broadcast ] Establishing a connection with an address 127.0.0.1:45801 failed
```
The interesting fact is that interupt signal is sent back to the notification server:
```
Got notification: {'value': {'current_status': 'interrupted'}, 'time': '2023-12-06T07:40:47', 'name': 'hived_status'}
Beekeeper startup interrupted
Details : {'current_status': 'interrupted'
```Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/619beekeeper | export-keys-wallet return errorcode even if there is no error2023-12-13T09:09:20ZWieslaw Kedzierskibeekeeper | export-keys-wallet return errorcode even if there is no errorExecution beekeeper with command line flag `--export-keys-wallet` exits with errorcode 1, even if there is no problem during wallet dumping.
Example:
```
user@host 0 :/tmp/wk-temp
(default) $ /home/user/Work/blockchainwarez/hive/clive/...Execution beekeeper with command line flag `--export-keys-wallet` exits with errorcode 1, even if there is no problem during wallet dumping.
Example:
```
user@host 0 :/tmp/wk-temp
(default) $ /home/user/Work/blockchainwarez/hive/clive/hive/build/programs/beekeeper/beekeeper/beekeeper --data-dir /tmp/wk-temp --export-keys-wallet '["test_export_keys","PW5JSVoVwTNDKKBNYwmXkRHEcRfAXJBR7jYLVY3oPWXgNkW29Ny17"]'
357264ms json_rpc_plugin.cpp:238 initialize ] initializing JSON RPC plugin
357264ms json_rpc_plugin.cpp:200 add_api_method ] api_name: jsonrpc method_name: get_methods
357264ms json_rpc_plugin.cpp:200 add_api_method ] api_name: jsonrpc method_name: get_signature
357264ms webserver_plugin.cpp:587 plugin_initialize ] initializing webserver plugin
357264ms webserver_plugin.cpp:590 plugin_initialize ] configured with 32 thread pool size
357264ms webserver_plugin.cpp:593 plugin_initialize ] Compression in webserver is disabled
357264ms beekeeper_app_init.cpp:49 initialize_program_o ] initializing options
357267ms beekeeper_app_init.cpp:72 initialize_program_o ] Backtrace on segfault is enabled.
357267ms beekeeper_app.cpp:76 save_keys ] *****Saving keys into `test_export_keys.keys` file*****
357267ms beekeeper_app.cpp:78 save_keys ] Create a session
357268ms beekeeper_app.cpp:83 operator() ] Unlock the wallet
357268ms beekeeper_app.cpp:86 operator() ] Get keys
357268ms beekeeper_app.cpp:96 operator() ] Save keys into `test_export_keys.keys` file
357268ms beekeeper_app.cpp:103 operator() ] Lock the wallet
357268ms beekeeper_app.cpp:106 operator() ] Close a session
357268ms beekeeper_app.cpp:143 boost_se_body ] *****Keys have been saved*****
user@host 1 :/tmp/wk-temp
(default) $ $?
1: command not found
```
It should exit with exitcode 0Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/613beekeeper | Error while passing protocl to notification_endpoint2023-11-14T13:12:25ZWieslaw Kedzierskibeekeeper | Error while passing protocl to notification_endpointCalling create_session with protocol name in `notifications_endpoint` is causing an error:
Ok.
```
curl -s --data '{
"jsonrpc": "2.0",
"method": "beekeeper_api.create_session",
"params": {
"salt": "avocado",
"notification...Calling create_session with protocol name in `notifications_endpoint` is causing an error:
Ok.
```
curl -s --data '{
"jsonrpc": "2.0",
"method": "beekeeper_api.create_session",
"params": {
"salt": "avocado",
"notifications_endpoint": "127.0.0.1:8001"
},
"id": 1
}' http://127.0.0.1:6666 | jq
{
"jsonrpc": "2.0",
"result": {
"token": "5afd978be24eda9e2dc5dc78fd69db76381902b3827f42e88dd90d0e8b26af03"
},
"id": 1
}
```
Error:
```
(default) $ curl curl -s --data '{
"jsonrpc": "2.0",
"method": "beekeeper_api.create_session",
"params": {
"salt": "avocado",
"notifications_endpoint": "http://127.0.0.1:8001"
},
"id": 1
}' http://127.0.0.1:6666 | jq
{
"jsonrpc": "2.0",
"error": {
"code": -32000,
"message": "unspecified:Bad port: //127.0.0.1:8001",
"data": {
"code": 0,
"name": "exception",
"message": "unspecified",
"stack": [
{
"context": {
"level": "error",
"file": "resolve.cpp",
"line": 47,
"method": "resolve_string_to_ip_endpoints",
"hostname": "",
"timestamp": "2023-11-13T09:47:56"
},
"format": "Bad port: ${port}",
"data": {
"port": "//127.0.0.1:8001"
}
},
{
"context": {
"level": "warn",
"file": "resolve.cpp",
"line": 50,
"method": "resolve_string_to_ip_endpoints",
"hostname": "",
"timestamp": "2023-11-13T09:47:56"
},
"format": "",
"data": {
"endpoint_string": "http://127.0.0.1:8001"
}
}
],
"extension": {}
}
},
"id": 1
}
```
We should allow to pass protocol name.Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/608beekeeper | Error message from sign digest is returned not formatted2023-11-07T07:19:41ZWieslaw Kedzierskibeekeeper | Error message from sign digest is returned not formattedIf one is trying to call beekeeper.sign_digest using public_key that is not present in any wallet, beekeeper will return an error. And this is good behavior, unfortunately, it returns an unformatted string like:
```
\'message\': \'Asser...If one is trying to call beekeeper.sign_digest using public_key that is not present in any wallet, beekeeper will return an error. And this is good behavior, unfortunately, it returns an unformatted string like:
```
\'message\': \'Assert Exception:false: Public key not found in unlocked wallets ${public_key}\'
```
But it should return for example :
```
\'message\': \'Assert Exception:false: Public key not found in unlocked wallets 6jACfK3P5xYFJQvavCwz5M8KR5EW3TcmSesArj9LJVGAq85qor\'
```
The problem lies here https://gitlab.syncad.com/hive/hive/-/blob/master/programs/beekeeper/core/wallet_manager_impl.cpp?ref_type=heads#L198Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/593Calling beekeeper with --help and --version return code different than 02023-10-24T11:26:24ZWieslaw KedzierskiCalling beekeeper with --help and --version return code different than 0Calling beekeeper with --help, or with --version should return an exit code equals to 0Calling beekeeper with --help, or with --version should return an exit code equals to 0Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/591[beekeeper] Saving locally private/public keys by using `--export-keys-wallet...2023-10-24T11:26:04ZMariusz Trela[beekeeper] Saving locally private/public keys by using `--export-keys-wallet-name`, `--export-keys-wallet-password` should present results/errors in more readable waysMariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/590[beekeeper] Calling concurrently different API methods causes unexpected errors2023-10-24T11:25:55ZMariusz Trela[beekeeper] Calling concurrently different API methods causes unexpected errorsMariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/585Beekeeper does not support --wallet-dir directory paths with spaces2023-10-24T11:26:33ZMateusz TyszczakBeekeeper does not support --wallet-dir directory paths with spaces![Screenshot_from_2023-09-22_19-14-40](/uploads/d1c8aafd9672d8c02363514da2d18401/Screenshot_from_2023-09-22_19-14-40.png)
But when I change it from `${STORAGE_ROOT}/.beekeeper` to `/home/tm/.beekeeper` it works fine![Screenshot_from_2023-09-22_19-14-40](/uploads/d1c8aafd9672d8c02363514da2d18401/Screenshot_from_2023-09-22_19-14-40.png)
But when I change it from `${STORAGE_ROOT}/.beekeeper` to `/home/tm/.beekeeper` it works fineMariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/580Compiled beekeeper wasm javascript interprets some logs (ilog) as an error2023-10-17T09:43:05ZEfeCompiled beekeeper wasm javascript interprets some logs (ilog) as an errorCompiled beekeeper js library interprets **ilog** output as an error. See screenshot below.
Also I would like to request a feature:
- I would like to be able to enable/disable all logs by giving some options to `init()` method. This will...Compiled beekeeper js library interprets **ilog** output as an error. See screenshot below.
Also I would like to request a feature:
- I would like to be able to enable/disable all logs by giving some options to `init()` method. This will be useful in production version of hb-auth library.
![Screenshot_2023-09-20_at_10.07.47](/uploads/8190b9fe8877a4a6593cf9d7a55ce205/Screenshot_2023-09-20_at_10.07.47.png)
![Screenshot_2023-09-20_at_10.08.36](/uploads/954c4051f9e8f710db0296a17400d6fe/Screenshot_2023-09-20_at_10.08.36.png)Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/576Fc allows invalid JSON Array parsing2024-01-03T18:08:40ZMateusz TyszczakFc allows invalid JSON Array parsingFc just consumes commas and white space characters without ensuring the proper JSON syntax: https://gitlab.syncad.com/hive/hive/-/blob/b5ae753d5aa7335b2a3aa504e7e037219cc4e2f6/libraries/fc/src/io/json.cpp#L286
Allowing the following:
```...Fc just consumes commas and white space characters without ensuring the proper JSON syntax: https://gitlab.syncad.com/hive/hive/-/blob/b5ae753d5aa7335b2a3aa504e7e037219cc4e2f6/libraries/fc/src/io/json.cpp#L286
Allowing the following:
```json
{
"array": [
"data1", "dataAfterComma" "dataWithoutComma"
"noComma"
]
}
```
Parsing this JSON object results in variant holding variant_object with "array", which holds array of strings
This code **does not** throw:
```cpp
const std::string json = "{\"array\":[\"data\", \"dataAfterComma\" \"dataWithoutComma\"\n\"noComma\"]}";
const fc::variants arr = fc::json::from_string(json).get_object()["array"].get_array();
FC_ASSERT(arr.size() == 4);
```Andrzej SuchAndrzej Suchhttps://gitlab.syncad.com/hive/hive/-/issues/574Testnet block generation hangs when transfer with hbd amount larger than curr...2023-10-17T15:44:07ZMateusz ŻebrakTestnet block generation hangs when transfer with hbd amount larger than current hbd supply is sentFYI: @bwrona @ABW @Ickiewicz
Related: #573
There is a situation that may cause the transaction to be validated correctly and yet cannot be added to the block (`apply_block` fails), which causes block production to stop (it doesn't cras...FYI: @bwrona @ABW @Ickiewicz
Related: #573
There is a situation that may cause the transaction to be validated correctly and yet cannot be added to the block (`apply_block` fails), which causes block production to stop (it doesn't crash the node, and it keeps trying to apply it in the loop, which is why the node hangs in this state)
It looks like this should not occur with #573 fixed.
An example test case looks like:
```python
from __future__ import annotations
import test_tools as tt
def test_if_node_block_generation_hangs(init_node: tt.InitNode) -> None:
# ARRANGE
wallet = tt.Wallet(init_node)
# ACT
# We need to send a larger amount of HBD than the current supply is.
gdpo = init_node.api.database.get_dynamic_global_properties()
amount_to_send = tt.Asset.from_(gdpo["current_hbd_supply"]) + tt.Asset.Tbd(1)
wallet.api.transfer("initminer", "null", amount_to_send, "")
# ASSERT
assert wallet.api.get_account("initminer")["hbd_balance"] == tt.Asset.Tbd(7_000_000) - amount_to_send
```Andrzej LisakAndrzej Lisakhttps://gitlab.syncad.com/hive/hive/-/issues/573`current_hbd_supply` from `get_dynamic_global_properties` does not include in...2023-10-17T15:43:47ZMateusz Żebrak`current_hbd_supply` from `get_dynamic_global_properties` does not include initminer balance in testnet buildFYI: @bwrona @ABW @Ickiewicz
Related: #574FYI: @bwrona @ABW @Ickiewicz
Related: #574Andrzej LisakAndrzej Lisakhttps://gitlab.syncad.com/hive/hive/-/issues/566beekeeper | `--version` flag is returning empty response.2023-10-12T09:07:19ZWieslaw Kedzierskibeekeeper | `--version` flag is returning empty response.Executing `./beekeeper --version` is currently returning an empty response.
Example:
```
user@user : /hive/build/programs/beekeeper/beekeeper
(develop *) $ ./beekeeper --version
```Executing `./beekeeper --version` is currently returning an empty response.
Example:
```
user@user : /hive/build/programs/beekeeper/beekeeper
(develop *) $ ./beekeeper --version
```Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/558beekeeper | Format of "Opening beekeeper failed" notification changed and is ...2023-10-12T09:07:39ZMateusz Żebrakbeekeeper | Format of "Opening beekeeper failed" notification changed and is now confusingFYI: @kmochocki
The notification about `Opening beekeper failed` changed recently and has now a weird format.
As it can be observed in the picture below - the message beekeeper sent has a `value.current_status` key which is of type `s...FYI: @kmochocki
The notification about `Opening beekeper failed` changed recently and has now a weird format.
As it can be observed in the picture below - the message beekeeper sent has a `value.current_status` key which is of type `string` and should be
another object I guess.
`message` looks like:
![image](/uploads/cf0c297d239a2350a8b7c944aaf855dd/image.png)
`message.value.current_status` is a string:
![image](/uploads/66ab33358dae958122773020654a9492/image.png)
Additionally, the notification context was previously placed in the `name` key so in `message.name` like :
![image](/uploads/2e3d45ac8f025e18a7afec851026d5fd/image.png)Mariusz TrelaMariusz Trelahttps://gitlab.syncad.com/hive/hive/-/issues/557beekeeper | Notification about closing wallet is sent multiple times2023-10-12T09:11:49ZMateusz Żebrakbeekeeper | Notification about closing wallet is sent multiple timesFYI: @kmochocki @Trela
As the title says, beekeeper looks to be sending a notification about closing wallets multiple times, after actually closing such a wallet.
Path to reproduce looks like:
1. Launch clive
2. Activate with `timeout...FYI: @kmochocki @Trela
As the title says, beekeeper looks to be sending a notification about closing wallets multiple times, after actually closing such a wallet.
Path to reproduce looks like:
1. Launch clive
2. Activate with `timeout=60s` and just wait
3. Clive deactivates after `1min` because of beekeeper notification
4. Clive gets another notification about wallets closing after `~14mins` since activation
Beekeeper log:
```bash
2512119ms json_rpc_plugin.cpp:222 initialize ] initializing JSON RPC plugin
2512119ms webserver_plugin.cpp:584 plugin_initialize ] initializing webserver plugin
2512119ms webserver_plugin.cpp:587 plugin_initialize ] configured with 1 thread pool size
2512119ms webserver_plugin.cpp:590 plugin_initialize ] Compression in webserver is disabled
2512119ms webserver_plugin.cpp:602 plugin_initialize ] configured http to listen on 0.0.0.0:0
2512119ms beekeeper_app_init.cpp:120 initialize_program_o ] initializing options
2512119ms notifications.cpp:64 setup ] setting up notification handler for 1 address
2512120ms beekeeper_app_init.cpp:157 initialize_program_o ] Backtrace on segfault is enabled.
2512120ms webserver_plugin.cpp:290 operator() ] start processing http thread
2512120ms webserver_plugin.cpp:305 operator() ] start listening for http requests on 0.0.0.0:44735
2517125ms json_rpc_plugin.cpp:439 rpc ] message: {"id":0,"jsonrpc":"2.0","method":"beekeeper_api.create_session","params":{"notifications_endpoint":"127.0.0.1:44721", "salt":"140203550380032"}}
2524518ms json_rpc_plugin.cpp:439 rpc ] message: {"id":0,"jsonrpc":"2.0","method":"beekeeper_api.open","params":{"wallet_name":"alice","token":"963fe1f463076c55fc55df aac99be158b8b91fc25610e33040cf9b3031317dac"}}
2524520ms json_rpc_plugin.cpp:439 rpc ] message: {"id":0,"jsonrpc":"2.0","method":"beekeeper_api.unlock","params":{"wallet_name":"alice","password":"alice","token":"9 63fe1f463076c55fc55dfaac99be158b8b91fc25610e33040cf9b3031317dac"}}
2524523ms json_rpc_plugin.cpp:439 rpc ] message: {"id":0,"jsonrpc":"2.0","method":"beekeeper_api.set_timeout","params":{"seconds":60,"token":"963fe1f463076c55fc55dfaa c99be158b8b91fc25610e33040cf9b3031317dac"}}
3553016ms json_rpc_plugin.cpp:439 rpc ] message: {"id":0,"jsonrpc":"2.0","method":"beekeeper_api.close_session","params":{"token":"963fe1f463076c55fc55dfaac99be158b8b 91fc25610e33040cf9b3031317dac"}}
3553018ms application.cpp:99 handle_signal ] _last_signal_code: 2
3553018ms application.cpp:90 generate_interrupt_r ] interrupt requested!
3553018ms webserver_plugin.cpp:651 plugin_pre_shutdown ] Shutting down webserver_plugin...
3553018ms webserver_plugin.cpp:310 operator() ] http io service exit
3553018ms application.cpp:473 finish ] Waiting for logging_thread quit
3553018ms application.cpp:475 finish ] logging_thread quit done
```
Clive log:
```bash
2023-08-22 14:42:04.516 | ℹ️ INFO | clive.__private.core.commands.abc.command:_log_execution_info:40 - Executing command: Activate
2023-08-22 14:42:04.522 | ℹ️ INFO | clive.__private.core.commands.abc.command:_log_execution_info:40 - Executing command: SetTimeout
2023-08-22 14:42:04.524 | ℹ️ INFO | clive.__private.core.commands.set_timeout:_execute:20 - Timeout set to 60 s.
2023-08-22 14:42:04.525 | ℹ️ INFO | clive.__private.core.app_state:activate:33 - Mode switched to ACTIVE.
2023-08-22 14:43:04.558 | ℹ️ INFO | clive.__private.core.beekeeper.notifications:notify:32 - Got notification: {'value': {}, 'time': '2023-08-22T12 :43:04', 'name': 'Attempt of closing all wallets'}
2023-08-22 14:43:04.559 | 🐞 DEBUG | clive.__private.core.beekeeper.notifications:__notify_listeners_about_wallets_closing:71 - Notifying listeners about wallets closing
2023-08-22 14:43:04.559 | ℹ️ INFO | clive.__private.core.app_state:deactivate:37 - Mode switched to INACTIVE.
2023-08-22 14:56:52.152 | ℹ️ INFO | clive.__private.core.beekeeper.notifications:notify:32 - Got notification: {'value': {}, 'time': '2023-08-22T12 :56:52', 'name': 'Attempt of closing all wallets'}
2023-08-22 14:56:52.153 | 🐞 DEBUG | clive.__private.core.beekeeper.notifications:__notify_listeners_about_wallets_closing:71 - Notifying listeners about wallets closing
2023-08-22 14:56:52.153 | ℹ️ INFO | clive.__private.core.app_state:deactivate:37 - Mode switched to INACTIVE.
```
Full logs: [stderr.log](/uploads/2529407941cb5cf1b5c987984bfe1f1a/stderr.log) [2023-08-22_14-41-51_debug.log](/uploads/bc84e61c190a421667dee2cf086dcf00/2023-08-22_14-41-51_debug.log)Mariusz TrelaMariusz Trela