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

SMASH Integration #1884

Merged
merged 11 commits into from
Jul 29, 2020
Merged

SMASH Integration #1884

merged 11 commits into from
Jul 29, 2020

Conversation

KtorZ
Copy link
Member

@KtorZ KtorZ commented Jul 8, 2020

Issue Number

#1883

Overview

  • d790880
    📍 allow different ways of building metadata URL from metadata information
    The idea is the following:

  • We have a list of "URL builders" that will be tried in order, but only
    if the first builder replied with a connection failure (so, only if the
    server is somewhat down)

  • We can always have our current behavior by using the
    'identityUrlBuilder'.

  • Then, we can augment this behavior if given a specific registry URL
    via the command-line options, which will add a "registryUrlBuilder"
    which takes predecence over the identity builder.

  • 48884cd
    📍 try fetching metadata from the next builder on HTTP exception

  • c133609
    📍 add command-line option for enabling a pool metadata proxy
    Going for a command-line option so that this can easily be turned on and off at will in case of any issue. Plus, not everyone might agree with the idea of going through a registry so hard-coding the registry URL is a no go. cardano-wallet-jormungandr uses an ad-hoc environment variable for this, but a documented option in the command-line is definitely cleaner.

  • e9dbf56
    📍 revise logging around pool metadata fetching to have more insight inside the fetcher
    So that we can clearly log fallback attempts and keep it clean.

  • cf00db6
    📍 Regenerate nix

  • 0830589
    📍 use 'Either HttpException' as a base monad instead of 'ExceptT'
    The underlying URL builder relies on the 'MonadThrow' class to send errors. Yet, when using 'ExceptT', the error is thrown in the base monad!!
    So, using 'Either' instead in conjunction with except to catch the error as expected in the loopl, instead of throwing hard in the parent context.

  • dd00d12
    📍 be more specific when interpreting responses from the aggregation server

  • 28b9d57
    📍 remove fallback when a pool metadata proxy is supplied.
    The fallback made sense in the early days, but we can now make it a proper switch: it's either fetching from pools, or it's fetching from the registry

Comments

  • ⚠️ TODO: show that it works. So far, on the shelley testnet:

Some quick manual / sanity testing:

$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy https://smash.shelley-testnet.dev.cardano.org/api/v1/metadata

[...]

[2020-07-08 19:57:09.29 UTC] Fetching metadata with hash c9ed7096 from https://smash.shelley-testnet.dev.cardano.orgapi/v1/metadata/c9ed70969c964284ff854d61e43c2591b67ceb7e978347cb1b50ba3ed1d3edb4
[2020-07-08 19:57:09.45 UTC] Successfully fetched metadata with hash c9ed7096: StakePoolMetadata {ticker = StakePoolTicker {unStakePoolTicker = "IOHK1"}, name = "IOHK1", description = Just "IOHK Pool", homepage = "https://iohk.io"}
$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy patate
option --pool-metadata-proxy: Invalid URI. Make sure the URI is well formed, with a protocol and a host.

@KtorZ KtorZ added the ADDING FEATURE Mark a PR as adding a new feature, for auto-generated CHANGELOG label Jul 8, 2020
@KtorZ KtorZ requested a review from piotr-iohk July 8, 2020 17:16
@KtorZ KtorZ self-assigned this Jul 8, 2020
@KtorZ KtorZ force-pushed the KtorZ/xxx/smash-integration branch 2 times, most recently from d0a8191 to 7b9e38e Compare July 8, 2020 20:05
@rvl rvl added this to the (ADP-363) Integrate SMASH server milestone Jul 14, 2020
@KtorZ KtorZ force-pushed the KtorZ/xxx/smash-integration branch from c7748df to dd00d12 Compare July 21, 2020 13:06
@piotr-iohk
Copy link
Contributor

Although fallback is removed I see there is a fallback going on in case of SMASH with expired SSL:

