I am trying to validate an ink contract:

    "source": {
        "hash": "0xb7233c251935e3ea430f99396cbb9430dd44ac2d07e447fd2003e81ad1d4a577",
        "language": "ink! 3.3.1",
        "compiler": "rustc 1.65.0-nightly"
    "contract": {
        "name": "my_psp22_metadata",
        "version": "2.2.0",
        "authors": [
            "Author's email"

The contract was successfully deployed on shiden so i am sure that metadata is correct.

The problem is that i can't validate the metadata and interact with the contract. I tested validation on the latest json schema from the ink master branch. Here is the errors - https://www.jsonschemavalidator.net/s/EyN4d6Az

I guess the schema is incorrect or outdated.

  • Can you open an issue in the ink! repository and tag me? Make sure to include a link link to the contract repo and the version of cargo-contract you're using to build the contract
    – HCastano
    Commented Sep 29, 2022 at 16:41

1 Answer 1


Non sequitur. Successful deployment does not tell you whether your metadata is valid. The metadata isn't uploaded to the chain and hence not validated. The only thing you learned is that the chosen constructor didn't revert for the input you passed. That said, an outdated schema seems to be the most likely conclusion (or a schema that does not cover all corner cases). Best to open an issue in the ink! repo with a minimal reproducer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.