Stellar Community Foundation logo
  • Get Started
  • Awards
  • Kickstart
  • Projects
  • Governance
icon-
Stellar Community Foundation logo
Loading...
top-splatter

Soroban SDK Tools

SCF #39
Build
github-icon
project-image-recFdMl7PXgbEKbcs

We propose the soroban-sdk-tools crate extending rs-soroban-sdk, designed to streamline smart contract development. Loam, which has largely been integrated into scaffold-stellar, contains `loamstorage` (https://github.com/loambuild/loam/blob/main/crates/loam-sdk-macro/src/subcontract/storage.rs), a storage management framework. This project builds upon this functionality by introducing additional tools for storage management, composable error handling, and contract authorization testing: `loamstorage` consolidates the storage interface into one type, removing boilerplate and focusing on what is being stored. It introduced storage collections which handle the key definitions, ensuring their uniqueness. We propose `contractstorage` which will expand on this foundation: including macros enabling shorter key names reducing storage costs without sacrificing readability, mechanisms for automatically minimizing key sizes to optimize ledger efficiency, and composable storage patterns that promote modular contract design while ensuring unique storage keys. `scerr`, a framework for composable error propagation across contracts. Currently errors are manually assigned a number. If they are imported from different sources and are assigned the same one, when the contract fails it will be unclear which one was the cause. Our solution will ensure that each error is assigned a unique number, even those from cross contract calls. We also plan to improve authorization flow testing. Currently when writing tests developers must handcraft a mock authorization entry before making a contract call. We propose a new contract client which will handle both authorizing and making contract calls. `soroban-sdk-tools` will enhance developer productivity, reduce on-chain resource consumption, and foster consistency in contract implementations.

Project Stats

Team Size
3
Project Type
SDK
Category
Developer Tooling
Total awarded
$60.0K*
Awarded Submissions
1
middle-splatter

Submissions

Development-of-soroban-sdk-tools

By Soroban SDK Tools

Development of soroban-sdk-tools

SCF #39
$60.0K
Build
Awarded
middle-splatter

Team Members

Blaine-Heffron

Blaine Heffron

github-iconlinkedIn-icon
Enzo-Soyer

Enzo Soyer

x-iconlinkedIn-icon
Willem-Neal-Wyndham

Willem Neal Wyndham

github-icon