Skip to content

support other_custom_types stellar example - #1996

Merged
Islam-Imad merged 1 commit into
hyperledger-solang:mainfrom
Islam-Imad:soroban/examples/other_custom_types
Aug 12, 2026
Merged

support other_custom_types stellar example#1996
Islam-Imad merged 1 commit into
hyperledger-solang:mainfrom
Islam-Imad:soroban/examples/other_custom_types

Conversation

@Islam-Imad

@Islam-Imad Islam-Imad commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

closes #1960

@Islam-Imad
Islam-Imad force-pushed the soroban/examples/other_custom_types branch 2 times, most recently from 3cfe41d to 8ef6065 Compare August 11, 2026 09:21
@Islam-Imad
Islam-Imad marked this pull request as ready for review August 11, 2026 09:29
@Islam-Imad
Islam-Imad requested a lite review from Copilot August 11, 2026 09:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for the Stellar Soroban other_custom_types example by porting the Solidity contract into the repository, documenting it in the Soroban examples coverage guide, adding a comprehensive Rust testcase suite, and fixing Soroban ABI enum encoding to match the spec.

Changes:

  • Add other_custom_types Solidity example (both examples/ and docs/examples/) and document it in the Soroban examples coverage guide.
  • Add a new Soroban testcase module with end-to-end ABI round-trip tests for primitives, enums, structs, vectors, events/auth, and error handling.
  • Fix Soroban argument encoding for Solidity enums to use U32Val (unsigned) instead of I32Val, aligning with the ABI type (ScSpecTypeDef::U32) and the existing decode path.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/soroban_testcases/mod.rs Registers the new example_other_custom_types testcase module.
tests/soroban_testcases/example_other_custom_types.rs Adds end-to-end Soroban tests covering ABI round-trips, events/auth, and reverts for the example.
src/codegen/targets/soroban/encoding.rs Fixes enum argument encoding to use unsigned U32Val tags per ABI.
examples/soroban/other_custom_types.sol Adds the Solidity port of the upstream Soroban example for users/examples.
docs/examples/soroban/other_custom_types.sol Adds the same Solidity port for documentation embedding/linking.
docs/targets/soroban_examples_coverage.rst Documents the new example’s coverage and removes it from the “not yet documented” list.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Signed-off-by: Islam-Imad <islamimad404@gmail.com>
@Islam-Imad
Islam-Imad force-pushed the soroban/examples/other_custom_types branch from 8ef6065 to 2162006 Compare August 11, 2026 12:06
@Islam-Imad Islam-Imad self-assigned this Aug 11, 2026
@Islam-Imad
Islam-Imad merged commit bcce47b into hyperledger-solang:main Aug 12, 2026
44 of 50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

support other_custom_types stellar example

2 participants