Skip to content

0xLendlord/steamm-publocal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STEAMM Publocal CLI

Steamm publocal is a CLI tool designed to automate the deployment of the Steamm Move package and all its dependencies—including Suilend, Pyth, Switchboard, Wormhole, and more—on a Sui localnet environment.

Features

  • Move Package Publishing: Publishes each Move package to localnet.
  • Package Test-code injection: It allows code modules to be injected into the steamm and suilend package deployment
  • Sourcing of test_only functions: For ease of testing, this pipeline allows for test_only functions to be made public, which often allows for more efficient mocking of on-chain state
  • Automated Cleanup & Setup: Cleans up previous deployments and prepares the environment for a fresh start.
  • Dependency Management: Clones the latest Steamm contracts and extracts all required dependencies (liquid_staking, suilend, pyth, switchboard, wormhole, etc.), organizing them into local directories.
  • Object ID Extraction: Automatically fetches and records important object IDs (registries, admin caps, coin metadata, treasury caps, etc.) created during deployment.
  • Environment Handling: Ensures the Sui CLI is set to localnet and restores the previous environment after deployment. Test Preparation: Exports the active Sui private key to a .env file for use in local testing

Deployment

First, fresh start your localnet:

just fstart - this will reset localnet state everytime, to use persisted state just start

Second, publish all source code to localnet:

just pub

This will:

  • Deploy all packages defined in templates/*.Move.toml
  • Will inject setup code into Steamm an suilend_setup code into Suilend
  • Sources the following test-only functions from the contracts:
    • pyth::price_info::new_price_info_object_for_setup
    • pyth::price_info::update_price_info_object_for_testing
    • steamm_scripts::events::emit_event
  • Deploys the test tokens tokens described in:
    • template/setup/b_sui.move
    • template/setup/b_usdc.move
    • template/setup/lp_usdc_sui.move
    • template/setup/sui.move
    • template/setup/usdc.move
  • Sets up a lending market with the following reserves:
    • SUI (test token)
    • USDC (test token)
  • Sets up B_SUI/B_USDC steamm pool and relevant objects
  • Populates packages.ts with relevant object IDs, types and packages

Cleanup

To cleanup the packages.ts you can run just unpub

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors