diff --git a/packages/escrow/README.md b/packages/escrow/README.md index 411634d..8f1e4ee 100644 --- a/packages/escrow/README.md +++ b/packages/escrow/README.md @@ -75,11 +75,11 @@ Store deployed addresses in `deployments/.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`). diff --git a/packages/offchain/README.md b/packages/offchain/README.md index e04fcdb..e643bd8 100644 --- a/packages/offchain/README.md +++ b/packages/offchain/README.md @@ -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 @@ -144,16 +144,16 @@ 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. --- @@ -161,13 +161,13 @@ Operators stake GOV tokens to register. When assigned a task, they have a 60-sec | 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` | --- diff --git a/packages/offchain/packages/operator-cli/.env.example b/packages/offchain/packages/operator-cli/.env.example index 68671bd..3ea2251 100644 --- a/packages/offchain/packages/operator-cli/.env.example +++ b/packages/offchain/packages/operator-cli/.env.example @@ -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 diff --git a/packages/offchain/packages/operator-cli/README.md b/packages/offchain/packages/operator-cli/README.md index 471e016..ed186ae 100644 --- a/packages/offchain/packages/operator-cli/README.md +++ b/packages/offchain/packages/operator-cli/README.md @@ -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 @@ -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 @@ -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 diff --git a/packages/offchain/packages/operator-cli/src/utils/cctp.ts b/packages/offchain/packages/operator-cli/src/utils/cctp.ts index ba13010..cfb04df 100644 --- a/packages/offchain/packages/operator-cli/src/utils/cctp.ts +++ b/packages/offchain/packages/operator-cli/src/utils/cctp.ts @@ -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 diff --git a/packages/offchain/packages/operator/.env.example b/packages/offchain/packages/operator/.env.example index ef01901..1ab2a0a 100644 --- a/packages/offchain/packages/operator/.env.example +++ b/packages/offchain/packages/operator/.env.example @@ -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 diff --git a/packages/offchain/packages/operator/README.md b/packages/offchain/packages/operator/README.md index e01eb62..e4c60b5 100644 --- a/packages/offchain/packages/operator/README.md +++ b/packages/offchain/packages/operator/README.md @@ -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: diff --git a/packages/offchain/packages/shared/src/constants.ts b/packages/offchain/packages/shared/src/constants.ts index 1e2a6a0..b0dd768 100644 --- a/packages/offchain/packages/shared/src/constants.ts +++ b/packages/offchain/packages/shared/src/constants.ts @@ -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 diff --git a/packages/orchestration/.env.example b/packages/orchestration/.env.example index c84da2f..4c4d47f 100644 --- a/packages/orchestration/.env.example +++ b/packages/orchestration/.env.example @@ -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 diff --git a/packages/orchestration/README.md b/packages/orchestration/README.md index b112585..0bb2de3 100644 --- a/packages/orchestration/README.md +++ b/packages/orchestration/README.md @@ -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 @@ -98,17 +98,17 @@ Store deployed addresses in `deployments/.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 @@ -125,14 +125,14 @@ Store deployed addresses in `deployments/.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