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

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages