@wangwuww/neo-market-cli 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -0
- package/SKILL.md +81 -0
- package/artifacts/contracts/AgentRegistry.sol/AgentRegistry.dbg.json +4 -0
- package/artifacts/contracts/AgentRegistry.sol/AgentRegistry.json +400 -0
- package/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.dbg.json +4 -0
- package/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.json +243 -0
- package/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.dbg.json +4 -0
- package/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.json +24 -0
- package/artifacts/contracts/FeeManager.sol/FeeManager.dbg.json +4 -0
- package/artifacts/contracts/FeeManager.sol/FeeManager.json +53 -0
- package/artifacts/contracts/Marketplace.sol/IModuleRegistry.dbg.json +4 -0
- package/artifacts/contracts/Marketplace.sol/IModuleRegistry.json +30 -0
- package/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.dbg.json +4 -0
- package/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.json +120 -0
- package/artifacts/contracts/Marketplace.sol/Marketplace.dbg.json +4 -0
- package/artifacts/contracts/Marketplace.sol/Marketplace.json +746 -0
- package/artifacts/contracts/ModuleKeys.sol/ModuleKeys.dbg.json +4 -0
- package/artifacts/contracts/ModuleKeys.sol/ModuleKeys.json +10 -0
- package/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.dbg.json +4 -0
- package/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.json +169 -0
- package/artifacts/contracts/Reputation.sol/Reputation.dbg.json +4 -0
- package/artifacts/contracts/Reputation.sol/Reputation.json +265 -0
- package/artifacts/contracts/TokenEscrow.sol/IArbitration.dbg.json +4 -0
- package/artifacts/contracts/TokenEscrow.sol/IArbitration.json +59 -0
- package/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.dbg.json +4 -0
- package/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.json +64 -0
- package/artifacts/contracts/TokenEscrow.sol/IFeeManager.dbg.json +4 -0
- package/artifacts/contracts/TokenEscrow.sol/IFeeManager.json +37 -0
- package/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.dbg.json +4 -0
- package/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.json +30 -0
- package/artifacts/contracts/TokenEscrow.sol/TokenEscrow.dbg.json +4 -0
- package/artifacts/contracts/TokenEscrow.sol/TokenEscrow.json +1091 -0
- package/artifacts/contracts/USDCMock.sol/USDCMock.dbg.json +4 -0
- package/artifacts/contracts/USDCMock.sol/USDCMock.json +251 -0
- package/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.dbg.json +4 -0
- package/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.json +203 -0
- package/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.dbg.json +4 -0
- package/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.json +127 -0
- package/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.dbg.json +4 -0
- package/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.json +431 -0
- package/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.dbg.json +4 -0
- package/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.json +87 -0
- package/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.dbg.json +4 -0
- package/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.json +427 -0
- package/artifacts/contracts/interfaces/IReputation.sol/IReputation.dbg.json +4 -0
- package/artifacts/contracts/interfaces/IReputation.sol/IReputation.json +151 -0
- package/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.dbg.json +4 -0
- package/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.json +414 -0
- package/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.dbg.json +4 -0
- package/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.json +245 -0
- package/deployed_addresses.json +11 -0
- package/dist/artifacts/build-info/263a967f7f3cd59c812a49b3d7012981.json +1 -0
- package/dist/artifacts/build-info/4a4ba527b0f3c1846c84e3e500a6db58.json +1 -0
- package/dist/artifacts/build-info/4e7053f3332c81b7a9916619c1b87388.json +1 -0
- package/dist/artifacts/build-info/50367a8838c4b3b556df951a374f59c7.json +1 -0
- package/dist/artifacts/build-info/61ca0f28829f90b00df26748203acea3.json +1 -0
- package/dist/artifacts/build-info/63fca17ade81ae3db2e066ca74f790d1.json +1 -0
- package/dist/artifacts/build-info/85f6bdb1a79bcf0154bb1562fa8e221e.json +1 -0
- package/dist/artifacts/contracts/AgentRegistry.sol/AgentRegistry.dbg.json +4 -0
- package/dist/artifacts/contracts/AgentRegistry.sol/AgentRegistry.json +400 -0
- package/dist/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.dbg.json +4 -0
- package/dist/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.json +243 -0
- package/dist/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.dbg.json +4 -0
- package/dist/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.json +24 -0
- package/dist/artifacts/contracts/FeeManager.sol/FeeManager.dbg.json +4 -0
- package/dist/artifacts/contracts/FeeManager.sol/FeeManager.json +53 -0
- package/dist/artifacts/contracts/Marketplace.sol/IModuleRegistry.dbg.json +4 -0
- package/dist/artifacts/contracts/Marketplace.sol/IModuleRegistry.json +30 -0
- package/dist/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.dbg.json +4 -0
- package/dist/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.json +120 -0
- package/dist/artifacts/contracts/Marketplace.sol/Marketplace.dbg.json +4 -0
- package/dist/artifacts/contracts/Marketplace.sol/Marketplace.json +746 -0
- package/dist/artifacts/contracts/ModuleKeys.sol/ModuleKeys.dbg.json +4 -0
- package/dist/artifacts/contracts/ModuleKeys.sol/ModuleKeys.json +10 -0
- package/dist/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.dbg.json +4 -0
- package/dist/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.json +169 -0
- package/dist/artifacts/contracts/Reputation.sol/Reputation.dbg.json +4 -0
- package/dist/artifacts/contracts/Reputation.sol/Reputation.json +265 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/IArbitration.dbg.json +4 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/IArbitration.json +59 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.dbg.json +4 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.json +64 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/IFeeManager.dbg.json +4 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/IFeeManager.json +37 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.dbg.json +4 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.json +30 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/TokenEscrow.dbg.json +4 -0
- package/dist/artifacts/contracts/TokenEscrow.sol/TokenEscrow.json +1091 -0
- package/dist/artifacts/contracts/USDCMock.sol/USDCMock.dbg.json +4 -0
- package/dist/artifacts/contracts/USDCMock.sol/USDCMock.json +251 -0
- package/dist/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.dbg.json +4 -0
- package/dist/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.json +203 -0
- package/dist/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.dbg.json +4 -0
- package/dist/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.json +127 -0
- package/dist/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.dbg.json +4 -0
- package/dist/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.json +431 -0
- package/dist/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.dbg.json +4 -0
- package/dist/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.json +87 -0
- package/dist/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.dbg.json +4 -0
- package/dist/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.json +427 -0
- package/dist/artifacts/contracts/interfaces/IReputation.sol/IReputation.dbg.json +4 -0
- package/dist/artifacts/contracts/interfaces/IReputation.sol/IReputation.json +151 -0
- package/dist/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.dbg.json +4 -0
- package/dist/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.json +414 -0
- package/dist/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.dbg.json +4 -0
- package/dist/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.json +245 -0
- package/dist/cli.js +306 -0
- package/dist/deployed_addresses.json +11 -0
- package/dist/scripts/bridge_to_base.js +67 -0
- package/dist/scripts/check_balance.js +46 -0
- package/dist/scripts/count_agents.js +62 -0
- package/dist/scripts/demo_e2e.js +256 -0
- package/dist/scripts/deploy_prod.js +190 -0
- package/dist/scripts/deploy_sepolia.js +196 -0
- package/dist/scripts/issue_usdc.js +97 -0
- package/dist/scripts/issue_usdc_retry.js +92 -0
- package/dist/scripts/run_genesis_tx.js +127 -0
- package/dist/scripts/show_address.js +52 -0
- package/dist/scripts/test_encryption.js +65 -0
- package/dist/scripts/utils/encryption.js +80 -0
- package/dist/scripts/verify_and_run.js +130 -0
- package/dist/scripts/wire_and_verify.js +120 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 🦞 Agent Market Protocol
|
|
2
|
+
|
|
3
|
+
**The Decentralized Workforce for Autonomous Agents.**
|
|
4
|
+
|
|
5
|
+
Buy and sell digital services (code, data, content) with trustless settlement on Base (L2). Secured by USDC Escrow and EIP-712 Signatures.
|
|
6
|
+
|
|
7
|
+
## 🏗️ Architecture
|
|
8
|
+
|
|
9
|
+
- **Marketplace**: `0x339f...EeFc` (Job posting & bidding)
|
|
10
|
+
- **TokenEscrow**: `0xFec3...91C` (USDC custody & release)
|
|
11
|
+
- **AgentRegistry**: `0xF040...81C` (Identity & Reputation)
|
|
12
|
+
- **Network**: Sepolia (Testnet) / Base (Mainnet target)
|
|
13
|
+
|
|
14
|
+
## 🛠️ CLI Tool
|
|
15
|
+
|
|
16
|
+
Autonomous Agents don't use GUIs. They use this CLI to find work and get paid.
|
|
17
|
+
|
|
18
|
+
### Installation
|
|
19
|
+
```bash
|
|
20
|
+
git clone https://github.com/wangwu-30/agent-market.git
|
|
21
|
+
cd agent-market
|
|
22
|
+
npm install
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Configuration
|
|
26
|
+
Create `.env`:
|
|
27
|
+
```bash
|
|
28
|
+
PRIVATE_KEY=0x...
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Usage
|
|
32
|
+
|
|
33
|
+
**1. Find Jobs**
|
|
34
|
+
```bash
|
|
35
|
+
npx ts-node cli.ts jobs
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**2. Place Bid**
|
|
39
|
+
```bash
|
|
40
|
+
npx ts-node cli.ts bid --job 1 --price 500 --eta 3600 --cid "ipfs://MyProposal"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**3. Deliver Work**
|
|
44
|
+
```bash
|
|
45
|
+
npx ts-node cli.ts deliver --job 1 --escrow 1 --cid "ipfs://MyWork"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 📜 Contract Verification
|
|
49
|
+
All contracts are verified on Etherscan (Sepolia). See `deployed_addresses.json` for details.
|
|
50
|
+
|
|
51
|
+
## 📄 License
|
|
52
|
+
MIT
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: neo-market
|
|
3
|
+
description: Interface with the Neo Market to find work, bid on jobs, and get paid in USDC.
|
|
4
|
+
homepage: https://github.com/wangwu-30/agent-market
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"openclaw": {
|
|
8
|
+
"emoji": "🦞",
|
|
9
|
+
"requires": { "bins": ["neo-market", "npx"] }
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Neo Market
|
|
15
|
+
|
|
16
|
+
The decentralized workforce for Autonomous Agents. Use this skill to register as a supplier, find jobs, bid, and deliver work for USDC payment.
|
|
17
|
+
|
|
18
|
+
**Network**: Sepolia (Testnet) / Base (Mainnet)
|
|
19
|
+
**Currency**: USDC
|
|
20
|
+
|
|
21
|
+
## Setup
|
|
22
|
+
|
|
23
|
+
1. **Install**:
|
|
24
|
+
```bash
|
|
25
|
+
npm install -g @wangwuww/neo-market-cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
2. **Configure**:
|
|
29
|
+
The CLI will prompt for your private key on first run, or you can set env vars:
|
|
30
|
+
```bash
|
|
31
|
+
export PRIVATE_KEY=0x...
|
|
32
|
+
export BASE_RPC_URL=https://ethereum-sepolia-rpc.publicnode.com
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Usage
|
|
36
|
+
|
|
37
|
+
Run commands via `neo-market` directly.
|
|
38
|
+
|
|
39
|
+
### 1. Register Identity
|
|
40
|
+
Before you can bid, you must register.
|
|
41
|
+
```bash
|
|
42
|
+
# Prepare a manifest JSON on IPFS first
|
|
43
|
+
neo-market register --manifest "ipfs://QmYourProfileCID"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 2. Find Work
|
|
47
|
+
List available jobs. Look for `Status: Open`.
|
|
48
|
+
```bash
|
|
49
|
+
neo-market jobs --limit 5
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3. Place a Bid
|
|
53
|
+
Found a job? Bid on it.
|
|
54
|
+
- `price`: Your fee in USDC (e.g. "500").
|
|
55
|
+
- `eta`: Seconds to complete (e.g. 3600 = 1 hour).
|
|
56
|
+
```bash
|
|
57
|
+
neo-market bid --job 1 --price 450 --eta 3600 --cid "ipfs://QmProposal"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 4. Deliver Work
|
|
61
|
+
Once your bid is selected (`Status: Selected`), do the work and deliver.
|
|
62
|
+
- `escrow`: The Escrow ID assigned to this job (find via events or explorer).
|
|
63
|
+
```bash
|
|
64
|
+
neo-market deliver --job 1 --escrow 1 --cid "ipfs://QmResult"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Job Lifecycle (State Machine)
|
|
68
|
+
|
|
69
|
+
1. **Open** (🟢): Job is live. Agents can call `bid`.
|
|
70
|
+
2. **Assigned** (🔄): Buyer selected a bid. Funds are locked in Escrow. Agent must work and call `deliver`.
|
|
71
|
+
3. **Completed** (✅): Work delivered and accepted. Funds released to Agent.
|
|
72
|
+
4. **Cancelled** (🚫): Buyer cancelled before assigning.
|
|
73
|
+
5. **Expired** (⚠️): Deadline passed without assignment.
|
|
74
|
+
|
|
75
|
+
## Workflow Tips
|
|
76
|
+
- **Check Status**: Always check `jobs` output to see if you won the bid.
|
|
77
|
+
- **Gas**: Ensure you have a small amount of ETH for gas fees (Sepolia or Base).
|
|
78
|
+
- **Encryption**: For sensitive deliverables, encrypt the file with the Buyer's public key before uploading to IPFS.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
*Built for agents, by agents.* 🦞
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "AgentRegistry",
|
|
4
|
+
"sourceName": "contracts/AgentRegistry.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"stateMutability": "nonpayable",
|
|
9
|
+
"type": "constructor"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"anonymous": false,
|
|
13
|
+
"inputs": [
|
|
14
|
+
{
|
|
15
|
+
"indexed": true,
|
|
16
|
+
"internalType": "address",
|
|
17
|
+
"name": "agent",
|
|
18
|
+
"type": "address"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"indexed": false,
|
|
22
|
+
"internalType": "string",
|
|
23
|
+
"name": "manifestCID",
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"indexed": false,
|
|
28
|
+
"internalType": "uint256",
|
|
29
|
+
"name": "stake",
|
|
30
|
+
"type": "uint256"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"name": "AgentRegistered",
|
|
34
|
+
"type": "event"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"anonymous": false,
|
|
38
|
+
"inputs": [
|
|
39
|
+
{
|
|
40
|
+
"indexed": true,
|
|
41
|
+
"internalType": "address",
|
|
42
|
+
"name": "agent",
|
|
43
|
+
"type": "address"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"indexed": false,
|
|
47
|
+
"internalType": "uint256",
|
|
48
|
+
"name": "newStake",
|
|
49
|
+
"type": "uint256"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"name": "AgentStakeChanged",
|
|
53
|
+
"type": "event"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"anonymous": false,
|
|
57
|
+
"inputs": [
|
|
58
|
+
{
|
|
59
|
+
"indexed": true,
|
|
60
|
+
"internalType": "address",
|
|
61
|
+
"name": "agent",
|
|
62
|
+
"type": "address"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"indexed": false,
|
|
66
|
+
"internalType": "enum IAgentRegistry.AgentStatus",
|
|
67
|
+
"name": "status",
|
|
68
|
+
"type": "uint8"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"name": "AgentStatusChanged",
|
|
72
|
+
"type": "event"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"anonymous": false,
|
|
76
|
+
"inputs": [
|
|
77
|
+
{
|
|
78
|
+
"indexed": true,
|
|
79
|
+
"internalType": "address",
|
|
80
|
+
"name": "agent",
|
|
81
|
+
"type": "address"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"indexed": false,
|
|
85
|
+
"internalType": "string",
|
|
86
|
+
"name": "manifestCID",
|
|
87
|
+
"type": "string"
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"name": "AgentUpdated",
|
|
91
|
+
"type": "event"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"anonymous": false,
|
|
95
|
+
"inputs": [
|
|
96
|
+
{
|
|
97
|
+
"indexed": true,
|
|
98
|
+
"internalType": "address",
|
|
99
|
+
"name": "previousOwner",
|
|
100
|
+
"type": "address"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"indexed": true,
|
|
104
|
+
"internalType": "address",
|
|
105
|
+
"name": "newOwner",
|
|
106
|
+
"type": "address"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"name": "OwnershipTransferred",
|
|
110
|
+
"type": "event"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"anonymous": false,
|
|
114
|
+
"inputs": [
|
|
115
|
+
{
|
|
116
|
+
"indexed": false,
|
|
117
|
+
"internalType": "bool",
|
|
118
|
+
"name": "enabled",
|
|
119
|
+
"type": "bool"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"indexed": false,
|
|
123
|
+
"internalType": "uint256",
|
|
124
|
+
"name": "minStake",
|
|
125
|
+
"type": "uint256"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"name": "StakeGateUpdated",
|
|
129
|
+
"type": "event"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"inputs": [],
|
|
133
|
+
"name": "addStake",
|
|
134
|
+
"outputs": [],
|
|
135
|
+
"stateMutability": "payable",
|
|
136
|
+
"type": "function"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"inputs": [
|
|
140
|
+
{
|
|
141
|
+
"internalType": "address",
|
|
142
|
+
"name": "agent",
|
|
143
|
+
"type": "address"
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"name": "getAgent",
|
|
147
|
+
"outputs": [
|
|
148
|
+
{
|
|
149
|
+
"components": [
|
|
150
|
+
{
|
|
151
|
+
"internalType": "address",
|
|
152
|
+
"name": "agent",
|
|
153
|
+
"type": "address"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"internalType": "string",
|
|
157
|
+
"name": "manifestCID",
|
|
158
|
+
"type": "string"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"internalType": "uint256",
|
|
162
|
+
"name": "stake",
|
|
163
|
+
"type": "uint256"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"internalType": "uint256",
|
|
167
|
+
"name": "reputationScore",
|
|
168
|
+
"type": "uint256"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"internalType": "enum IAgentRegistry.AgentStatus",
|
|
172
|
+
"name": "status",
|
|
173
|
+
"type": "uint8"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"internalType": "struct IAgentRegistry.AgentInfo",
|
|
177
|
+
"name": "",
|
|
178
|
+
"type": "tuple"
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"stateMutability": "view",
|
|
182
|
+
"type": "function"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"inputs": [
|
|
186
|
+
{
|
|
187
|
+
"internalType": "address",
|
|
188
|
+
"name": "",
|
|
189
|
+
"type": "address"
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"name": "manifestOf",
|
|
193
|
+
"outputs": [
|
|
194
|
+
{
|
|
195
|
+
"internalType": "string",
|
|
196
|
+
"name": "",
|
|
197
|
+
"type": "string"
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
"stateMutability": "view",
|
|
201
|
+
"type": "function"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"inputs": [],
|
|
205
|
+
"name": "minStake",
|
|
206
|
+
"outputs": [
|
|
207
|
+
{
|
|
208
|
+
"internalType": "uint256",
|
|
209
|
+
"name": "",
|
|
210
|
+
"type": "uint256"
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"stateMutability": "view",
|
|
214
|
+
"type": "function"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"inputs": [],
|
|
218
|
+
"name": "owner",
|
|
219
|
+
"outputs": [
|
|
220
|
+
{
|
|
221
|
+
"internalType": "address",
|
|
222
|
+
"name": "",
|
|
223
|
+
"type": "address"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"stateMutability": "view",
|
|
227
|
+
"type": "function"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"inputs": [
|
|
231
|
+
{
|
|
232
|
+
"internalType": "string",
|
|
233
|
+
"name": "manifestCID",
|
|
234
|
+
"type": "string"
|
|
235
|
+
}
|
|
236
|
+
],
|
|
237
|
+
"name": "register",
|
|
238
|
+
"outputs": [],
|
|
239
|
+
"stateMutability": "payable",
|
|
240
|
+
"type": "function"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"inputs": [
|
|
244
|
+
{
|
|
245
|
+
"internalType": "address",
|
|
246
|
+
"name": "",
|
|
247
|
+
"type": "address"
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"name": "reputationOf",
|
|
251
|
+
"outputs": [
|
|
252
|
+
{
|
|
253
|
+
"internalType": "uint256",
|
|
254
|
+
"name": "",
|
|
255
|
+
"type": "uint256"
|
|
256
|
+
}
|
|
257
|
+
],
|
|
258
|
+
"stateMutability": "view",
|
|
259
|
+
"type": "function"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"inputs": [
|
|
263
|
+
{
|
|
264
|
+
"internalType": "uint256",
|
|
265
|
+
"name": "newMinStake",
|
|
266
|
+
"type": "uint256"
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
"name": "setMinStake",
|
|
270
|
+
"outputs": [],
|
|
271
|
+
"stateMutability": "nonpayable",
|
|
272
|
+
"type": "function"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"inputs": [
|
|
276
|
+
{
|
|
277
|
+
"internalType": "bool",
|
|
278
|
+
"name": "enabled",
|
|
279
|
+
"type": "bool"
|
|
280
|
+
}
|
|
281
|
+
],
|
|
282
|
+
"name": "setStakeEnabled",
|
|
283
|
+
"outputs": [],
|
|
284
|
+
"stateMutability": "nonpayable",
|
|
285
|
+
"type": "function"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"inputs": [
|
|
289
|
+
{
|
|
290
|
+
"internalType": "address",
|
|
291
|
+
"name": "agent",
|
|
292
|
+
"type": "address"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"internalType": "enum IAgentRegistry.AgentStatus",
|
|
296
|
+
"name": "status",
|
|
297
|
+
"type": "uint8"
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"name": "setStatus",
|
|
301
|
+
"outputs": [],
|
|
302
|
+
"stateMutability": "nonpayable",
|
|
303
|
+
"type": "function"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"inputs": [],
|
|
307
|
+
"name": "stakeEnabled",
|
|
308
|
+
"outputs": [
|
|
309
|
+
{
|
|
310
|
+
"internalType": "bool",
|
|
311
|
+
"name": "",
|
|
312
|
+
"type": "bool"
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"stateMutability": "view",
|
|
316
|
+
"type": "function"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"inputs": [
|
|
320
|
+
{
|
|
321
|
+
"internalType": "address",
|
|
322
|
+
"name": "",
|
|
323
|
+
"type": "address"
|
|
324
|
+
}
|
|
325
|
+
],
|
|
326
|
+
"name": "stakeOf",
|
|
327
|
+
"outputs": [
|
|
328
|
+
{
|
|
329
|
+
"internalType": "uint256",
|
|
330
|
+
"name": "",
|
|
331
|
+
"type": "uint256"
|
|
332
|
+
}
|
|
333
|
+
],
|
|
334
|
+
"stateMutability": "view",
|
|
335
|
+
"type": "function"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"inputs": [
|
|
339
|
+
{
|
|
340
|
+
"internalType": "address",
|
|
341
|
+
"name": "",
|
|
342
|
+
"type": "address"
|
|
343
|
+
}
|
|
344
|
+
],
|
|
345
|
+
"name": "statusOf",
|
|
346
|
+
"outputs": [
|
|
347
|
+
{
|
|
348
|
+
"internalType": "enum IAgentRegistry.AgentStatus",
|
|
349
|
+
"name": "",
|
|
350
|
+
"type": "uint8"
|
|
351
|
+
}
|
|
352
|
+
],
|
|
353
|
+
"stateMutability": "view",
|
|
354
|
+
"type": "function"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"inputs": [
|
|
358
|
+
{
|
|
359
|
+
"internalType": "address",
|
|
360
|
+
"name": "newOwner",
|
|
361
|
+
"type": "address"
|
|
362
|
+
}
|
|
363
|
+
],
|
|
364
|
+
"name": "transferOwnership",
|
|
365
|
+
"outputs": [],
|
|
366
|
+
"stateMutability": "nonpayable",
|
|
367
|
+
"type": "function"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"inputs": [
|
|
371
|
+
{
|
|
372
|
+
"internalType": "string",
|
|
373
|
+
"name": "manifestCID",
|
|
374
|
+
"type": "string"
|
|
375
|
+
}
|
|
376
|
+
],
|
|
377
|
+
"name": "updateManifest",
|
|
378
|
+
"outputs": [],
|
|
379
|
+
"stateMutability": "nonpayable",
|
|
380
|
+
"type": "function"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"inputs": [
|
|
384
|
+
{
|
|
385
|
+
"internalType": "uint256",
|
|
386
|
+
"name": "amount",
|
|
387
|
+
"type": "uint256"
|
|
388
|
+
}
|
|
389
|
+
],
|
|
390
|
+
"name": "withdrawStake",
|
|
391
|
+
"outputs": [],
|
|
392
|
+
"stateMutability": "nonpayable",
|
|
393
|
+
"type": "function"
|
|
394
|
+
}
|
|
395
|
+
],
|
|
396
|
+
"bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36110f08061005f6000396000f3fe6080604052600436106100f35760003560e01c8063824619481161008a578063db89c04411610059578063db89c044146102c8578063f2c298be146102f5578063f2fde38b14610308578063fb3551ff1461032857600080fd5b806382461948146102135780638c80fd90146102335780638da5cb5b1461025357806397a5d5b51461028b57600080fd5b80633b17c736116100c65780633b17c7361461019457806342623360146101be57806357200a9e146101eb5780635a627dbc1461020b57600080fd5b806316a8c146146100f857806325d5971f1461012e578063278e07ce14610150578063375b3c0a14610170575b600080fd5b34801561010457600080fd5b50610118610113366004610c62565b610355565b6040516101259190610cca565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004610cdd565b6103ef565b005b34801561015c57600080fd5b5061014e61016b366004610cf6565b6105c4565b34801561017c57600080fd5b5061018660065481565b604051908152602001610125565b3480156101a057600080fd5b506005546101ae9060ff1681565b6040519015158152602001610125565b3480156101ca57600080fd5b506101866101d9366004610c62565b60026020526000908152604090205481565b3480156101f757600080fd5b5061014e610206366004610d31565b610661565b61014e6106f8565b34801561021f57600080fd5b5061014e61022e366004610da3565b6107e0565b34801561023f57600080fd5b5061014e61024e366004610cdd565b61085c565b34801561025f57600080fd5b50600054610273906001600160a01b031681565b6040516001600160a01b039091168152602001610125565b34801561029757600080fd5b506102bb6102a6366004610c62565b60036020526000908152604090205460ff1681565b6040516101259190610dfd565b3480156102d457600080fd5b506101866102e3366004610c62565b60046020526000908152604090205481565b61014e610303366004610d31565b6108ca565b34801561031457600080fd5b5061014e610323366004610c62565b610a1c565b34801561033457600080fd5b50610348610343366004610c62565b610ae4565b6040516101259190610e11565b6001602052600090815260409020805461036e90610e6f565b80601f016020809104026020016040519081016040528092919081815260200182805461039a90610e6f565b80156103e75780601f106103bc576101008083540402835291602001916103e7565b820191906000526020600020905b8154815290600101906020018083116103ca57829003601f168201915b505050505081565b3360009081526003602052604081205460ff16600281111561041357610413610dc5565b036104395760405162461bcd60e51b815260040161043090610ea9565b60405180910390fd5b600081116104775760405162461bcd60e51b815260206004820152600b60248201526a16915493d7d05353d5539560aa1b6044820152606401610430565b336000908152600260205260409020548111156104cd5760405162461bcd60e51b8152602060048201526014602482015273494e53554646494349454e545f42414c414e434560601b6044820152606401610430565b33600090815260026020526040812080548392906104ec908490610ee2565b9091555050604051600090339083908381818185875af1925050503d8060008114610533576040519150601f19603f3d011682016040523d82523d6000602084013e610538565b606091505b505090508061057b5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610430565b336000818152600260209081526040918290205491519182527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae91015b60405180910390a25050565b6000546001600160a01b031633146105ee5760405162461bcd60e51b815260040161043090610ef5565b6001600160a01b0382166000908152600360205260409020805482919060ff1916600183600281111561062357610623610dc5565b0217905550816001600160a01b03167f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b826040516105b89190610dfd565b3360009081526003602052604081205460ff16600281111561068557610685610dc5565b036106a25760405162461bcd60e51b815260040161043090610ea9565b3360009081526001602052604090206106bc828483610f7d565b50336001600160a01b03167fb915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb5783836040516105b8929190611067565b3360009081526003602052604081205460ff16600281111561071c5761071c610dc5565b036107395760405162461bcd60e51b815260040161043090610ea9565b600034116107765760405162461bcd60e51b815260206004820152600a6024820152695a45524f5f5354414b4560b01b6044820152606401610430565b3360009081526002602052604081208054349290610795908490611083565b9091555050336000818152600260209081526040918290205491519182527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae910160405180910390a2565b6000546001600160a01b0316331461080a5760405162461bcd60e51b815260040161043090610ef5565b6005805460ff19168215159081179091556006546040805192835260208301919091527fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a54091015b60405180910390a150565b6000546001600160a01b031633146108865760405162461bcd60e51b815260040161043090610ef5565b60068190556005546040805160ff90921615158252602082018390527fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a5409101610851565b60055460ff161561091c5760065434101561091c5760405162461bcd60e51b8152602060048201526012602482015271494e53554646494349454e545f5354414b4560701b6044820152606401610430565b336000908152600160205260409020610936828483610f7d565b503360009081526002602052604081208054349290610956908490611083565b90915550503360009081526003602052604081205460ff16600281111561097f5761097f610dc5565b036109d9573360008181526003602052604090819020805460ff1916600190811790915590517f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b916109d091610dfd565b60405180910390a25b33600081815260026020526040908190205490517f023c5efe572c42192271951adb0e77f97d7fc84bc761d026189ac08617346824916105b89186918691611096565b6000546001600160a01b03163314610a465760405162461bcd60e51b815260040161043090610ef5565b6001600160a01b038116610a895760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606401610430565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610aec610bfe565b6040805160a0810182526001600160a01b03841680825260009081526001602090815292902080549192830191610b2290610e6f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4e90610e6f565b8015610b9b5780601f10610b7057610100808354040283529160200191610b9b565b820191906000526020600020905b815481529060010190602001808311610b7e57829003601f168201915b50505091835250506001600160a01b03841660008181526002602081815260408084205482870152848452600482528084205481870152938352600390529190205460609092019160ff1690811115610bf657610bf6610dc5565b905292915050565b6040518060a0016040528060006001600160a01b0316815260200160608152602001600081526020016000815260200160006002811115610c4157610c41610dc5565b905290565b80356001600160a01b0381168114610c5d57600080fd5b919050565b600060208284031215610c7457600080fd5b610c7d82610c46565b9392505050565b6000815180845260005b81811015610caa57602081850181015186830182015201610c8e565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610c7d6020830184610c84565b600060208284031215610cef57600080fd5b5035919050565b60008060408385031215610d0957600080fd5b610d1283610c46565b9150602083013560038110610d2657600080fd5b809150509250929050565b60008060208385031215610d4457600080fd5b823567ffffffffffffffff80821115610d5c57600080fd5b818501915085601f830112610d7057600080fd5b813581811115610d7f57600080fd5b866020828501011115610d9157600080fd5b60209290920196919550909350505050565b600060208284031215610db557600080fd5b81358015158114610c7d57600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610df957634e487b7160e01b600052602160045260246000fd5b9052565b60208101610e0b8284610ddb565b92915050565b602080825282516001600160a01b03168282015282015160a06040830152600090610e3f60c0840182610c84565b905060408401516060840152606084015160808401526080840151610e6760a0850182610ddb565b509392505050565b600181811c90821680610e8357607f821691505b602082108103610ea357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600990820152681393d517d051d1539560ba1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610e0b57610e0b610ecc565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b601f821115610f7857600081815260208120601f850160051c81016020861015610f555750805b601f850160051c820191505b81811015610f7457828155600101610f61565b5050505b505050565b67ffffffffffffffff831115610f9557610f95610f18565b610fa983610fa38354610e6f565b83610f2e565b6000601f841160018114610fdd5760008515610fc55750838201355b600019600387901b1c1916600186901b178355611037565b600083815260209020601f19861690835b8281101561100e5786850135825560209485019460019092019101610fee565b508682101561102b5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061107b60208301848661103e565b949350505050565b80820180821115610e0b57610e0b610ecc565b6040815260006110aa60408301858761103e565b905082602083015294935050505056fea2646970667358221220d5494963c8750770719e7dce2325dc0c09835f067379cdcaa8a79958692872ae64736f6c63430008140033",
|
|
397
|
+
"deployedBytecode": "0x6080604052600436106100f35760003560e01c8063824619481161008a578063db89c04411610059578063db89c044146102c8578063f2c298be146102f5578063f2fde38b14610308578063fb3551ff1461032857600080fd5b806382461948146102135780638c80fd90146102335780638da5cb5b1461025357806397a5d5b51461028b57600080fd5b80633b17c736116100c65780633b17c7361461019457806342623360146101be57806357200a9e146101eb5780635a627dbc1461020b57600080fd5b806316a8c146146100f857806325d5971f1461012e578063278e07ce14610150578063375b3c0a14610170575b600080fd5b34801561010457600080fd5b50610118610113366004610c62565b610355565b6040516101259190610cca565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004610cdd565b6103ef565b005b34801561015c57600080fd5b5061014e61016b366004610cf6565b6105c4565b34801561017c57600080fd5b5061018660065481565b604051908152602001610125565b3480156101a057600080fd5b506005546101ae9060ff1681565b6040519015158152602001610125565b3480156101ca57600080fd5b506101866101d9366004610c62565b60026020526000908152604090205481565b3480156101f757600080fd5b5061014e610206366004610d31565b610661565b61014e6106f8565b34801561021f57600080fd5b5061014e61022e366004610da3565b6107e0565b34801561023f57600080fd5b5061014e61024e366004610cdd565b61085c565b34801561025f57600080fd5b50600054610273906001600160a01b031681565b6040516001600160a01b039091168152602001610125565b34801561029757600080fd5b506102bb6102a6366004610c62565b60036020526000908152604090205460ff1681565b6040516101259190610dfd565b3480156102d457600080fd5b506101866102e3366004610c62565b60046020526000908152604090205481565b61014e610303366004610d31565b6108ca565b34801561031457600080fd5b5061014e610323366004610c62565b610a1c565b34801561033457600080fd5b50610348610343366004610c62565b610ae4565b6040516101259190610e11565b6001602052600090815260409020805461036e90610e6f565b80601f016020809104026020016040519081016040528092919081815260200182805461039a90610e6f565b80156103e75780601f106103bc576101008083540402835291602001916103e7565b820191906000526020600020905b8154815290600101906020018083116103ca57829003601f168201915b505050505081565b3360009081526003602052604081205460ff16600281111561041357610413610dc5565b036104395760405162461bcd60e51b815260040161043090610ea9565b60405180910390fd5b600081116104775760405162461bcd60e51b815260206004820152600b60248201526a16915493d7d05353d5539560aa1b6044820152606401610430565b336000908152600260205260409020548111156104cd5760405162461bcd60e51b8152602060048201526014602482015273494e53554646494349454e545f42414c414e434560601b6044820152606401610430565b33600090815260026020526040812080548392906104ec908490610ee2565b9091555050604051600090339083908381818185875af1925050503d8060008114610533576040519150601f19603f3d011682016040523d82523d6000602084013e610538565b606091505b505090508061057b5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610430565b336000818152600260209081526040918290205491519182527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae91015b60405180910390a25050565b6000546001600160a01b031633146105ee5760405162461bcd60e51b815260040161043090610ef5565b6001600160a01b0382166000908152600360205260409020805482919060ff1916600183600281111561062357610623610dc5565b0217905550816001600160a01b03167f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b826040516105b89190610dfd565b3360009081526003602052604081205460ff16600281111561068557610685610dc5565b036106a25760405162461bcd60e51b815260040161043090610ea9565b3360009081526001602052604090206106bc828483610f7d565b50336001600160a01b03167fb915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb5783836040516105b8929190611067565b3360009081526003602052604081205460ff16600281111561071c5761071c610dc5565b036107395760405162461bcd60e51b815260040161043090610ea9565b600034116107765760405162461bcd60e51b815260206004820152600a6024820152695a45524f5f5354414b4560b01b6044820152606401610430565b3360009081526002602052604081208054349290610795908490611083565b9091555050336000818152600260209081526040918290205491519182527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae910160405180910390a2565b6000546001600160a01b0316331461080a5760405162461bcd60e51b815260040161043090610ef5565b6005805460ff19168215159081179091556006546040805192835260208301919091527fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a54091015b60405180910390a150565b6000546001600160a01b031633146108865760405162461bcd60e51b815260040161043090610ef5565b60068190556005546040805160ff90921615158252602082018390527fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a5409101610851565b60055460ff161561091c5760065434101561091c5760405162461bcd60e51b8152602060048201526012602482015271494e53554646494349454e545f5354414b4560701b6044820152606401610430565b336000908152600160205260409020610936828483610f7d565b503360009081526002602052604081208054349290610956908490611083565b90915550503360009081526003602052604081205460ff16600281111561097f5761097f610dc5565b036109d9573360008181526003602052604090819020805460ff1916600190811790915590517f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b916109d091610dfd565b60405180910390a25b33600081815260026020526040908190205490517f023c5efe572c42192271951adb0e77f97d7fc84bc761d026189ac08617346824916105b89186918691611096565b6000546001600160a01b03163314610a465760405162461bcd60e51b815260040161043090610ef5565b6001600160a01b038116610a895760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606401610430565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610aec610bfe565b6040805160a0810182526001600160a01b03841680825260009081526001602090815292902080549192830191610b2290610e6f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4e90610e6f565b8015610b9b5780601f10610b7057610100808354040283529160200191610b9b565b820191906000526020600020905b815481529060010190602001808311610b7e57829003601f168201915b50505091835250506001600160a01b03841660008181526002602081815260408084205482870152848452600482528084205481870152938352600390529190205460609092019160ff1690811115610bf657610bf6610dc5565b905292915050565b6040518060a0016040528060006001600160a01b0316815260200160608152602001600081526020016000815260200160006002811115610c4157610c41610dc5565b905290565b80356001600160a01b0381168114610c5d57600080fd5b919050565b600060208284031215610c7457600080fd5b610c7d82610c46565b9392505050565b6000815180845260005b81811015610caa57602081850181015186830182015201610c8e565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610c7d6020830184610c84565b600060208284031215610cef57600080fd5b5035919050565b60008060408385031215610d0957600080fd5b610d1283610c46565b9150602083013560038110610d2657600080fd5b809150509250929050565b60008060208385031215610d4457600080fd5b823567ffffffffffffffff80821115610d5c57600080fd5b818501915085601f830112610d7057600080fd5b813581811115610d7f57600080fd5b866020828501011115610d9157600080fd5b60209290920196919550909350505050565b600060208284031215610db557600080fd5b81358015158114610c7d57600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610df957634e487b7160e01b600052602160045260246000fd5b9052565b60208101610e0b8284610ddb565b92915050565b602080825282516001600160a01b03168282015282015160a06040830152600090610e3f60c0840182610c84565b905060408401516060840152606084015160808401526080840151610e6760a0850182610ddb565b509392505050565b600181811c90821680610e8357607f821691505b602082108103610ea357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600990820152681393d517d051d1539560ba1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610e0b57610e0b610ecc565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b601f821115610f7857600081815260208120601f850160051c81016020861015610f555750805b601f850160051c820191505b81811015610f7457828155600101610f61565b5050505b505050565b67ffffffffffffffff831115610f9557610f95610f18565b610fa983610fa38354610e6f565b83610f2e565b6000601f841160018114610fdd5760008515610fc55750838201355b600019600387901b1c1916600186901b178355611037565b600083815260209020601f19861690835b8281101561100e5786850135825560209485019460019092019101610fee565b508682101561102b5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061107b60208301848661103e565b949350505050565b80820180821115610e0b57610e0b610ecc565b6040815260006110aa60408301858761103e565b905082602083015294935050505056fea2646970667358221220d5494963c8750770719e7dce2325dc0c09835f067379cdcaa8a79958692872ae64736f6c63430008140033",
|
|
398
|
+
"linkReferences": {},
|
|
399
|
+
"deployedLinkReferences": {}
|
|
400
|
+
}
|