Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



Join our stargazers :)

GitHub stars

Bounty Escrow Contract

Smart Contract ensuring transparent and trustless payment processing between project maintainers (bounty sponsor) and contributors (beneficiary).

  • Secure Escrow Management: Holds USDC bounty payments in escrow until task completion.
  • Automated Payments: Instant payment release upon task approval.
  • Dispute Resolution: Built-in dispute handling with partial payment options.

Prerequisites

Installation & Setup

1. Clone the Repository

git clone https://github.com/devasignhq/soroban-contracts.git
cd soroban-contracts

2. Install the target

rustup target add wasm32v1-none

3. Build the Contract

# Build the contract
stellar contract build

4. Configure an Identity

# Create an identity (change 'lenny' to any name you want)
stellar keys generate --global lenny --network testnet --fund

# Get the public key of lenny 
stellar keys address lenny

Fund the account using Stellar's Friendbot

5. Deploy to Testnet

The contract initializes via its constructor, so admin + USDC token are set atomically in the deploy transaction itself.

# Deploy + initialize in one transaction (constructor args after the `--`)
stellar contract deploy \
  --wasm target/wasm32v1-none/release/devasign_task_escrow.wasm \
  --source-account lenny \
  --network testnet \
  --alias devasign_task_escrow \
  -- \
  --admin <ADMIN_ADDRESS> \
  --usdc_token <USDC_TOKEN_ADDRESS>

# Verify the deploy landed with the expected wiring before pointing anything at it
stellar contract invoke --id <CONTRACT_ID> --source lenny --network testnet -- get_admin
stellar contract invoke --id <CONTRACT_ID> --source lenny --network testnet -- get_usdc_token
stellar contract invoke --id <CONTRACT_ID> --source lenny --network testnet -- version

For mainnet, derive the USDC token address from Circle's published issuer — never hand-copy a contract id:

stellar contract id asset \
  --asset USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN \
  --network mainnet

Testing

# Run all tests
cargo test

# Run specific test module
cargo test --test test_contributor_assignment

License

This project is licensed under the Apache 2.0 License. See LICENSE for more details.

About

Bounty escrow management

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages