Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions packages/escrow/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ Store deployed addresses in `deployments/<network>.json`.

### Arbitrum Sepolia Deployments

| Contract | Address |
| -------------------------------- | -------------------------------------------- |
| Confidential token (interim) | `0x42E47f9bA89712C317f60A72C81A610A2b68c48a` |
| ConfidentialEscrow | `0xbe1eEB78504B71beEE1b33D3E3D367A2F9a549A6` |
| CCTPV2ConfidentialEscrowReceiver | `0x67AE0C5fE86716441B38b73A66F21c6aC8e338d0` |
| Contract | Address |
| ----------------------------------- | -------------------------------------------- |
| Confidential token (mock / interim) | `0x42E47f9bA89712C317f60A72C81A610A2b68c48a` |
| ConfidentialEscrow (proxy) | `0xF50A9CF008a79CFCA39aa9a345aa06e8D12727E2` |
| CCTPV2ConfidentialEscrowReceiver | `0xe0E6CC9Ee62Fa36b96eC4F50CDc462Fd14aa0fD3` |

The confidential token above is an **interim** deployment. The protocol is token-agnostic; the configured confidential token is expected to be replaced by a standardized one (see the `confidentialUsdc` note in `CCTPV2ConfidentialEscrowReceiver`).

Expand Down
36 changes: 18 additions & 18 deletions packages/offchain/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ npm run start -w @reineira-os/operator
export RPC_URL=https://arbitrum-sepolia-rpc.publicnode.com
export RPC_URL_SOURCE=https://ethereum-sepolia-rpc.publicnode.com
export PRIVATE_KEY=0x...
export OPERATOR_REGISTRY_ADDRESS=0x1422ccC8B42079D810835631a5DFE1347a602959
export TASK_EXECUTOR_ADDRESS=0x7F24077A3341Af05E39fC232A77c21A03Bbd2262
export OPERATOR_REGISTRY_ADDRESS=0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59
export TASK_EXECUTOR_ADDRESS=0x4D239335f39E585Bb75631C4683538EFC496a5EB
```

### Commands
Expand Down Expand Up @@ -144,30 +144,30 @@ npx reineira-operator create-escrow --amount 100 --owner 0x... --resolver 0x...

## Operator Economics

| Parameter | Value |
| -------------------- | ----------- |
| Minimum Stake | 5,000 GOV |
| Exclusive Window | 60 seconds |
| Permissionless Delay | 600 seconds |
| Operator Fee | 0.5% |
| Protocol Fee | 0.3% |
| Unbond Period | 7 days |
| Parameter | Value |
| -------------------- | -------------------- |
| Minimum Stake | 5,000 GOV |
| Exclusive Window | 60 seconds |
| Permissionless Delay | 600 seconds |
| Operator Fee | None — to be removed |
| Protocol Fee | None (0%) |
| Unbond Period | 7 days |

Operators stake GOV tokens to register. When assigned a task, they have a 60-second exclusive window to execute. After 600 seconds, anyone can execute the task permissionlessly. Operators earn 0.5% of relayed volume as fees.
Operators stake GOV tokens to register. When assigned a task, they have a 60-second exclusive window to execute. After 600 seconds, anyone can execute the task permissionlessly. No fees are charged — neither protocol nor operator; the operator fee parameter (`operatorFeeBps`) is residual and slated for removal.

---

## Deployed Contracts (Arbitrum Sepolia)

| Contract | Address |
| -------------------------------- | -------------------------------------------- |
| OperatorRegistry | `0x1422ccC8B42079D810835631a5DFE1347a602959` |
| TaskExecutor | `0x7F24077A3341Af05E39fC232A77c21A03Bbd2262` |
| FeeManager | `0x5a11DC96CEfd2fB46759F08aCE49515aa23F0156` |
| CCTPHandler | `0xb37A83461B01097e1E440405264dA59EE9a3F273` |
| Staking Token (GOV) | `0xb847e041bB3bC78C3CD951286AbCa28593739D12` |
| CCTPV2ConfidentialEscrowReceiver | `0x67AE0C5fE86716441B38b73A66F21c6aC8e338d0` |
| ConfidentialEscrow | `0xbe1eEB78504B71beEE1b33D3E3D367A2F9a549A6` |
| OperatorRegistry | `0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59` |
| TaskExecutor | `0x4D239335f39E585Bb75631C4683538EFC496a5EB` |
| FeeManager | `0x639f5cB99DcF9681A0461A1452c3845811d3308A` |
| CCTPHandler | `0x575186a64B9FC49E135A2440DC4A1395edc0F3aD` |
| MockGovernanceToken (GOV, mock) | `0xb847e041bB3bC78C3CD951286AbCa28593739D12` |
| CCTPV2ConfidentialEscrowReceiver | `0xe0E6CC9Ee62Fa36b96eC4F50CDc462Fd14aa0fD3` |
| ConfidentialEscrow | `0xF50A9CF008a79CFCA39aa9a345aa06e8D12727E2` |

---

Expand Down
12 changes: 6 additions & 6 deletions packages/offchain/packages/operator-cli/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ RPC_URL_SOURCE=https://ethereum-sepolia-rpc.publicnode.com
PRIVATE_KEY=

# Contract addresses on destination chain (Arbitrum Sepolia)
OPERATOR_REGISTRY_ADDRESS=0x1422ccC8B42079D810835631a5DFE1347a602959
TASK_EXECUTOR_ADDRESS=0x7F24077A3341Af05E39fC232A77c21A03Bbd2262
FEE_MANAGER_ADDRESS=0x5a11DC96CEfd2fB46759F08aCE49515aa23F0156
CCTP_HANDLER_ADDRESS=0xb37A83461B01097e1E440405264dA59EE9a3F273
OPERATOR_REGISTRY_ADDRESS=0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59
TASK_EXECUTOR_ADDRESS=0x4D239335f39E585Bb75631C4683538EFC496a5EB
FEE_MANAGER_ADDRESS=0x639f5cB99DcF9681A0461A1452c3845811d3308A
CCTP_HANDLER_ADDRESS=0x575186a64B9FC49E135A2440DC4A1395edc0F3aD

# Staking token (MockGovernanceToken on testnet)
STAKING_TOKEN_ADDRESS=0xb847e041bB3bC78C3CD951286AbCa28593739D12

# Escrow protocol contracts (Arbitrum Sepolia)
ESCROW_ADDRESS=0xbe1eEB78504B71beEE1b33D3E3D367A2F9a549A6
CONFIDENTIAL_TOKEN_ADDRESS=0x6B6E6479B8B3237933C3ab9D8bE969862D4Ed89F
ESCROW_ADDRESS=0xF50A9CF008a79CFCA39aa9a345aa06e8D12727E2
CONFIDENTIAL_TOKEN_ADDRESS=0x42E47f9bA89712C317f60A72C81A610A2b68c48a

# Circle Iris API URL (attestation service)
IRIS_API_URL=https://iris-api-sandbox.circle.com
34 changes: 17 additions & 17 deletions packages/offchain/packages/operator-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ RPC_URL_SOURCE=https://ethereum-sepolia-rpc.publicnode.com
PRIVATE_KEY=your_private_key_here

# Contract addresses (Arbitrum Sepolia)
OPERATOR_REGISTRY_ADDRESS=0x1422ccC8B42079D810835631a5DFE1347a602959
TASK_EXECUTOR_ADDRESS=0x7F24077A3341Af05E39fC232A77c21A03Bbd2262
OPERATOR_REGISTRY_ADDRESS=0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59
TASK_EXECUTOR_ADDRESS=0x4D239335f39E585Bb75631C4683538EFC496a5EB
```

