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

simple metadata format in some transaction endpoints #3253

Merged
merged 30 commits into from
May 11, 2022

Conversation

paolino
Copy link
Collaborator

@paolino paolino commented Apr 26, 2022

  • We implement support for transaction creation (old and new)
  • we implement a query parameter simple-metadata on get transaction and list transactions to select the new format in the response
  • we implement a switch in the CLI commands get and list to support the new format in the output
  • we use oneOf openapi combinator to document the possibility of the two formats for the same endpoints

User facing changes

  • implement additional simple metadata format in get and list transaction output (simple-metadata flag)
  • implement additional simple metadata format in transaction creation (no flag needed)

Issue Number

ADP-1596

@paolino paolino changed the title support simple metadata format in some transaction endpoints simple metadata format in some transaction endpoints Apr 26, 2022
Copy link
Member

@jonathanknowles jonathanknowles left a comment

Choose a reason for hiding this comment

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

Hi @paolino

Many thanks for making this PR!

I've not had a chance to look through all the functionality yet, but there are a couple of things to fix:

  1. The latency benchmark currently doesn't build, because Link.getTransaction now takes an extra argument. If you're typically building with cabal build all, then you might want to run cabal configure --enable-benchmarks. This will make sure that cabal build all also builds the benchmarks! (I was also caught out by this the other day...)

  2. There are some import and formatting issues that we should fix.

I created PR #3257 with suggested fixes for both of these issues. If you're okay with the commits in that PR, please feel free to squash them into your own branch, or cherry-pick them if you prefer. 👍🏻

@paolino
Copy link
Collaborator Author

paolino commented Apr 28, 2022

Hi @paolino

Many thanks for making this PR!

I've not had a chance to look through all the functionality yet, but there are a couple of things to fix:

1. The latency benchmark currently doesn't build, because `Link.getTransaction` now takes an extra argument. If you're typically building with `cabal build all`, then you might want to run `cabal configure --enable-benchmarks`. This will make sure that `cabal build all` also builds the benchmarks! (I was also caught out by this the other day...)

2. There are some import and formatting issues that we should fix.

I created PR #3257 with suggested fixes for both of these issues. If you're okay with the commits in that PR, please feel free to squash them into your own branch, or cherry-pick them if you prefer. 👍🏻

Thanks @jonathanknowles for the fixes!

@paolino
Copy link
Collaborator Author

paolino commented Apr 28, 2022

User-facing changes

  • simple (untyped) metadata format is supported along with the old one in get and list transaction output (see simple-metadata flag)
  • simple (untyped) metadata format is supported along with the old one in transaction creation (no flag needed)

@paolino paolino marked this pull request as ready for review May 2, 2022 06:46
@paolino paolino self-assigned this May 2, 2022
@paolino paolino force-pushed the paolino/ADP-1596/simple-metadata branch 4 times, most recently from e0daedf to afecfb1 Compare May 3, 2022 10:19
lib/cli/src/Cardano/CLI.hs Outdated Show resolved Hide resolved
@paolino
Copy link
Collaborator Author

paolino commented May 3, 2022

bors try

iohk-bors bot added a commit that referenced this pull request May 3, 2022
@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 3, 2022

try