$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy https://expired.badssl.com/
[cardano-wallet.pools-engine:Warning:52] [2020-07-22 13:23:37.43 UTC] Couldn't reach server at https://expired.badssl.com4f3b3be782e93761220942c55cbc13358b8bcd12bf200f1548e4daa5e99bdfcd. Falling back using a different strategy.
[cardano-wallet.pools-engine:Info:52] [2020-07-22 13:23:37.43 UTC] Fetching metadata with hash 4f3b3be7 from https://cent.stakepoolcentral.com/resources/CENT.json

@piotr-iohk
Copy link
Contributor

There is minor issue in the log, missing / in the url (orgapi):

Fetching metadata with hash f0022651 from 
https://smash.shelley-testnet.dev.cardano.orgapi/v1/metadata/f0022651a06ba5b62bc6c9e223ee15aa957867cb9ba9b3ca4f4f4a9ff4f47964

@KtorZ KtorZ force-pushed the KtorZ/xxx/smash-integration branch from 28b9d57 to 17fb68a Compare July 23, 2020 06:46
@KtorZ
Copy link
Member Author

KtorZ commented Jul 23, 2020

Fixed the URL in the log (was missing a trailing slash in the URI path representation, but oddly enough, the underlying library building the request from the URL still worked just fine 🤷‍♂️).

Also, I've double-checked about the fallback and I do observe the correct behavior:

--pool-metadata-proxy https://smash.shelley-testnet.dev.cardano.org/api/v1/metadata
[cardano-wallet.pools-engine:Info:53] [2020-07-23 06:42:36.15 UTC] Fetching metadata with hash 2633c85f from https://smash.shelley-testnet.dev.cardano.org/api/v1/metadata/2633c85fdcd1c1193b92c785facdc9b849e5ab0cd70833faa383157103f40fc4
--pool-metadata-proxy https://expired.badssl.com/
[cardano-wallet.pools-engine:Info:64] [2020-07-23 06:43:44.44 UTC] Fetching metadata with hash 05eb1bd0 from https://expired.badssl.com/05eb1bd033853b0f90625fed274578605a0f00fd19be320f2b5f81c04498ec2f
[cardano-wallet.pools-engine:Warning:64] [2020-07-23 06:43:44.85 UTC] Couldn't reach server at https://expired.badssl.com/05eb1bd033853b0f90625fed274578605a0f00fd19be320f2b5f81c04498ec2f.
[cardano-wallet.pools-engine:Warning:64] [2020-07-23 06:43:44.85 UTC] Failed to fetch metadata with hash 05eb1bd0: Metadata server(s) didn't reply in a timely manner.
[cardano-wallet.pools-engine:Info:64] [2020-07-23 06:43:44.85 UTC] Fetching metadata with hash fb4086de from https://expired.badssl.com/fb4086de12dd20e71817ad12220fe59b500488445e7278614eef9fb87fa7743f
[cardano-wallet.pools-engine:Warning:64] [2020-07-23 06:43:45.23 UTC] Couldn't reach server at https://expired.badssl.com/fb4086de12dd20e71817ad12220fe59b500488445e7278614eef9fb87fa7743f.
[cardano-wallet.pools-engine:Warning:64] [2020-07-23 06:43:45.23 UTC] Failed to fetch metadata with hash fb4086de: Metadata server(s) didn't reply in a timely manner.
[cardano-wallet.pools-engine:Info:64] [2020-07-23 06:43:45.23 UTC] Fetching metadata with hash 9d355af4 from https://expired.badssl.com/9d355af4aa94a75e1c095465e778142d920cb44976ab527faffe9543818c3948
[cardano-wallet.pools-engine:Warning:64] [2020-07-23 06:43:45.57 UTC] Couldn't reach server at https://expired.badssl.com/9d355af4aa94a75e1c095465e778142d920cb44976ab527faffe9543818c3948.

@KtorZ KtorZ marked this pull request as ready for review July 23, 2020 06:51
{ uriPath = "/" <> intercalate "/" (pathSegments baseUrl ++ [hash])
}
where
hash = T.unpack $ T.decodeUtf8 $ convertToBase Base16 bytes
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
hash = T.unpack $ T.decodeUtf8 $ convertToBase Base16 bytes
hash = B8.unpack $ convertToBase Base16 bytes