### Command-Line Options
Expand Down Expand Up @@ -235,13 +235,13 @@ stateDiagram-v2

| Contract | Address |
| -------------------------------- | -------------------------------------------- |
| OperatorRegistry | `0x1422ccC8B42079D810835631a5DFE1347a602959` |
| TaskExecutor | `0x7F24077A3341Af05E39fC232A77c21A03Bbd2262` |
| FeeManager | `0x5a11DC96CEfd2fB46759F08aCE49515aa23F0156` |
| CCTPHandler | `0xb37A83461B01097e1E440405264dA59EE9a3F273` |
| Staking Token (GOV) | `0xb847e041bB3bC78C3CD951286AbCa28593739D12` |
| CCTPV2ConfidentialEscrowReceiver | `0x67AE0C5fE86716441B38b73A66F21c6aC8e338d0` |
| ConfidentialEscrow | `0xbe1eEB78504B71beEE1b33D3E3D367A2F9a549A6` |
| OperatorRegistry | `0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59` |
| TaskExecutor | `0x4D239335f39E585Bb75631C4683538EFC496a5EB` |
| FeeManager | `0x639f5cB99DcF9681A0461A1452c3845811d3308A` |
| CCTPHandler | `0x575186a64B9FC49E135A2440DC4A1395edc0F3aD` |
| MockGovernanceToken (GOV, mock) | `0xb847e041bB3bC78C3CD951286AbCa28593739D12` |
| CCTPV2ConfidentialEscrowReceiver | `0xe0E6CC9Ee62Fa36b96eC4F50CDc462Fd14aa0fD3` |
| ConfidentialEscrow | `0xF50A9CF008a79CFCA39aa9a345aa06e8D12727E2` |

