-
Notifications
You must be signed in to change notification settings - Fork 217
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
Integration test cluster for Byron;Shelley #1924
Conversation
cbba7eb
to
6fb19d6
Compare
6be9ba9
to
1b73bf7
Compare
ff92299
to
df89bbb
Compare
0add156
to
e91d4b5
Compare
49d1f94
to
d6d15db
Compare
00eb494
to
6ffe092
Compare
59535f5
to
1db42f9
Compare
- Adjusted configs to work with the new version of cardano-node - withCluster now takes three actions: - onByron - onFork (when in shelley) - onClusterStart (when the stake pools have fully started) - CLI faucets are now byron facuets, and are generated automatically. This is both easier and more elegant. - The underlying logic of withCluster was kept abstract for easier experimentation. Contains a few squashed commits from Rodney.
6ffe092
to
fff475a
Compare
I'll want to squash appropriately at some point, but not yet. |
afterFork dir _ = do | ||
let encodeAddr = T.unpack . encodeAddress @'Mainnet | ||
let addresses = map (first encodeAddr) shelleyIntegrationTestFunds | ||
sendFaucetFundsTo stdoutTextTracer dir addresses |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The setup is sprinkled across integration/Main.hs, Faucet.hs, and Launch.hs, which feels a bit weird. Maybe we can resolve that sometime.
# b) the `systemStart` is hard-coded here to please the parser but is replaced dynamically | ||
# by the same code generating the final node configuration for integration. | ||
# | ||
# c) initialFunds are defined as a list of singleton, and not as a key-value map like in the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm.🤔 We don't really control the order when we fill the shelley faucets now. Maybe this might cause some failures @KtorZ .
Maybe we have to make sure to always keep funds for a sequential wallet in a single tx (but we may have as many as 200 addresses to fill for a single wallet).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will be a problem for big wallets only, which might explain why the scenario is currently failing. I thought initial funds in the shelley genesis were ignored though?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought initial funds in the shelley genesis were ignored though?
Yes.
(I came to think about it when reading the outdated documentation comment. Now updated.)
…stant And in particular, fix the inconsistency between fixture wallets and empty wallets that have different passphrases!
indeed, for the size estimation, we generate dummy change outputs that necessary are shelley addresses. Yet, Byron addresses have different sizes, and in particular, Byron are longer than shelley addresses (Icarus are however shorter). So, we apply a correction after the whole size calculation for each change output because generating dummy Byron addresses would be a real pain in the a**
This has been heavily reliable and is actually duplicating logic compared to the API. So instead, we query directly the API for fee estimation within the scenario and rely on a single implementation of fee estimation. This commits break every test in Shelley that are using the fee estimator, they'll be updated in subsequent commits
… calls I also removed some scenarios that were completely redundant with others (testing that the fee estimation endpoint works correctly is intrinsically done in other scenarios now that are calling it for pretty much every transactions).
The lifting was not really done wrong. We shouldn't return 'Nothing' if one of the given bound is 'Nothing'.
0b645dc
to
afd1e73
Compare
I'm going to merge into #1909 and we can continue there... |
1909: Cardano.Api -> Cardano.Api.Typed and HardForkBlock r=KtorZ a=rvl ### Issue Number Relates to #1870. ### Overview - Updates cardano-node to latest master version. - Updates libraries to version from cardano-node master. - Cardano.Api → Cardano.Api.Typed changes. - Change `ShelleyBlock` → `CardanoBlock sc` in "Compatibility" module - Change `ShelleyBlock` → `CardanoBlock sc` in network module - Add in byron implementations of conversion functions for two-era mode. - Add CLI support for two-era mode. - Use LocalStateQuery to get the history Interpreter from the node. - Update shelley transaction layer to use new extended keys support in Cardano.Api.Typed. ### Comments - [x] Fix all the type errors in packages other than cardano-wallet-shelley. - [x] Transaction layer works during shelley era - [ ] Transaction layer works during byron era - [x] Manual testing against [mainnet_candidate](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in byron era -- can sync and restore empty wallet - [x] Manual testing against [shelley_qa](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in shelley era -- can sync and restore empty wallet - [ ] Unit tests passing - [x] Merge integration test cluster setup from #1924, and fix. Co-authored-by: Rodney Lorrimar <[email protected]> Co-authored-by: Johannes Lund <[email protected]>
1909: Cardano.Api -> Cardano.Api.Typed and HardForkBlock r=KtorZ a=rvl ### Issue Number Relates to #1870. ### Overview - Updates cardano-node to latest master version. - Updates libraries to version from cardano-node master. - Cardano.Api → Cardano.Api.Typed changes. - Change `ShelleyBlock` → `CardanoBlock sc` in "Compatibility" module - Change `ShelleyBlock` → `CardanoBlock sc` in network module - Add in byron implementations of conversion functions for two-era mode. - Add CLI support for two-era mode. - Use LocalStateQuery to get the history Interpreter from the node. - Update shelley transaction layer to use new extended keys support in Cardano.Api.Typed. ### Comments - [x] Fix all the type errors in packages other than cardano-wallet-shelley. - [x] Transaction layer works during shelley era - [ ] Transaction layer works during byron era - [x] Manual testing against [mainnet_candidate](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in byron era -- can sync and restore empty wallet - [x] Manual testing against [shelley_qa](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in shelley era -- can sync and restore empty wallet - [ ] Unit tests passing - [x] Merge integration test cluster setup from #1924, and fix. Co-authored-by: Rodney Lorrimar <[email protected]> Co-authored-by: Johannes Lund <[email protected]>
1909: Cardano.Api -> Cardano.Api.Typed and HardForkBlock r=KtorZ a=rvl ### Issue Number Relates to #1870. ### Overview - Updates cardano-node to latest master version. - Updates libraries to version from cardano-node master. - Cardano.Api → Cardano.Api.Typed changes. - Change `ShelleyBlock` → `CardanoBlock sc` in "Compatibility" module - Change `ShelleyBlock` → `CardanoBlock sc` in network module - Add in byron implementations of conversion functions for two-era mode. - Add CLI support for two-era mode. - Use LocalStateQuery to get the history Interpreter from the node. - Update shelley transaction layer to use new extended keys support in Cardano.Api.Typed. ### Comments - [x] Fix all the type errors in packages other than cardano-wallet-shelley. - [x] Transaction layer works during shelley era - [ ] Transaction layer works during byron era - [x] Manual testing against [mainnet_candidate](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in byron era -- can sync and restore empty wallet - [x] Manual testing against [shelley_qa](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in shelley era -- can sync and restore empty wallet - [ ] Unit tests passing - [x] Merge integration test cluster setup from #1924, and fix. Co-authored-by: Rodney Lorrimar <[email protected]> Co-authored-by: Johannes Lund <[email protected]>
1909: Cardano.Api -> Cardano.Api.Typed and HardForkBlock r=KtorZ a=rvl ### Issue Number Relates to #1870. ### Overview - Updates cardano-node to latest master version. - Updates libraries to version from cardano-node master. - Cardano.Api → Cardano.Api.Typed changes. - Change `ShelleyBlock` → `CardanoBlock sc` in "Compatibility" module - Change `ShelleyBlock` → `CardanoBlock sc` in network module - Add in byron implementations of conversion functions for two-era mode. - Add CLI support for two-era mode. - Use LocalStateQuery to get the history Interpreter from the node. - Update shelley transaction layer to use new extended keys support in Cardano.Api.Typed. ### Comments - [x] Fix all the type errors in packages other than cardano-wallet-shelley. - [x] Transaction layer works during shelley era - [ ] Transaction layer works during byron era - [x] Manual testing against [mainnet_candidate](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in byron era -- can sync and restore empty wallet - [x] Manual testing against [shelley_qa](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in shelley era -- can sync and restore empty wallet - [ ] Unit tests passing - [x] Merge integration test cluster setup from #1924, and fix. Co-authored-by: Rodney Lorrimar <[email protected]> Co-authored-by: Johannes Lund <[email protected]>
1909: Cardano.Api -> Cardano.Api.Typed and HardForkBlock r=KtorZ a=rvl ### Issue Number Relates to #1870. ### Overview - Updates cardano-node to latest master version. - Updates libraries to version from cardano-node master. - Cardano.Api → Cardano.Api.Typed changes. - Change `ShelleyBlock` → `CardanoBlock sc` in "Compatibility" module - Change `ShelleyBlock` → `CardanoBlock sc` in network module - Add in byron implementations of conversion functions for two-era mode. - Add CLI support for two-era mode. - Use LocalStateQuery to get the history Interpreter from the node. - Update shelley transaction layer to use new extended keys support in Cardano.Api.Typed. ### Comments - [x] Fix all the type errors in packages other than cardano-wallet-shelley. - [x] Transaction layer works during shelley era - [ ] Transaction layer works during byron era - [x] Manual testing against [mainnet_candidate](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in byron era -- can sync and restore empty wallet - [x] Manual testing against [shelley_qa](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in shelley era -- can sync and restore empty wallet - [ ] Unit tests passing - [x] Merge integration test cluster setup from #1924, and fix. Co-authored-by: Rodney Lorrimar <[email protected]> Co-authored-by: Johannes Lund <[email protected]>
1909: Cardano.Api -> Cardano.Api.Typed and HardForkBlock r=KtorZ a=rvl ### Issue Number Relates to #1870. ### Overview - Updates cardano-node to latest master version. - Updates libraries to version from cardano-node master. - Cardano.Api → Cardano.Api.Typed changes. - Change `ShelleyBlock` → `CardanoBlock sc` in "Compatibility" module - Change `ShelleyBlock` → `CardanoBlock sc` in network module - Add in byron implementations of conversion functions for two-era mode. - Add CLI support for two-era mode. - Use LocalStateQuery to get the history Interpreter from the node. - Update shelley transaction layer to use new extended keys support in Cardano.Api.Typed. ### Comments - [x] Fix all the type errors in packages other than cardano-wallet-shelley. - [x] Transaction layer works during shelley era - [ ] Transaction layer works during byron era - [x] Manual testing against [mainnet_candidate](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in byron era -- can sync and restore empty wallet - [x] Manual testing against [shelley_qa](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in shelley era -- can sync and restore empty wallet - [ ] Unit tests passing - [x] Merge integration test cluster setup from #1924, and fix. Co-authored-by: Rodney Lorrimar <[email protected]> Co-authored-by: Johannes Lund <[email protected]>
1909: Cardano.Api -> Cardano.Api.Typed and HardForkBlock r=KtorZ a=rvl ### Issue Number Relates to #1870. ### Overview - Updates cardano-node to latest master version. - Updates libraries to version from cardano-node master. - Cardano.Api → Cardano.Api.Typed changes. - Change `ShelleyBlock` → `CardanoBlock sc` in "Compatibility" module - Change `ShelleyBlock` → `CardanoBlock sc` in network module - Add in byron implementations of conversion functions for two-era mode. - Add CLI support for two-era mode. - Use LocalStateQuery to get the history Interpreter from the node. - Update shelley transaction layer to use new extended keys support in Cardano.Api.Typed. ### Comments - [x] Fix all the type errors in packages other than cardano-wallet-shelley. - [x] Transaction layer works during shelley era - [ ] Transaction layer works during byron era - [x] Manual testing against [mainnet_candidate](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in byron era -- can sync and restore empty wallet - [x] Manual testing against [shelley_qa](https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html) which is in shelley era -- can sync and restore empty wallet - [ ] Unit tests passing - [x] Merge integration test cluster setup from #1924, and fix. Co-authored-by: Rodney Lorrimar <[email protected]> Co-authored-by: Johannes Lund <[email protected]>
Issue Number
#1920
Overview
- onByron
- onFork (when in shelley. We can send money to the shelley faucets here)
- onClusterStart (when the stake pools have fully started)
initialFunds
doesn't work when entering shelley through a hard-fork.Comments