Build failed:

  src/Test/Integration/Scenario/API/Shelley/TransactionsNew.hs:2200:65: 
  1) API Specifications, NEW_SHELLEY_TRANSACTIONS, Plutus scenarios, currency
       uncaught exception: RequestException
       ClientError (Object (fromList [("code",String "redeemer_script_failure"),("message",String "I was unable to assign execution units to one of your redeemers: minting(f9633e6522060ad2989ad8582e4498f7ef544c56da4ff470f903b73b); Its execution is failing with the following error: ValidationFailedV1 (CodecError (DeserialiseFailure 3280 \"NotEnoughSpace (0x0000004203092ce0,S {currPtr = 0x0000004203092cdf, usedBits = 6})\")) [].")]))

  To rerun use: --match "/API Specifications/NEW_SHELLEY_TRANSACTIONS/Plutus scenarios/currency/"

  src/Test/Integration/Scenario/CLI/Shelley/Wallets.hs:735:5: 
  2) CLI Specifications, SHELLEY_CLI_WALLETS, WALLETS_UTXO_02 - Utxo statistics works properly
       uncaught exception: IOException of type UserError
       user error (No more faucet wallet available in MVar!)

  To rerun use: --match "/CLI Specifications/SHELLEY_CLI_WALLETS/WALLETS_UTXO_02 - Utxo statistics works properly/"

  src/Test/Integration/Scenario/CLI/Shelley/HWWallets.hs:98:5: 
  3) CLI Specifications, SHELLEY_CLI_HW_WALLETS, HW_WALLETS_01x - Restoration from account public key preserves funds
       uncaught exception: IOException of type UserError
       user error (No more faucet wallet available in MVar!)

  To rerun use: --match "/CLI Specifications/SHELLEY_CLI_HW_WALLETS/HW_WALLETS_01x - Restoration from account public key preserves funds/"

  src/Test/Integration/Scenario/CLI/Shelley/HWWallets.hs:156:9: 
  4) CLI Specifications, SHELLEY_CLI_HW_WALLETS, HW_WALLETS_03 - Cannot do operations requiring private key, Cannot send tx
       uncaught exception: IOException of type UserError
       user error (No more faucet wallet available in MVar!)

  To rerun use: --match "/CLI Specifications/SHELLEY_CLI_HW_WALLETS/HW_WALLETS_03 - Cannot do operations requiring private key/Cannot send tx/"

  src/Test/Integration/Scenario/CLI/Shelley/HWWallets.hs:221:9: 
  5) CLI Specifications, SHELLEY_CLI_HW_WALLETS, HW_WALLETS_04 - Can manage HW wallet the same way as others, Can get tx fee
       uncaught exception: IOException of type UserError
       user error (No more faucet wallet available in MVar!)

@sevanspowell
Copy link
Contributor

bors try

iohk-bors bot added a commit that referenced this pull request May 4, 2022
@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 4, 2022

try

Build failed:


       Waited longer than 90s to resolve action: "metadata is fetched".
       expected: [PoolId {getPoolId = "\180Wh\193\162\218K\209>\188\170\RS\165\DC4\b\237\163\GS\204!v\\\203\212\a\205\169\242"}]
        but got: []

  To rerun use: --match "/API Specifications/SHELLEY_STAKE_POOLS/STAKE_POOLS_SMASH_01 - fetching metadata from SMASH works with delisted pools/"

  src/Test/Integration/Scenario/CLI/Shelley/Wallets.hs:735:5:
  3) CLI Specifications, SHELLEY_CLI_WALLETS, WALLETS_UTXO_02 - Utxo statistics works properly
       uncaught exception: IOException of type UserError
       user error (No more faucet wallet available in MVar!)

  To rerun use: --match "/CLI Specifications/SHELLEY_CLI_WALLETS/WALLETS_UTXO_02 - Utxo statistics works properly/"

  src/Test/Integration/Scenario/CLI/Shelley/HWWallets.hs:98:5:
  4) CLI Specifications, SHELLEY_CLI_HW_WALLETS, HW_WALLETS_01x - Restoration from account public key preserves funds
       uncaught exception: IOException of type UserError
       user error (No more faucet wallet available in MVar!)

  To rerun use: --match "/CLI Specifications/SHELLEY_CLI_HW_WALLETS/HW_WALLETS_01x - Restoration from account public key preserves funds/"

  src/Test/Integration/Scenario/CLI/Shelley/HWWallets.hs:156:9:
  5) CLI Specifications, SHELLEY_CLI_HW_WALLETS, HW_WALLETS_03 - Cannot do operations requiring private key, Cannot send tx
       uncaught exception: IOException of type UserError
       user error (No more faucet wallet available in MVar!)

  To rerun use: --match "/CLI Specifications/SHELLEY_CLI_HW_WALLETS/HW_WALLETS_03 - Cannot do operations requiring private key/Cannot send tx/"

  src/Test/Integration/Scenario/CLI/Shelley/HWWallets.hs:221:9:
  6) CLI Specifications, SHELLEY_CLI_HW_WALLETS, HW_WALLETS_04 - Can manage HW wallet the same way as others, Can get tx fee
       uncaught exception: IOException of type UserError
       user error (No more faucet wallet available in MVar!)

  To rerun use: --match "/CLI Specifications/SHELLEY_CLI_HW_WALLETS/HW_WALLETS_04 - Can manage HW wallet the same way as others/Can get tx fee/"

