-
Notifications
You must be signed in to change notification settings - Fork 3
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
Channel and payment integration tests #10
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* LSAT Authentication has its own use, so I have separated into indepdendent repository.
* Struct must have getter and setter for each field to serialize into json. Before this, it was impossible override config when opening channel. By defining getter/setter to UserConfig struct, we can not pass it as json correctly. * Add mock service for unit test.
* When we run as a server in Integration test, MVC fails to bind TheirNodeId in OpenChannelRequest, the reason is unknown, (it does not occur in unit test) but changing the order of JsonConverter registration in startup solved the issue.
* FeeEstimator should receive FFIConfirmationTarget from rl but it was trying to receive `ref FFITransaction` which is obviously a bug. So fixed. * Stop calling bitcoin-core directly. The feature we want to use (fee estimation, broadcasting) can all be done through NBXplorer. So simplify by not using bitocin core rpc in NRustLightning.
* Fix bug in "--regtest", "--testnet" command line options. before this commit it wasn't specifying the type signature for `Option` so it ended up in empty value. * Read NBX options when loading configuration. * Move GetWalletInfo endpoint from InfoController to WalletController. Since it makes more sense. * Add Try-catch block when getting feerate from nbxplorer. querying to nbxplorer is not always safe, I have added a cache for the feerate and fallback to using the cache if the request fails. * It is not fully finished, we must bump nbx version for `GetBalance` operation. But before that, we must bump NBitcoin version.
* Move some logic from RustLightningEventReactor to WalletService. To mock the side effect to NBXplorer, I wanted to aggregate all call to nbxplorer into WalletService. * Make Interface IWalletService So that We can have `StubWalletService` to mock side effect to nbx. * Make interface INBXplorerClientProvider. We usually want to check the connection against NBX at startup. But this will cause test failes even when we don't want to use actual nbx. So we prepared StubNBXplorerClientProvider to not run test on startup.
Before this, interfaces were defining its methods with property returning `ref delegate` by defining as delegate without ref, the implementation will be bit easy. And it opens possibility to be inherited by abstract class. So that users don't have to see the ffi-specific types at all.
* `Script` is consensus encoded, but deserialization was assuming the length is not prefixed. Fix by using BitcoinStream in `FFIScript.ToScript` * Return UIntPtr instead of bool in `ChainWatchInterface.ReEntered` * Bump rust-lightning * Remove all logic for ChainWatchInterface interop from Server. * Add BroadcastAsync method to ChannelService
And confirm channel opens correctly.
* By dirty hack for waiting channel opens. * Make sure we use right port for lnd in docker-compose
* UserConfig is represented as struct so that it can pass FFI Boundary easily, but the struct sometimes causes a problem If it is used as configuration object. Specifially, it fails to bind from `IConfiguration` So we prepare class which holds the same value with it so that user can use as a facade.
* Prepare UserConfigProvider for easy binding against option. * Add OffchainBalanceSatoshis to WalletInfo.
joemphilips
force-pushed
the
channel_and_payment_integration_tests
branch
from
July 3, 2020 09:46
df9fabe
to
e431145
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.