Merged
Conversation
The previous rule was leftover from maintainer-only tooling. Public deployment scripts should be versioned.
Defines all environment variables consumed by the deployment scripts: - STELLAR_NETWORK, STELLAR_SECRET_KEY, ADMIN_PUBLIC_KEY - PLATFORM_FEE_BPS - INVOICE_TOKEN_NAME/SYMBOL/DECIMALS/INVOICE_ID - WASM_* build output paths (with sensible defaults) - Optional CONTRACT_ID overrides to skip re-deploy .env is already gitignored; .env.example is explicitly allowed.
Deploys and initialises all three contracts in the correct dependency order: invoice-token → invoice-escrow → payment-distributor. Features: - Loads .env automatically from repo root - Validates all required env vars and WASM paths before touching the network - Coloured INFO/OK/WARN/ERROR output for each step - Passes invoice-escrow contract ID as the token minter at init time - Skips deploy step if CONTRACT_ID is pre-set in .env (idempotent) - Prints a final summary table of deployed contract IDs Closes StellarState#11
Functionally equivalent to deploy.sh for Windows users. Features: - Parses .env via Get-Content (no external dependencies) - Require-Env helper fails fast with descriptive messages - Coloured Write-Info/Write-Ok/Write-Warn/Write-Err output - Same deploy-then-init order as the Bash script - Supports CONTRACT_ID overrides to skip re-deploy Usage: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass .\scripts\deploy.ps1
- Replace manual copy-paste soroban CLI commands with a reference to scripts/
- Add '📜 How to run scripts' section covering:
- Prerequisites (soroban-cli, soroban contract build)
- .env setup via .env.example
- Bash usage (macOS/Linux)
- PowerShell usage (Windows)
- Re-using existing contract IDs
- Add note to Contract Addresses section to copy IDs from script output
|
@KevinMB0220 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Edited pr_description_deployment_scripts.md
Aquí la descripción completa, lista para pegar en GitHub:
Description
Adds repeatable deployment and initialisation scripts under
scripts/to replace the manualsoroban contract deploy/soroban contract invokecopy-paste commands previously documented in the README.Two scripts are provided (deploy.sh for Bash, deploy.ps1 for PowerShell) that deploy and initialise all three contracts — invoice-token, invoice-escrow, and payment-distributor — in the correct dependency order, using environment variables loaded from
.env.A .env.example template is also included so contributors have a single source of truth for all required configuration variables.
Closes #11
Type of Change
Checklist
Testing
How to Test
soroban contract buildcp .env.example .envy llenar credenciales de testnetbash scripts/deploy.sh| Windows: .\scripts\deploy.ps1[INFO]/[OK]para los 3 contratos y la tabla final de IDsINVOICE_ESCROW_CONTRACT_ID=<id>en.envy re-correr — confirmar que se salta el deploy pero llama initializeAdditional Notes
invoice-tokense despliega primero porque su contract ID se pasa como--minteral inicializarinvoice-escrow.unwrap(): No se modificó código Rust de contratos..envya estaba gitignoreado; .env.example es el único archivo relacionado con credenciales que se commitea./scripts/que era de tooling interno y ocultaría los nuevos scripts.For Reviewers
.envpermanece gitignoreado)