-- Try each builder in order, but only if the previous builder led to a
-- "ConnectionFailure" exception. Other exceptions mean that we could
-- likely reach the server.
fromFirst (builder:rest) = do
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found this a little confusing. Can we separate the function which makes a request and reads at most 512 bytes from the response from the function which tries each builder and uses the first which succeeds?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can try that 👍

poolMetadataProxyOption
:: Parser URI
poolMetadataProxyOption = option (eitherReader reader) $ mempty
<> long "pool-metadata-proxy"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer to not use the word "proxy" where it could be confused with actual HTTP proxies.
We could just say --smash-server.
And what about making the CF smash server the default, with an option to disable the metadata aggregator?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer to not use the word "proxy" where it could be confused with actual HTTP proxies.

Fair point. Although I dislike the "--smash-server" naming for this because in principle, smash is one implementation of a metadata registry. There could be others by the community that aren't smash. Hence why I wanted to keep the name rather "generic". Perhaps --pool-metadata-registry ?

And what about making the CF smash server the default, with an option to disable the metadata aggregator?

There's no CF server yet as far as I know 😬 ... plus, with all the networks and candidates at the moment, it's sort of hard to know what a sensible default would be (other than, no default). Long-term, I do however agree, once the dust settle down a bit.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought "smash" was a generic name, or at least something that implements the smash API.
I have asked for clarification input-output-hk/smash#22.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyway, I'll for "--smash-server" since it's more transparent for now. We can always change later.

@piotr-iohk
Copy link
Contributor

Also, I've double-checked about the fallback and I do observe the correct behavior:

Indeed, I must have not updated the branch, sorry.

Ok, small thing, but maybe we would like to consider allowing only https as a protocol in the URL that is provided to --pool-metadata-proxy? Currently the validation of URL is very simple and in particular you can:

--pool-metadata-proxy protocol:host

which results in:

[cardano-wallet.pools-engine:Error:49] [2020-07-23 08:45:29.21 UTC] Worker has exited unexpectedly: InvalidUrlException "protocol:/host/65e023d50434d576f6d8f901a10adb8bb55f2550ee08fe017e10c7911d4f97f2" "Invalid scheme"

Just a thought.

@piotr-iohk piotr-iohk self-requested a review July 23, 2020 08:57
KtorZ added 4 commits July 29, 2020 10:54
The idea is the following:

- We have a list of "URL builders" that will be tried in order, but only
  if the first builder replied with a connection failure (so, only if the
  server is somewhat down)

- We can always have our current behavior by using the
  'identityUrlBuilder'.

- Then, we can augment this behavior if given a specific registry URL
  via the command-line options, which will add a "registryUrlBuilder"
  which takes predecence over the identity builder.
Going for a command-line option so that this can easily be turned on and off at will in case of any issue. Plus, not everyone might agree with the idea of going through a registry so hard-coding the registry URL is a no go. cardano-wallet-jormungandr uses an ad-hoc environment variable for this, but a documented option in the command-line is definitely cleaner.
…side_ the fetcher

So that we can clearly log fallback attempts and keep it clean.
@rvl rvl force-pushed the KtorZ/xxx/smash-integration branch from f7453c3 to 9bc10de Compare July 29, 2020 03:27
Comment on lines +145 to +153
runExceptTLog
:: ExceptT String IO StakePoolMetadata
-> IO (Maybe StakePoolMetadata)
runExceptTLog action = runExceptT action >>= \case
Left msg ->
Nothing <$ traceWith tr (MsgFetchPoolMetadataFailure hash msg)

Right meta ->
Just meta <$ traceWith tr (MsgFetchPoolMetadataSuccess hash meta)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previously I have combined Success/Failure log messages into a single message type, e.g.

    | MsgFetchPoolMetadataResult StakePoolMetadataHash (Either String StakePoolMetadata)

This way is no less expressive for logging, and means you can use a single traceWith statement and avoid needing to use constructs like runExceptTLog.

@rvl
Copy link
Contributor

rvl commented Jul 29, 2020