@sevanspowell
Copy link
Contributor

bors r+

@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 4, 2022

👎 Rejected by code reviews

@sevanspowell
Copy link
Contributor

bors try

iohk-bors bot added a commit that referenced this pull request May 4, 2022
@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 4, 2022

try

Build failed:

  src/Test/Integration/Scenario/API/Shelley/TransactionsNew.hs:2200:65: 
  1) API Specifications, NEW_SHELLEY_TRANSACTIONS, Plutus scenarios, withdrawal
       uncaught exception: ProcessHasExited
       ProcessHasExited "cardano-cli failed: Command failed: transaction submit  Error: Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [DelegsFailure (DelplFailure (DelegFailure (StakeKeyAlreadyRegisteredDELEG (ScriptHashObj (ScriptHash \"1b8374d0b294a4a3399ff25f06a0707b16214f1e9b67cf89ba2454a6\")))))])\n" (ExitFailure 1)

  To rerun use: --match "/API Specifications/NEW_SHELLEY_TRANSACTIONS/Plutus scenarios/withdrawal/"

  src/Test/Integration/Scenario/API/Shelley/TransactionsNew.hs:2200:65: 
  2) API Specifications, NEW_SHELLEY_TRANSACTIONS, Plutus scenarios, currency
       uncaught exception: RequestException
       ClientError (Object (fromList [("code",String "redeemer_script_failure"),("message",String "I was unable to assign execution units to one of your redeemers: minting(ad4e57f412ab06b6a9c64ff6f1f7e448bc873726c132085de21e1495); Its execution is failing with the following error: ValidationFailedV1 (CodecError (DeserialiseFailure 3280 \"NotEnoughSpace (0x0000004209304ce0,S {currPtr = 0x0000004209304cdf, usedBits = 6})\")) [].")]))

  To rerun use: --match "/API Specifications/NEW_SHELLEY_TRANSACTIONS/Plutus scenarios/currency/"

  src/Test/Integration/Scenario/API/Shelley/StakePools.hs:1224:25: 
  3) API Specifications, SHELLEY_STAKE_POOLS, STAKE_POOLS_SMASH_01 - fetching metadata from SMASH works with delisted pools
       While verifying value:
         ( Status
             { statusCode = 200
             , statusMessage = "OK"
             }
         , Right
             [ ApiStakePool
                 { id = ApiT
                     ( PoolId
                         { getPoolId = "ì(ó=ËæÖ@
                         \x1e^3\x9bÐd|\x9sÊl\xcù»æ\x83\x8dÆ" }
                     )
                 , metrics = ApiStakePoolMetrics
                     { nonMyopicMemberRewards = Quantity 668323983491327
                     , relativeStake = Quantity
                         ( Percentage
                             ( 2993 % 10000 )
                         )
                     , saturation = 0.8980475865400197
                     , producedBlocks = Quantity 608
                     }
                 , metadata = Just
                     ( ApiT
                         ( StakePoolMetadata
                             { ticker = StakePoolTicker
                                 { unStakePoolTicker = "GPA" }
                             , name = "Genesis Pool A"
                             , description = Nothing
                             , homepage = "https://iohk.io"
                             }
                         )
                     )
                 , cost = Quantity 0
                 , margin = Quantity
                     ( Percentage
                         ( 1 % 10 )
                     )
                 , pledge = Quantity 2000000000000
                 , retirement = Nothing
                 , flags = []
                 }
             , ApiStakePool
                 { id = ApiT
                     ( PoolId
                         { getPoolId = "\x1b=Á\x9cj¸\x9e¯ü\x85\x1óu»\x3Á\x1bøí]\x1876±Ø\x4\x13Ö" }
                     )
                 , metrics = ApiStakePoolMetrics
                     { nonMyopicMemberRewards = Quantity 647546788062600
                     , relativeStake = Quantity
                         ( Percentage
                             ( 167 % 1000 )
                         )
                     , saturation = 0.5011021655687948
                     , producedBlocks = Quantity 264
                     }
                 , metadata = Just
                     ( ApiT
                         ( StakePoolMetadata
                             { ticker = StakePoolTicker
                                 { unStakePoolTicker = "GPB" }
                             , name = "Genesis Pool B"
                             , description = Nothing
                             , homepage = "https://iohk.io"
                             }
                         )
                     )
                 , cost = Quantity 0
                 , margin = Quantity
                     ( Percentage
                         ( 1 % 10 )
                     )
                 , pledge = Quantity 1000000000000
                 , retirement = Just
                     ( ApiEpochInfo
                         { epochNumber = ApiT
                             ( EpochNo
                                 { unEpochNo = 100000 }
                             )
                         , epochStartTime = 2022 - 05 - 27 10 : 29 : 36 UTC
                         }
                     )
                 , flags = []
                 }
             , ApiStakePool
                 { id = ApiT
                     ( PoolId
                         { getPoolId = "»\x11L³}uú\x5&\x3(Â5£Úâ\x95£=\xb¦t¥ë\x1e>V\x8e" }
                     )
                 , metrics = ApiStakePoolMetrics
                     { nonMyopicMemberRewards = Quantity 596314992365140
                     , relativeStake = Quantity
                         ( Percentage
                             ( 359 % 1000 )
                         )
                     , saturation = 1.0768944503297566
                     , producedBlocks = Quantity 540
                     }
                 , metadata = Just
                     ( ApiT
                         ( StakePoolMetadata
                             { ticker = StakePoolTicker
                                 { unStakePoolTicker = "GPD" }
                             , name = "Genesis Pool D"
                             , description = Just "Lorem Ipsum Dolor Sit Amet."
                             , homepage = "https://iohk.io"
                             }
                         )
                     )
                 , cost = Quantity 0
                 , margin = Quantity
                     ( Percentage
                         ( 1 % 10 )
                     )
                 , pledge = Quantity 1000000000000
                 , retirement = Just
                     ( ApiEpochInfo
                         { epochNumber = ApiT
                             ( EpochNo
                                 { unEpochNo = 1000000 }
                             )
                         , epochStartTime = 2022 - 12 - 21 18 : 29 : 36 UTC
                         }
                     )
                 , flags = []
                 }
             ]
         )
       
       Waited longer than 90s to resolve action: "metadata is fetched".
       expected: [PoolId {getPoolId = "\180Wh\193\162\218K\209>\188\170\RS\165\DC4\b\237\163\GS\204!v\\\203\212\a\205\169\242"}]
        but got: []

@sevanspowell
Copy link
Contributor

I cannot reproduce these failures locally (unless I run the whole suite, individually they pass). I'm going to keep bors trying for a bit.

Perhaps this is a resource issue?

@jonathanknowles
Copy link
Member

jonathanknowles commented May 10, 2022

Hi @paolino

Regarding:

Though I do have some reservations though about the use of Bool in certain function type signatures. I think this may contribute to "Boolean blindness", particularly at call sites, where I think it might be difficult for readers to determine what the intended semantics are (see review comments). Given that we have a rich TxMetadataSchema type available, I think we can use that instead in most cases. (This also applies to integration tests.)

I've been preparing a small PR with proposed fixes. I'll let you know when it's ready to review.

As promised, I've made these proposed changes in #3270.

jonathanknowles and others added 2 commits May 10, 2022 16:13
…simple-metadata

Use `TxMetadataSchema` in preference to `Bool` for function parameters.
@jonathanknowles jonathanknowles self-requested a review May 10, 2022 09:09
Copy link
Member

@jonathanknowles jonathanknowles left a comment

Choose a reason for hiding this comment

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

LGTM!

@paolino
Copy link
Collaborator Author

paolino commented May 10, 2022

LGTM!

But not to CI !

@paolino
Copy link
Collaborator Author

paolino commented May 10, 2022

   test/unit/Cardano/Wallet/Api/Server/TlsSpec.hs:118:13: 
  1) Cardano.Wallet.Api.Server.Tls, TLS Client Authentication, Deny client with wrong certificate if TLS is enabled
       predicate failed on expected exception: HttpException (HttpExceptionRequest Request {
         host                 = "127.0.0.1"
         port                 = 58601
         secure               = True
         requestHeaders       = []
         path                 = "/"
         queryString          = ""
         method               = "GET"
         proxy                = Nothing
         rawBody              = False
         redirectCount        = 10
         responseTimeout      = ResponseTimeoutDefault
         requestVersion       = HTTP/1.1
       }
        (InternalException Network.Socket.recvBuf: invalid argument (Invalid argument)))

  To rerun use: --match "/Cardano.Wallet.Api.Server.Tls/TLS Client Authentication/Deny client with wrong certificate if TLS is enabled/"

