diff --git a/.changeset/rich-nails-talk.md b/.changeset/rich-nails-talk.md new file mode 100644 index 000000000..84215064b --- /dev/null +++ b/.changeset/rich-nails-talk.md @@ -0,0 +1,5 @@ +--- +'@codama/renderers-rust': patch +--- + +add decode-error trait to errors diff --git a/packages/renderers-rust/e2e/system/src/generated/errors/system.rs b/packages/renderers-rust/e2e/system/src/generated/errors/system.rs index 1a11b85d0..2519664d1 100644 --- a/packages/renderers-rust/e2e/system/src/generated/errors/system.rs +++ b/packages/renderers-rust/e2e/system/src/generated/errors/system.rs @@ -44,3 +44,9 @@ impl solana_program::program_error::PrintProgramError for SystemError { solana_program::msg!(&self.to_string()); } } + +impl solana_program::decode_error::DecodeError for SystemError { + fn type_of() -> &'static str { + "SystemError" + } +} diff --git a/packages/renderers-rust/public/templates/errorsPage.njk b/packages/renderers-rust/public/templates/errorsPage.njk index ae0b10945..bba78c096 100644 --- a/packages/renderers-rust/public/templates/errorsPage.njk +++ b/packages/renderers-rust/public/templates/errorsPage.njk @@ -20,4 +20,10 @@ impl solana_program::program_error::PrintProgramError for {{ program.name | pasc } } +impl solana_program::decode_error::DecodeError for {{ program.name | pascalCase }}Error { + fn type_of() -> &'static str { + "{{ program.name | pascalCase }}Error" + } +} + {% endblock %}