Ok, small thing, but maybe we would like to consider allowing only https as a protocol in the URL

I added this @piotr-iohk so that the error can be caught earlier.

@rvl
Copy link
Contributor

rvl commented Jul 29, 2020

bors r+

iohk-bors bot added a commit that referenced this pull request Jul 29, 2020
1884: SMASH Integration r=rvl a=KtorZ

# Issue Number

<!-- Put here a reference to the issue this PR relates to and which requirements it tackles -->

#1883 

# Overview

<!-- Detail in a few bullet points the work accomplished in this PR -->
- d790880
  📍 **allow different ways of building metadata URL from metadata information**
  The idea is the following:

- We have a list of "URL builders" that will be tried in order, but only
  if the first builder replied with a connection failure (so, only if the
  server is somewhat down)

- We can always have our current behavior by using the
  'identityUrlBuilder'.

- Then, we can augment this behavior if given a specific registry URL
  via the command-line options, which will add a "registryUrlBuilder"
  which takes predecence over the identity builder.

- 48884cd
  📍 **try fetching metadata from the next builder on HTTP exception**
  
- c133609
  📍 **add command-line option for enabling a pool metadata proxy**
  Going for a command-line option so that this can easily be turned on and off at will in case of any issue. Plus, not everyone might agree with the idea of going through a registry so hard-coding the registry URL is a no go. cardano-wallet-jormungandr uses an ad-hoc environment variable for this, but a documented option in the command-line is definitely cleaner.

- e9dbf56
  📍 **revise logging around pool metadata fetching to have more insight _inside_ the fetcher**
  So that we can clearly log fallback attempts and keep it clean.

- cf00db6
  📍 **Regenerate nix**
  
- 0830589
  📍 **use 'Either HttpException' as a base monad instead of 'ExceptT'**
    The underlying URL builder relies on the 'MonadThrow' class to send errors. Yet, when using 'ExceptT', the error is thrown _in the base monad_!!
  So, using 'Either' instead in conjunction with `except` to catch the error as expected in the loopl, instead of throwing hard in the parent context.

- dd00d12
  📍 **be more specific when interpreting responses from the aggregation server**
  
- 28b9d57
  📍 **remove fallback when a pool metadata proxy is supplied.**
  The fallback made sense in the early days, but we can now make it a proper switch: it's either fetching from pools, or it's fetching from the registry


# Comments

<!-- Additional comments or screenshots to attach if any -->

- [ ] ⚠️ TODO: show that it works. So far, on the shelley testnet:

Some quick manual / sanity testing:

```console
$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy https://smash.shelley-testnet.dev.cardano.org/api/v1/metadata

[...]

[2020-07-08 19:57:09.29 UTC] Fetching metadata with hash c9ed7096 from https://smash.shelley-testnet.dev.cardano.orgapi/v1/metadata/c9ed70969c964284ff854d61e43c2591b67ceb7e978347cb1b50ba3ed1d3edb4
[2020-07-08 19:57:09.45 UTC] Successfully fetched metadata with hash c9ed7096: StakePoolMetadata {ticker = StakePoolTicker {unStakePoolTicker = "IOHK1"}, name = "IOHK1", description = Just "IOHK Pool", homepage = "https://iohk.io"}
```

```console
$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy patate
option --pool-metadata-proxy: Invalid URI. Make sure the URI is well formed, with a protocol and a host.
```

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: KtorZ <[email protected]>
Co-authored-by: IOHK <[email protected]>
Co-authored-by: Rodney Lorrimar <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jul 29, 2020

Build failed

  The underlying URL builder relies on the 'MonadThrow' class to send errors. Yet, when using 'ExceptT', the error is thrown _in the base monad_!!
  So, using 'Either' instead in conjunction with `except` to catch the error as expected in the loopl, instead of throwing hard in the parent context.
KtorZ added 3 commits July 29, 2020 15:08
The fallback made sense in the early days, but we can now make it a proper switch: it's either fetching from pools, or it's fetching from the registry
@rvl rvl force-pushed the KtorZ/xxx/smash-integration branch from 7130352 to 838d045 Compare July 29, 2020 05:09
@rvl
Copy link
Contributor