this passes on penguins branch

iohk-bors bot added a commit that referenced this pull request May 10, 2022
@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 10, 2022

try

Build failed:

@paolino
Copy link
Collaborator Author

paolino commented May 10, 2022

fix ((bors r+) >>)

@piotr-iohk
Copy link
Contributor

bors r+

iohk-bors bot added a commit that referenced this pull request May 10, 2022
3253: simple metadata format in some transaction endpoints  r=piotr-iohk a=paolino




- We implement support for transaction creation (old and new) 
- we implement a query parameter `simple-metadata` on `get transaction` and `list transactions` to select the new  format in the response 
- we implement a switch in the CLI commands get and list to support the new format in the output 
- we use `oneOf ` openapi combinator to document the possibility of the two formats for the same endpoints


### Issue Number

ADP-1596


3269: Validity interval fix r=paweljakubas a=paweljakubas

<!--
Detail in a few bullet points the work accomplished in this PR.

Before you submit, don't forget to:

* Make sure the GitHub PR fields are correct:
   ✓ Set a good Title for your PR.
   ✓ Assign yourself to the PR.
   ✓ Assign one or more reviewer(s).
   ✓ Link to a Jira issue, and/or other GitHub issues or PRs.
   ✓ In the PR description delete any empty sections
     and all text commented in <!--, so that this text does not appear
     in merge commit messages.

