Open Issues Need Help
View All on GitHub escrow's module-level doc comment still says "refunds them back to the sponsor" (singular), stale since crowdfunding landed about 2 hours ago
bug documentation good first issue help wanted
escrow::get_contribution returns EscrowNotFound for a missing contribution index, not just a missing escrow about 3 hours ago
bug enhancement help wanted very hard
README.md's deployed Stellar testnet contract IDs predate several landed fixes (#55, #56, #57, #58) about 3 hours ago
bug documentation good first issue help wanted
docs/ has no index linking the four design documents together about 3 hours ago
documentation enhancement good first issue help wanted
scripts/invoke.mjs hardcodes the testnet RPC URL and network passphrase about 3 hours ago
documentation enhancement help wanted very hard
enhancement good first issue help wanted testing
escrow: no test that calling any entrypoint before initialize() returns NotInitialized about 4 hours ago
bug help wanted very hard testing
escrow: initialize() rejecting fee_bps > 10000 (InvalidFee) has no test about 4 hours ago
enhancement good first issue help wanted testing
escrow: no test exercising fee_bps = 0 (zero-fee full payout) about 4 hours ago
enhancement help wanted very hard testing
enhancement good first issue help wanted testing
milestones: no test that calling any entrypoint before initialize() returns NotInitialized about 4 hours ago
bug help wanted very hard testing
milestones: release_issue() on a never-allocated issue_id (IssueNotAllocated) has no test about 4 hours ago
bug good first issue help wanted testing
milestones: release_issue() rejecting an invalid bps split (InvalidSplit) has no test about 4 hours ago
enhancement good first issue help wanted testing
enhancement good first issue help wanted testing
milestones: no test exercising fee_bps = 0 (zero-fee full payout) about 4 hours ago
enhancement help wanted very hard testing
maintenance-pool: get_pool/withdraw on a nonexistent pool_id (PoolNotFound) has no test about 4 hours ago
bug good first issue help wanted testing
maintenance-pool: deposit()/withdraw() rejecting a non-positive amount (InvalidAmount) has no test about 4 hours ago
enhancement good first issue help wanted testing
enhancement good first issue help wanted testing
maintenance-pool: initialize() rejecting a double-init (AlreadyInitialized) has no test about 4 hours ago
enhancement good first issue help wanted testing
maintenance-pool: no test exercising fee_bps = 0 (zero-fee full payout) about 4 hours ago
enhancement help wanted very hard testing
maintenance-pool's test suite is dramatically thinner than escrow's and milestones' — audit for missing scenarios about 4 hours ago
bug help wanted spike testing
milestones::get_contribution returns MilestoneNotFound for a missing contribution index, not just a missing milestone about 4 hours ago
bug enhancement help wanted very hard
milestones::create_milestone reuses Error::IssueAlreadyAllocated to mean "this milestone_id already exists" about 4 hours ago
bug help wanted very hard architecture
maintenance-pool has no MAX_DEPOSITS bound on deposit_count, unlike MAX_SPONSORS in escrow/milestones about 4 hours ago
bug help wanted very hard architecture
bug help wanted very hard architecture
bug enhancement help wanted very hard
milestones and maintenance-pool have no keep_alive-equivalent permissionless TTL-refresh entrypoint about 4 hours ago
documentation help wanted very hard architecture
milestones::Contribution records are never TTL-refreshed after creation about 4 hours ago
bug help wanted very hard architecture
escrow::extend_deadline's contributor-lookup loop has the same unwrap-on-archived-record panic risk as refund() about 4 hours ago
bug help wanted very hard architecture
milestones::refund_remaining_budget has the same unwrap-on-archived-Contribution-record panic risk as escrow's refund() about 4 hours ago
bug help wanted very hard security
Planned event emission (#12) should explicitly cover contribute/extend_deadline/keep_alive/initialize, not just fund/release/refund about 4 hours ago
documentation enhancement help wanted very hard
enhancement help wanted spike architecture
README.md's escrow release: description still describes the old last-recipient-absorbs-remainder split algorithm about 4 hours ago
bug documentation good first issue help wanted
README.md's "54/54 tests pass (28 escrow, 19 milestones, 7 maintenance-pool)" count is stale about 4 hours ago
bug documentation good first issue help wanted
milestones::Milestone.sponsor doc comment claims backward-compat with a single-sponsor API version that never existed about 4 hours ago
bug documentation help wanted very hard
mergefi_common::extend_ttl's threshold/extend-to constants (100_000, 500_000) have no derivation comment about 4 hours ago
bug documentation good first issue help wanted
No LICENSE file despite every crate declaring license = "Apache-2.0" about 4 hours ago
documentation enhancement help wanted very hard
No CONTRIBUTING.md documenting build/test/PR conventions about 4 hours ago
documentation help wanted very hard testing
No CODEOWNERS file for reviewer auto-assignment about 4 hours ago
documentation enhancement help wanted very hard
No CHANGELOG.md tracking behavior changes across already-landed fixes about 4 hours ago
documentation enhancement help wanted very hard
No rust-toolchain.toml pinning the Rust version README cites about 4 hours ago
documentation enhancement help wanted very hard
No GitHub Issue templates about 4 hours ago
documentation enhancement help wanted very hard
documentation good first issue help wanted security
documentation help wanted very hard security
scripts/invoke.mjs doesn't decode Soroban contract error codes back into their named Error variant about 4 hours ago
documentation enhancement help wanted very hard
scripts/deploy.mjs hardcodes the testnet RPC URL and network passphrase about 4 hours ago
documentation enhancement help wanted very hard
scripts/deploy.mjs has zero automated test coverage about 4 hours ago
documentation help wanted very hard testing
scripts/invoke.mjs has zero automated test coverage about 4 hours ago
enhancement help wanted very hard testing
No published Soroban contract spec / generated TypeScript bindings for integrators about 4 hours ago
bug enhancement help wanted very hard
Makefile's stellar contract optimize step silently swallows real failures via || true about 4 hours ago
bug help wanted very hard architecture
bug documentation help wanted very hard
CI has no dependency vulnerability scanning (cargo-audit / cargo-deny) about 4 hours ago
bug help wanted spike security
No Dependabot/Renovate config to keep soroban-sdk and @stellar/stellar-sdk current about 4 hours ago
enhancement help wanted very hard security
bug enhancement help wanted very hard
CI's cargo commands don't pass --locked, so a drifted Cargo.lock wouldn't be caught about 4 hours ago
bug enhancement help wanted very hard
CI doesn't measure or enforce a WASM binary size budget about 4 hours ago
bug help wanted spike performance
No code coverage measurement reported in CI about 4 hours ago
bug help wanted spike testing
escrow::contribute lets a single sponsor exhaust MAX_SPONSORS via repeated self-contributions about 4 hours ago
bug enhancement help wanted very hard
milestones::contribute has the same MAX_SPONSORS-exhaustion-by-one-address gap as escrow::contribute about 4 hours ago
bug help wanted very hard security
milestones::refund_remaining_budget still uses the O(n²) dust-distribution scan that compute_split moved away from in #55 about 4 hours ago
help wanted very hard performance architecture
#55's O(n log n) heapsort helpers are also duplicated verbatim between escrow and milestones, expanding #16's scope about 4 hours ago
help wanted very hard performance architecture
Add an optional funding-target/goal amount to escrow, now that crowdfunding exists about 4 hours ago
bug enhancement help wanted very hard
bug enhancement help wanted very hard
milestones has no batch/paginated way to enumerate all contributions for a milestone_id about 4 hours ago
enhancement help wanted very hard architecture
milestones::refund_remaining_budget's dust distribution is only tested at n=3 contributors, never at the MAX_SPONSORS=20 boundary about 4 hours ago
bug help wanted very hard testing
bug documentation help wanted very hard
All three initialize() functions are byte-identical and untouched by #60's dedup effort about 4 hours ago
enhancement help wanted very hard architecture
enhancement help wanted very hard architecture
milestones::Contribution has no timestamp field, same gap as escrow's about 4 hours ago
enhancement help wanted very hard architecture
docs/access-control-audit.md's per-function tables predate contribute/extend_deadline/keep_alive/get_contribution about 4 hours ago
bug documentation help wanted spike
scripts/deploy.mjs generates the contract-creation salt via Math.random() instead of a CSPRNG about 4 hours ago
enhancement help wanted very hard security
scripts/invoke.mjs cannot encode a Vec<(Address,u32)> argument — cannot invoke release/release_issue at all about 4 hours ago
bug documentation help wanted very hard
README's Stellar Expert link only covers the escrow contract about 4 hours ago
documentation enhancement good first issue help wanted
Workspace Cargo.toml has no rust-version (MSRV) field about 4 hours ago
documentation enhancement help wanted very hard
milestones: cancel_milestone rejecting a double-cancel (MilestoneClosed) has no test about 4 hours ago
enhancement good first issue help wanted testing
milestones: allocate() on an already-closed milestone (MilestoneClosed) has no test about 4 hours ago
enhancement good first issue help wanted testing
Treasury/FeeBps instance-storage reads are triplicated boilerplate across all three contracts, unlike Admin about 4 hours ago
enhancement help wanted very hard architecture
MAX_SPONSORS and BPS_DENOMINATOR are independently redeclared per-contract instead of centralized in mergefi-common about 4 hours ago
enhancement good first issue help wanted architecture
No .editorconfig for the repo's non-Rust files about 4 hours ago
documentation enhancement help wanted very hard
package.json has no license field about 4 hours ago
bug documentation good first issue help wanted
package.json has no engines field pinning a minimum Node version about 4 hours ago
bug enhancement help wanted very hard
scripts/deploy.mjs's submitAndWait doesn't handle TRY_AGAIN_LATER/DUPLICATE sendTransaction statuses about 4 hours ago
bug help wanted very hard architecture
scripts/invoke.mjs has the same TRY_AGAIN_LATER/DUPLICATE gap as deploy.mjs's submitAndWait about 4 hours ago
bug help wanted very hard architecture
docs/access-control-audit.md's refund "(at/after deadline)" row is stale — doesn't reflect the GRACE_PERIOD fix (#49) about 4 hours ago
bug documentation help wanted spike
documentation enhancement help wanted very hard
CI never uploads built .wasm artifacts for inspection or comparison about 4 hours ago
bug enhancement help wanted very hard
documentation enhancement help wanted very hard
escrow::contribute() rejecting a call after the escrow has been refunded (AlreadyRefunded) has no test about 4 hours ago
bug good first issue help wanted testing