Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream 1.2.0 #50

Conversation

okilisan
Copy link

@okilisan okilisan commented Apr 5, 2024

Merge upstream 1.2.0 to fishhashplus 2.0.2

masben-mb and others added 30 commits January 31, 2024 20:55
Use 'os.Exit(1)' instead of 'os.Exit(42)' as in all other places in the code where non-zero exit code is used.
* Test16IncomingConnections
* TestIntegrationBasicSync
* TestIBD
* TestIBDWithPruning
* TestBoundedMergeDepth
* TestVirtualSelectedParentChain
* TestTxRelay
* TestUTXOIndex
* TestVirtualSelectedParentBlueScoreAndVirtualDAAScore
* Added code coverage, build passing and test coverage badges.
* Added full description about smart contract design and integration
  proposal.
* Added FishHash testnet documentation
…ts-and-github-workflows

Fix for all auto tests, build tests, code coverage and full GitHub workflow integration
lemois-1337 and others added 28 commits February 17, 2024 00:28
1. Fixed race in gRPC client send/recv/close handler:

Write at 0x00c01e77fc90 by goroutine 6616:
  google.golang.org/grpc.(*clientStream).CloseSend()

Previous read at 0x00c01e77fc90 by goroutine 6615:
  google.golang.org/grpc.(*clientStream).SendMsg()

2. Fixed race in gRPC client error handler:

This is a workaround for current implementation to set RLock for
non-atomic error handler, some parts are atomic already.

It is also necessary to store new value 'isError' otherwise
concurrent connections can block each other but without lock no
atomic read/write is guaranteed. The gRPC client implementation
with a shared error handler between send/recv should be reworked.
The miner routines are asynchroneous and in stability tests the
miner regularly crashes when you set very low limit of blocks to
be mined, it will fail with:

2024-02-22 12:18:23.209 [CRT] KSMN: Exiting: Fatal error in goroutine `blocksLoop 7`: Writing to the logger when it's not running
panic: Writing to the logger when it's not running

goroutine 39 [running]:
github.com/karlsen-network/karlsend/infrastructure/logger.(*Logger).printf(0xfe4180, 0x5, {0xad163c, 0x4}, {0xad725b, 0xb}, {0xc0000837c0, 0x1, 0x1})
	/home/runner/work/karlsend/infrastructure/logger/logs.go:185 +0x385
github.com/karlsen-network/karlsend/infrastructure/logger.(*Logger).Writef(...)
	/home/runner/work/karlsend/infrastructure/logger/logs.go:144
github.com/karlsen-network/karlsend/infrastructure/logger.(*Logger).Criticalf(0xc0000b61e0?, {0xad725b?, 0x0?}, {0xc0000837c0?, 0x0?, 0x0?})
	/home/runner/work/karlsend/infrastructure/logger/logs.go:127 +0x4c
github.com/karlsen-network/karlsend/util/panics.exit.func1()
	/home/runner/work/karlsend/util/panics/panics.go:58 +0xa6
created by github.com/karlsen-network/karlsend/util/panics.exit in goroutine 28
	/home/runner/work/karlsend/util/panics/panics.go:57 +0x14a

Root cause for this issue is that in simnet with very low
difficulty we can mine and submit blocks very fast and while
submitting an already mined block, the miner will find several
others.

The limit was only applied for submitting blocks, but not for
mining blocks. It is fixed now.
* Replaced all occurances of Kaspa with Karlsen.
* Rebuild all protobuf files with some recent versions.
* Kaspa copyrights have been kept.
…rlsen-fork

Finish Karlsen split from upstream codebase
Following the recent transition from Kaspa coin type (111111) to
Karlsen coin type (121337) - a change already documented on https://github.com/satoshilabs/slips/blob/master/slip-0044.md -
we're in the process of adopting our specific BIP39 derivation path.
This step is crucial for most integrations that do not operate a
node daemon, such as hardware wallets, to ensure address
compatibility across different platforms. A unique derivation path
is essential for this purpose.

We currently have wallets that use the old coin type, necessitating
support for both the legacy and new derivation paths. To facilitate
this, a new command line option has been introduced for the 'create'
subcommand: -l (short) or --legacy (long). Here's how it functions:

* By default, the command creates or imports a version 2 wallet using
  the new coin type 121337.
* When the legacy option is invoked, it creates or imports a version 1
  wallet with the original coin type 111111.

Although wallets with version 1 will remain operational, migrating KLS
to a newly established version 2 wallet is strongly advised for future
compatibility with both software and hardware wallets.

Final implementation for commit e20a090
…lsen-wallet

Changed default listen port from 8082 to 9182
@lemois-1337
Copy link
Collaborator

Included in #52

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.

3 participants