* Don't waste reviewers' time:
   ✓ If it's a draft, select the Create Draft PR option.
   ✓ Self-review your changes to make sure nothing unexpected slipped through.

* Try to make your intent clear:
   ✓ Write a good Description that explains what this PR is meant to do.
   ✓ Jira will detect and link to this PR once created, but you can also
     link this PR in the description of the corresponding Jira ticket.
   ✓ Highlight what Testing you have done.
   ✓ Acknowledge any changes required to the Documentation.
-->


- [x] simplyfying interval logic
- [x] enhaning integration testing 

### Comments

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

### Issue Number
adp-1738
<!-- Reference the Jira/GitHub issue that this PR relates to, and which requirements it tackles.
  Note: Jira issues of the form ADP- will be auto-linked. -->


Co-authored-by: Paolo Veronelli <[email protected]>
Co-authored-by: Paolo Veronelli <[email protected]>
Co-authored-by: Samuel Evans-Powell <[email protected]>
Co-authored-by: Johannes Lund <[email protected]>
Co-authored-by: Jonathan Knowles <[email protected]>
Co-authored-by: Pawel Jakubas <[email protected]>
Co-authored-by: Piotr Stachyra <[email protected]>
@sevanspowell
Copy link
Contributor

Seems build timed out but bors didn't notice 🤔

https://hydra.iohk.io/eval/1226372

@sevanspowell
Copy link
Contributor

bors r-

@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 11, 2022

Canceled.

@sevanspowell
Copy link
Contributor

bors r+

iohk-bors bot added a commit that referenced this pull request May 11, 2022
3253: simple metadata format in some transaction endpoints  r=sevanspowell a=paolino




- We implement support for transaction creation (old and new) 
- we implement a query parameter `simple-metadata` on `get transaction` and `list transactions` to select the new  format in the response 
- we implement a switch in the CLI commands get and list to support the new format in the output 
- we use `oneOf ` openapi combinator to document the possibility of the two formats for the same endpoints


