For the complete documentation index, see llms.txt. This page is also available as Markdown.

Deploying to Mercury Retroshades

Compiling with the Mercury flag

Before deploying to the Retroshades network, you need to build the binary that holds retroshades logic:

cargo build --release --target wasm32-unknown-unknown --features mercury

Deploying

From the mercury-cli directory:

./target/release/mercury-cli --base https://mainnet.mercurydata.app/rest \
  --jwt "$JWT" \
  deploy \
    --project example-retroshade \
    --code-path ../retroshades-data-directory/hello_world/target/wasm32-unknown-unknown/release/soroban_hello_world_contract.wasm \
    --contracts 'CNEWCON...'

The retroshade contract will be executed in real time when --contracts are executed. You can target one or more smart contracts for a single retroshade contract.

Deploying with a --project name that already exists returns a 409 Conflict. Use a unique project name per deployment, or delete the existing one first.

Adding contracts to an existing program

To append additional contract IDs to an already-deployed program without redeploying:

This is append-only -- contracts already associated with the program cannot be removed individually. Sending a contract ID that is already registered returns 409 Conflict.

Deleting a program

Deletes the program and drops all associated retroshade tables (retroshade.program_{id}_*). This is irreversible.

Only the owner of the program can delete it.

Backfills

Use the backfill feature to retroactively process historical ledgers for a deployed program. Backfills currently run on demand. Contact the Mercury team for access.

Last updated