## CCTP V2 Addresses

Expand All @@ -260,17 +260,17 @@ stateDiagram-v2
| USDC | `0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d` |
| TokenMessengerV2 | `0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5` |
| MessageTransmitterV2 | `0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275` |
| CCTPV2ConfidentialEscrowReceiver | `0x67AE0C5fE86716441B38b73A66F21c6aC8e338d0` |
| CCTPV2ConfidentialEscrowReceiver | `0xe0E6CC9Ee62Fa36b96eC4F50CDc462Fd14aa0fD3` |

## Economics

| Parameter | Value |
| ---------------- | ---------- |
| Minimum Stake | 5,000 GOV |
| Unbond Period | 7 days |
| Exclusive Window | 60 seconds |
| Protocol Fee | 0.3% |
| Operator Fee | 0.5% |
| Parameter | Value |
| ---------------- | -------------------- |
| Minimum Stake | 5,000 GOV |
| Unbond Period | 7 days |
| Exclusive Window | 60 seconds |
| Protocol Fee | None (0%) |
| Operator Fee | None — to be removed |

## Example Session

Expand Down
4 changes: 2 additions & 2 deletions packages/offchain/packages/operator-cli/src/utils/cctp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ export const CCTP_ADDRESSES = {
},
// Contracts deployed on Arbitrum Sepolia (destination chain)
arbitrumSepoliaContracts: {
escrowReceiver: '0x67AE0C5fE86716441B38b73A66F21c6aC8e338d0',
escrow: '0xbe1eEB78504B71beEE1b33D3E3D367A2F9a549A6',
escrowReceiver: '0xe0E6CC9Ee62Fa36b96eC4F50CDc462Fd14aa0fD3',
escrow: '0xF50A9CF008a79CFCA39aa9a345aa06e8D12727E2',
},
} as const

Expand Down
8 changes: 4 additions & 4 deletions packages/offchain/packages/operator/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ COORDINATOR_URL=http://localhost:3001
RPC_URL=https://arbitrum-sepolia-rpc.publicnode.com

# Contract addresses on destination chain (Arbitrum Sepolia)
OPERATOR_REGISTRY_ADDRESS=0x1422ccC8B42079D810835631a5DFE1347a602959
TASK_EXECUTOR_ADDRESS=0x7F24077A3341Af05E39fC232A77c21A03Bbd2262
FEE_MANAGER_ADDRESS=0x5a11DC96CEfd2fB46759F08aCE49515aa23F0156
CCTP_HANDLER_ADDRESS=0xb37A83461B01097e1E440405264dA59EE9a3F273
OPERATOR_REGISTRY_ADDRESS=0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59
TASK_EXECUTOR_ADDRESS=0x4D239335f39E585Bb75631C4683538EFC496a5EB
FEE_MANAGER_ADDRESS=0x639f5cB99DcF9681A0461A1452c3845811d3308A
CCTP_HANDLER_ADDRESS=0x575186a64B9FC49E135A2440DC4A1395edc0F3aD

