james-prysm
29695d8906
Fee Recipient: API/logs run only after bellatrix ( #10543 )
...
* initial commit
* unit test
* Update validator/client/validator.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* updating check based on review comments
* adjusting how logs are used
* adding in git add .
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2022-04-25 13:34:20 +00:00
Nishant Das
a8ba5e7dd8
Disable Transaction Evaluator ( #10563 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-25 10:13:11 +00:00
Nishant Das
0ad190c1fb
Graduate Balance Trie Feature ( #10552 )
2022-04-25 11:16:41 +02:00
Raul Jordan
2e056b38da
Engine API Proxy Utility for Merge Testing ( #10533 )
...
* execution client package renaming
* define interceptors and options
* further clean
* further dedup
* further simplify
* rev
* rem
* more modifications
* further clean
* defines tests
* pass first test
* proper tests
* all tests in
* gaz
* lint
* wait start
* assign on ports
* gaz
Co-authored-by: Nishant Das <nishdas93@gmail.com>
2022-04-25 05:03:05 +00:00
james-prysm
966de59478
E2E: switching to run time generated yaml for web3signer ( #10513 )
...
* switching to run time generated yaml
* fixing bazel
* fixing unit test
* fixing linter problems
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-23 08:41:24 +00:00
terence tsao
c8919bd233
Move validate merge transition block outside of notify new payload ( #10526 )
...
* Move validate merge transition block
* Update process_block_test.go
* Conflict, use swith err
* Update execution_engine.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-04-23 08:11:15 +00:00
Nishant Das
baa2e2e340
Fix Transaction Pool in E2E ( #10561 )
2022-04-22 21:13:11 +00:00
Nishant Das
7765d275d1
Add in State Slot for Sync Committee Cache ( #10475 )
...
* add changes
* Update beacon-chain/core/helpers/sync_committee_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2022-04-22 08:03:32 +00:00
Håvard Anda Estensen
2fd7c926ed
Use the T.TempDir and B.TempDir to create temp dirs for testing ( #10560 )
...
* Use t.TempDir and b.TempDir for temporary test dirs
* Remove redundant dir cleanup
2022-04-21 20:45:44 +00:00
moshe-blox
21fc9853ee
Encode empty extra_data
as "0x" and base_fee_per_gas
as Uint256 i… ( #10539 )
...
* Encode empty `extra_data` as "0x" and `base_fee_per_gas` as Uint256 in the Beacon API
* Fixed parsing of Uint256 in the API
* Add missing tests for empty hex & Uint256 fields in `apimiddleware`
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2022-04-21 15:44:38 +00:00
Radosław Kapka
642de455d5
Update Beacon API's Postman collection to 2.2.0 ( #10559 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-21 15:07:58 +00:00
Radosław Kapka
d371cd6e89
Add lock to PeerStatusScorer.SetHeadSlot
( #10558 )
...
(cherry picked from commit e04e4795c81ea939cf8996c632c52598cd69d170)
2022-04-21 15:02:20 +00:00
james-prysm
c8a7f6f0bd
Suggested Fee Recipient : bug fix ( #10555 )
...
* initial commit
* adding unit tests
* Update validator/client/validator.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* fixing unit tests based on suggestions
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-21 03:57:19 +00:00
Nishant Das
d7a7fa025d
Graduate Active Balance Cache Feature ( #10550 )
...
* graduate feature
* gaz
* clear cache
2022-04-21 02:59:52 +00:00
Nishant Das
6b6ac4c3fb
Graduate Optimized Balance Update Feature ( #10549 )
...
* graduate feat
* stop imports
* gaz
2022-04-20 09:02:33 +00:00
Nishant Das
3b8651cbf4
Graduate Optimized Get Block Feature ( #10548 )
2022-04-19 22:30:29 -07:00
Preston Van Loon
9d29d2f4bf
Update libp2p to latest release ( #10423 )
...
* Update libp2p to latest release
* gazelle
* fix panic in tests
* gaz
* fix conflicts
* revert back
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
2022-04-19 12:53:58 +00:00
Nishant Das
3d205a387c
Remove Proposer Selection Feature ( #10547 )
...
* remove config option
* fix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-19 08:59:19 +00:00
Nishant Das
269b382229
Fix E2E Failures ( #10540 )
...
* fix it
* fix all issues
* gaz
* fix yaml
* Update config/params/testdata/e2e_config.yaml
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update testing/endtoend/minimal_e2e_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2022-04-19 07:53:02 +00:00
Preston Van Loon
80ebbcf03e
gocognit: Lower complexity threshold to 100, fix a few complexity issues ( #10542 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-19 07:12:24 +00:00
terence tsao
32ebe94515
Clean up batch process block ( #10520 )
2022-04-19 06:44:25 +00:00
Håvard Anda Estensen
d2f4a8cc7c
Replace ioutil with io and os ( #10541 )
...
* Replace ioutil with io and os
* Fix build errors
2022-04-18 20:42:07 +00:00
Giulio rebuffo
982de94428
misleading comment in receive_block.go ( #10538 )
...
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2022-04-18 12:15:28 +00:00
terence tsao
a41025e5ec
Rename optimistic_sync.go to execution_engine.go ( #10537 )
...
* Rename optimistic_sync.go to execution_engine.go
* Update BUILD.bazel
2022-04-18 05:49:48 +00:00
terence tsao
3ce26ae7e2
Add process payload header ( #10529 )
...
* Add process payload header
* Update block.go
* Remove unused receivers
* Use errors vars
* Add some comments
* Add some comments
2022-04-17 07:02:59 +00:00
terence tsao
1acedd5b01
Rename receipt root to receipts root ( #10535 )
2022-04-16 13:18:07 +00:00
Radosław Kapka
a0679c70d3
Service constructors and Start()
- better separation of concerns ( #10532 )
...
* move waitForStateInitialization to Start
* remove channel
* handle error in test
* fix service tests
* use fatal log
* deterministic-genesis
* sync
* rpc
* monitor
* validator-client
* test fixes
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-04-16 02:45:35 +00:00
Leo Lara
7f53700306
Remove feature and flag Pyrmont testnet ( #10522 )
...
* Remove feature and flag Pyrmont testnet
* Remove unused parameter
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-04-15 15:30:32 +00:00
Radosław Kapka
3b69f7a196
Simplify Initial Sync ( #10523 )
...
* move waitForStateInitialization to Start
* remove channel
* handle error in test
* fix service tests
* use fatal log
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-04-15 13:32:31 +00:00
Nishant Das
72562dcf3a
Fix Another Off By 1 In Our Finalized Trie ( #10524 )
...
* fix everything
* fix more
* fix test
* Update beacon-chain/powchain/service.go
* Update beacon-chain/powchain/service.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2022-04-15 12:51:56 +00:00
Preston Van Loon
cc23b8311a
Static analysis: gocognit ( #10527 )
...
* Add gocognit to static analyzers with a very high threshold
* edit readme and sort analyzers
2022-04-15 06:29:07 +00:00
terence tsao
cbe54fe3f9
Handle nil execution block response when logging TTD ( #10502 )
2022-04-13 19:47:04 -07:00
Nishant Das
1b6adca3ca
Handle Finalized Deposit Insertion Better ( #10517 )
2022-04-13 10:08:19 +02:00
Nishant Das
1651649e5a
Update to 1.17.9 ( #10518 )
2022-04-13 05:25:13 +00:00
Potuz
56187edb98
Use forkchoice first when checking canonical status ( #10516 )
2022-04-12 21:34:13 -03:00
Preston Van Loon
ecad5bbffc
e2e: Provide e2e config yaml to web3signer ( #10123 )
...
* e2e: Provide e2e config yaml to web3signer
* fix build for //testing/endtoend:go_default_test
* Update with web3signer with teku fixes
* buildifier
* Add slasher case for web3signer
* Update testing/endtoend/minimal_e2e_test.go
* Update web3signer to 21.10.6
* Revert "Update web3signer to 21.10.6"
This reverts commit bdf3c408f2a0432379fa1a735a2e3f70c62d11cc.
* Remove slasher part of web3signer e2e tests
* Revert "Remove slasher part of web3signer e2e tests"
This reverts commit 24249802ae34fb7727b83dbfa187d73c1d97d2f8.
* fix slasher web3signer test
* fixing build
* updating yaml to match testnet_e2e_config.go
* trying a different order to the e2e test and adding a log
* trying different way to kill process
* handling unhandled error
* testing changes to config WIP
* fixing bazel WIP
* fixing build
* ignoring test for now to test
* fixing bazel
* Test only web3signer e2e
* rolling back some commits to test
* fixing bazel
* trying an updated web3signer version
* changing flag to match version
* trying current version of develop for web3signer
* testing not using the --network property
* addressing build error
* testing config change
* reverting to go bakc to using the network file
* testing adding epochs per sync committee period
* rolling back configs
* removing check to test
* adding log to get sync committee duties and changing bellatrix fork epoch to something large and altair to epoch 1
* fixing bazel
* updating epoch in config file
* fixing more descrepencies between the configurations
* removing un used yaml
* removing goland added duplicates
* reverting using network minimal
* fixing bug
* rolling back some changes
* rolling back some changes
* rolling back changes
* making sure web3signer test doesn't make it to bellatrix fork yet
* reverting changes I did not touch
* undo comment
* Update testing/endtoend/deps.bzl
* Apply suggestions from code review
* rm nl
* fix //testing/endtoend:go_mainnet_test
* Remove unnecessary dep
* fix //testing/endtoend:go_mainnet_test
* addressing review comments
* fixing build and internal conflict
* removing web3signer slasher test as it's unneeded due to the interface nature of key signing, the regular slashing test is enough
* fix: The validator we fetch from the binary can only run before altair, if you add that and the web3signer then these things can never run together as the web3signer sets it to before bellatrix
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: James He <james@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-04-12 16:57:46 +00:00
Nishant Das
407182387b
fix it all ( #10511 )
2022-04-12 19:50:29 +08:00
terence tsao
ad0b0b503d
Move GetTerminalBlockHash
to powchain engine ( #10500 )
...
* Move GetTerminalBlockHash to powchain engine
* Update service.go
* Update service.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-12 10:19:07 +00:00
terence tsao
58f4ba758c
Metrics tracking EE VALID/SYNCING/INVALID response counter ( #10504 )
...
Co-authored-by: Nishant Das <nishdas93@gmail.com>
2022-04-12 09:51:13 +00:00
james-prysm
64f64f06bf
Remote Key Manager API(web3signer) ( #10302 )
...
* removing flag requirement, can run web3signer without predefined public keys
* placeholders for remote-keymanager-api
* adding proto and accountschangedfeed
* updating generated code
* fix imports
* fixing interface
* adding work in progress apimiddleware code
* started implementing functions for remote keymanager api
* fixing generted code from proto
* fixing protos
* fixing import format
* fixing proto generation again , didn't fix the first time
* fixing imports again
* continuing on implementing functions
* implementing add function
* implementing delete API function
* handling errors for API
* removing unusedcode and fixing format
* fixing bazel
* wip enable --web when running web3signer
* fixing wallet check for web3signer
* fixing apis
* adding list remote keys unit test
* import remote keys test
* delete pubkeys tests
* moving location of tests
* adding unit tests
* adding placeholder functions
* adding more unit tests
* fixing bazel
* fixing build
* fixing already slice issue with unit test
* fixing linting
* Update validator/client/validator.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/types.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/node/node.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/types.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/client/validator.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* adding comment on proto based on review
* Update validator/keymanager/remote-web3signer/keymanager.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/keymanager/remote-web3signer/keymanager.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* adding generated code based on review
* updating based on feedback
* fixing imports
* fixing formatting
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* fixing event call
* fixing dependency
* updating bazel
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/rpc/standard_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* addressing comment from review
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2022-04-11 16:05:40 -04:00
terence tsao
e70055733f
Save state to DB after proposer boost ( #10509 )
2022-04-11 16:51:49 +00:00
Radosław Kapka
36e4f49af0
Bellatrix evaluators ( #10506 )
...
* defensive nil check
* separate ExecutionPayload/Header from codegen
* tell bazel about this new file
* Merge: support terminal difficulty override (#9769 )
* Fix finding terminal block hash calculation
* Update mainnet_config.go
* Update beacon_block.pb.go
* Various fixes to pass all spec tests for Merge (#9777 )
* Proper upgrade altair to merge state
* Use uint64 for ttd
* Correctly upgrade to merge state + object mapping fixes
* Use proper receive block path for initial syncing
* Disable contract lookback
* Disable deposit contract lookback
* Go fmt
* Merge: switch from go bindings to raw rpc calls (#9803 )
* Disable genesis ETH1.0 chain header logging
* Update htrutils.go
* all gossip tests passing
* Remove gas validations
* Update penalty params for Merge
* Fix gossip and tx size limits for the merge part 1
* Remove extraneous p2p condition
* Add and use
* Add and use TBH_ACTIVATION_EPOCH
* Update WORKSPACE
* Update Kintsugi engine API (#9865 )
* Kintsugi ssz (#9867 )
* All spec tests pass
* Update spec test shas
* Update Kintsugi consensus implementations (#9872 )
* Remove secp256k1
* Remove unused merge genesis state gen tool
* Manually override nil transaction field. M2 works
* Fix bad hex conversion
* Change Gossip message size and Chunk SIze from 1 MB t0 10MB (#9860 )
* change gossip size and chunk size after merge
* change ssz to accomodate both changes
* gofmt config file
* add testcase for merge MsgId
* Update beacon-chain/p2p/message_id.go
Change MB to Mib in comment
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* change function name from altairMsgID to postAltairMsgID
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Sync with develop
* Merge branch 'develop' of github.com:prysmaticlabs/prysm into kintsugi
* Update state_trie.go
* Clean up conflicts
* Fix build
* Update config to devnet1
* Fix state merge
* Handle merge test case for update balance
* Fix build
* State pkg cleanup
* Fix a bug with loading mainnet state
* Fix transactions root
* Add v2 endpoint for merge blocks (#9802 )
* Add V2 blocks endpoint for merge blocks
* Update beacon-chain/rpc/apimiddleware/structs.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* go mod
* fix transactions
* Terence's comments
* add missing file
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Sync
* Go mod tidy
* change EP field names
* latest kintusgi execution api
* fix conflicts
* converting base fee to big endian format (#10018 )
* ReverseByteOrder function does not mess the input
* sync with develop
* use merge gossip sizes
* correct gossip sizes this time
* visibility
* clean ups
* Sync with develop, fix payload nil check bug
* Speed up syncing, hide cosmetic errors
* Sync with develop
* Clean up after sync
* Update generate_keys.go
* sync with develop
* Update mainnet_config.go
* Clean ups
* Sync optimistically candidate blocks (#10193 )
* Revert "Sync optimistically candidate blocks (#10193 )"
This reverts commit f99a0419ef1efc4bda0be77f22165b8fe4377c0d.
* Sync optimistically candidate blocks (#10193 )
* allow optimistic sync
* Fix merge transition block validation
* Update proposer.go
* Sync with develop
* delete deprecated client, update testnet flag
* Change optimistic logic (#10194 )
* Logs and err handling
* Fix build
* Clean ups
* Add back get payload
* c
* Done
* Rm uncommented
* Optimistic sync: prysm validator rpcs (#10200 )
* Logs to reproduce
* Use pointers
* Use pointers
* Use pointers
* Update json_marshal_unmarshal.go
* Fix marshal
* Update json_marshal_unmarshal.go
* Log
* string total diff
* str
* marshal un
* set string
* json
* gaz
* Comment out optimistic status
* remove kiln flag here (#10269 )
* Sync with devleop
* Sync with develop
* clean ups
* refactor engine calls
* Update process_block.go
* Fix deadlock, uncomment duty opt sync
* Update proposer_execution_payload.go
* Sync with develop
* Rm post state check
* Bypass eth1 data checks
* Update proposer_execution_payload.go
* Return early if ttd is not reached
* Sync with devleop
* Update process_block.go
* Update receive_block.go
* Update bzl
* Revert "Update receive_block.go"
This reverts commit 5b4a87c512325d9f26de4db7f941dcd7303cd0d8.
* Fix run time
* add in all the fixes
* fix evaluator bugs
* latest fixes
* sum
* fix to be configurable
* Update go.mod
* Fix AltairCompatible to account for future state version
* Update proposer_execution_payload.go
* fix broken conditional checks
* fix all issues
* Handle pre state Altair with valid payload
* Handle pre state Altair with valid payload
* Log bellatrix fields
* Update log.go
* Revert "fix broken conditional checks"
This reverts commit e118db6c20172783a3bb573d2f78670f0207ec1e.
* LH multiclient working
* Friendly fee recipient log
* Remove extra SetOptimisticToValid
* fix race
* fix test
* Fix base fee per gas
* Fix notifypayload headroot
* tx fuzzer
* clean up with develop branch
* save progress
* 200tx/block
* add LH flags
* Sync with devleop
* cleanup
* cleanup
* hash
* fix build
* fix test
* fix go check
* fmt
* gosec
* Blocked stream
(cherry picked from commit f362af9862db680b6352692217ad5c08d44a1e86)
# Conflicts:
# proto/prysm/v1alpha1/validator.pb.go
* remove duplicate param
* test
* revert some test changes
* Initial version of EE tx count
* evaluate all txs in epoch
* remove logs
* uncomment tests
* remove unwanted change
* parameterize ExpectedExecEngineTxsThreshold
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Zahoor Mohamed <zahoor@zahoor.in>
Co-authored-by: kasey <489222+kasey@users.noreply.github.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Zahoor Mohamed <zahoor@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-11 13:45:22 +00:00
terence tsao
d98428dec4
Can prune nodes from canonical and payload maps ( #10496 )
...
* Can prune nodes from canonical and payload maps
* Update store_test.go
* prune payload hashes, canonical nodes and better testing
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
2022-04-11 11:08:50 +00:00
Nishant Das
00b92e01d3
Fetch Non Finalized Deposits Better ( #10505 )
2022-04-11 09:59:22 +02:00
Potuz
ca5adbf7e4
Fix optimistic logging ( #10503 )
2022-04-09 23:09:04 +00:00
Nishant Das
a083b7a0a5
Set Auth Differently In Our Powchain Constructor ( #10501 )
2022-04-09 11:03:05 +02:00
Raul Jordan
dd5995b665
Proper Connection Management for ETH JSON-RPC Client for Startup and Runtime ( #10498 )
...
* begin connection management revamp
* kiln runs
* retry
* reconnect
* add
* rpc connect fix
* remove logging
* logs
* retry
* default value for web3flag
* test pass
* comments
* ensure auth works
2022-04-09 09:28:40 +08:00
Taranpreet26311
6903d52dde
Added horusec ( #10499 )
...
* Added horusec
* Improving aesthetics
* Restrict branch
2022-04-08 10:52:04 -04:00
Potuz
ac8d27bcf1
Deal with node balance underflow ( #10492 )
...
* deal with balance underflow
* fix log format
* preston's review
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2022-04-07 17:38:48 +00:00
Nishant Das
8d6afb3afd
Fix Issues From Multiclient E2E ( #10486 )
...
* fix it
* fix index addition
* fix sync issues
* make it nicer
2022-04-07 01:52:24 +00:00