Skip to content
Open

Ss #309

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
afdd662
feat(invoice-token): add approval and balance hooks
JONAH-6 Jul 25, 2026
b00c624
ci: add Rust toolchain matrix strategy for stable and MSRV 1.80
oomokaro1 Jul 25, 2026
d7ece0a
ci: add ShellCheck job for shell script validation
oomokaro1 Jul 25, 2026
7c2e00a
fix: formatting issues and PR check workflow
oomokaro1 Jul 25, 2026
c22f681
ci: trigger CI re-run
oomokaro1 Jul 25, 2026
137cf92
ci: simplify workflows and fix matrix strategy
oomokaro1 Jul 25, 2026
cb2fbad
chore: trigger CI checks
JONAH-6 Jul 25, 2026
c3256dd
ci: fix clippy flags to avoid test target compilation issues
oomokaro1 Jul 25, 2026
6ea7fd7
style: format Rust code
JONAH-6 Jul 25, 2026
08e3b03
ci: simplify CI workflow and restore matrix strategy
oomokaro1 Jul 25, 2026
9c7728d
ci: restore standard clippy and test commands
oomokaro1 Jul 25, 2026
bedcbf7
feat(devops): implement pre-commit hooks for formatting and linting
chiscookeke11 Jul 26, 2026
f385e95
feat(devops): implement pre-commit hooks for formatting and linting
chiscookeke11 Jul 26, 2026
ee43b59
feat(devops): pin soroban cli version across workflow runners
chiscookeke11 Jul 26, 2026
94e131b
issue implementation
Ghoost-404 Jul 26, 2026
88cca48
feat(invoice-token): implement nonce, role admin, fee deduction, and …
Jul 26, 2026
6bbde86
fix: resolve compile, distribution, wasm, and lint failures blocking CI
JONAH-6 Jul 27, 2026
ef2edd6
Merge pull request #232 from JONAH-6/feature/invoice-token-109-110-11…
chizzy192 Jul 27, 2026
05d5cdb
fixed ci failure
Ghoost-404 Jul 27, 2026
5c2ceeb
Merge branch 'dev' into feature/issue-implementation
Ghoost-404 Jul 27, 2026
d0a7aa1
Merge pull request #253 from Ghoost-404/feature/issue-implementation
chizzy192 Jul 27, 2026
09cfe46
Merge branch 'dev' into feature/invoice-token-enhancements-106-108-11…
Lekan101 Jul 27, 2026
ca055a6
Merge pull request #252 from Lekan101/feature/invoice-token-enhanceme…
chizzy192 Jul 27, 2026
fd569cd
fix: resolve issues 78, 86, 89
Jaydbrown Jul 27, 2026
f487161
feat(invoice-escrow): optimize storage footprint for settled escrow r…
sanmipaul Jul 27, 2026
adba691
feat(invoice-escrow): add nonce-based replay protection for off-chain…
sanmipaul Jul 27, 2026
52e89c1
feat(invoice-token): enforce SEP-41 metadata trait specification comp…
sanmipaul Jul 27, 2026
c1057f1
feat(invoice-token): implement allowance expiration timestamp extensions
sanmipaul Jul 27, 2026
42e72bf
Merge pull request #259 from Jaydbrown/fix/issues-78-86-89
chizzy192 Jul 27, 2026
1bd328b
test: add edge-case tests for zero-amount escrow creation attempts (#…
Jul 27, 2026
7929377
test: implement mock token environment helpers for multi-asset testin…
Jul 27, 2026
b078fc7
test: add overdue escrow dispute expiration edge case tests (#140)
Jul 27, 2026
e145b38
merge: resolve conflicts with upstream/dev — accept upstream for unre…
chiscookeke11 Jul 27, 2026
f78802e
merge: resolve conflicts with upstream/dev — accept upstream for unre…
chiscookeke11 Jul 27, 2026
f4b47e1
feat: Implement payment distributor enhancements (#122, #123, #124, #…
presidoclintonbased-alt Jul 27, 2026
faef697
Merge pull request #262 from nekwasar/feature/zero-amount-escrow-test…
chizzy192 Jul 27, 2026
a496e7d
Merge pull request #263 from nekwasar/feature/mock-token-helpers-139
chizzy192 Jul 27, 2026
2e5f2a6
Merge pull request #267 from presidoclintonbased-alt/feat/payment-dis…
chizzy192 Jul 27, 2026
a582213
Merge pull request #265 from nekwasar/feature/overdue-escrow-tests-140
chizzy192 Jul 27, 2026
1287ce6
fixed
Ghoost-404 Jul 27, 2026
1d3681d
fixed ci
Ghoost-404 Jul 27, 2026
a52b0a0
Merge branch 'dev' into feature/issue-implementations
Ghoost-404 Jul 27, 2026
f28f372
Merge branch 'dev' into feature/invoice-token-and-escrow-enhancements
sanmipaul Jul 27, 2026
f6e491d
Merge pull request #260 from sanmipaul/feature/invoice-token-and-escr…
Chucks1093 Jul 27, 2026
bb4f1a4
fixed ci
Ghoost-404 Jul 27, 2026
f27fd42
fixed ci
Ghoost-404 Jul 28, 2026
019795f
Merge branch 'dev' into feature/issue-implementations
Ghoost-404 Jul 28, 2026
fe63ca8
Fix imports, event handling, and ContractEvent destructuring for SDK …
Ghoost-404 Jul 28, 2026
0a6d528
fixed ci
Ghoost-404 Jul 28, 2026
50c1c77
fixed issues
Benalex8797 Jul 28, 2026
4d764a0
Merge remote branch origin/feature/issue-implementations and fix CI t…
Ghoost-404 Jul 28, 2026
69fcfd8
fix(ci): update WASM build target to wasm32v1-none and resolve all cl…
Ghoost-404 Jul 28, 2026
12df50a
feat(payment-distributor): emergency withdrawal, multi-asset routing,…
davidmaronio Jul 28, 2026
8c2d539
Merge pull request #277 from davidmaronio/feat/payment-distributor-12…
chizzy192 Jul 28, 2026
cf33fd3
Merge upstream/dev into feat/devops-ci-improvements
oomokaro1 Jul 28, 2026
90e6022
Merge pull request #233 from oomokaro1/feat/devops-ci-improvements
chizzy192 Jul 28, 2026
2f3b7d4
security: enforce asset decimals alignment in escrow; add InvalidAsse…
Jul 28, 2026
c28355e
feat(payment-distributor): TTL renewal, dry-run getter, escrow whitelist
Depo-dev Jul 28, 2026
6b04d44
Merge pull request #279 from Depo-dev/feature/payment-distributor-iss…
Chucks1093 Jul 28, 2026
8418c33
feat(payment-distributor): add escrow whitelist, dry-run split getter
Depo-dev Jul 28, 2026
a17a7be
Merge pull request #249 from chiscookeke11/feature/issue-67-precommit…
chizzy192 Jul 28, 2026
998db93
Merge pull request #250 from chiscookeke11/feature/issue-68-pin-sorob…
chizzy192 Jul 28, 2026
f370268
Merge branch 'dev' into feature/payment-distributor-enhancements
Depo-dev Jul 28, 2026
7dd98c9
Merge pull request #282 from Depo-dev/feature/payment-distributor-enh…
Chucks1093 Jul 28, 2026
ac50a7d
feat(contracts): enforce exact payment token balance verification
Kaycee276 Jul 28, 2026
f276992
feat: security hardening - fix issues #182, #183, #184, #185
Marvy247 Jul 28, 2026
16390dd
Merge pull request #284 from Kaycee276/feature/issue-implementation
chizzy192 Jul 28, 2026
ae166d2
Merge branch 'dev' into feature/security-issues-182-183-184-185
Marvy247 Jul 28, 2026
41b3ed2
Merge pull request #283 from Marvy247/feature/security-issues-182-183…
chizzy192 Jul 28, 2026
575701b
feat(contracts): implement dust amount collector and sweep function
Kaycee276 Jul 28, 2026
6466a73
Merge branch 'dev' into feature/issue-implementation
bentechnology03-ops Jul 28, 2026
78628d0
Merge pull request #285 from bentechnology03-ops/feature/issue-implem…
chizzy192 Jul 28, 2026
6a18ec8
Merge branch 'dev' of upstream and resolve conflicts for dust sweep
Kaycee276 Jul 28, 2026
8dbdd5c
Merge branch 'dev' into feature/security-issue-implementation
chizzy192 Jul 28, 2026
6d91fdf
Merge pull request #278 from dunnie99/feature/security-issue-implemen…
chizzy192 Jul 28, 2026
7c50c2f
Merge pull request #286 from Kaycee276/feature/issue-119-implementation
chizzy192 Jul 28, 2026
7d05d6b
fix: resolve merge conflicts across contracts and snapshots
Ghoost-404 Jul 28, 2026
ab0a952
feat(escrow): implement milestone-based partial escrow funding (#80)
Kaycee276 Jul 28, 2026
b78571b
Merge pull request #288 from Kaycee276/feature/issue-80-implementation
chizzy192 Jul 28, 2026
66e6336
Merge branch 'upstream/dev' into feature/issue-implementations and re…
Ghoost-404 Jul 28, 2026
58263f2
style: fix formatting, clippy warnings, and unused imports for CI
Ghoost-404 Jul 28, 2026
240817f
ci: update MSRV toolchain matrix in ci.yml to 1.84.0 for wasm32v1-non…
Ghoost-404 Jul 28, 2026
8eba295
fix(ci): remove unused imports in integration_test.rs for clippy comp…
Ghoost-404 Jul 28, 2026
cf8b7b0
ci: configure matrix targets for Soroban SDK 27 toolchain compatibili…
Ghoost-404 Jul 28, 2026
b01e4f1
ci: update rust-toolchain.toml and ci.yml to WASM target wasm32v1-non…
Ghoost-404 Jul 28, 2026
5fff9ad
test: add coverage for fee BPS rejection, event topics, and refund gu…
codeX-james Jul 28, 2026
c1ee182
Merge pull request #272 from Ghoost-404/feature/issue-implementations
chizzy192 Jul 29, 2026
b0506b2
fix: commit Cargo.lock to pin ed25519-dalek and unbreak dev CI (#256)
JONAH-6 Jul 29, 2026
73aa27d
security(escrow): enforce admin authorization in initialize (#177) (#…
Kaycee276 Jul 29, 2026
779e2cf
test(payment-distributor): add edge-case tests for error paths and st…
marvelousjeremiah24 Jul 29, 2026
9335115
docs: update README Security program and contract deployment address …
joan-bisbal Jul 29, 2026
2122c15
[DOCS] Fix get_escrow Rustdoc Comment to Match Result Return Signatur…
joan-bisbal Jul 29, 2026
dd3c336
[DOCS] Add Event Log Format Specification for Blockchain Indexers (#2…
joan-bisbal Jul 29, 2026
4b458af
[DOCS] Formalize Escrow State-Machine Invariants and Transition Matri…
joan-bisbal Jul 29, 2026
c44b8aa
[DOCS] Finalize Open Source Contributor Guide for dev Branch Workflow…
joan-bisbal Jul 29, 2026
eef0cac
[DOCS] Document Contract Upgrade & Storage Migration Protocol (#211) …
joan-bisbal Jul 29, 2026
257fb94
[DOCS] Add Comprehensive Error Code Catalog and Resolution Steps (#20…
joan-bisbal Jul 29, 2026
f9c4b92
[DOCS] Document Local Smoke Testing and Testnet Script Execution (#20…
joan-bisbal Jul 29, 2026
63462f2
[DOCS] Update Root README Architecture Diagrams and Badges (#212) (#227)
joan-bisbal Jul 29, 2026
ab62c24
[DOCS] Create Security Audit Preparation and Threat Model Document (#…
joan-bisbal Jul 29, 2026
230f12a
[DOCS] Publish Smart Contract Gas and CPU Instruction Benchmarks (#20…
joan-bisbal Jul 29, 2026
ae014ad
[DOCS] Publish Client Integration SDK Example Recipes in JavaScript/T…
joan-bisbal Jul 29, 2026
86d3cf8
[DOCS] Create Architecture Overview Diagram for Multi-Contract System…
joan-bisbal Jul 29, 2026
6cf8443
[DOCS] Document Payment Distributor Split Math and Fee Schedules (#20…
joan-bisbal Jul 29, 2026
322663e
[DOCS] Create Deployment & Initialization Step-by-Step Tutorial (#200…
joan-bisbal Jul 29, 2026
7774f9b
[DOCS] Add SEP-41 Token Standard Compliance Mapping Specification (#1…
joan-bisbal Jul 29, 2026
446ac4b
[DOCS] Update per-contract README Usage Guides for Developers (#198) …
joan-bisbal Jul 29, 2026
09dc1d8
[DOCS] Document Soroban Storage TTL Extension Best Practices (#197) (…
joan-bisbal Jul 29, 2026
5d84617
[DOCS] Create End-to-End Invoice Financing Lifecycle Diagram (#196) (…
joan-bisbal Jul 29, 2026
85de025
[DOCS] Publish Comprehensive API Reference Document for Invoice Escro…
joan-bisbal Jul 29, 2026
519d53a
[SECURITY] Comprehensive Pre-Audit Review of All Workspace Contracts …
joan-bisbal Jul 29, 2026
ac26166
[SECURITY] Audit Dynamic Event Log Emitting Costs and Topic Cardinali…
joan-bisbal Jul 29, 2026
52ca383
[SECURITY] Validate Contract Upgrade Migration Safety and Storage Com…
joan-bisbal Jul 29, 2026
d8b1afc
[SECURITY] Audit SEP-41 Allowance Authorization Expiration Boundary C…
joan-bisbal Jul 29, 2026
46a103d
[SECURITY] Verify Immutable Storage Key Protections against Admin Ove…
joan-bisbal Jul 29, 2026
c284b3c
Initial plan (#280)
Copilot Jul 29, 2026
e16fe60
Add comprehensive test coverage for payment-distributor contract edge…
frankosakwe Jul 29, 2026
b0de0ff
test(payment-distributor): add mock contract call invocation verifica…
therealmercy-dev Jul 29, 2026
1493a64
Merge upstream/dev and resolve conflicts
codeX-james Jul 29, 2026
b102994
fixes #174 [TESTING] Write Comprehensive Test Matrix for All Error Va…
olalekanali Jul 29, 2026
8a194d9
Merge pull request #290 from JamesVictor-O/feature/issue-172-171-168-…
Chucks1093 Jul 29, 2026
16a95b5
test: add initial 30% test coverage for admin authority transfer (#15…
charlesedeh021-cell Jul 29, 2026
2b24d6d
Merge pull request #301 from charlesedeh021-cell/fix/admin-authority-…
Chucks1093 Jul 29, 2026
f431190
Merge branch 'dev' into test-matrix
dhareymu Jul 29, 2026
25ac67f
test(invoice-escrow): add dispute resolution admin override test cove…
aliyuHabibu Jul 30, 2026
cd19c86
Merge pull request #300 from dhareymu/test-matrix
chizzy192 Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
40 changes: 29 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,48 +12,53 @@ permissions:
env:
CARGO_TERM_COLOR: always
WASM_MAX_BYTES: 262144

jobs:
check-and-test:
name: Lint, Test & Build WASM
name: Lint, Test & Build WASM (${{ matrix.toolchain }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
toolchain: [stable]
target: [wasm32v1-none]
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
uses: dtolnay/rust-toolchain@master
with:
targets: wasm32-unknown-unknown
toolchain: ${{ matrix.toolchain }}
targets: ${{ matrix.target }}
components: rustfmt, clippy

- name: Cache Cargo dependencies and build cache
uses: Swatinem/rust-cache@v2
with:
key: soroban-contracts
key: soroban-contracts-${{ matrix.toolchain }}

- name: Check code formatting
run: cargo fmt --all -- --check

- name: Run Clippy lints
run: cargo clippy --all-targets --all-features -- -D warnings
run: cargo clippy --all -- -D warnings

- name: Run workspace unit and integration tests
run: cargo test --all --verbose

- name: Build WASM contracts in release mode
run: |
cargo build --release --target wasm32-unknown-unknown
cargo build --release --target ${{ matrix.target }}

- name: Report WASM artifact sizes
run: |
set -euo pipefail

shopt -s nullglob
wasm_artifacts=(target/wasm32-unknown-unknown/release/*.wasm)
wasm_artifacts=(target/${{ matrix.target }}/release/*.wasm)

if (( ${#wasm_artifacts[@]} == 0 )); then
echo "No WASM artifacts found in target/wasm32-unknown-unknown/release" >&2
echo "No WASM artifacts found in target/${{ matrix.target }}/release" >&2
exit 1
fi

Expand All @@ -69,10 +74,10 @@ jobs:
set -euo pipefail

shopt -s nullglob
wasm_artifacts=(target/wasm32-unknown-unknown/release/*.wasm)
wasm_artifacts=(target/${{ matrix.target }}/release/*.wasm)

if (( ${#wasm_artifacts[@]} == 0 )); then
echo "No WASM artifacts found in target/wasm32-unknown-unknown/release" >&2
echo "No WASM artifacts found in target/${{ matrix.target }}/release" >&2
exit 1
fi

Expand All @@ -83,3 +88,16 @@ jobs:
exit 1
fi
done

shellcheck:
name: ShellCheck
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Run ShellCheck
uses: ludeeus/action-shellcheck@2.0.0
with:
scandir: scripts
additional_files: scripts/*.sh
2 changes: 1 addition & 1 deletion .github/workflows/contract-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ jobs:
run: cargo fmt -- --check

- name: Run clippy
run: cargo clippy -- -D warnings
run: cargo clippy --all -- -D warnings
44 changes: 44 additions & 0 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: PR Check

on:
pull_request:
branches: [dev]
types: [opened, edited, synchronize, reopened]

permissions:
pull-requests: read

jobs:
validate-pr:
name: Validate PR Title & Description
runs-on: ubuntu-latest
steps:
- name: Validate PR title (conventional commits)
uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
types: |
feat
fix
docs
style
refactor
perf
test
build
ci
chore
revert

- name: Check PR description for issue reference
uses: actions/github-script@v7
with:
script: |
const body = context.payload.pull_request.body || '';
const regex = /(closes|fixes|resolves)\s+#\d+/i;
if (!regex.test(body)) {
core.setFailed('PR description must contain a closing keyword (Closes #XX, Fixes #XX, or Resolves #XX)');
} else {
core.info('Issue reference found in PR description');
}
8 changes: 7 additions & 1 deletion .github/workflows/smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,13 @@ jobs:

- name: Install Stellar CLI
run: |
cargo install --locked stellar-cli --features opt
cargo install --locked stellar-cli --version 22.0.0 --features opt

- name: Verify Stellar CLI Version
run: |
CLI_VERSION=$(stellar --version 2>/dev/null || soroban --version 2>/dev/null)
echo "Installed CLI version: $CLI_VERSION"
echo "$CLI_VERSION" | grep -q "22\.0\.0" || { echo "Error: Stellar CLI version is not 22.0.0" >&2; exit 1; }

- name: Run smoke test
env:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
# Rust / Cargo
/target/
**/target/
Cargo.lock
*.rs.bk
*.pdb

Expand Down Expand Up @@ -42,4 +41,5 @@ tarpaulin-report.html
debug/

# Maintainer-only GitHub issue tooling (not published)
imp
# NOTE: /scripts/ is intentionally NOT ignored – deployment scripts are public.
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ All active development happens on the `dev` branch. The `main` branch is reserve
git pull origin dev
git checkout -b feature/your-feature-name
```
*Note: Always ensure your feature branch branches off `dev`.*
3. **Make your changes**, adhering to code style guidelines and writing unit tests.
4. **Commit using [Conventional Commits](https://www.conventionalcommits.org/)**:
```bash
Expand Down
Loading
Loading