# Staking token (MockGovernanceToken on testnet)
STAKING_TOKEN_ADDRESS=0xb847e041bB3bC78C3CD951286AbCa28593739D12
Expand Down
4 changes: 2 additions & 2 deletions packages/offchain/packages/operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ OPERATOR_ADDRESS=0x... # Your operator address
PRIVATE_KEY=0x... # Private key for signing
COORDINATOR_URL=http://localhost:3001
RPC_URL=https://arbitrum-sepolia-rpc.publicnode.com
OPERATOR_REGISTRY_ADDRESS=0x1422ccC8B42079D810835631a5DFE1347a602959
TASK_EXECUTOR_ADDRESS=0x7F24077A3341Af05E39fC232A77c21A03Bbd2262
OPERATOR_REGISTRY_ADDRESS=0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59
TASK_EXECUTOR_ADDRESS=0x4D239335f39E585Bb75631C4683538EFC496a5EB
```

3. Install dependencies:
Expand Down
12 changes: 6 additions & 6 deletions packages/offchain/packages/shared/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ export const TASK_TYPES = {
*/
export const CONTRACTS = {
ARBITRUM_SEPOLIA: {
OPERATOR_REGISTRY: '0x1422ccC8B42079D810835631a5DFE1347a602959',
TASK_EXECUTOR: '0x7F24077A3341Af05E39fC232A77c21A03Bbd2262',
FEE_MANAGER: '0x5a11DC96CEfd2fB46759F08aCE49515aa23F0156',
CCTP_HANDLER: '0xb37A83461B01097e1E440405264dA59EE9a3F273',
OPERATOR_REGISTRY: '0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59',
TASK_EXECUTOR: '0x4D239335f39E585Bb75631C4683538EFC496a5EB',
FEE_MANAGER: '0x639f5cB99DcF9681A0461A1452c3845811d3308A',
CCTP_HANDLER: '0x575186a64B9FC49E135A2440DC4A1395edc0F3aD',
GOV_TOKEN: '0xb847e041bB3bC78C3CD951286AbCa28593739D12',
ESCROW: '0xbe1eEB78504B71beEE1b33D3E3D367A2F9a549A6',
ESCROW_RECEIVER: '0x67AE0C5fE86716441B38b73A66F21c6aC8e338d0',
ESCROW: '0xF50A9CF008a79CFCA39aa9a345aa06e8D12727E2',
ESCROW_RECEIVER: '0xe0E6CC9Ee62Fa36b96eC4F50CDc462Fd14aa0fD3',
},
} as const

Expand Down
2 changes: 1 addition & 1 deletion packages/orchestration/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ EXCLUSIVE_WINDOW=60
PERMISSIONLESS_DELAY=600

# Fee Configuration (in basis points, 100 = 1%)
PROTOCOL_FEE_BPS=30
# No fees are charged; the operator fee parameter is residual and to be removed.
OPERATOR_FEE_BPS=50
30 changes: 15 additions & 15 deletions packages/orchestration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ EXCLUSIVE_WINDOW=60 # Exclusive claim window in seconds
PERMISSIONLESS_DELAY=600 # Time until permissionless in seconds

# Fee Configuration (in basis points, 100 = 1%)
PROTOCOL_FEE_BPS=30 # 0.3% to protocol
OPERATOR_FEE_BPS=50 # 0.5% to operator
# No fees are charged; the operator fee parameter below is residual and to be removed.
OPERATOR_FEE_BPS=50 # residual; to be removed
```

## Development
Expand Down Expand Up @@ -98,17 +98,17 @@ Store deployed addresses in `deployments/<network>.json`.
| Contract | Address |
| ------------------- | -------------------------------------------- |
| MockGovernanceToken | `0xb847e041bB3bC78C3CD951286AbCa28593739D12` |
| OperatorRegistry | `0x1422ccC8B42079D810835631a5DFE1347a602959` |
| FeeManager | `0x5a11DC96CEfd2fB46759F08aCE49515aa23F0156` |
| TaskExecutor | `0x7F24077A3341Af05E39fC232A77c21A03Bbd2262` |
| CCTPHandler | `0xb37A83461B01097e1E440405264dA59EE9a3F273` |
| OperatorRegistry | `0x5Ac3a3750e0a9f7d4ddBC0B52c3f13E8f927FB59` |
| FeeManager | `0x639f5cB99DcF9681A0461A1452c3845811d3308A` |
| TaskExecutor | `0x4D239335f39E585Bb75631C4683538EFC496a5EB` |
| CCTPHandler | `0x575186a64B9FC49E135A2440DC4A1395edc0F3aD` |

### External Dependencies (Arbitrum Sepolia)

| Contract | Address |
| --------------------------- | -------------------------------------------- |
| Trusted Forwarder (ERC2771) | `0x7ceA357B5AC0639F89F9e378a1f03Aa5005C0a25` |
| Escrow Receiver | `0x198Ca6b6116ef0de2b443F4602DbeD8f052C014d` |
| Escrow Receiver | `0xe0E6CC9Ee62Fa36b96eC4F50CDc462Fd14aa0fD3` |

### Ethereum Sepolia Deployments

Expand All @@ -125,14 +125,14 @@ Store deployed addresses in `deployments/<network>.json`.

### Operator System Configuration

| Parameter | Value |
| -------------------- | -------------------- |
| Min Stake | 5000 GOV (18 dec) |
| Exclusive Window | 60 seconds |
| Permissionless Delay | 600 seconds (10 min) |
| Unbond Period | 7 days |
| Protocol Fee BPS | 30 (0.3%) |
| Operator Fee BPS | 50 (0.5%) |
| Parameter | Value |
| -------------------- | -------------------------------------------------- |
| Min Stake | 5000 GOV (18 dec) |
| Exclusive Window | 60 seconds |
| Permissionless Delay | 600 seconds (10 min) |
| Unbond Period | 7 days |
| Protocol Fee | None — protocol takes nothing |
| Operator Fee | None — operatorFeeBps (50) residual, to be removed |

## Admin Tasks

Expand Down
Loading