Rename openclaw to hermes across documentation and workflows
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Documentation Validation / validate-docs (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
Blockchain Synchronization Verification / sync-verification (push) Successful in 11s
Contract Performance Benchmarks / benchmark-gas-usage (push) Successful in 1m36s
Contract Performance Benchmarks / benchmark-execution-time (push) Successful in 1m24s
Contract Performance Benchmarks / benchmark-throughput (push) Successful in 1m25s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 2s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 5s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 3s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 3s
P2P Network Verification / p2p-verification (push) Successful in 2s
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Failing after 1m28s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 21s
Smart Contract Tests / test-foundry (push) Failing after 20s
Smart Contract Tests / lint-solidity (push) Successful in 30s
Smart Contract Tests / deploy-contracts (push) Successful in 1m40s
Systemd Sync / sync-systemd (push) Successful in 26s
Contract Performance Benchmarks / compare-benchmarks (push) Successful in 4s
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Documentation Validation / validate-docs (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
Blockchain Synchronization Verification / sync-verification (push) Successful in 11s
Contract Performance Benchmarks / benchmark-gas-usage (push) Successful in 1m36s
Contract Performance Benchmarks / benchmark-execution-time (push) Successful in 1m24s
Contract Performance Benchmarks / benchmark-throughput (push) Successful in 1m25s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 2s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 5s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 3s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 3s
P2P Network Verification / p2p-verification (push) Successful in 2s
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Failing after 1m28s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 21s
Smart Contract Tests / test-foundry (push) Failing after 20s
Smart Contract Tests / lint-solidity (push) Successful in 30s
Smart Contract Tests / deploy-contracts (push) Successful in 1m40s
Systemd Sync / sync-systemd (push) Successful in 26s
Contract Performance Benchmarks / compare-benchmarks (push) Successful in 4s
- Update workflow paths from docs/openclaw to docs/hermes - Rename skill prefixes from openclaw-* to hermes-* - Update agent skill references in refactoring and analysis docs - Rename OPENCLAW_AITBC_MASTERY_PLAN.md to reflect hermes branding - Update CLI examples and command references throughout documentation
This commit is contained in:
@@ -3,17 +3,17 @@ pragma solidity ^0.8.19;
|
||||
|
||||
import "@openzeppelin/contracts/access/Ownable.sol";
|
||||
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
|
||||
import "./OpenClawDAO.sol";
|
||||
import "./HermesDAO.sol";
|
||||
|
||||
/**
|
||||
* @title AgentWallet
|
||||
* @dev Smart contract wallet for AI agents to participate in OpenClaw DAO governance
|
||||
* @dev Smart contract wallet for AI agents to participate in Hermes DAO governance
|
||||
* @notice Enables autonomous voting and reputation-based governance participation
|
||||
*/
|
||||
contract AgentWallet is Ownable {
|
||||
using SafeMath for uint256;
|
||||
|
||||
// Agent roles matching OpenClawDAO
|
||||
// Agent roles matching HermesDAO
|
||||
enum AgentRole {
|
||||
NONE,
|
||||
PROVIDER,
|
||||
@@ -40,13 +40,13 @@ contract AgentWallet is Ownable {
|
||||
uint8 supportThreshold; // 0-255, higher means more likely to support
|
||||
uint256 minReputationToVote;
|
||||
bool voteBasedOnRole;
|
||||
mapping(OpenClawDAO.ProposalType => uint8) roleVotingPreferences;
|
||||
mapping(HermesDAO.ProposalType => uint8) roleVotingPreferences;
|
||||
}
|
||||
|
||||
// State variables
|
||||
AgentState public agentState;
|
||||
VotingStrategy public votingStrategy;
|
||||
OpenClawDAO public dao;
|
||||
HermesDAO public dao;
|
||||
IERC20 public governanceToken;
|
||||
|
||||
// Events
|
||||
@@ -83,7 +83,7 @@ contract AgentWallet is Ownable {
|
||||
agentState.isActive = true;
|
||||
agentState.authorizedCallers[_owner] = true;
|
||||
|
||||
dao = OpenClawDAO(_daoContract);
|
||||
dao = HermesDAO(_daoContract);
|
||||
governanceToken = IERC20(_governanceToken);
|
||||
|
||||
// Set default voting strategy based on role
|
||||
@@ -93,7 +93,7 @@ contract AgentWallet is Ownable {
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Register agent with OpenClaw DAO
|
||||
* @dev Register agent with Hermes DAO
|
||||
*/
|
||||
function registerWithDAO() external onlyAuthorized {
|
||||
dao.registerAgentWallet(address(this), agentState.role);
|
||||
@@ -182,7 +182,7 @@ contract AgentWallet is Ownable {
|
||||
* @param preference Voting preference (0-255)
|
||||
*/
|
||||
function setRoleVotingPreference(
|
||||
OpenClawDAO.ProposalType proposalType,
|
||||
HermesDAO.ProposalType proposalType,
|
||||
uint8 preference
|
||||
) external onlyAuthorized {
|
||||
votingStrategy.roleVotingPreferences[proposalType] = preference;
|
||||
@@ -232,7 +232,7 @@ contract AgentWallet is Ownable {
|
||||
*/
|
||||
function _calculateAutonomousVote(uint256 proposalId) internal view returns (bool) {
|
||||
// Get proposal type preference
|
||||
(, , , OpenClawDAO.ProposalType proposalType, , , , , , ) = dao.getProposal(proposalId);
|
||||
(, , , HermesDAO.ProposalType proposalType, , , , , , ) = dao.getProposal(proposalId);
|
||||
uint8 preference = votingStrategy.roleVotingPreferences[proposalType];
|
||||
|
||||
// Combine with general support threshold
|
||||
@@ -252,7 +252,7 @@ contract AgentWallet is Ownable {
|
||||
uint256 proposalId,
|
||||
bool support
|
||||
) internal view returns (string memory) {
|
||||
(, , , OpenClawDAO.ProposalType proposalType, , , , , , ) = dao.getProposal(proposalId);
|
||||
(, , , HermesDAO.ProposalType proposalType, , , , , , ) = dao.getProposal(proposalId);
|
||||
|
||||
string memory roleString = _roleToString(agentState.role);
|
||||
string memory actionString = support ? "support" : "oppose";
|
||||
@@ -278,25 +278,25 @@ contract AgentWallet is Ownable {
|
||||
|
||||
if (role == AgentRole.PROVIDER) {
|
||||
// Providers favor infrastructure and resource proposals
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.PARAMETER_CHANGE] = 180;
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.TREASURY_ALLOCATION] = 160;
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.AGENT_TRADING] = 200;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.PARAMETER_CHANGE] = 180;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.TREASURY_ALLOCATION] = 160;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.AGENT_TRADING] = 200;
|
||||
votingStrategy.supportThreshold = 128;
|
||||
} else if (role == AgentRole.CONSUMER) {
|
||||
// Consumers favor access and pricing proposals
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.PARAMETER_CHANGE] = 140;
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.TREASURY_ALLOCATION] = 180;
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.AGENT_TRADING] = 160;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.PARAMETER_CHANGE] = 140;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.TREASURY_ALLOCATION] = 180;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.AGENT_TRADING] = 160;
|
||||
votingStrategy.supportThreshold = 128;
|
||||
} else if (role == AgentRole.BUILDER) {
|
||||
// Builders favor development and upgrade proposals
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.PROTOCOL_UPGRADE] = 200;
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.DAO_GRANTS] = 180;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.PROTOCOL_UPGRADE] = 200;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.DAO_GRANTS] = 180;
|
||||
votingStrategy.supportThreshold = 150;
|
||||
} else if (role == AgentRole.COORDINATOR) {
|
||||
// Coordinators favor governance and system proposals
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.PARAMETER_CHANGE] = 160;
|
||||
votingStrategy.roleVotingPreferences[OpenClawDAO.ProposalType.PROTOCOL_UPGRADE] = 180;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.PARAMETER_CHANGE] = 160;
|
||||
votingStrategy.roleVotingPreferences[HermesDAO.ProposalType.PROTOCOL_UPGRADE] = 180;
|
||||
votingStrategy.supportThreshold = 140;
|
||||
}
|
||||
}
|
||||
@@ -319,13 +319,13 @@ contract AgentWallet is Ownable {
|
||||
* @param proposalType Proposal type
|
||||
* @return typeString String representation
|
||||
*/
|
||||
function _proposalTypeToString(OpenClawDAO.ProposalType proposalType) internal pure returns (string memory) {
|
||||
if (proposalType == OpenClawDAO.ProposalType.PARAMETER_CHANGE) return "Parameter Change";
|
||||
if (proposalType == OpenClawDAO.ProposalType.PROTOCOL_UPGRADE) return "Protocol Upgrade";
|
||||
if (proposalType == OpenClawDAO.ProposalType.TREASURY_ALLOCATION) return "Treasury Allocation";
|
||||
if (proposalType == OpenClawDAO.ProposalType.EMERGENCY_ACTION) return "Emergency Action";
|
||||
if (proposalType == OpenClawDAO.ProposalType.AGENT_TRADING) return "Agent Trading";
|
||||
if (proposalType == OpenClawDAO.ProposalType.DAO_GRANTS) return "DAO Grants";
|
||||
function _proposalTypeToString(HermesDAO.ProposalType proposalType) internal pure returns (string memory) {
|
||||
if (proposalType == HermesDAO.ProposalType.PARAMETER_CHANGE) return "Parameter Change";
|
||||
if (proposalType == HermesDAO.ProposalType.PROTOCOL_UPGRADE) return "Protocol Upgrade";
|
||||
if (proposalType == HermesDAO.ProposalType.TREASURY_ALLOCATION) return "Treasury Allocation";
|
||||
if (proposalType == HermesDAO.ProposalType.EMERGENCY_ACTION) return "Emergency Action";
|
||||
if (proposalType == HermesDAO.ProposalType.AGENT_TRADING) return "Agent Trading";
|
||||
if (proposalType == HermesDAO.ProposalType.DAO_GRANTS) return "DAO Grants";
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
|
||||
@@ -12,11 +12,11 @@ import "@openzeppelin/contracts/access/Ownable.sol";
|
||||
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
|
||||
|
||||
/**
|
||||
* @title OpenClawDAO
|
||||
* @title HermesDAO
|
||||
* @dev Decentralized Autonomous Organization for AITBC governance
|
||||
* @notice Implements token-weighted voting with snapshot security and agent integration
|
||||
*/
|
||||
contract OpenClawDAO is
|
||||
contract HermesDAO is
|
||||
Governor,
|
||||
GovernorSettings,
|
||||
GovernorCountingSimple,
|
||||
@@ -133,7 +133,7 @@ contract OpenClawDAO is
|
||||
address _governanceToken,
|
||||
TimelockController _timelock
|
||||
)
|
||||
Governor("OpenClawDAO")
|
||||
Governor("HermesDAO")
|
||||
GovernorSettings(VOTING_DELAY, VOTING_PERIOD, PROPOSAL_THRESHOLD)
|
||||
GovernorVotes(IVotes(_governanceToken))
|
||||
GovernorVotesQuorumFraction(QUORUM_PERCENTAGE)
|
||||
@@ -239,7 +239,7 @@ contract OpenClawDAO is
|
||||
) public override returns (uint256) {
|
||||
require(
|
||||
state(proposalId) == ProposalState.Active,
|
||||
"OpenClawDAO: voting is not active"
|
||||
"HermesDAO: voting is not active"
|
||||
);
|
||||
|
||||
Proposal storage proposal = proposals[proposalId];
|
||||
@@ -365,7 +365,7 @@ contract OpenClawDAO is
|
||||
|
||||
require(
|
||||
state(proposalId) == ProposalState.Succeeded,
|
||||
"OpenClawDAO: proposal not successful"
|
||||
"HermesDAO: proposal not successful"
|
||||
);
|
||||
|
||||
// Check multi-sig for critical proposals
|
||||
@@ -3,7 +3,7 @@ const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
async function main() {
|
||||
console.log("🚀 Deploying OpenClaw Autonomous Economics Contracts");
|
||||
console.log("🚀 Deploying Hermes Autonomous Economics Contracts");
|
||||
console.log("==============================================");
|
||||
|
||||
const [deployer] = await ethers.getSigners();
|
||||
@@ -179,7 +179,7 @@ async function main() {
|
||||
|
||||
// Generate environment variables for frontend
|
||||
const envVars = `
|
||||
# AITBC OpenClaw Autonomous Economics - ${hre.network.name.toUpperCase()}
|
||||
# AITBC Hermes Autonomous Economics - ${hre.network.name.toUpperCase()}
|
||||
# Generated on ${new Date().toISOString()}
|
||||
|
||||
# Contract Addresses
|
||||
|
||||
@@ -3,7 +3,7 @@ const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
async function main() {
|
||||
console.log("🔍 Verifying OpenClaw Autonomous Economics Contracts");
|
||||
console.log("🔍 Verifying Hermes Autonomous Economics Contracts");
|
||||
console.log("==============================================");
|
||||
|
||||
const networkName = hre.network.name;
|
||||
|
||||
Reference in New Issue
Block a user