{"id":"c12a5281-9a0d-4108-9b19-4afdc3474a2e","entityType":"agent","slug":"clawhub-0xlucasliao-bnbchain-erc8004-agent","name":"BNB Chain ERC-8004 Agent Registration","canonicalUrl":"https://www.xpersona.co/agent/clawhub-0xlucasliao-bnbchain-erc8004-agent","canonicalPath":"/agent/clawhub-0xlucasliao-bnbchain-erc8004-agent","generatedAt":"2026-10-10T09:18:52.783Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK. Skill: BNB Chain ERC-8004 Agent Registration Owner: 0xlucasliao Summary: Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK. Tags: latest:1.0.3 Version history: v1.0.3 | 2026-02-11T04:23:40.956Z | auto - Cleaned up the repository by removing unused files, including build artifacts and configuration samples. - No changes","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 4/15/2026.","installCommand":"clawhub skill install kn7aryqq7z6xrgnaz3bfpvbh3n80nypk:bnbchain-erc8004-agent","sourceUrl":"https://clawhub.ai/0xlucasliao/bnbchain-erc8004-agent","homepage":"https://clawhub.ai/0xlucasliao/bnbchain-erc8004-agent","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/0xlucasliao/bnbchain-erc8004-agent","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK. Skill: BN"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"stars":null,"forks":null,"downloads":1211,"packageName":null,"latestVersion":"1.0.3","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-02-28T23:43:01.771Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-28T23:43:01.771Z","lastIndexedAt":null,"nextCrawlAt":"2026-03-01T23:43:01.771Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.3","createdAt":"2026-02-11T04:23:40.956Z","changelog":"- Cleaned up the repository by removing unused files, including build artifacts and configuration samples. - No changes to skill features or documentation.","fileCount":3,"zipByteSize":2065},{"version":"1.0.2","createdAt":"2026-02-11T04:09:32.313Z","changelog":"Major update: rewrote implementation from Python script to Node.js CLI & updated documentation. - Migrated registration/update process from Python (`scripts/register_agent.py`) to a JavaScript/Node.js CLI. - Added configuration files and contract artifacts for flexible, scriptable usage. - Updated SKILL.md: clearer instructions, security details, and usage examples; removed old Python instructions. - Removed Python registration script. - Improved modularity for agent management and extended agent metadata features.","fileCount":9,"zipByteSize":20521},{"version":"1.0.1","createdAt":"2026-02-06T16:49:06.958Z","changelog":"- No changes detected in this version. - Documentation and functionality remain the same as the previous release.","fileCount":null,"zipByteSize":null},{"version":"1.0.0","createdAt":"2026-02-06T16:44:02.851Z","changelog":"- Initial release of the bnbchain-erc8004-agent skill. - Allows agents to register and update their on-chain identity on BNB Chain (BSC Testnet) via the ERC8004 standard. - Gas fees are sponsored; no BNB needed for registration. - Supports registering/updating agent name, description, image, and endpoint metadata. - Includes command-line script (`register_agent.py`) and usage instructions.","fileCount":null,"zipByteSize":null}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install kn7aryqq7z6xrgnaz3bfpvbh3n80nypk:bnbchain-erc8004-agent","setupComplexity":"low","setupSteps":["Node.js workspace detected. Install dependencies securely: run `npm ci --ignore-scripts` to prevent post-install lifecycle triggers from running arbitrary code, then selectively audit the dependency tree.","Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T09:18:52.781Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-0xlucasliao-bnbchain-erc8004-agent/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"Skill: BNB Chain ERC-8004 Agent Registration\n\nOwner: 0xlucasliao\n\nSummary: Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK.\n\nTags: latest:1.0.3\n\nVersion history:\n\nv1.0.3 | 2026-02-11T04:23:40.956Z | auto\n\n- Cleaned up the repository by removing unused files, including build artifacts and configuration samples.\n- No changes to skill features or documentation.\n\nv1.0.2 | 2026-02-11T04:09:32.313Z | auto\n\nMajor update: rewrote implementation from Python script to Node.js CLI & updated documentation.\n\n- Migrated registration/update process from Python (`scripts/register_agent.py`) to a JavaScript/Node.js CLI.\n- Added configuration files and contract artifacts for flexible, scriptable usage.\n- Updated SKILL.md: clearer instructions, security details, and usage examples; removed old Python instructions.\n- Removed Python registration script.\n- Improved modularity for agent management and extended agent metadata features.\n\nv1.0.1 | 2026-02-06T16:49:06.958Z | auto\n\n- No changes detected in this version.  \n- Documentation and functionality remain the same as the previous release.\n\nv1.0.0 | 2026-02-06T16:44:02.851Z | auto\n\n- Initial release of the bnbchain-erc8004-agent skill.\n- Allows agents to register and update their on-chain identity on BNB Chain (BSC Testnet) via the ERC8004 standard.\n- Gas fees are sponsored; no BNB needed for registration.\n- Supports registering/updating agent name, description, image, and endpoint metadata.\n- Includes command-line script (`register_agent.py`) and usage instructions.\n\nArchive index:\n\nArchive v1.0.3: 3 files, 2065 bytes\n\nFiles: package.json (252b), SKILL.md (3483b), _meta.json (141b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: erc8004-identity\nversion: 1.0.0\ndescription: Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK.\n---\n\n# ERC-8004 Agent Identity\n\nThis skill enables your agent to register and manage its own on-chain identity on BNB Chain using the ERC-8004 standard.\n\n## Features\n\n- **Self-Registration:** Register yourself as an agent (ERC-8004).\n- **Gasless:** Uses MegaFuel Paymaster (BSC Testnet only) for zero-cost registration.\n- **Identity Management:** Update your metadata (URI), endpoints, and description.\n- **Verification:** Users can verify your agent status on [8004scan.io](https://testnet.8004scan.io).\n\n## Installation\n\nThis skill requires the `bnbagent` Python SDK.\n\n```bash\n# Install bnbagent SDK (from test.pypi.org as per release)\npip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6\n\n# Or using uv (recommended for speed)\nuv pip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6\n```\n\n## Security Note\n\nThis skill manages a wallet specifically for your agent's identity.\n- **Password:** The wallet is encrypted. Set `WALLET_PASSWORD` env var or provide it when prompted.\n- **Private Key:** Stored locally in `.bnbagent_state` (encrypted). Do not share this file.\n\n## Usage\n\nCreate a script (or ask me to create one) to manage your identity.\n\n### 1. Register (First Time)\n\nIf you haven't registered on-chain yet:\n\n```python\nimport os\nfrom bnbagent import ERC8004Agent, EVMWalletProvider, AgentEndpoint\n\n# 1. Setup Wallet & SDK\npassword = os.getenv(\"WALLET_PASSWORD\", \"default-secure-password\")\nwallet = EVMWalletProvider(password=password)\nsdk = ERC8004Agent(wallet_provider=wallet, network=\"bsc-testnet\")\n\n# 2. Define Your Identity\nagent_uri = sdk.generate_agent_uri(\n    name=\"My Agent Name\",\n    description=\"I am an autonomous agent running on OpenClaw.\",\n    endpoints=[\n        AgentEndpoint(\n            name=\"activity\",\n            endpoint=\"https://moltbook.com/u/MyAgentName\", # Example: Link to your social profile\n            version=\"1.0.0\"\n        )\n    ]\n)\n\n# 3. Register on BNB Chain (Gasless via Paymaster)\nprint(\"Registering...\")\nresult = sdk.register_agent(agent_uri=agent_uri)\nprint(f\"Success! Agent ID: {result['agentId']}\")\nprint(f\"View registered agents: https://testnet.8004scan.io/agents?chain=97\")\n```\n\n### 2. Check Status\n\n```python\n# Check if you are already registered locally\ninfo = sdk.get_local_agent_info(\"My Agent Name\")\nif info:\n    print(f\"I am registered! Agent ID: {info['agent_id']}\")\n    # Get on-chain details\n    chain_info = sdk.get_agent_info(info['agent_id'])\n    print(f\"On-chain Address: {chain_info['agentAddress']}\")\n```\n\n### 3. Update Identity\n\nIf your endpoints or description change:\n\n```python\nlocal_info = sdk.get_local_agent_info(\"My Agent Name\")\nif local_info:\n    agent_id = local_info['agent_id']\n    \n    # Generate new URI\n    new_uri = sdk.generate_agent_uri(\n        name=\"My Agent Name\",\n        description=\"Updated description.\",\n        endpoints=[...],\n        agent_id=agent_id\n    )\n    \n    # Update on-chain\n    sdk.set_agent_uri(agent_id=agent_id, agent_uri=new_uri)\n    print(\"Identity updated successfully.\")\n```\n\n## Explorers\n\n- **BSC Testnet:** https://testnet.8004scan.io/agents?chain=97\n- **BSC Mainnet:** https://www.8004scan.io/agents?chain=56 (Coming Soon)\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7aryqq7z6xrgnaz3bfpvbh3n80nypk\",\n  \"slug\": \"bnbchain-erc8004-agent\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1770783820956\n}\n\nFile v1.0.3:package.json\n\n{\n  \"name\": \"bnbchain-register-erc8004-agent\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Register and manage on-chain AI agent identity (ERC-8004) on BNB Chain via the bnbagent Python SDK.\",\n  \"author\": \"BNB Chain\",\n  \"license\": \"MIT\",\n  \"scripts\": {}\n}\n\nArchive v1.0.2: 9 files, 20521 bytes\n\nFiles: artifacts/TaskAgent.json (60011b), artifacts/ValidationRegistry.json (25593b), cli.js (6690b), config.json (381b), config/agent.config.js (237b), package-lock.json (4587b), package.json (548b), SKILL.md (3483b), _meta.json (141b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: erc8004-identity\nversion: 1.0.0\ndescription: Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK.\n---\n\n# ERC-8004 Agent Identity\n\nThis skill enables your agent to register and manage its own on-chain identity on BNB Chain using the ERC-8004 standard.\n\n## Features\n\n- **Self-Registration:** Register yourself as an agent (ERC-8004).\n- **Gasless:** Uses MegaFuel Paymaster (BSC Testnet only) for zero-cost registration.\n- **Identity Management:** Update your metadata (URI), endpoints, and description.\n- **Verification:** Users can verify your agent status on [8004scan.io](https://testnet.8004scan.io).\n\n## Installation\n\nThis skill requires the `bnbagent` Python SDK.\n\n```bash\n# Install bnbagent SDK (from test.pypi.org as per release)\npip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6\n\n# Or using uv (recommended for speed)\nuv pip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6\n```\n\n## Security Note\n\nThis skill manages a wallet specifically for your agent's identity.\n- **Password:** The wallet is encrypted. Set `WALLET_PASSWORD` env var or provide it when prompted.\n- **Private Key:** Stored locally in `.bnbagent_state` (encrypted). Do not share this file.\n\n## Usage\n\nCreate a script (or ask me to create one) to manage your identity.\n\n### 1. Register (First Time)\n\nIf you haven't registered on-chain yet:\n\n```python\nimport os\nfrom bnbagent import ERC8004Agent, EVMWalletProvider, AgentEndpoint\n\n# 1. Setup Wallet & SDK\npassword = os.getenv(\"WALLET_PASSWORD\", \"default-secure-password\")\nwallet = EVMWalletProvider(password=password)\nsdk = ERC8004Agent(wallet_provider=wallet, network=\"bsc-testnet\")\n\n# 2. Define Your Identity\nagent_uri = sdk.generate_agent_uri(\n    name=\"My Agent Name\",\n    description=\"I am an autonomous agent running on OpenClaw.\",\n    endpoints=[\n        AgentEndpoint(\n            name=\"activity\",\n            endpoint=\"https://moltbook.com/u/MyAgentName\", # Example: Link to your social profile\n            version=\"1.0.0\"\n        )\n    ]\n)\n\n# 3. Register on BNB Chain (Gasless via Paymaster)\nprint(\"Registering...\")\nresult = sdk.register_agent(agent_uri=agent_uri)\nprint(f\"Success! Agent ID: {result['agentId']}\")\nprint(f\"View registered agents: https://testnet.8004scan.io/agents?chain=97\")\n```\n\n### 2. Check Status\n\n```python\n# Check if you are already registered locally\ninfo = sdk.get_local_agent_info(\"My Agent Name\")\nif info:\n    print(f\"I am registered! Agent ID: {info['agent_id']}\")\n    # Get on-chain details\n    chain_info = sdk.get_agent_info(info['agent_id'])\n    print(f\"On-chain Address: {chain_info['agentAddress']}\")\n```\n\n### 3. Update Identity\n\nIf your endpoints or description change:\n\n```python\nlocal_info = sdk.get_local_agent_info(\"My Agent Name\")\nif local_info:\n    agent_id = local_info['agent_id']\n    \n    # Generate new URI\n    new_uri = sdk.generate_agent_uri(\n        name=\"My Agent Name\",\n        description=\"Updated description.\",\n        endpoints=[...],\n        agent_id=agent_id\n    )\n    \n    # Update on-chain\n    sdk.set_agent_uri(agent_id=agent_id, agent_uri=new_uri)\n    print(\"Identity updated successfully.\")\n```\n\n## Explorers\n\n- **BSC Testnet:** https://testnet.8004scan.io/agents?chain=97\n- **BSC Mainnet:** https://www.8004scan.io/agents?chain=56 (Coming Soon)\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7aryqq7z6xrgnaz3bfpvbh3n80nypk\",\n  \"slug\": \"bnbchain-erc8004-agent\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1770782972313\n}\n\nFile v1.0.2:artifacts/TaskAgent.json\n\n{\n  \"_format\": \"hh-sol-artifact-1\",\n  \"contractName\": \"TaskAgent\",\n  \"sourceName\": \"contracts/TaskAgent.sol\",\n  \"abi\": [\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"_identityRegistry\",\n          \"type\": \"address\"\n        },\n        {\n          \"internalType\": \"address\",\n          \"name\": \"_reputationRegistry\",\n          \"type\": \"address\"\n        },\n        {\n          \"internalType\": \"address\",\n          \"name\": \"_validationRegistry\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"constructor\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"owner\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"OwnableInvalidOwner\",\n      \"type\": \"error\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"account\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"OwnableUnauthorizedAccount\",\n      \"type\": \"error\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"ReentrancyGuardReentrantCall\",\n      \"type\": \"error\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"uint256\",\n          \"name\": \"agentId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"string\",\n          \"name\": \"name\",\n          \"type\": \"string\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"string\",\n          \"name\": \"uri\",\n          \"type\": \"string\"\n        }\n      ],\n      \"name\": \"AgentRegistered\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"previousOwner\",\n          \"type\": \"address\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"newOwner\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"OwnershipTransferred\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"owner\",\n          \"type\": \"address\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"uint256\",\n          \"name\": \"amount\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"PaymentWithdrawn\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"TaskCancelled\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"string\",\n          \"name\": \"outputURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"bytes32\",\n          \"name\": \"outputHash\",\n          \"type\": \"bytes32\"\n        }\n      ],\n      \"name\": \"TaskCompleted\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"disputer\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"TaskDisputed\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"requester\",\n          \"type\": \"address\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"enum TaskAgent.TaskType\",\n          \"name\": \"taskType\",\n          \"type\": \"uint8\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"uint256\",\n          \"name\": \"payment\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"TaskRequested\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"TaskStarted\",\n      \"type\": \"event\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"agentDescription\",\n      \"outputs\": [\n        {\n          \"internalType\": \"string\",\n          \"name\": \"\",\n          \"type\": \"string\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"agentId\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"agentName\",\n      \"outputs\": [\n        {\n          \"internalType\": \"string\",\n          \"name\": \"\",\n          \"type\": \"string\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"agentURI\",\n      \"outputs\": [\n        {\n          \"internalType\": \"string\",\n          \"name\": \"\",\n          \"type\": \"string\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"cancelTask\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"outputURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"outputHash\",\n          \"type\": \"bytes32\"\n        }\n      ],\n      \"name\": \"completeTask\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"disputeTask\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"getAllTaskIds\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256[]\",\n          \"name\": \"\",\n          \"type\": \"uint256[]\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"getReputationSummary\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint64\",\n          \"name\": \"feedbackCount\",\n          \"type\": \"uint64\"\n        },\n        {\n          \"internalType\": \"int128\",\n          \"name\": \"averageRating\",\n          \"type\": \"int128\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"getTask\",\n      \"outputs\": [\n        {\n          \"components\": [\n            {\n              \"internalType\": \"uint256\",\n              \"name\": \"taskId\",\n              \"type\": \"uint256\"\n            },\n            {\n              \"internalType\": \"uint256\",\n              \"name\": \"agentId\",\n              \"type\": \"uint256\"\n            },\n            {\n              \"internalType\": \"address\",\n              \"name\": \"requester\",\n              \"type\": \"address\"\n            },\n            {\n              \"internalType\": \"enum TaskAgent.TaskType\",\n              \"name\": \"taskType\",\n              \"type\": \"uint8\"\n            },\n            {\n              \"internalType\": \"enum TaskAgent.TaskStatus\",\n              \"name\": \"status\",\n              \"type\": \"uint8\"\n            },\n            {\n              \"internalType\": \"string\",\n              \"name\": \"inputURI\",\n              \"type\": \"string\"\n            },\n            {\n              \"internalType\": \"bytes32\",\n              \"name\": \"inputHash\",\n              \"type\": \"bytes32\"\n            },\n            {\n              \"internalType\": \"string\",\n              \"name\": \"outputURI\",\n              \"type\": \"string\"\n            },\n            {\n              \"internalType\": \"bytes32\",\n              \"name\": \"outputHash\",\n              \"type\": \"bytes32\"\n            },\n            {\n              \"internalType\": \"uint256\",\n              \"name\": \"payment\",\n              \"type\": \"uint256\"\n            },\n            {\n              \"internalType\": \"uint256\",\n              \"name\": \"createdAt\",\n              \"type\": \"uint256\"\n            },\n            {\n              \"internalType\": \"uint256\",\n              \"name\": \"completedAt\",\n              \"type\": \"uint256\"\n            }\n          ],\n          \"internalType\": \"struct TaskAgent.Task\",\n          \"name\": \"\",\n          \"type\": \"tuple\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"enum TaskAgent.TaskStatus\",\n          \"name\": \"status\",\n          \"type\": \"uint8\"\n        }\n      ],\n      \"name\": \"getTasksByStatus\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256[]\",\n          \"name\": \"\",\n          \"type\": \"uint256[]\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"getTotalTasks\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"getValidationSummary\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint64\",\n          \"name\": \"validationCount\",\n          \"type\": \"uint64\"\n        },\n        {\n          \"internalType\": \"uint8\",\n          \"name\": \"averageScore\",\n          \"type\": \"uint8\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"int128\",\n          \"name\": \"rating\",\n          \"type\": \"int128\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"comment\",\n          \"type\": \"string\"\n        }\n      ],\n      \"name\": \"giveFeedback\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"identityRegistry\",\n      \"outputs\": [\n        {\n          \"internalType\": \"contract IIdentityRegistry\",\n          \"name\": \"\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"isRegistered\",\n      \"outputs\": [\n        {\n          \"internalType\": \"bool\",\n          \"name\": \"\",\n          \"type\": \"bool\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"owner\",\n      \"outputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"string\",\n          \"name\": \"_name\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"_description\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"_agentURI\",\n          \"type\": \"string\"\n        }\n      ],\n      \"name\": \"registerAgent\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"renounceOwnership\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"reputationRegistry\",\n      \"outputs\": [\n        {\n          \"internalType\": \"contract IReputationRegistry\",\n          \"name\": \"\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"enum TaskAgent.TaskType\",\n          \"name\": \"taskType\",\n          \"type\": \"uint8\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"inputURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"inputHash\",\n          \"type\": \"bytes32\"\n        }\n      ],\n      \"name\": \"requestTask\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"stateMutability\": \"payable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"validator\",\n          \"type\": \"address\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"requestURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"requestHash\",\n          \"type\": \"bytes32\"\n        }\n      ],\n      \"name\": \"requestValidation\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"enum TaskAgent.TaskType\",\n          \"name\": \"taskType\",\n          \"type\": \"uint8\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"price\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"setTaskPrice\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"startTask\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"taskIds\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"enum TaskAgent.TaskType\",\n          \"name\": \"\",\n          \"type\": \"uint8\"\n        }\n      ],\n      \"name\": \"taskPrices\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"tasks\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"taskId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"agentId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"address\",\n          \"name\": \"requester\",\n          \"type\": \"address\"\n        },\n        {\n          \"internalType\": \"enum TaskAgent.TaskType\",\n          \"name\": \"taskType\",\n          \"type\": \"uint8\"\n        },\n        {\n          \"internalType\": \"enum TaskAgent.TaskStatus\",\n          \"name\": \"status\",\n          \"type\": \"uint8\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"inputURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"inputHash\",\n          \"type\": \"bytes32\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"outputURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"outputHash\",\n          \"type\": \"bytes32\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"payment\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"createdAt\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"completedAt\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"newOwner\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"transferOwnership\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"string\",\n          \"name\": \"newURI\",\n          \"type\": \"string\"\n        }\n      ],\n      \"name\": \"updateAgentURI\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"validationRegistry\",\n      \"outputs\": [\n        {\n          \"internalType\": \"contract IValidationRegistry\",\n          \"name\": \"\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"withdraw\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"stateMutability\": \"payable\",\n      \"type\": \"receive\"\n    }\n  ],\n  \"bytecode\": \"0x6080346200016957601f620029c038819003918201601f191683019291906001600160401b038411838510176200016e5781606092849260409687528339810103126200016957620000518162000184565b906200006d83620000656020840162000184565b920162000184565b9133156200015157600080546001600160a01b0319808216339081178455662386f26fc10000968896949592946001600160a01b039491938593919284929083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08a80a3600180556001600755168560025416176002551683600354161760035516906004541617600455808052600a60205266038d7ea4c6800082822055600181526611c37937e080008282205560028152660aa87bee538000828220556003815266071afd498d0000828220556004815220555161282690816200019a8239f35b8351631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001695756fe6080604052600436101561001b575b361561001957600080fd5b005b6000803560e01c8063085945a7146120685780630e811ea814611fa0578063134e18f414611f775780631579259b14611e095780631d65e77e14611c225780632236684414611bff57806329a1342414611b7d57806339118d2514611b445780633c19804e14611ab05780633c93b90514611a925780633ccfd60b146119aa5780633e8b82a9146119165780634c6b993a146118ed57806356a2d6601461125a5780635f944326146111e3578063622e8f0914610d85578063715018a614610d2b5780637eec20a814610c485780638d97767214610b575780638da5cb5b14610b305780638e5a654a14610a5c57806397d9c23e146109685780639f1a4313146108555780639f34dace146106d55780639ffe8471146104e1578063c8db44e3146104b8578063e84f43b71461049a578063ec7304a1146103a5578063efdc193f14610364578063f2fde38b146102d45763ff10aae41461017c575061000e565b346102b657806003196060368201126102d1576024359081600f0b8092036102cd576044356001600160401b0381116102c8576101bd9036906004016120c4565b6004358552600860205260408520600201546001600160a01b039492906102119060ff906101ee8882163314612579565b6102086002838360a81c166102028161212c565b146125b9565b60a01c16612689565b94600354169160055491833b156102c4578795866020610276604094839661026687519d8e9c8d9b631e01b53f60e11b8d5260048d015260248c01528660448c015261010060648c01526101048b019061214c565b91868a84030160848b015261248e565b86810393840160a4880152828152601c840160c488015201528260e485015201925af180156102b9576102a65750f35b6102af906121fd565b6102b65780f35b80fd5b6040513d84823e3d90fd5b8780fd5b505050fd5b5050fd5b50fd5b50346102b65760203660031901126102b6576102ee6120a9565b6102f6612329565b6001600160a01b0390811690811561034b57600054826bffffffffffffffffffffffff60a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b604051631e4fbdf760e01b815260048101849052602490fd5b50346102b65760203660031901126102b65760043560058110156103a1576020918161039160409361212c565b8152600a83522054604051908152f35b5080fd5b50346102b65760031981813601126103a15760408051610405926103c882612247565b84825260018060a01b0360045416906020600554918786519788968795630dbe55eb60e11b8752600487015260606024870152606486019061264c565b84810392830160448601525201915afa91821561048e5780918193610440575b604080516001600160401b038516815260ff86166020820152f35b915091506040813d604011610486575b8161045d60409383612262565b810103126103a1576040915060ff61048060206104798461262a565b930161263e565b92610425565b3d9150610450565b604051903d90823e3d90fd5b50346102b657806003193601126102b6576020600554604051908152f35b50346102b657806003193601126102b6576003546040516001600160a01b039091168152602090f35b50346102b65760603660031901126102b6576001600160401b03906004356024358381116106d1576105179036906004016120c4565b604435610522612329565b8385526020906008825260408620600281019788549860ff8a60a81c16996105498b61212c565b6001809b036106955760ff60a81b1916600160a91b17905560058201908511610681576105808561057a83546121c3565b836123b4565b8798601f8611600114610604578580918a9b7fdaaa8c45dfeea33ccb066e8f974e367fcfb6c12167911fa811a54900b01d14779a9b936105f9575b501b906000198760031b1c19161790555b8160068201556009429101556105ef60405194859460408652604086019161248e565b918301520390a280f35b8901359250386105bb565b818952848920601f1987169a8a5b8c811061066c5750877fdaaa8c45dfeea33ccb066e8f974e367fcfb6c12167911fa811a54900b01d14779a9b9c10610652575b505085811b0190556105cc565b880135600019600389901b60f8161c191690553880610645565b89820135835591830191908701908701610612565b634e487b7160e01b88526041600452602488fd5b60405162461bcd60e51b81526004810187905260146024820152735461736b206e6f7420696e2070726f677265737360601b6044820152606490fd5b8280fd5b50346102b657602090816003193601126102b6576001600160401b036004358181116106d1576107099036906004016120c4565b91610712612329565b61072060ff600654166124af565b82116108415761073a82610735600d546121c3565b612355565b8293601f83116001146107d0575081839484916107c5575b508260011b906000198460031b1c191617600d555b60025460055491906001600160a01b0316803b156107c1576107b09385809460405196879586948593630af28bd360e01b8552600485015260406024850152604484019161248e565b03925af180156102b9576102a65750f35b8480fd5b905081013538610752565b600d8452601f198316946000805160206127b18339815191529185905b8782106108295750508385961061080f575b5050600182811b01600d55610767565b820135600019600385901b60f8161c1916905538806107ff565b806001849582949588013581550194019201906107ed565b634e487b7160e01b83526041600452602483fd5b50346102b65760031981813601126103a1579060606108ba926040519061087b82612247565b83825260018060a01b0360035416906040600554918660208351998a978896631037774b60e31b8852600488015260806024880152608487019061264c565b8581039384016044870152828152601c84016064870152015201915afa801561095b57818091610901575b604083836001600160401b03835192168252600f0b6020820152f35b9150506060823d8211610953575b8161091c60609383612262565b810103126102b65761092d8261262a565b60208301519182600f0b83036102b6575061094b604080940161263e565b5090386108e5565b3d915061090f565b50604051903d90823e3d90fd5b50346102b65760203660031901126102b65760043580825260086020526040822060028101805490916009906109a86001600160a01b0384163314612579565b6109bd600260ff8560a81c166102028161212c565b015462093a808101809111610a48574211610a0a5760ff60a81b1916600360a81b17905533907f4c876e9aba8144edd2840298ef3fd0d8735009124d7a0185a41b12680c0937828380a380f35b60405162461bcd60e51b8152602060048201526016602482015275111a5cdc1d5d19481c195c9a5bd908195e1c1a5c995960521b6044820152606490fd5b634e487b7160e01b85526011600452602485fd5b50346102b657806003193601126102b6576040516000600c54610a7e816121c3565b80845290600190818116908115610b095750600114610ac0575b610abc84610aa881860382612262565b60405191829160208352602083019061214c565b0390f35b600c600090815292506000805160206127918339815191525b828410610af1575050508101602001610aa882610a98565b80546020858701810191909152909301928101610ad9565b60ff191660208087019190915292151560051b85019092019250610aa89150839050610a98565b50346102b657806003193601126102b657546040516001600160a01b039091168152602090f35b50346102b65760203660031901126102b657604060209160043581526008835220805490600181015460028201549160ff8360a01c1692610c2b60ff8260a81c16610ba460038501612283565b90610c18600486015492610bba60058801612283565b92600688015499600789015497600960088b01549a01549a6040519e8f9e8f908152015260018060a01b031660408d0152610bf48161212c565b60608c0152610c028161212c565b60808b01526101808060a08c01528a019061214c565b9160c089015287820360e089015261214c565b936101008601526101208501526101408401526101608301520390f35b50346102b65760203660031901126102b657600435610c65612517565b808252600860205281808080600760408220600281018054610c903360018060a01b03831614612579565b610ca960ff8260a81c16610ca38161212c565b1561253a565b60ff60a81b1916600160aa1b1790550154335af1610cc56125fa565b5015610cf6577fc6eacc3aa5b2aa77b5a826b832a804ca0b71830ec74f9aa57a15edd978c31ed68280a26001805580f35b60405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606490fd5b50346102b657806003193601126102b657610d44612329565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5060603660031901126102b657600560043510156102b6576024356001600160401b0381116103a157610dbc9036906004016120c4565b610dc4612517565b610dd260ff600654166124af565b610ddd60043561212c565b6004358352600a602052604083205434106111a757610e4460075492610e02846124f2565b6007556005549260405193610e1685612210565b8585526020850152336040850152610e2f60043561212c565b6004356060850152856080850152369161243a565b60a082015260443560c0820152604051610e5d81612247565b83815260e0820152826101008201523461012082015242610140820152826101608201528183526008602052604083209080518255602081015160018301556002820160018060a01b03604083015116815490606084015190610ebf8261212c565b610ec88261212c565b6080850151610ed68161212c565b610edf8161212c565b60ff60a81b9060a81b169269ffffffffffffffffffff60b01b16179060ff60a01b9060a01b161717905560a08101518051906001600160401b038211611119578190610f3b82610f3260038801546121c3565b600388016123b4565b602090601f831160011461113857879261112d575b50508160011b916000199060031b1c19161760038301555b60c0810151600483015560e08101518051906001600160401b03821161111957610fa282610f9960058701546121c3565b600587016123b4565b602090601f83116001146110a65791806009949261016094899261109b575b50508160011b916000199060031b1c19161760058501555b6101008101516006850155610120810151600785015561014081015160088501550151910155600954916801000000000000000083101561108757506110278260016020940160095561218c565b81549060031b9083821b91600019901b191617905560405161104a60043561212c565b60043581523483820152817f1cb2bb7d84ee9bfc6a41858d224af0767d7dca3c482842f56f4b1ae33f0b5fdb60403393a360018055604051908152f35b634e487b7160e01b81526041600452602490fd5b015190503880610fc1565b906005850187526020872091875b601f1985168110611101575092600994926001926101609583601f198116106110e8575b505050811b016005850155610fd9565b015160001960f88460031b161c191690553880806110d8565b919260206001819286850151815501940192016110b4565b634e487b7160e01b86526041600452602486fd5b015190503880610f50565b9250600385018752602087209087935b601f198416851061118c576001945083601f19811610611173575b505050811b016003830155610f68565b015160001960f88460031b161c19169055388080611163565b81810151835560209485019460019093019290910190611148565b60405162461bcd60e51b8152602060048201526014602482015273125b9cdd59999a58da595b9d081c185e5b595b9d60621b6044820152606490fd5b50346102b65760203660031901126102b657600435611200612329565b808252600860205260026040832001805461122460ff8260a81c16610ca38161212c565b60ff60a81b1916600160a81b1790557fa20ac7f16cfb4313b156d64f380ccd1f8276f438d0b621eb33db07cfc639da478280a280f35b50346102b65760603660031901126102b6576004356001600160401b0381116103a15761128b9036906004016120c4565b906024356001600160401b0381116118e9576112ab9036906004016120c4565b9190926044356001600160401b0381116118e5576112cd9036906004016120c4565b906112d6612329565b60ff600654166118ab576001600160401b0383116116cd576112f9600b546121c3565b601f8111611842575b508287601f82116001146117d15788916117c6575b508360011b906000198560031b1c191617600b555b6001600160401b0385116116cd57611345600c546121c3565b601f811161175d575b508487601f82116001146116ec5788916116e1575b508560011b906000198760031b1c191617600c555b6001600160401b0382116116cd5761139582610735600d546121c3565b8187601f821160011461165c578891611651575b508260011b906000198460031b1c191617600d555b60405194606086018681106001600160401b0382111761163b5760405260028652958795865b6040811061160b5750604051976113fa8961222c565b61147d6040519361140a8561222c565b6004855260209a85636e616d6560e01b8d80980152815261142c368a8c61243a565b8682015261143985612471565b5261144384612471565b50604051926114518461222c565b60405161145d8161222c565b600b81526a3232b9b1b934b83a34b7b760a91b878201528452369161243a565b8382015261148a8261247e565b526114948161247e565b5060018060a01b0360025416604051978892634752114360e11b8452604060048501526114c560448501888861248e565b60031985820301602486015281518082528682019187808360051b83010194019285915b8383106115b55750505050509083809203925af19485156115aa57879561156f575b50946115699185967fa076203706e492f79ad9a4b71bb8a43ae37498c378385d379c5a829e9194643a96600555600160ff19600654161760065561155c60405196879660408852604088019161248e565b928584039086015261248e565b0390a280f35b919450948082813d83116115a3575b6115888183612262565b8101031261159f579051909490939061156961150b565b8680fd5b503d61157e565b6040513d89823e3d90fd5b9397509388919550976115f66001939799601f19868203018752895190836115e6835160408452604084019061214c565b920151908481840391015261214c565b970193019301938c96948e948d9794936114e9565b602091975060409892985161161f8161222c565b6060815282606081830152828a010152019588969791976113e4565b634e487b7160e01b600052604160045260246000fd5b9050810135386113a9565b600d89526000805160206127b18339815191529150885b601f19851681106116b5575083601f1981161061169b575b5050600182811b01600d556113be565b820135600019600385901b60f8161c19169055388061168b565b90916020600181928587013581550193019101611673565b634e487b7160e01b87526041600452602487fd5b905086013538611363565b600c89526000805160206127918339815191529150885b601f1988168110611745575086601f1981161061172b575b5050600185811b01600c55611378565b870135600019600388901b60f8161c19169055388061171b565b9091602060018192858c013581550193019101611703565b600c600052601f860160051c60008051602061279183398151915201602087106117b1575b601f820160051c6000805160206127918339815191520181106117a5575061134e565b60008155600101611782565b50600080516020612791833981519152611782565b905084013538611317565b600b89526000805160206127d18339815191529150885b601f198616811061182a575084601f19811610611810575b5050600183811b01600b5561132c565b850135600019600386901b60f8161c191690553880611800565b9091602060018192858a0135815501930191016117e8565b600b600052601f840160051c6000805160206127d18339815191520160208510611896575b601f820160051c6000805160206127d183398151915201811061188a5750611302565b60008155600101611867565b506000805160206127d1833981519152611867565b60405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152606490fd5b8580fd5b8380fd5b50346102b657806003193601126102b6576004546040516001600160a01b039091168152602090f35b50346102b657806003193601126102b6576040516000600d54611938816121c3565b80845290600190818116908115610b09575060011461196157610abc84610aa881860382612262565b600d600090815292506000805160206127b18339815191525b828410611992575050508101602001610aa882610a98565b8054602085870181019190915290930192810161197a565b50346102b657806003193601126102b6576119c3612329565b6119cb612517565b478015611a54578180808084335af16119e26125fa565b5015611a1b576040519081527f84511ecc081974f18e7f3e0dcc19db078b55bbd3852ddd0dd85b3aebb7bf94c260203392a26001805580f35b60405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260166024820152754e6f2062616c616e636520746f20776974686472617760501b6044820152606490fd5b50346102b657806003193601126102b6576020600954604051908152f35b50346102b657806003193601126102b6576040516000600b54611ad2816121c3565b80845290600190818116908115610b095750600114611afb57610abc84610aa881860382612262565b600b600090815292506000805160206127d18339815191525b828410611b2c575050508101602001610aa882610a98565b80546020858701810191909152909301928101611b14565b50346102b65760203660031901126102b657600435906009548210156102b6576020611b6f8361218c565b90546040519160031b1c8152f35b50346102b657806003193601126102b657604051600980548083529083526020808301937f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af92915b828210611be857610abc85611bdc81890382612262565b604051918291826120f1565b835486529485019460019384019390910190611bc5565b50346102b657806003193601126102b657602060ff600654166040519015158152f35b50346102b65760203660031901126102b657806040916101608351611c4681612210565b8281528260208201528285820152826060820152826080820152606060a08201528260c0820152606060e082015282610100820152826101208201528261014082015201526004358152600860205220600960405191611ca583612210565b805483526001810154602084015260028101546001600160a01b038116604085015260ff9060a081901c8216611cda8161212c565b606086015260a81c16611cec8161212c565b6080840152611cfd60038201612283565b60a0840152600481015460c0840152611d1860058201612283565b60e08401526006810154610100840152600781015461012084015260088101546101408401520154610160820152604051809160208252805160208301526020810151604083015260018060a01b0360408201511660608301526060810151611d808161212c565b60808301526080810151611d938161212c565b60a083015260a0810151610160611ddc611dbb610180938460c08801526101a087019061214c565b60c085015160e087015260e0850151601f198783030161010088015261214c565b92610100810151610120860152610120810151610140860152610140810151828601520151908301520390f35b50346102b6576020806003193601126103a157600591600435838110156103a157819282600954935b848110611f175750611e4385612408565b94611e516040519687612262565b808652611e60601f1991612408565b0136838701378092815b858110611e7f5760405180610abc89826120f1565b611e888161218c565b9054600391821b1c8452600885528260ff600260408720015460a81c16611eae8261212c565b611eb78161212c565b14611ecc575b50611ec7906124f2565b611e6a565b611ed782969261218c565b9054911b1c94611ee6826124f2565b958851831015611f015785611ec7938b1b8a01015290611ebd565b634e487b7160e01b600052603260045260246000fd5b611f208161218c565b90549060031b1c8252600883528360ff600260408520015460a81c16611f458261212c565b611f4e8161212c565b14611f62575b611f5d906124f2565b611e32565b94611f6f611f5d916124f2565b959050611f54565b50346102b657806003193601126102b6576002546040516001600160a01b039091168152602090f35b50346102b65760603660031901126102b657611fba6120a9565b816024356001600160401b0381116103a157611fda9036906004016120c4565b9290611fe4612329565b611ff260ff600654166124af565b600454600554926001600160a01b039182169290833b156118e557612042869260405198899788968795632abd003160e21b8752166004860152602485015260806044850152608484019161248e565b604435606483015203925af180156102b95761205c575080f35b612065906121fd565b80f35b50346102b65760403660031901126102b65760043560058110156103a15761208e612329565b6120978161212c565b8152600a602052602435604082205580f35b600435906001600160a01b03821682036120bf57565b600080fd5b9181601f840112156120bf578235916001600160401b0383116120bf57602083818601950101116120bf57565b6020908160408183019282815285518094520193019160005b828110612118575050505090565b83518552938101939281019260010161210a565b6005111561213657565b634e487b7160e01b600052602160045260246000fd5b919082519283825260005b848110612178575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201612157565b600954811015611f015760096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190600090565b90600182811c921680156121f3575b60208310146121dd57565b634e487b7160e01b600052602260045260246000fd5b91607f16916121d2565b6001600160401b03811161163b57604052565b61018081019081106001600160401b0382111761163b57604052565b604081019081106001600160401b0382111761163b57604052565b602081019081106001600160401b0382111761163b57604052565b90601f801991011681019081106001600160401b0382111761163b57604052565b9060405191826000825492612297846121c3565b90818452600194858116908160001461230657506001146122c3575b50506122c192500383612262565b565b9093915060005260209081600020936000915b8183106122ee5750506122c1935082010138806122b3565b855488840185015294850194879450918301916122d6565b9150506122c194506020925060ff191682840152151560051b82010138806122b3565b6000546001600160a01b0316330361233d57565b60405163118cdaa760e01b8152336004820152602490fd5b601f8111612361575050565b600090600d82526000805160206127b1833981519152906020601f850160051c830194106123aa575b601f0160051c01915b82811061239f57505050565b818155600101612393565b909250829061238a565b90601f81116123c257505050565b600091825260208220906020601f850160051c830194106123fe575b601f0160051c01915b8281106123f357505050565b8181556001016123e7565b90925082906123de565b6001600160401b03811161163b5760051b60200190565b6001600160401b03811161163b57601f01601f191660200190565b9291926124468261241f565b916124546040519384612262565b8294818452818301116120bf578281602093846000960137010152565b805115611f015760200190565b805160011015611f015760400190565b908060209392818452848401376000828201840152601f01601f1916010190565b156124b657565b60405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606490fd5b60001981146125015760010190565b634e487b7160e01b600052601160045260246000fd5b600260015414612528576002600155565b604051633ee5aeb560e01b8152600490fd5b1561254157565b60405162461bcd60e51b815260206004820152601060248201526f5461736b206e6f742070656e64696e6760801b6044820152606490fd5b1561258057565b60405162461bcd60e51b81526020600482015260116024820152702737ba103a3432903932b8bab2b9ba32b960791b6044820152606490fd5b156125c057565b60405162461bcd60e51b815260206004820152601260248201527115185cdac81b9bdd0818dbdb5c1b195d195960721b6044820152606490fd5b3d15612625573d9061260b8261241f565b916126196040519384612262565b82523d6000602084013e565b606090565b51906001600160401b03821682036120bf57565b519060ff821682036120bf57565b90815180825260208080930193019160005b82811061266c575050505090565b83516001600160a01b03168552938101939281019260010161265e565b6126928161212c565b8015612766576126a18161212c565b6001811461273e576126b28161212c565b6002811461271457806126c660039261212c565b146126ed576040516126d78161222c565b6006815265637573746f6d60d01b602082015290565b6040516126f98161222c565b600b81526a3a3930b739b630ba34b7b760a91b602082015290565b506040516127218161222c565b600d81526c646174612d616e616c7973697360981b602082015290565b5060405161274b8161222c565b600b81526a636f64652d72657669657760a81b602082015290565b506040516127738161222c565b600d81526c39bab6b6b0b934bd30ba34b7b760991b60208201529056fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9a26469706673582212207821485a4429c84ff9ae8b13038c61e24c22307c32f88821d79caf60be2cbf4b64736f6c63430008140033\",\n  \"deployedBytecode\": \"0x6080604052600436101561001b575b361561001957600080fd5b005b6000803560e01c8063085945a7146120685780630e811ea814611fa0578063134e18f414611f775780631579259b14611e095780631d65e77e14611c225780632236684414611bff57806329a1342414611b7d57806339118d2514611b445780633c19804e14611ab05780633c93b90514611a925780633ccfd60b146119aa5780633e8b82a9146119165780634c6b993a146118ed57806356a2d6601461125a5780635f944326146111e3578063622e8f0914610d85578063715018a614610d2b5780637eec20a814610c485780638d97767214610b575780638da5cb5b14610b305780638e5a654a14610a5c57806397d9c23e146109685780639f1a4313146108555780639f34dace146106d55780639ffe8471146104e1578063c8db44e3146104b8578063e84f43b71461049a578063ec7304a1146103a5578063efdc193f14610364578063f2fde38b146102d45763ff10aae41461017c575061000e565b346102b657806003196060368201126102d1576024359081600f0b8092036102cd576044356001600160401b0381116102c8576101bd9036906004016120c4565b6004358552600860205260408520600201546001600160a01b039492906102119060ff906101ee8882163314612579565b6102086002838360a81c166102028161212c565b146125b9565b60a01c16612689565b94600354169160055491833b156102c4578795866020610276604094839661026687519d8e9c8d9b631e01b53f60e11b8d5260048d015260248c01528660448c015261010060648c01526101048b019061214c565b91868a84030160848b015261248e565b86810393840160a4880152828152601c840160c488015201528260e485015201925af180156102b9576102a65750f35b6102af906121fd565b6102b65780f35b80fd5b6040513d84823e3d90fd5b8780fd5b505050fd5b5050fd5b50fd5b50346102b65760203660031901126102b6576102ee6120a9565b6102f6612329565b6001600160a01b0390811690811561034b57600054826bffffffffffffffffffffffff60a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b604051631e4fbdf760e01b815260048101849052602490fd5b50346102b65760203660031901126102b65760043560058110156103a1576020918161039160409361212c565b8152600a83522054604051908152f35b5080fd5b50346102b65760031981813601126103a15760408051610405926103c882612247565b84825260018060a01b0360045416906020600554918786519788968795630dbe55eb60e11b8752600487015260606024870152606486019061264c565b84810392830160448601525201915afa91821561048e5780918193610440575b604080516001600160401b038516815260ff86166020820152f35b915091506040813d604011610486575b8161045d60409383612262565b810103126103a1576040915060ff61048060206104798461262a565b930161263e565b92610425565b3d9150610450565b604051903d90823e3d90fd5b50346102b657806003193601126102b6576020600554604051908152f35b50346102b657806003193601126102b6576003546040516001600160a01b039091168152602090f35b50346102b65760603660031901126102b6576001600160401b03906004356024358381116106d1576105179036906004016120c4565b604435610522612329565b8385526020906008825260408620600281019788549860ff8a60a81c16996105498b61212c565b6001809b036106955760ff60a81b1916600160a91b17905560058201908511610681576105808561057a83546121c3565b836123b4565b8798601f8611600114610604578580918a9b7fdaaa8c45dfeea33ccb066e8f974e367fcfb6c12167911fa811a54900b01d14779a9b936105f9575b501b906000198760031b1c19161790555b8160068201556009429101556105ef60405194859460408652604086019161248e565b918301520390a280f35b8901359250386105bb565b818952848920601f1987169a8a5b8c811061066c5750877fdaaa8c45dfeea33ccb066e8f974e367fcfb6c12167911fa811a54900b01d14779a9b9c10610652575b505085811b0190556105cc565b880135600019600389901b60f8161c191690553880610645565b89820135835591830191908701908701610612565b634e487b7160e01b88526041600452602488fd5b60405162461bcd60e51b81526004810187905260146024820152735461736b206e6f7420696e2070726f677265737360601b6044820152606490fd5b8280fd5b50346102b657602090816003193601126102b6576001600160401b036004358181116106d1576107099036906004016120c4565b91610712612329565b61072060ff600654166124af565b82116108415761073a82610735600d546121c3565b612355565b8293601f83116001146107d0575081839484916107c5575b508260011b906000198460031b1c191617600d555b60025460055491906001600160a01b0316803b156107c1576107b09385809460405196879586948593630af28bd360e01b8552600485015260406024850152604484019161248e565b03925af180156102b9576102a65750f35b8480fd5b905081013538610752565b600d8452601f198316946000805160206127b18339815191529185905b8782106108295750508385961061080f575b5050600182811b01600d55610767565b820135600019600385901b60f8161c1916905538806107ff565b806001849582949588013581550194019201906107ed565b634e487b7160e01b83526041600452602483fd5b50346102b65760031981813601126103a1579060606108ba926040519061087b82612247565b83825260018060a01b0360035416906040600554918660208351998a978896631037774b60e31b8852600488015260806024880152608487019061264c565b8581039384016044870152828152601c84016064870152015201915afa801561095b57818091610901575b604083836001600160401b03835192168252600f0b6020820152f35b9150506060823d8211610953575b8161091c60609383612262565b810103126102b65761092d8261262a565b60208301519182600f0b83036102b6575061094b604080940161263e565b5090386108e5565b3d915061090f565b50604051903d90823e3d90fd5b50346102b65760203660031901126102b65760043580825260086020526040822060028101805490916009906109a86001600160a01b0384163314612579565b6109bd600260ff8560a81c166102028161212c565b015462093a808101809111610a48574211610a0a5760ff60a81b1916600360a81b17905533907f4c876e9aba8144edd2840298ef3fd0d8735009124d7a0185a41b12680c0937828380a380f35b60405162461bcd60e51b8152602060048201526016602482015275111a5cdc1d5d19481c195c9a5bd908195e1c1a5c995960521b6044820152606490fd5b634e487b7160e01b85526011600452602485fd5b50346102b657806003193601126102b6576040516000600c54610a7e816121c3565b80845290600190818116908115610b095750600114610ac0575b610abc84610aa881860382612262565b60405191829160208352602083019061214c565b0390f35b600c600090815292506000805160206127918339815191525b828410610af1575050508101602001610aa882610a98565b80546020858701810191909152909301928101610ad9565b60ff191660208087019190915292151560051b85019092019250610aa89150839050610a98565b50346102b657806003193601126102b657546040516001600160a01b039091168152602090f35b50346102b65760203660031901126102b657604060209160043581526008835220805490600181015460028201549160ff8360a01c1692610c2b60ff8260a81c16610ba460038501612283565b90610c18600486015492610bba60058801612283565b92600688015499600789015497600960088b01549a01549a6040519e8f9e8f908152015260018060a01b031660408d0152610bf48161212c565b60608c0152610c028161212c565b60808b01526101808060a08c01528a019061214c565b9160c089015287820360e089015261214c565b936101008601526101208501526101408401526101608301520390f35b50346102b65760203660031901126102b657600435610c65612517565b808252600860205281808080600760408220600281018054610c903360018060a01b03831614612579565b610ca960ff8260a81c16610ca38161212c565b1561253a565b60ff60a81b1916600160aa1b1790550154335af1610cc56125fa565b5015610cf6577fc6eacc3aa5b2aa77b5a826b832a804ca0b71830ec74f9aa57a15edd978c31ed68280a26001805580f35b60405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606490fd5b50346102b657806003193601126102b657610d44612329565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5060603660031901126102b657600560043510156102b6576024356001600160401b0381116103a157610dbc9036906004016120c4565b610dc4612517565b610dd260ff600654166124af565b610ddd60043561212c565b6004358352600a602052604083205434106111a757610e4460075492610e02846124f2565b6007556005549260405193610e1685612210565b8585526020850152336040850152610e2f60043561212c565b6004356060850152856080850152369161243a565b60a082015260443560c0820152604051610e5d81612247565b83815260e0820152826101008201523461012082015242610140820152826101608201528183526008602052604083209080518255602081015160018301556002820160018060a01b03604083015116815490606084015190610ebf8261212c565b610ec88261212c565b6080850151610ed68161212c565b610edf8161212c565b60ff60a81b9060a81b169269ffffffffffffffffffff60b01b16179060ff60a01b9060a01b161717905560a08101518051906001600160401b038211611119578190610f3b82610f3260038801546121c3565b600388016123b4565b602090601f831160011461113857879261112d575b50508160011b916000199060031b1c19161760038301555b60c0810151600483015560e08101518051906001600160401b03821161111957610fa282610f9960058701546121c3565b600587016123b4565b602090601f83116001146110a65791806009949261016094899261109b575b50508160011b916000199060031b1c19161760058501555b6101008101516006850155610120810151600785015561014081015160088501550151910155600954916801000000000000000083101561108757506110278260016020940160095561218c565b81549060031b9083821b91600019901b191617905560405161104a60043561212c565b60043581523483820152817f1cb2bb7d84ee9bfc6a41858d224af0767d7dca3c482842f56f4b1ae33f0b5fdb60403393a360018055604051908152f35b634e487b7160e01b81526041600452602490fd5b015190503880610fc1565b906005850187526020872091875b601f1985168110611101575092600994926001926101609583601f198116106110e8575b505050811b016005850155610fd9565b015160001960f88460031b161c191690553880806110d8565b919260206001819286850151815501940192016110b4565b634e487b7160e01b86526041600452602486fd5b015190503880610f50565b9250600385018752602087209087935b601f198416851061118c576001945083601f19811610611173575b505050811b016003830155610f68565b015160001960f88460031b161c19169055388080611163565b81810151835560209485019460019093019290910190611148565b60405162461bcd60e51b8152602060048201526014602482015273125b9cdd59999a58da595b9d081c185e5b595b9d60621b6044820152606490fd5b50346102b65760203660031901126102b657600435611200612329565b808252600860205260026040832001805461122460ff8260a81c16610ca38161212c565b60ff60a81b1916600160a81b1790557fa20ac7f16cfb4313b156d64f380ccd1f8276f438d0b621eb33db07cfc639da478280a280f35b50346102b65760603660031901126102b6576004356001600160401b0381116103a15761128b9036906004016120c4565b906024356001600160401b0381116118e9576112ab9036906004016120c4565b9190926044356001600160401b0381116118e5576112cd9036906004016120c4565b906112d6612329565b60ff600654166118ab576001600160401b0383116116cd576112f9600b546121c3565b601f8111611842575b508287601f82116001146117d15788916117c6575b508360011b906000198560031b1c191617600b555b6001600160401b0385116116cd57611345600c546121c3565b601f811161175d575b508487601f82116001146116ec5788916116e1575b508560011b906000198760031b1c191617600c555b6001600160401b0382116116cd5761139582610735600d546121c3565b8187601f821160011461165c578891611651575b508260011b906000198460031b1c191617600d555b60405194606086018681106001600160401b0382111761163b5760405260028652958795865b6040811061160b5750604051976113fa8961222c565b61147d6040519361140a8561222c565b6004855260209a85636e616d6560e01b8d80980152815261142c368a8c61243a565b8682015261143985612471565b5261144384612471565b50604051926114518461222c565b60405161145d8161222c565b600b81526a3232b9b1b934b83a34b7b760a91b878201528452369161243a565b8382015261148a8261247e565b526114948161247e565b5060018060a01b0360025416604051978892634752114360e11b845260406004850\n\nFile v1.0.2:artifacts/ValidationRegistry.json\n\n{\n  \"_format\": \"hh-sol-artifact-1\",\n  \"contractName\": \"ValidationRegistry\",\n  \"sourceName\": \"contracts/ValidationRegistry.sol\",\n  \"abi\": [\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"_identityRegistry\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"constructor\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"owner\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"OwnableInvalidOwner\",\n      \"type\": \"error\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"account\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"OwnableUnauthorizedAccount\",\n      \"type\": \"error\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"previousOwner\",\n          \"type\": \"address\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"newOwner\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"OwnershipTransferred\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"validatorAddress\",\n          \"type\": \"address\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"uint256\",\n          \"name\": \"agentId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"string\",\n          \"name\": \"requestURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"bytes32\",\n          \"name\": \"requestHash\",\n          \"type\": \"bytes32\"\n        }\n      ],\n      \"name\": \"ValidationRequest\",\n      \"type\": \"event\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"validatorAddress\",\n          \"type\": \"address\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"uint256\",\n          \"name\": \"agentId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"bytes32\",\n          \"name\": \"requestHash\",\n          \"type\": \"bytes32\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"uint8\",\n          \"name\": \"response\",\n          \"type\": \"uint8\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"string\",\n          \"name\": \"responseURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"bytes32\",\n          \"name\": \"responseHash\",\n          \"type\": \"bytes32\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"string\",\n          \"name\": \"tag\",\n          \"type\": \"string\"\n        }\n      ],\n      \"name\": \"ValidationResponse\",\n      \"type\": \"event\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"agentId\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"getAgentValidations\",\n      \"outputs\": [\n        {\n          \"internalType\": \"bytes32[]\",\n          \"name\": \"requestHashes\",\n          \"type\": \"bytes32[]\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"getIdentityRegistry\",\n      \"outputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"agentId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"address[]\",\n          \"name\": \"validatorAddresses\",\n          \"type\": \"address[]\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"tag\",\n          \"type\": \"string\"\n        }\n      ],\n      \"name\": \"getSummary\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint64\",\n          \"name\": \"count\",\n          \"type\": \"uint64\"\n        },\n        {\n          \"internalType\": \"uint8\",\n          \"name\": \"averageResponse\",\n          \"type\": \"uint8\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"requestHash\",\n          \"type\": \"bytes32\"\n        }\n      ],\n      \"name\": \"getValidationStatus\",\n      \"outputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"validatorAddress\",\n          \"type\": \"address\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"agentId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"uint8\",\n          \"name\": \"response\",\n          \"type\": \"uint8\"\n        },\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"responseHash\",\n          \"type\": \"bytes32\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"tag\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"lastUpdate\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"validatorAddress\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"getValidatorRequests\",\n      \"outputs\": [\n        {\n          \"internalType\": \"bytes32[]\",\n          \"name\": \"requestHashes\",\n          \"type\": \"bytes32[]\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"identityRegistry\",\n      \"outputs\": [\n        {\n          \"internalType\": \"contract IIdentityRegistry\",\n          \"name\": \"\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"requestHash\",\n          \"type\": \"bytes32\"\n        }\n      ],\n      \"name\": \"isValidationComplete\",\n      \"outputs\": [\n        {\n          \"internalType\": \"bool\",\n          \"name\": \"\",\n          \"type\": \"bool\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"owner\",\n      \"outputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"\",\n          \"type\": \"address\"\n        }\n      ],\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [],\n      \"name\": \"renounceOwnership\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"newOwner\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"transferOwnership\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"validatorAddress\",\n          \"type\": \"address\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"agentId\",\n          \"type\": \"uint256\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"requestURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"requestHash\",\n          \"type\": \"bytes32\"\n        }\n      ],\n      \"name\": \"validationRequest\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"inputs\": [\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"requestHash\",\n          \"type\": \"bytes32\"\n        },\n        {\n          \"internalType\": \"uint8\",\n          \"name\": \"response\",\n          \"type\": \"uint8\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"responseURI\",\n          \"type\": \"string\"\n        },\n        {\n          \"internalType\": \"bytes32\",\n          \"name\": \"responseHash\",\n          \"type\": \"bytes32\"\n        },\n        {\n          \"internalType\": \"string\",\n          \"name\": \"tag\",\n          \"type\": \"string\"\n        }\n      ],\n      \"name\": \"validationResponse\",\n      \"outputs\": [],\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    }\n  ],\n  \"bytecode\": \"0x60a0346100d657601f61110238819003918201601f19168301916001600160401b038311848410176100db578084926020946040528339810103126100d657516001600160a01b0390818116908190036100d65733156100bd576000543360018060a01b0319821617600055604051923391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360805261101090816100f28239608051818181610215015281816102a40152610d240152f35b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60e090600035821c908163134e18f414610d11575080631b7cabd614610a925780633d659a96146107c65780634bf3158c1461074e5780635fe5bd091461071a578063715018a6146106c15780638d5d0c2d146106475780638da5cb5b1461061e578063aaf400c414610244578063bc4d861b146101ff578063f2fde38b146101715763ff2febfc146100a557600080fd5b3461016c576020908160031936011261016c57600435600052600182526040600020600460018060a01b038254169160018101549460ff6002830154166003830154906101086005850154946101016040518098819301610f35565b0386610dfd565b6040519788968752838701526040860152606085015260c060808501528251928360c086015260005b84811061015657505060008484018601525060a0830152601f01601f19168101030190f35b8181018301518882018801528795508201610131565b600080fd5b3461016c57602036600319011261016c5761018a610d80565b610192610dd1565b6001600160a01b039081169081156101e657600054826bffffffffffffffffffffffff60a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461016c57600036600319011261016c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461016c57608036600319011261016c5761025e610d80565b6044356001600160401b03811161016c5761027d903690600401610d53565b60405163609c6d7f60e01b81526024803560048301523390820152919390916020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610612576000916105d7575b50156105a1576064356000526001602052600560406000200154610563576040519081018181106001600160401b0382111761054d5760405260018060a01b0383168152602435602082015260006040820152600060608201526040518060208101106001600160401b0360208301111761054d57602081016040526000815260808201524260a0820152600060c08201526064356000526001602052604060002060018060a01b038251166bffffffffffffffffffffffff60a01b82541617815560208201516001820155600281019060ff6040840151169160ff199283825416179055606083015160038201556004810160808401518051906001600160401b03821161054d576103fa826103f48554610e1e565b85610e58565b602090601f83116001146104dd57928260069360ff969360c0966000926104d2575b50508160011b916000199060031b1c19161790555b60a0860151600582015501930151151591835416911617905560243560005260026020526104656064356040600020610eda565b60018060a01b03821660005260036020526104866064356040600020610eda565b7f530436c3634a98e1e626b0898be2f1e9980cc1bd2a78c07a0aba52d0a48a505960405160208152806104cd606435966024359660018060a01b0316956020840191610f14565b0390a4005b01519050388061041c565b90601f198316918460005260206000209260005b81811061053557509360ff969360c09693600193836006981061051c575b505050811b019055610431565b015160001960f88460031b161c1916905538808061050f565b929360206001819287860151815501950193016104f1565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b81526020600482015260166024820152755265717565737420616c72656164792065786973747360501b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606490fd5b90506020813d60201161060a575b816105f260209383610dfd565b8101031261016c5751801515810361016c57386102dd565b3d91506105e5565b6040513d6000823e3d90fd5b3461016c57600036600319011261016c576000546040516001600160a01b039091168152602090f35b3461016c5760208060031936011261016c5760043560005260028152604060002090604051908181845491828152019360005281600020916000905b8282106106aa576106a68561069a81890382610dfd565b60405191829182610d96565b0390f35b835486529485019460019384019390910190610683565b3461016c57600036600319011261016c576106da610dd1565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461016c57602036600319011261016c576004356000526001602052602060ff600660406000200154166040519015158152f35b3461016c5760208060031936011261016c576001600160a01b03610770610d80565b1660005260038152604060002090604051908181845491828152019360005281600020916000905b8282106107af576106a68561069a81890382610dfd565b835486529485019460019384019390910190610798565b3461016c5760a036600319011261016c5760043560243560ff811680910361016c576001600160401b0360443581811161016c57610808903690600401610d53565b9260843583811161016c57610821903690600401610d53565b86600095929552600193602094808652604060002060058101805415610a545781546001600160a01b03163303610a0f57606487116109d157600282019060ff1991888382541617905560643596876003850155861161054d57600483016108938761088d8354610e1e565b83610e58565b60008b601f891160011461093a579261091a9592897fafddf629e874ccc3963b6a888c477bd464a6c8525024fc88759ea3b2326349ae9d9c9b9996936104cd9b999660009261092f575b505060001960038a901b1c191688861b1790555b429055826006830191825416179055015499608060405198899889528801526080870191610f14565b91604085015283820360608501523396610f14565b01359050388f6108dd565b601f19891691836000528c6000209260005b8181106109ba5750928a98959261091a9895927fafddf629e874ccc3963b6a888c477bd464a6c8525024fc88759ea3b2326349ae9f9e9d9b98959c6104cd9d106109a0575b5050508488811b0190556108f1565b013560001960038b901b60f8161c19169055388e81610991565b928201358455928801928e92918e01918e0161094c565b60405162461bcd60e51b81526004810189905260166024820152750526573706f6e7365206d75737420626520302d3130360541b6044820152606490fd5b60405162461bcd60e51b815260048101899052601c60248201527f4e6f74207468652064657369676e617465642076616c696461746f72000000006044820152606490fd5b60405162461bcd60e51b815260048101899052601660248201527514995c5d595cdd08191bd95cc81b9bdd08195e1a5cdd60521b6044820152606490fd5b3461016c57606036600319011261016c576001600160401b036024351161016c5736602360243501121561016c576001600160401b03602435600401351161016c5736602480356004013560051b813501011161016c576044356001600160401b03811161016c57610b08903690600401610d53565b60008092600435600052600260205260406000206000936000928254925b838510610b8057876001600160401b0387168881158015610b54575b6040805184815260ff86166020820152f35b909250610b6a5760ff8082604094041692610b42565b634e487b7160e01b600052601260045260246000fd5b909192939495610b908683610eac565b90549060031b1c6000526001602052604060002060ff60068201541615610c205760243560040135610c9c575b84151580610c2c575b610c2057600260ff910154168101809111610c0a576001600160401b039096166001600160401b038114610c0a576001610c01910195610fcb565b93929190610b26565b634e487b7160e01b600052601160045260246000fd5b509594610c0190610fcb565b50604051610c4881610c418160048601610f35565b0382610dfd565b602081519101206001600160401b03861161054d57604051610c74601f8801601f191660200182610dfd565b868152368787011161016c576020810190878783376000602089830101525190201415610bc6565b80546000906001600160a01b0316815b602435600401358110610ccc575b5050610bbd57509594610c0190610fcb565b60248035600583901b0101356001600160a01b038116810361016c576001600160a01b03168214610d0557610d0090610fcb565b610cac565b50505060018a80610cba565b3461016c57600036600319011261016c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561016c578235916001600160401b03831161016c576020838186019501011161016c57565b600435906001600160a01b038216820361016c57565b6020908160408183019282815285518094520193019160005b828110610dbd575050505090565b835185529381019392810192600101610daf565b6000546001600160a01b03163303610de557565b60405163118cdaa760e01b8152336004820152602490fd5b90601f801991011681019081106001600160401b0382111761054d57604052565b90600182811c92168015610e4e575b6020831014610e3857565b634e487b7160e01b600052602260045260246000fd5b91607f1691610e2d565b90601f8111610e6657505050565b600091825260208220906020601f850160051c83019410610ea2575b601f0160051c01915b828110610e9757505050565b818155600101610e8b565b9092508290610e82565b8054821015610ec45760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b80546801000000000000000081101561054d57610efc91600182018155610eac565b819291549060031b91821b91600019901b1916179055565b908060209392818452848401376000828201840152601f01601f1916010190565b9060009291805491610f4683610e1e565b918282526001938481169081600014610fa85750600114610f68575b50505050565b90919394506000526020928360002092846000945b838610610f94575050505001019038808080610f62565b805485870183015294019385908201610f7d565b9294505050602093945060ff191683830152151560051b01019038808080610f62565b6000198114610c0a576001019056fea2646970667358221220d2edb434df0f31161f9bf9f2cd41d8029a34f00196dd580a47c20fb167e9871664736f6c63430008140033\",\n  \"deployedBytecode\": \"0x608080604052600436101561001357600080fd5b60e090600035821c908163134e18f414610d11575080631b7cabd614610a925780633d659a96146107c65780634bf3158c1461074e5780635fe5bd091461071a578063715018a6146106c15780638d5d0c2d146106475780638da5cb5b1461061e578063aaf400c414610244578063bc4d861b146101ff578063f2fde38b146101715763ff2febfc146100a557600080fd5b3461016c576020908160031936011261016c57600435600052600182526040600020600460018060a01b038254169160018101549460ff6002830154166003830154906101086005850154946101016040518098819301610f35565b0386610dfd565b6040519788968752838701526040860152606085015260c060808501528251928360c086015260005b84811061015657505060008484018601525060a0830152601f01601f19168101030190f35b8181018301518882018801528795508201610131565b600080fd5b3461016c57602036600319011261016c5761018a610d80565b610192610dd1565b6001600160a01b039081169081156101e657600054826bffffffffffffffffffffffff60a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461016c57600036600319011261016c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461016c57608036600319011261016c5761025e610d80565b6044356001600160401b03811161016c5761027d903690600401610d53565b60405163609c6d7f60e01b81526024803560048301523390820152919390916020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610612576000916105d7575b50156105a1576064356000526001602052600560406000200154610563576040519081018181106001600160401b0382111761054d5760405260018060a01b0383168152602435602082015260006040820152600060608201526040518060208101106001600160401b0360208301111761054d57602081016040526000815260808201524260a0820152600060c08201526064356000526001602052604060002060018060a01b038251166bffffffffffffffffffffffff60a01b82541617815560208201516001820155600281019060ff6040840151169160ff199283825416179055606083015160038201556004810160808401518051906001600160401b03821161054d576103fa826103f48554610e1e565b85610e58565b602090601f83116001146104dd57928260069360ff969360c0966000926104d2575b50508160011b916000199060031b1c19161790555b60a0860151600582015501930151151591835416911617905560243560005260026020526104656064356040600020610eda565b60018060a01b03821660005260036020526104866064356040600020610eda565b7f530436c3634a98e1e626b0898be2f1e9980cc1bd2a78c07a0aba52d0a48a505960405160208152806104cd606435966024359660018060a01b0316956020840191610f14565b0390a4005b01519050388061041c565b90601f198316918460005260206000209260005b81811061053557509360ff969360c09693600193836006981061051c575b505050811b019055610431565b015160001960f88460031b161c1916905538808061050f565b929360206001819287860151815501950193016104f1565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b81526020600482015260166024820152755265717565737420616c72656164792065786973747360501b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606490fd5b90506020813d60201161060a575b816105f260209383610dfd565b8101031261016c5751801515810361016c57386102dd565b3d91506105e5565b6040513d6000823e3d90fd5b3461016c57600036600319011261016c576000546040516001600160a01b039091168152602090f35b3461016c5760208060031936011261016c5760043560005260028152604060002090604051908181845491828152019360005281600020916000905b8282106106aa576106a68561069a81890382610dfd565b60405191829182610d96565b0390f35b835486529485019460019384019390910190610683565b3461016c57600036600319011261016c576106da610dd1565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461016c57602036600319011261016c576004356000526001602052602060ff600660406000200154166040519015158152f35b3461016c5760208060031936011261016c576001600160a01b03610770610d80565b1660005260038152604060002090604051908181845491828152019360005281600020916000905b8282106107af576106a68561069a81890382610dfd565b835486529485019460019384019390910190610798565b3461016c5760a036600319011261016c5760043560243560ff811680910361016c576001600160401b0360443581811161016c57610808903690600401610d53565b9260843583811161016c57610821903690600401610d53565b86600095929552600193602094808652604060002060058101805415610a545781546001600160a01b03163303610a0f57606487116109d157600282019060ff1991888382541617905560643596876003850155861161054d57600483016108938761088d8354610e1e565b83610e58565b60008b601f891160011461093a579261091a9592897fafddf629e874ccc3963b6a888c477bd464a6c8525024fc88759ea3b2326349ae9d9c9b9996936104cd9b999660009261092f575b505060001960038a901b1c191688861b1790555b429055826006830191825416179055015499608060405198899889528801526080870191610f14565b91604085015283820360608501523396610f14565b01359050388f6108dd565b601f19891691836000528c6000209260005b8181106109ba5750928a98959261091a9895927fafddf629e874ccc3963b6a888c477bd464a6c8525024fc88759ea3b2326349ae9f9e9d9b98959c6104cd9d106109a0575b5050508488811b0190556108f1565b013560001960038b901b60f8161c19169055388e81610991565b928201358455928801928e92918e01918e0161094c565b60405162461bcd60e51b81526004810189905260166024820152750526573706f6e7365206d75737420626520302d3130360541b6044820152606490fd5b60405162461bcd60e51b815260048101899052601c60248201527f4e6f74207468652064657369676e617465642076616c696461746f72000000006044820152606490fd5b60405162461bcd60e51b815260048101899052601660248201527514995c5d595cdd08191bd95cc81b9bdd08195e1a5cdd60521b6044820152606490fd5b3461016c57606036600319011261016c576001600160401b036024351161016c5736602360243501121561016c576001600160401b03602435600401351161016c5736602480356004013560051b813501011161016c576044356001600160401b03811161016c57610b08903690600401610d53565b60008092600435600052600260205260406000206000936000928254925b838510610b8057876001600160401b0387168881158015610b54575b6040805184815260ff86166020820152f35b909250610b6a5760ff8082604094041692610b42565b634e487b7160e01b600052601260045260246000fd5b909192939495610b908683610eac565b90549060031b1c6000526001602052604060002060ff60068201541615610c205760243560040135610c9c575b84151580610c2c575b610c2057600260ff910154168101809111610c0a576001600160401b039096166001600160401b038114610c0a576001610c01910195610fcb565b93929190610b26565b634e487b7160e01b600052601160045260246000fd5b509594610c0190610fcb565b50604051610c4881610c418160048601610f35565b0382610dfd565b602081519101206001600160401b03861161054d57604051610c74601f8801601f191660200182610dfd565b868152368787011161016c576020810190878783376000602089830101525190201415610bc6565b80546000906001600160a01b0316815b602435600401358110610ccc575b5050610bbd57509594610c0190610fcb565b60248035600583901b0101356001600160a01b038116810361016c576001600160a01b03168214610d0557610d0090610fcb565b610cac565b50505060018a80610cba565b3461016c57600036600319011261016c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561016c578235916001600160401b03831161016c576020838186019501011161016c57565b600435906001600160a01b038216820361016c57565b6020908160408183019282815285518094520193019160005b828110610dbd575050505090565b835185529381019392810192600101610daf565b6000546001600160a01b03163303610de557565b60405163118cdaa760e01b8152336004820152602490fd5b90601f801991011681019081106001600160401b0382111761054d57604052565b90600182811c92168015610e4e575b6020831014610e3857565b634e487b7160e01b600052602260045260246000fd5b91607f1691610e2d565b90601f8111610e6657505050565b600091825260208220906020601f850160051c83019410610ea2575b601f0160051c01915b828110610e9757505050565b818155600101610e8b565b9092508290610e82565b8054821015610ec45760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b80546801000000000000000081101561054d57610efc91600182018155610eac565b819291549060031b91821b91600019901b1916179055565b908060209392818452848401376000828201840152601f01601f1916010190565b9060009291805491610f4683610e1e565b918282526001938481169081600014610fa85750600114610f68575b50505050565b90919394506000526020928360002092846000945b838610610f94575050505001019038808080610f62565b805485870183015294019385908201610f7d565b9294505050602093945060ff191683830152151560051b01019038808080610f62565b6000198114610c0a576001019056fea2646970667358221220d2edb434df0f31161f9bf9f2cd41d8029a34f00196dd580a47c20fb167e9871664736f6c63430008140033\",\n  \"linkReferences\": {},\n  \"deployedLinkReferences\": {}\n}\n\nFile v1.0.2:config.json\n\n{\n  \"network\": {\n    \"rpc\": \"https://data-seed-prebsc-1-s1.binance.org:8545/\",\n    \"chainId\": 97\n  },\n  \"agent\": {\n    \"name\": \"BNBClaw\",\n    \"description\": \"BNB Chain Enthusiast Agent\",\n    \"uri\": \"https://clawhub.ai/bnbclaw\",\n    \"twitter\": \"@bnbclaw\"\n  },\n  \"tasks\": {\n    \"types\": [\n      {\n        \"id\": 0,\n        \"name\": \"General\",\n        \"price\": \"0\" \n      }\n    ]\n  }\n}\n\nFile v1.0.2:package-lock.json\n\n{\n  \"name\": \"erc8004-identity\",\n  \"version\": \"1.0.1\",\n  \"lockfileVersion\": 3,\n  \"requires\": true,\n  \"packages\": {\n    \"\": {\n      \"name\": \"erc8004-identity\",\n      \"version\": \"1.0.1\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"dotenv\": \"^16.0.0\",\n        \"ethers\": \"^6.0.0\"\n      },\n      \"bin\": {\n        \"erc8004\": \"cli.js\"\n      }\n    },\n    \"node_modules/@adraffy/ens-normalize\": {\n      \"version\": \"1.10.1\",\n      \"resolved\": \"https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz\",\n      \"integrity\": \"sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@noble/curves\": {\n      \"version\": \"1.2.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz\",\n      \"integrity\": \"sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.3.2\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@noble/hashes\": {\n      \"version\": \"1.3.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz\",\n      \"integrity\": \"sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">= 16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@types/node\": {\n      \"version\": \"22.7.5\",\n      \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz\",\n      \"integrity\": \"sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"undici-types\": \"~6.19.2\"\n      }\n    },\n    \"node_modules/aes-js\": {\n      \"version\": \"4.0.0-beta.5\",\n      \"resolved\": \"https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz\",\n      \"integrity\": \"sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/dotenv\": {\n      \"version\": \"16.6.1\",\n      \"resolved\": \"https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz\",\n      \"integrity\": \"sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==\",\n      \"license\": \"BSD-2-Clause\",\n      \"engines\": {\n        \"node\": \">=12\"\n      },\n      \"funding\": {\n        \"url\": \"https://dotenvx.com\"\n      }\n    },\n    \"node_modules/ethers\": {\n      \"version\": \"6.16.0\",\n      \"resolved\": \"https://registry.npmjs.org/ethers/-/ethers-6.16.0.tgz\",\n      \"integrity\": \"sha512-U1wulmetNymijEhpSEQ7Ct/P/Jw9/e7R1j5XIbPRydgV2DjLVMsULDlNksq3RQnFgKoLlZf88ijYtWEXcPa07A==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://github.com/sponsors/ethers-io/\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@adraffy/ens-normalize\": \"1.10.1\",\n        \"@noble/curves\": \"1.2.0\",\n        \"@noble/hashes\": \"1.3.2\",\n        \"@types/node\": \"22.7.5\",\n        \"aes-js\": \"4.0.0-beta.5\",\n        \"tslib\": \"2.7.0\",\n        \"ws\": \"8.17.1\"\n      },\n      \"engines\": {\n        \"node\": \">=14.0.0\"\n      }\n    },\n    \"node_modules/tslib\": {\n      \"version\": \"2.7.0\",\n      \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz\",\n      \"integrity\": \"sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==\",\n      \"license\": \"0BSD\"\n    },\n    \"node_modules/undici-types\": {\n      \"version\": \"6.19.8\",\n      \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz\",\n      \"integrity\": \"sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/ws\": {\n      \"version\": \"8.17.1\",\n      \"resolved\": \"https://registry.npmjs.org/ws/-/ws-8.17.1.tgz\",\n      \"integrity\": \"sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">=10.0.0\"\n      },\n      \"peerDependencies\": {\n        \"bufferutil\": \"^4.0.1\",\n        \"utf-8-validate\": \">=5.0.2\"\n      },\n      \"peerDependenciesMeta\": {\n        \"bufferutil\": {\n          \"optional\": true\n        },\n        \"utf-8-validate\": {\n          \"optional\": true\n        }\n      }\n    }\n  }\n}\n\nFile v1.0.2:package.json\n\n{\n  \"name\": \"bnbchain-erc8004-agent\",\n  \"version\": \"1.0.1\",\n  \"description\": \"Deploy ERC-8004 onchain identity for AI agents on Avalanche\",\n  \"main\": \"cli.js\",\n  \"bin\": {\n    \"erc8004\": \"./cli.js\"\n  },\n  \"scripts\": {\n    \"init\": \"node cli.js init\",\n    \"deploy\": \"node cli.js deploy\",\n    \"status\": \"node cli.js status\"\n  },\n  \"keywords\": [\n    \"erc8004\",\n    \"avalanche\",\n    \"ai-agent\",\n    \"onchain-identity\"\n  ],\n  \"author\": \"Eva (@eva_uncensored)\",\n  \"license\": \"MIT\",\n  \"dependencies\": {\n    \"dotenv\": \"^16.0.0\",\n    \"ethers\": \"^6.0.0\"\n  }\n}","readmeExcerpt":"Skill: BNB Chain ERC-8004 Agent Registration Owner: 0xlucasliao Summary: Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK. Tags: latest:1.0.3 Version history: v1.0.3 | 2026-02-11T04:23:40.956Z | auto - Cleaned up the repository by removing unused files, including build artifacts and configuration samples. - No changes","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Install bnbagent SDK (from test.pypi.org as per release)\npip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6\n\n# Or using uv (recommended for speed)\nuv pip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6"},{"language":"python","snippet":"import os\nfrom bnbagent import ERC8004Agent, EVMWalletProvider, AgentEndpoint\n\n# 1. Setup Wallet & SDK\npassword = os.getenv(\"WALLET_PASSWORD\", \"default-secure-password\")\nwallet = EVMWalletProvider(password=password)\nsdk = ERC8004Agent(wallet_provider=wallet, network=\"bsc-testnet\")\n\n# 2. Define Your Identity\nagent_uri = sdk.generate_agent_uri(\n    name=\"My Agent Name\",\n    description=\"I am an autonomous agent running on OpenClaw.\",\n    endpoints=[\n        AgentEndpoint(\n            name=\"activity\",\n            endpoint=\"https://moltbook.com/u/MyAgentName\", # Example: Link to your social profile\n            version=\"1.0.0\"\n        )\n    ]\n)\n\n# 3. Register on BNB Chain (Gasless via Paymaster)\nprint(\"Registering...\")\nresult = sdk.register_agent(agent_uri=agent_uri)\nprint(f\"Success! Agent ID: {result['agentId']}\")\nprint(f\"View registered agents: https://testnet.8004scan.io/agents?chain=97\")"},{"language":"python","snippet":"# Check if you are already registered locally\ninfo = sdk.get_local_agent_info(\"My Agent Name\")\nif info:\n    print(f\"I am registered! Agent ID: {info['agent_id']}\")\n    # Get on-chain details\n    chain_info = sdk.get_agent_info(info['agent_id'])\n    print(f\"On-chain Address: {chain_info['agentAddress']}\")"},{"language":"python","snippet":"local_info = sdk.get_local_agent_info(\"My Agent Name\")\nif local_info:\n    agent_id = local_info['agent_id']\n    \n    # Generate new URI\n    new_uri = sdk.generate_agent_uri(\n        name=\"My Agent Name\",\n        description=\"Updated description.\",\n        endpoints=[...],\n        agent_id=agent_id\n    )\n    \n    # Update on-chain\n    sdk.set_agent_uri(agent_id=agent_id, agent_uri=new_uri)\n    print(\"Identity updated successfully.\")"},{"language":"bash","snippet":"# Install bnbagent SDK (from test.pypi.org as per release)\npip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6\n\n# Or using uv (recommended for speed)\nuv pip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6"},{"language":"python","snippet":"import os\nfrom bnbagent import ERC8004Agent, EVMWalletProvider, AgentEndpoint\n\n# 1. Setup Wallet & SDK\npassword = os.getenv(\"WALLET_PASSWORD\", \"default-secure-password\")\nwallet = EVMWalletProvider(password=password)\nsdk = ERC8004Agent(wallet_provider=wallet, network=\"bsc-testnet\")\n\n# 2. Define Your Identity\nagent_uri = sdk.generate_agent_uri(\n    name=\"My Agent Name\",\n    description=\"I am an autonomous agent running on OpenClaw.\",\n    endpoints=[\n        AgentEndpoint(\n            name=\"activity\",\n            endpoint=\"https://moltbook.com/u/MyAgentName\", # Example: Link to your social profile\n            version=\"1.0.0\"\n        )\n    ]\n)\n\n# 3. Register on BNB Chain (Gasless via Paymaster)\nprint(\"Registering...\")\nresult = sdk.register_agent(agent_uri=agent_uri)\nprint(f\"Success! Agent ID: {result['agentId']}\")\nprint(f\"View registered agents: https://testnet.8004scan.io/agents?chain=97\")"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: erc8004-identity\nversion: 1.0.0\ndescription: Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK.\n---\n\n# ERC-8004 Agent Identity\n\nThis skill enables your agent to register and manage its own on-chain identity on BNB Chain using the ERC-8004 standard.\n\n## Features\n\n- **Self-Registration:** Register yourself as an agent (ERC-8004).\n- **Gasless:** Uses MegaFuel Paymaster (BSC Testnet only) for zero-cost registration.\n- **Identity Management:** Update your metadata (URI), endpoints, and description.\n- **Verification:** Users can verify your agent status on [8004scan.io](https://testnet.8004scan.io).\n\n## Installation\n\nThis skill requires the `bnbagent` Python SDK.\n\n```bash\n# Install bnbagent SDK (from test.pypi.org as per release)\npip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6\n\n# Or using uv (recommended for speed)\nuv pip install --index-url https://test.pypi.org/simple/ \\\n  --extra-index-url https://pypi.org/simple \\\n  bnbagent==0.1.6\n```\n\n## Security Note\n\nThis skill manages a wallet specifically for your agent's identity.\n- **Password:** The wallet is encrypted. Set `WALLET_PASSWORD` env var or provide it when prompted.\n- **Private Key:** Stored locally in `.bnbagent_state` (encrypted). Do not share this file.\n\n## Usage\n\nCreate a script (or ask me to create one) to manage your identity.\n\n### 1. Register (First Time)\n\nIf you haven't registered on-chain yet:\n\n```python\nimport os\nfrom bnbagent import ERC8004Agent, EVMWalletProvider, AgentEndpoint\n\n# 1. Setup Wallet & SDK\npassword = os.getenv(\"WALLET_PASSWORD\", \"default-secure-password\")\nwallet = EVMWalletProvider(password=password)\nsdk = ERC8004Agent(wallet_provider=wallet, network=\"bsc-testnet\")\n\n# 2. Define Your Identity\nagent_uri = sdk.generate_agent_uri(\n    name=\"My Agent Name\",\n    description=\"I am an autonomous agent running on OpenClaw.\",\n    endpoints=[\n        AgentEndpoint(\n            name=\"activity\",\n            endpoint=\"https://moltbook.com/u/MyAgentName\", # Example: Link to your social profile\n            version=\"1.0.0\"\n        )\n    ]\n)\n\n# 3. Register on BNB Chain (Gasless via Paymaster)\nprint(\"Registering...\")\nresult = sdk.register_agent(agent_uri=agent_uri)\nprint(f\"Success! Agent ID: {result['agentId']}\")\nprint(f\"View registered agents: https://testnet.8004scan.io/agents?chain=97\")\n```\n\n### 2. Check Status\n\n```python\n# Check if you are already registered locally\ninfo = sdk.get_local_agent_info(\"My Agent Name\")\nif info:\n    print(f\"I am registered! Agent ID: {info['agent_id']}\")\n    # Get on-chain details\n    chain_info = sdk.get_agent_info(info['agent_id'])\n    print(f\"On-chain Address: {chain_info['agentAddress']}\")\n```\n\n### 3. Update Identity\n\nIf your endpoints or description change:\n\n```python\nlocal_info = sdk.get_local_agent_info(\"My Agent Name\")\nif local_info:\n    agent_id = local_info['agent_id']\n"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7aryqq7z6xrgnaz3bfpvbh3n80nypk\",\n  \"slug\": \"bnbchain-erc8004-agent\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1770783820956\n}"},{"path":"package.json","content":"{\n  \"name\": \"bnbchain-register-erc8004-agent\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Register and manage on-chain AI agent identity (ERC-8004) on BNB Chain via the bnbagent Python SDK.\",\n  \"author\": \"BNB Chain\",\n  \"license\": \"MIT\",\n  \"scripts\": {}\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK. Skill: BNB Chain ERC-8004 Agent Registration Owner: 0xlucasliao Summary: Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK. Tags: latest:1.0.3 Version history: v1.0.3 | 2026-02-11T04:23:40.956Z | auto - Cleaned up the repository by removing unused files, including build artifacts and configuration samples. - No changes","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":856,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:18:52.783Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}