### Issue Number

ADP-1596


3269: Validity interval fix r=paweljakubas a=paweljakubas

<!--
Detail in a few bullet points the work accomplished in this PR.

Before you submit, don't forget to:

* Make sure the GitHub PR fields are correct:
   ✓ Set a good Title for your PR.
   ✓ Assign yourself to the PR.
   ✓ Assign one or more reviewer(s).
   ✓ Link to a Jira issue, and/or other GitHub issues or PRs.
   ✓ In the PR description delete any empty sections
     and all text commented in <!--, so that this text does not appear
     in merge commit messages.

* Don't waste reviewers' time:
   ✓ If it's a draft, select the Create Draft PR option.
   ✓ Self-review your changes to make sure nothing unexpected slipped through.

* Try to make your intent clear:
   ✓ Write a good Description that explains what this PR is meant to do.
   ✓ Jira will detect and link to this PR once created, but you can also
     link this PR in the description of the corresponding Jira ticket.
   ✓ Highlight what Testing you have done.
   ✓ Acknowledge any changes required to the Documentation.
-->


- [x] simplyfying interval logic
- [x] enhaning integration testing 

### Comments

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

### Issue Number
adp-1738
<!-- Reference the Jira/GitHub issue that this PR relates to, and which requirements it tackles.
  Note: Jira issues of the form ADP- will be auto-linked. -->


Co-authored-by: Paolo Veronelli <[email protected]>
Co-authored-by: Paolo Veronelli <[email protected]>
Co-authored-by: Samuel Evans-Powell <[email protected]>
Co-authored-by: Johannes Lund <[email protected]>
Co-authored-by: Jonathan Knowles <[email protected]>
Co-authored-by: Pawel Jakubas <[email protected]>
Co-authored-by: Piotr Stachyra <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 11, 2022

Build failed (retrying...):

iohk-bors bot added a commit that referenced this pull request May 11, 2022
3253: simple metadata format in some transaction endpoints  r=sevanspowell a=paolino




- We implement support for transaction creation (old and new) 
- we implement a query parameter `simple-metadata` on `get transaction` and `list transactions` to select the new  format in the response 
- we implement a switch in the CLI commands get and list to support the new format in the output 
- we use `oneOf ` openapi combinator to document the possibility of the two formats for the same endpoints


### Issue Number

ADP-1596


Co-authored-by: Paolo Veronelli <[email protected]>
Co-authored-by: Paolo Veronelli <[email protected]>
Co-authored-by: Samuel Evans-Powell <[email protected]>
Co-authored-by: Johannes Lund <[email protected]>
Co-authored-by: Jonathan Knowles <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 11, 2022

Build failed:

@sevanspowell
Copy link
Contributor

bors r+

iohk-bors bot added a commit that referenced this pull request May 11, 2022
3253: simple metadata format in some transaction endpoints  r=sevanspowell a=paolino




- We implement support for transaction creation (old and new) 
- we implement a query parameter `simple-metadata` on `get transaction` and `list transactions` to select the new  format in the response 
- we implement a switch in the CLI commands get and list to support the new format in the output 
- we use `oneOf ` openapi combinator to document the possibility of the two formats for the same endpoints


### Issue Number

ADP-1596


Co-authored-by: Paolo Veronelli <[email protected]>
Co-authored-by: Paolo Veronelli <[email protected]>
Co-authored-by: Samuel Evans-Powell <[email protected]>
Co-authored-by: Johannes Lund <[email protected]>
Co-authored-by: Jonathan Knowles <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented May 11, 2022

Build failed:

@jonathanknowles
Copy link
Member

Will merge manually, in accordance with decision recorded here: https://md.adrestia.iohkdev.io/s/jo5Of1Qli#

@jonathanknowles jonathanknowles merged commit 1f76c11 into master May 11, 2022
@jonathanknowles jonathanknowles deleted the paolino/ADP-1596/simple-metadata branch May 11, 2022 12:05
WilliamKingNoel-Bot pushed a commit that referenced this pull request May 11, 2022
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.

7 participants