rvl commented Jul 29, 2020

Forgot a cabal dep, oops.

bors r+

iohk-bors bot added a commit that referenced this pull request Jul 29, 2020
1884: SMASH Integration r=rvl a=KtorZ

# Issue Number

<!-- Put here a reference to the issue this PR relates to and which requirements it tackles -->

#1883 

# Overview

<!-- Detail in a few bullet points the work accomplished in this PR -->
- d790880
  📍 **allow different ways of building metadata URL from metadata information**
  The idea is the following:

- We have a list of "URL builders" that will be tried in order, but only
  if the first builder replied with a connection failure (so, only if the
  server is somewhat down)

- We can always have our current behavior by using the
  'identityUrlBuilder'.

- Then, we can augment this behavior if given a specific registry URL
  via the command-line options, which will add a "registryUrlBuilder"
  which takes predecence over the identity builder.

- 48884cd
  📍 **try fetching metadata from the next builder on HTTP exception**
  
- c133609
  📍 **add command-line option for enabling a pool metadata proxy**
  Going for a command-line option so that this can easily be turned on and off at will in case of any issue. Plus, not everyone might agree with the idea of going through a registry so hard-coding the registry URL is a no go. cardano-wallet-jormungandr uses an ad-hoc environment variable for this, but a documented option in the command-line is definitely cleaner.

- e9dbf56
  📍 **revise logging around pool metadata fetching to have more insight _inside_ the fetcher**
  So that we can clearly log fallback attempts and keep it clean.

- cf00db6
  📍 **Regenerate nix**
  
- 0830589
  📍 **use 'Either HttpException' as a base monad instead of 'ExceptT'**
    The underlying URL builder relies on the 'MonadThrow' class to send errors. Yet, when using 'ExceptT', the error is thrown _in the base monad_!!
  So, using 'Either' instead in conjunction with `except` to catch the error as expected in the loopl, instead of throwing hard in the parent context.

- dd00d12
  📍 **be more specific when interpreting responses from the aggregation server**
  
- 28b9d57
  📍 **remove fallback when a pool metadata proxy is supplied.**
  The fallback made sense in the early days, but we can now make it a proper switch: it's either fetching from pools, or it's fetching from the registry


# Comments

<!-- Additional comments or screenshots to attach if any -->

- [ ] ⚠️ TODO: show that it works. So far, on the shelley testnet:

Some quick manual / sanity testing:

```console
$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy https://smash.shelley-testnet.dev.cardano.org/api/v1/metadata

[...]

[2020-07-08 19:57:09.29 UTC] Fetching metadata with hash c9ed7096 from https://smash.shelley-testnet.dev.cardano.orgapi/v1/metadata/c9ed70969c964284ff854d61e43c2591b67ceb7e978347cb1b50ba3ed1d3edb4
[2020-07-08 19:57:09.45 UTC] Successfully fetched metadata with hash c9ed7096: StakePoolMetadata {ticker = StakePoolTicker {unStakePoolTicker = "IOHK1"}, name = "IOHK1", description = Just "IOHK Pool", homepage = "https://iohk.io"}
```

```console
$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy patate
option --pool-metadata-proxy: Invalid URI. Make sure the URI is well formed, with a protocol and a host.
```

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: KtorZ <[email protected]>
Co-authored-by: Rodney Lorrimar <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jul 29, 2020

Build failed

(-Wname-shadowing error)

@rvl rvl force-pushed the KtorZ/xxx/smash-integration branch from 838d045 to bed67b8 Compare July 29, 2020 05:29
@rvl
Copy link
Contributor

rvl commented Jul 29, 2020

bors r+

iohk-bors bot added a commit that referenced this pull request Jul 29, 2020
1884: SMASH Integration r=rvl a=KtorZ

# Issue Number

<!-- Put here a reference to the issue this PR relates to and which requirements it tackles -->

#1883 

# Overview

<!-- Detail in a few bullet points the work accomplished in this PR -->
- d790880
  📍 **allow different ways of building metadata URL from metadata information**
  The idea is the following:

- We have a list of "URL builders" that will be tried in order, but only
  if the first builder replied with a connection failure (so, only if the
  server is somewhat down)

- We can always have our current behavior by using the
  'identityUrlBuilder'.

- Then, we can augment this behavior if given a specific registry URL
  via the command-line options, which will add a "registryUrlBuilder"
  which takes predecence over the identity builder.

- 48884cd
  📍 **try fetching metadata from the next builder on HTTP exception**
  
- c133609
  📍 **add command-line option for enabling a pool metadata proxy**
  Going for a command-line option so that this can easily be turned on and off at will in case of any issue. Plus, not everyone might agree with the idea of going through a registry so hard-coding the registry URL is a no go. cardano-wallet-jormungandr uses an ad-hoc environment variable for this, but a documented option in the command-line is definitely cleaner.

- e9dbf56
  📍 **revise logging around pool metadata fetching to have more insight _inside_ the fetcher**
  So that we can clearly log fallback attempts and keep it clean.

- cf00db6
  📍 **Regenerate nix**
  
- 0830589
  📍 **use 'Either HttpException' as a base monad instead of 'ExceptT'**
    The underlying URL builder relies on the 'MonadThrow' class to send errors. Yet, when using 'ExceptT', the error is thrown _in the base monad_!!
  So, using 'Either' instead in conjunction with `except` to catch the error as expected in the loopl, instead of throwing hard in the parent context.

- dd00d12
  📍 **be more specific when interpreting responses from the aggregation server**
  
- 28b9d57
  📍 **remove fallback when a pool metadata proxy is supplied.**
  The fallback made sense in the early days, but we can now make it a proper switch: it's either fetching from pools, or it's fetching from the registry


# Comments

<!-- Additional comments or screenshots to attach if any -->

- [ ] ⚠️ TODO: show that it works. So far, on the shelley testnet:

Some quick manual / sanity testing:

```console
$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy https://smash.shelley-testnet.dev.cardano.org/api/v1/metadata

[...]

[2020-07-08 19:57:09.29 UTC] Fetching metadata with hash c9ed7096 from https://smash.shelley-testnet.dev.cardano.orgapi/v1/metadata/c9ed70969c964284ff854d61e43c2591b67ceb7e978347cb1b50ba3ed1d3edb4
[2020-07-08 19:57:09.45 UTC] Successfully fetched metadata with hash c9ed7096: StakePoolMetadata {ticker = StakePoolTicker {unStakePoolTicker = "IOHK1"}, name = "IOHK1", description = Just "IOHK Pool", homepage = "https://iohk.io"}
```

```console
$ cardano-wallet-shelley serve \
  --node-socket node.socket \
  --testnet shelley_testnet-genesis.json \
  --pool-metadata-proxy patate
option --pool-metadata-proxy: Invalid URI. Make sure the URI is well formed, with a protocol and a host.
```

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: KtorZ <[email protected]>
Co-authored-by: Rodney Lorrimar <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jul 29, 2020

Build failed

err :: String
err =
"Invalid URI. Make sure it is a well-formed \
\ absolute http or https URI."
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

, PoolConfig {retirementEpoch = Just 3}
-- This pool should retire, but not within the duration of a test run:
, PoolConfig {retirementEpoch = Just 100_000}
, PoolConfig {retirementEpoch = Just 1_000}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arf! I think there has been a wrong rebase / conflict resolution here! Hence the integration failure.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops

@KtorZ KtorZ force-pushed the KtorZ/xxx/smash-integration branch from bed67b8 to b59361b Compare July 29, 2020 06:57
@KtorZ
Copy link
Member Author

KtorZ commented Jul 29, 2020

bors r+

@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jul 29, 2020

Build succeeded

@iohk-bors iohk-bors bot merged commit 1c7041e into master Jul 29, 2020
@iohk-bors iohk-bors bot deleted the KtorZ/xxx/smash-integration branch July 29, 2020 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ADDING FEATURE Mark a PR as adding a new feature, for auto-generated CHANGELOG
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants