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.
Depends on: #300
This PR moves the contract integration part from hooks to the Threshold-ts library. Thanks to this layer we can separate work between UI and contract integration. Also, it helps to unit test created services and move the "business logic" from the React hooks.
Main changes
Staking in Threshold-ts lib
IApplicaiton
interface and doesn't require authorization- in that case, the PRE app doesn't implement a common interfaceIApplication
in typescript library. Probably in the future we should keep one common interface that every app should implement.React
fetching this data is a one-shot listener and an effect callback will be run on
walletConnected
action.preConfig
field- the PRE is a separate staking app so we should store it in thestaking-application
slice.staking-application
slice- stores the PRE data per staking provider in the same way as forrandom-beacon
andecdsa
apps. Fetches this data in listener middleware.