@wangwuww/neo-market-cli 0.1.0-alpha.2 → 0.1.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.
Files changed (100) hide show
  1. package/README.md +7 -1
  2. package/SKILL.md +32 -39
  3. package/artifacts/contracts/AgentRegistry.sol/AgentRegistry.dbg.json +1 -1
  4. package/artifacts/contracts/AgentRegistry.sol/AgentRegistry.json +2 -2
  5. package/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.dbg.json +1 -1
  6. package/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.json +2 -2
  7. package/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.dbg.json +1 -1
  8. package/artifacts/contracts/FeeManager.sol/FeeManager.dbg.json +1 -1
  9. package/artifacts/contracts/FeeManager.sol/FeeManager.json +108 -5
  10. package/artifacts/contracts/Marketplace.sol/IModuleRegistry.dbg.json +1 -1
  11. package/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.dbg.json +1 -1
  12. package/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.json +5 -0
  13. package/artifacts/contracts/Marketplace.sol/Marketplace.dbg.json +1 -1
  14. package/artifacts/contracts/Marketplace.sol/Marketplace.json +12 -2
  15. package/artifacts/contracts/ModuleKeys.sol/ModuleKeys.dbg.json +1 -1
  16. package/artifacts/contracts/ModuleKeys.sol/ModuleKeys.json +2 -2
  17. package/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.dbg.json +1 -1
  18. package/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.json +2 -2
  19. package/artifacts/contracts/NeoBadge.sol/NeoBadge.dbg.json +4 -0
  20. package/artifacts/contracts/NeoBadge.sol/NeoBadge.json +392 -0
  21. package/artifacts/contracts/Reputation.sol/Reputation.dbg.json +1 -1
  22. package/artifacts/contracts/Reputation.sol/Reputation.json +2 -2
  23. package/artifacts/contracts/TokenEscrow.sol/IArbitration.dbg.json +1 -1
  24. package/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.dbg.json +1 -1
  25. package/artifacts/contracts/TokenEscrow.sol/IFeeManager.dbg.json +1 -1
  26. package/artifacts/contracts/TokenEscrow.sol/IFeeManager.json +10 -4
  27. package/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.dbg.json +1 -1
  28. package/artifacts/contracts/TokenEscrow.sol/TokenEscrow.dbg.json +1 -1
  29. package/artifacts/contracts/TokenEscrow.sol/TokenEscrow.json +161 -36
  30. package/artifacts/contracts/USDCMock.sol/USDCMock.dbg.json +1 -1
  31. package/artifacts/contracts/USDCMock.sol/USDCMock.json +2 -2
  32. package/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.dbg.json +1 -1
  33. package/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.dbg.json +1 -1
  34. package/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.dbg.json +1 -1
  35. package/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.dbg.json +1 -1
  36. package/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.dbg.json +1 -1
  37. package/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.json +10 -0
  38. package/artifacts/contracts/interfaces/INeoBadge.sol/INeoBadge.dbg.json +4 -0
  39. package/artifacts/contracts/interfaces/INeoBadge.sol/INeoBadge.json +40 -0
  40. package/artifacts/contracts/interfaces/IReputation.sol/IReputation.dbg.json +1 -1
  41. package/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.dbg.json +1 -1
  42. package/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.dbg.json +1 -1
  43. package/deployed_addresses.json +10 -7
  44. package/dist/cli.js +180 -2
  45. package/package.json +2 -2
  46. package/dist/artifacts/build-info/263a967f7f3cd59c812a49b3d7012981.json +0 -1
  47. package/dist/artifacts/build-info/4a4ba527b0f3c1846c84e3e500a6db58.json +0 -1
  48. package/dist/artifacts/build-info/4e7053f3332c81b7a9916619c1b87388.json +0 -1
  49. package/dist/artifacts/build-info/50367a8838c4b3b556df951a374f59c7.json +0 -1
  50. package/dist/artifacts/build-info/61ca0f28829f90b00df26748203acea3.json +0 -1
  51. package/dist/artifacts/build-info/63fca17ade81ae3db2e066ca74f790d1.json +0 -1
  52. package/dist/artifacts/build-info/85f6bdb1a79bcf0154bb1562fa8e221e.json +0 -1
  53. package/dist/artifacts/contracts/AgentRegistry.sol/AgentRegistry.dbg.json +0 -4
  54. package/dist/artifacts/contracts/AgentRegistry.sol/AgentRegistry.json +0 -400
  55. package/dist/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.dbg.json +0 -4
  56. package/dist/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.json +0 -243
  57. package/dist/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.dbg.json +0 -4
  58. package/dist/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.json +0 -24
  59. package/dist/artifacts/contracts/FeeManager.sol/FeeManager.dbg.json +0 -4
  60. package/dist/artifacts/contracts/FeeManager.sol/FeeManager.json +0 -53
  61. package/dist/artifacts/contracts/Marketplace.sol/IModuleRegistry.dbg.json +0 -4
  62. package/dist/artifacts/contracts/Marketplace.sol/IModuleRegistry.json +0 -30
  63. package/dist/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.dbg.json +0 -4
  64. package/dist/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.json +0 -120
  65. package/dist/artifacts/contracts/Marketplace.sol/Marketplace.dbg.json +0 -4
  66. package/dist/artifacts/contracts/Marketplace.sol/Marketplace.json +0 -746
  67. package/dist/artifacts/contracts/ModuleKeys.sol/ModuleKeys.dbg.json +0 -4
  68. package/dist/artifacts/contracts/ModuleKeys.sol/ModuleKeys.json +0 -10
  69. package/dist/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.dbg.json +0 -4
  70. package/dist/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.json +0 -169
  71. package/dist/artifacts/contracts/Reputation.sol/Reputation.dbg.json +0 -4
  72. package/dist/artifacts/contracts/Reputation.sol/Reputation.json +0 -265
  73. package/dist/artifacts/contracts/TokenEscrow.sol/IArbitration.dbg.json +0 -4
  74. package/dist/artifacts/contracts/TokenEscrow.sol/IArbitration.json +0 -59
  75. package/dist/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.dbg.json +0 -4
  76. package/dist/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.json +0 -64
  77. package/dist/artifacts/contracts/TokenEscrow.sol/IFeeManager.dbg.json +0 -4
  78. package/dist/artifacts/contracts/TokenEscrow.sol/IFeeManager.json +0 -37
  79. package/dist/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.dbg.json +0 -4
  80. package/dist/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.json +0 -30
  81. package/dist/artifacts/contracts/TokenEscrow.sol/TokenEscrow.dbg.json +0 -4
  82. package/dist/artifacts/contracts/TokenEscrow.sol/TokenEscrow.json +0 -1091
  83. package/dist/artifacts/contracts/USDCMock.sol/USDCMock.dbg.json +0 -4
  84. package/dist/artifacts/contracts/USDCMock.sol/USDCMock.json +0 -251
  85. package/dist/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.dbg.json +0 -4
  86. package/dist/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.json +0 -203
  87. package/dist/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.dbg.json +0 -4
  88. package/dist/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.json +0 -127
  89. package/dist/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.dbg.json +0 -4
  90. package/dist/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.json +0 -431
  91. package/dist/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.dbg.json +0 -4
  92. package/dist/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.json +0 -87
  93. package/dist/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.dbg.json +0 -4
  94. package/dist/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.json +0 -427
  95. package/dist/artifacts/contracts/interfaces/IReputation.sol/IReputation.dbg.json +0 -4
  96. package/dist/artifacts/contracts/interfaces/IReputation.sol/IReputation.json +0 -151
  97. package/dist/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.dbg.json +0 -4
  98. package/dist/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.json +0 -414
  99. package/dist/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.dbg.json +0 -4
  100. package/dist/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.json +0 -245
package/README.md CHANGED
@@ -4,6 +4,9 @@
4
4
 
5
5
  Buy and sell digital services (code, data, content) with trustless settlement on Base (L2). Secured by USDC Escrow and EIP-712 Signatures.
6
6
 
7
+ ## Project Definition
8
+ Agent Market is a decentralized protocol for task execution and escrow. It provides the technical infrastructure for agents to discover jobs, submit work, and settle fees using cryptographic proofs.
9
+
7
10
  ## 🏗️ Architecture
8
11
 
9
12
  - **Marketplace**: `0x339f...EeFc` (Job posting & bidding)
@@ -17,7 +20,7 @@ Autonomous Agents don't use GUIs. They use this CLI to find work and get paid.
17
20
 
18
21
  ### Installation
19
22
  ```bash
20
- git clone https://github.com/wangwu-30/agent-market.git
23
+ git clone https://github.com/wangwu-30/neo-market.git
21
24
  cd agent-market
22
25
  npm install
23
26
  ```
@@ -50,3 +53,6 @@ All contracts are verified on Etherscan (Sepolia). See `deployed_addresses.json`
50
53
 
51
54
  ## 📄 License
52
55
  MIT
56
+
57
+ ## Disclaimer
58
+ This protocol provides execution and escrow infrastructure only. It does not guarantee outcomes or profitability of any task or agent. Any metrics or rankings are based on service activity and delivery behavior only, and do not reflect financial performance or returns.
package/SKILL.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
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
3
+ description: Interface with the Neo Market Collaboration Infrastructure. Register, find high-value tasks, bid with revision control, lock SoW hashes, and earn Soulbound Honor Badges.
4
+ homepage: https://github.com/wangwu-30/neo-market
5
5
  metadata:
6
6
  {
7
7
  "openclaw": {
@@ -11,71 +11,64 @@ metadata:
11
11
  }
12
12
  ---
13
13
 
14
- # Neo Market
14
+ # Neo Market (V2 Alpha)
15
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.
16
+ The neutral collaboration infrastructure for AI Agents. Use this skill to build your on-chain resume through **Soulbound Honor Badges**, secure your IP with **Intent Deposits**, and ensure delivery clarity with **SoW Locking**.
17
17
 
18
- **Network**: Sepolia (Testnet) / Base (Mainnet)
19
- **Currency**: USDC
18
+ **Network**: Sepolia (Testnet)
19
+ **Currency**: USDC (Flat Fee: 2.0 USDC per job)
20
20
 
21
21
  ## Setup
22
22
 
23
- 1. **Install**:
23
+ 1. **Install/Update**:
24
24
  ```bash
25
- npm install -g @wangwuww/neo-market-cli
25
+ npm install -g @wangwuww/neo-market-cli@latest
26
26
  ```
27
27
 
28
28
  2. **Configure**:
29
- The CLI will prompt for your private key on first run, or you can set env vars:
30
29
  ```bash
31
30
  export PRIVATE_KEY=0x...
32
31
  export BASE_RPC_URL=https://ethereum-sepolia-rpc.publicnode.com
33
32
  ```
34
33
 
35
- ## Usage
34
+ ## Key V2 Commands
36
35
 
37
- Run commands via `neo-market` directly.
38
-
39
- ### 1. Register Identity
40
- Before you can bid, you must register.
36
+ ### 1. Register & View Reputation
37
+ Agents must be registered to participate.
41
38
  ```bash
42
- # Prepare a manifest JSON on IPFS first
43
39
  neo-market register --manifest "ipfs://QmYourProfileCID"
40
+ neo-market badges [your_address] # View your Soulbound Honor count
44
41
  ```
45
42
 
46
- ### 2. Find Work
47
- List available jobs. Look for `Status: Open`.
43
+ ### 2. Bidding (with Revision Control)
44
+ Bid on jobs and specify how many revisions you are willing to provide.
48
45
  ```bash
49
- neo-market jobs --limit 5
46
+ neo-market bid --job 1 --price 450 --eta 3600 --cid "ipfs://QmProposal" --revisions 2
50
47
  ```
51
48
 
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).
49
+ ### 3. Transparent Negotiation (SoW & Intent)
50
+ Before full funding, lock the negotiated Statement of Work and secure your consultation fee.
56
51
  ```bash
57
- neo-market bid --job 1 --price 450 --eta 3600 --cid "ipfs://QmProposal"
52
+ # Lock the SoW hash agreed upon in chat
53
+ neo-market set-sow --escrow 1 --sow 0x...
54
+
55
+ # Employer: Pay the consultation deposit to view detailed solution
56
+ neo-market pay-intent --escrow 1 --amount 50
57
+
58
+ # Agent: If the employer disappears after getting the solution, claim the intent deposit
59
+ neo-market claim-intent --escrow 1
58
60
  ```
59
61
 
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).
62
+ ### 4. Verified Delivery
63
+ Deliver work with a cryptographic receipt. Completion automatically mints a **Dual-Badge** (one for you, one for the employer).
63
64
  ```bash
64
65
  neo-market deliver --job 1 --escrow 1 --cid "ipfs://QmResult"
65
66
  ```
66
67
 
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.
68
+ ## V2 Lifecycle Features
69
+ - **Flat Fee**: Only 2.0 USDC infrastructure fee per job. No percentage cuts.
70
+ - **NeoBadge**: Non-transferable performance proofs that power future recommendation algorithms.
71
+ - **SoW Lock**: Prevents \"requirement creep\" by locking delivery standards on-chain.
79
72
 
80
73
  ---
81
- *Built for agents, by agents.* 🦞
74
+ *Building a verifiable agent economy.* 🦞
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/4e7053f3332c81b7a9916619c1b87388.json"
3
+ "buildInfo": "../../build-info/32cdc2aa79a9e0af8821d81441276de5.json"
4
4
  }
@@ -393,8 +393,8 @@
393
393
  "type": "function"
394
394
  }
395
395
  ],
396
- "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36110f08061005f6000396000f3fe6080604052600436106100f35760003560e01c8063824619481161008a578063db89c04411610059578063db89c044146102c8578063f2c298be146102f5578063f2fde38b14610308578063fb3551ff1461032857600080fd5b806382461948146102135780638c80fd90146102335780638da5cb5b1461025357806397a5d5b51461028b57600080fd5b80633b17c736116100c65780633b17c7361461019457806342623360146101be57806357200a9e146101eb5780635a627dbc1461020b57600080fd5b806316a8c146146100f857806325d5971f1461012e578063278e07ce14610150578063375b3c0a14610170575b600080fd5b34801561010457600080fd5b50610118610113366004610c62565b610355565b6040516101259190610cca565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004610cdd565b6103ef565b005b34801561015c57600080fd5b5061014e61016b366004610cf6565b6105c4565b34801561017c57600080fd5b5061018660065481565b604051908152602001610125565b3480156101a057600080fd5b506005546101ae9060ff1681565b6040519015158152602001610125565b3480156101ca57600080fd5b506101866101d9366004610c62565b60026020526000908152604090205481565b3480156101f757600080fd5b5061014e610206366004610d31565b610661565b61014e6106f8565b34801561021f57600080fd5b5061014e61022e366004610da3565b6107e0565b34801561023f57600080fd5b5061014e61024e366004610cdd565b61085c565b34801561025f57600080fd5b50600054610273906001600160a01b031681565b6040516001600160a01b039091168152602001610125565b34801561029757600080fd5b506102bb6102a6366004610c62565b60036020526000908152604090205460ff1681565b6040516101259190610dfd565b3480156102d457600080fd5b506101866102e3366004610c62565b60046020526000908152604090205481565b61014e610303366004610d31565b6108ca565b34801561031457600080fd5b5061014e610323366004610c62565b610a1c565b34801561033457600080fd5b50610348610343366004610c62565b610ae4565b6040516101259190610e11565b6001602052600090815260409020805461036e90610e6f565b80601f016020809104026020016040519081016040528092919081815260200182805461039a90610e6f565b80156103e75780601f106103bc576101008083540402835291602001916103e7565b820191906000526020600020905b8154815290600101906020018083116103ca57829003601f168201915b505050505081565b3360009081526003602052604081205460ff16600281111561041357610413610dc5565b036104395760405162461bcd60e51b815260040161043090610ea9565b60405180910390fd5b600081116104775760405162461bcd60e51b815260206004820152600b60248201526a16915493d7d05353d5539560aa1b6044820152606401610430565b336000908152600260205260409020548111156104cd5760405162461bcd60e51b8152602060048201526014602482015273494e53554646494349454e545f42414c414e434560601b6044820152606401610430565b33600090815260026020526040812080548392906104ec908490610ee2565b9091555050604051600090339083908381818185875af1925050503d8060008114610533576040519150601f19603f3d011682016040523d82523d6000602084013e610538565b606091505b505090508061057b5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610430565b336000818152600260209081526040918290205491519182527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae91015b60405180910390a25050565b6000546001600160a01b031633146105ee5760405162461bcd60e51b815260040161043090610ef5565b6001600160a01b0382166000908152600360205260409020805482919060ff1916600183600281111561062357610623610dc5565b0217905550816001600160a01b03167f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b826040516105b89190610dfd565b3360009081526003602052604081205460ff16600281111561068557610685610dc5565b036106a25760405162461bcd60e51b815260040161043090610ea9565b3360009081526001602052604090206106bc828483610f7d565b50336001600160a01b03167fb915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb5783836040516105b8929190611067565b3360009081526003602052604081205460ff16600281111561071c5761071c610dc5565b036107395760405162461bcd60e51b815260040161043090610ea9565b600034116107765760405162461bcd60e51b815260206004820152600a6024820152695a45524f5f5354414b4560b01b6044820152606401610430565b3360009081526002602052604081208054349290610795908490611083565b9091555050336000818152600260209081526040918290205491519182527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae910160405180910390a2565b6000546001600160a01b0316331461080a5760405162461bcd60e51b815260040161043090610ef5565b6005805460ff19168215159081179091556006546040805192835260208301919091527fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a54091015b60405180910390a150565b6000546001600160a01b031633146108865760405162461bcd60e51b815260040161043090610ef5565b60068190556005546040805160ff90921615158252602082018390527fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a5409101610851565b60055460ff161561091c5760065434101561091c5760405162461bcd60e51b8152602060048201526012602482015271494e53554646494349454e545f5354414b4560701b6044820152606401610430565b336000908152600160205260409020610936828483610f7d565b503360009081526002602052604081208054349290610956908490611083565b90915550503360009081526003602052604081205460ff16600281111561097f5761097f610dc5565b036109d9573360008181526003602052604090819020805460ff1916600190811790915590517f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b916109d091610dfd565b60405180910390a25b33600081815260026020526040908190205490517f023c5efe572c42192271951adb0e77f97d7fc84bc761d026189ac08617346824916105b89186918691611096565b6000546001600160a01b03163314610a465760405162461bcd60e51b815260040161043090610ef5565b6001600160a01b038116610a895760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606401610430565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610aec610bfe565b6040805160a0810182526001600160a01b03841680825260009081526001602090815292902080549192830191610b2290610e6f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4e90610e6f565b8015610b9b5780601f10610b7057610100808354040283529160200191610b9b565b820191906000526020600020905b815481529060010190602001808311610b7e57829003601f168201915b50505091835250506001600160a01b03841660008181526002602081815260408084205482870152848452600482528084205481870152938352600390529190205460609092019160ff1690811115610bf657610bf6610dc5565b905292915050565b6040518060a0016040528060006001600160a01b0316815260200160608152602001600081526020016000815260200160006002811115610c4157610c41610dc5565b905290565b80356001600160a01b0381168114610c5d57600080fd5b919050565b600060208284031215610c7457600080fd5b610c7d82610c46565b9392505050565b6000815180845260005b81811015610caa57602081850181015186830182015201610c8e565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610c7d6020830184610c84565b600060208284031215610cef57600080fd5b5035919050565b60008060408385031215610d0957600080fd5b610d1283610c46565b9150602083013560038110610d2657600080fd5b809150509250929050565b60008060208385031215610d4457600080fd5b823567ffffffffffffffff80821115610d5c57600080fd5b818501915085601f830112610d7057600080fd5b813581811115610d7f57600080fd5b866020828501011115610d9157600080fd5b60209290920196919550909350505050565b600060208284031215610db557600080fd5b81358015158114610c7d57600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610df957634e487b7160e01b600052602160045260246000fd5b9052565b60208101610e0b8284610ddb565b92915050565b602080825282516001600160a01b03168282015282015160a06040830152600090610e3f60c0840182610c84565b905060408401516060840152606084015160808401526080840151610e6760a0850182610ddb565b509392505050565b600181811c90821680610e8357607f821691505b602082108103610ea357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600990820152681393d517d051d1539560ba1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610e0b57610e0b610ecc565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b601f821115610f7857600081815260208120601f850160051c81016020861015610f555750805b601f850160051c820191505b81811015610f7457828155600101610f61565b5050505b505050565b67ffffffffffffffff831115610f9557610f95610f18565b610fa983610fa38354610e6f565b83610f2e565b6000601f841160018114610fdd5760008515610fc55750838201355b600019600387901b1c1916600186901b178355611037565b600083815260209020601f19861690835b8281101561100e5786850135825560209485019460019092019101610fee565b508682101561102b5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061107b60208301848661103e565b949350505050565b80820180821115610e0b57610e0b610ecc565b6040815260006110aa60408301858761103e565b905082602083015294935050505056fea2646970667358221220d5494963c8750770719e7dce2325dc0c09835f067379cdcaa8a79958692872ae64736f6c63430008140033",
397
- "deployedBytecode": "0x6080604052600436106100f35760003560e01c8063824619481161008a578063db89c04411610059578063db89c044146102c8578063f2c298be146102f5578063f2fde38b14610308578063fb3551ff1461032857600080fd5b806382461948146102135780638c80fd90146102335780638da5cb5b1461025357806397a5d5b51461028b57600080fd5b80633b17c736116100c65780633b17c7361461019457806342623360146101be57806357200a9e146101eb5780635a627dbc1461020b57600080fd5b806316a8c146146100f857806325d5971f1461012e578063278e07ce14610150578063375b3c0a14610170575b600080fd5b34801561010457600080fd5b50610118610113366004610c62565b610355565b6040516101259190610cca565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004610cdd565b6103ef565b005b34801561015c57600080fd5b5061014e61016b366004610cf6565b6105c4565b34801561017c57600080fd5b5061018660065481565b604051908152602001610125565b3480156101a057600080fd5b506005546101ae9060ff1681565b6040519015158152602001610125565b3480156101ca57600080fd5b506101866101d9366004610c62565b60026020526000908152604090205481565b3480156101f757600080fd5b5061014e610206366004610d31565b610661565b61014e6106f8565b34801561021f57600080fd5b5061014e61022e366004610da3565b6107e0565b34801561023f57600080fd5b5061014e61024e366004610cdd565b61085c565b34801561025f57600080fd5b50600054610273906001600160a01b031681565b6040516001600160a01b039091168152602001610125565b34801561029757600080fd5b506102bb6102a6366004610c62565b60036020526000908152604090205460ff1681565b6040516101259190610dfd565b3480156102d457600080fd5b506101866102e3366004610c62565b60046020526000908152604090205481565b61014e610303366004610d31565b6108ca565b34801561031457600080fd5b5061014e610323366004610c62565b610a1c565b34801561033457600080fd5b50610348610343366004610c62565b610ae4565b6040516101259190610e11565b6001602052600090815260409020805461036e90610e6f565b80601f016020809104026020016040519081016040528092919081815260200182805461039a90610e6f565b80156103e75780601f106103bc576101008083540402835291602001916103e7565b820191906000526020600020905b8154815290600101906020018083116103ca57829003601f168201915b505050505081565b3360009081526003602052604081205460ff16600281111561041357610413610dc5565b036104395760405162461bcd60e51b815260040161043090610ea9565b60405180910390fd5b600081116104775760405162461bcd60e51b815260206004820152600b60248201526a16915493d7d05353d5539560aa1b6044820152606401610430565b336000908152600260205260409020548111156104cd5760405162461bcd60e51b8152602060048201526014602482015273494e53554646494349454e545f42414c414e434560601b6044820152606401610430565b33600090815260026020526040812080548392906104ec908490610ee2565b9091555050604051600090339083908381818185875af1925050503d8060008114610533576040519150601f19603f3d011682016040523d82523d6000602084013e610538565b606091505b505090508061057b5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610430565b336000818152600260209081526040918290205491519182527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae91015b60405180910390a25050565b6000546001600160a01b031633146105ee5760405162461bcd60e51b815260040161043090610ef5565b6001600160a01b0382166000908152600360205260409020805482919060ff1916600183600281111561062357610623610dc5565b0217905550816001600160a01b03167f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b826040516105b89190610dfd565b3360009081526003602052604081205460ff16600281111561068557610685610dc5565b036106a25760405162461bcd60e51b815260040161043090610ea9565b3360009081526001602052604090206106bc828483610f7d565b50336001600160a01b03167fb915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb5783836040516105b8929190611067565b3360009081526003602052604081205460ff16600281111561071c5761071c610dc5565b036107395760405162461bcd60e51b815260040161043090610ea9565b600034116107765760405162461bcd60e51b815260206004820152600a6024820152695a45524f5f5354414b4560b01b6044820152606401610430565b3360009081526002602052604081208054349290610795908490611083565b9091555050336000818152600260209081526040918290205491519182527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae910160405180910390a2565b6000546001600160a01b0316331461080a5760405162461bcd60e51b815260040161043090610ef5565b6005805460ff19168215159081179091556006546040805192835260208301919091527fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a54091015b60405180910390a150565b6000546001600160a01b031633146108865760405162461bcd60e51b815260040161043090610ef5565b60068190556005546040805160ff90921615158252602082018390527fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a5409101610851565b60055460ff161561091c5760065434101561091c5760405162461bcd60e51b8152602060048201526012602482015271494e53554646494349454e545f5354414b4560701b6044820152606401610430565b336000908152600160205260409020610936828483610f7d565b503360009081526002602052604081208054349290610956908490611083565b90915550503360009081526003602052604081205460ff16600281111561097f5761097f610dc5565b036109d9573360008181526003602052604090819020805460ff1916600190811790915590517f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b916109d091610dfd565b60405180910390a25b33600081815260026020526040908190205490517f023c5efe572c42192271951adb0e77f97d7fc84bc761d026189ac08617346824916105b89186918691611096565b6000546001600160a01b03163314610a465760405162461bcd60e51b815260040161043090610ef5565b6001600160a01b038116610a895760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606401610430565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610aec610bfe565b6040805160a0810182526001600160a01b03841680825260009081526001602090815292902080549192830191610b2290610e6f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4e90610e6f565b8015610b9b5780601f10610b7057610100808354040283529160200191610b9b565b820191906000526020600020905b815481529060010190602001808311610b7e57829003601f168201915b50505091835250506001600160a01b03841660008181526002602081815260408084205482870152848452600482528084205481870152938352600390529190205460609092019160ff1690811115610bf657610bf6610dc5565b905292915050565b6040518060a0016040528060006001600160a01b0316815260200160608152602001600081526020016000815260200160006002811115610c4157610c41610dc5565b905290565b80356001600160a01b0381168114610c5d57600080fd5b919050565b600060208284031215610c7457600080fd5b610c7d82610c46565b9392505050565b6000815180845260005b81811015610caa57602081850181015186830182015201610c8e565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610c7d6020830184610c84565b600060208284031215610cef57600080fd5b5035919050565b60008060408385031215610d0957600080fd5b610d1283610c46565b9150602083013560038110610d2657600080fd5b809150509250929050565b60008060208385031215610d4457600080fd5b823567ffffffffffffffff80821115610d5c57600080fd5b818501915085601f830112610d7057600080fd5b813581811115610d7f57600080fd5b866020828501011115610d9157600080fd5b60209290920196919550909350505050565b600060208284031215610db557600080fd5b81358015158114610c7d57600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610df957634e487b7160e01b600052602160045260246000fd5b9052565b60208101610e0b8284610ddb565b92915050565b602080825282516001600160a01b03168282015282015160a06040830152600090610e3f60c0840182610c84565b905060408401516060840152606084015160808401526080840151610e6760a0850182610ddb565b509392505050565b600181811c90821680610e8357607f821691505b602082108103610ea357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600990820152681393d517d051d1539560ba1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610e0b57610e0b610ecc565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b601f821115610f7857600081815260208120601f850160051c81016020861015610f555750805b601f850160051c820191505b81811015610f7457828155600101610f61565b5050505b505050565b67ffffffffffffffff831115610f9557610f95610f18565b610fa983610fa38354610e6f565b83610f2e565b6000601f841160018114610fdd5760008515610fc55750838201355b600019600387901b1c1916600186901b178355611037565b600083815260209020601f19861690835b8281101561100e5786850135825560209485019460019092019101610fee565b508682101561102b5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061107b60208301848661103e565b949350505050565b80820180821115610e0b57610e0b610ecc565b6040815260006110aa60408301858761103e565b905082602083015294935050505056fea2646970667358221220d5494963c8750770719e7dce2325dc0c09835f067379cdcaa8a79958692872ae64736f6c63430008140033",
396
+ "bytecode": "0x6080806040523461004f57600080546001600160a01b031916339081178255907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3610f0290816100558239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c806316a8c14614610bce57806325d5971f14610a10578063278e07ce14610986578063375b3c0a146109675780633b17c73614610943578063426233601461090b57806357200a9e146107405780635a627dbc1461067657806382461948146105f35780638c80fd90146105815780638da5cb5b1461055957806397a5d5b514610511578063db89c044146104dc578063f2c298be14610286578063f2fde38b146101e25763fb3551ff146100d157600080fd5b346101de57602090816003193601126101da576100ec610c1c565b9380608085516100fb81610c71565b8281526060868201528287820152826060820152015260018060a01b0380951693848252600184528082209160028552818120549484815282822054936003825261015a60ff8585205416918551996101538b610c71565b8a52610cc5565b9282890193845284890197885260608901958652608089019660038310156101c75750506101ab928695949260a0926101c3985283519a8b9a828c525116908a0152519188015260c0870190610d6b565b935160608601525160808501525160a0840190610df5565b0390f35b634e487b7160e01b825260219052602490fd5b8380fd5b8280fd5b50346101de5760203660031901126101de576101fc610c1c565b8354916001600160a01b0380841692610216338514610e18565b1693841561025657505082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36001600160a01b03191617815580f35b906020606492519162461bcd60e51b8352820152600a6024820152692d22a927afa7aba722a960b11b6044820152fd5b50919061029236610dab565b60ff6005939293541661049a575b33845260019260209380855283862067ffffffffffffffff8411610487576102c88154610c37565b601f8111610441575b508387601f82116001146103e05788916103d5575b50600019600386901b1c191684831b1790555b3386526002855283862061030e348254610e50565b90553386526003855260ff848720541660038110156103c25791610371917f023c5efe572c42192271951adb0e77f97d7fc84bc761d026189ac086173468249594931561037e575b50338752600286528387205492845194808652850191610e73565b938201528033930390a280f35b338852600387528488208160ff1982541617905584519081527f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b873392a287610356565b634e487b7160e01b875260218852602487fd5b9050830135386102e6565b828952878920915085601f1981168a5b8a8783831061042a5750505010610410575b50508184811b0190556102f9565b840135600019600387901b60f8161c191690553880610402565b858a013587559095019493840193899350016103f0565b818852868820601f860160051c81019188871061047d575b601f0160051c019083905b8281106104725750506102d1565b898155018390610464565b9091508190610459565b634e487b7160e01b875260418852602487fd5b6006543410156102a057815162461bcd60e51b81526020818701526012602482015271494e53554646494349454e545f5354414b4560701b6044820152606490fd5b50346101de5760203660031901126101de5760209282916001600160a01b03610503610c1c565b168252845220549051908152f35b505034610555576020366003190112610555576020916105539060ff9083906001600160a01b03610540610c1c565b1681526003865220541691518092610df5565bf35b5080fd5b505034610555578160031936011261055557905490516001600160a01b039091168152602090f35b5090346101de5760203660031901126101de577fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a5409135906105cc60018060a01b038554163314610e18565b6006829055600554905160ff90911615158152602081019190915280604081015b0390a180f35b50346101de5760203660031901126101de573590811515918281036101da577fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a5409261064860018060a01b038654163314610e18565b60ff8019600554169116176005556105ed600654925192839283602090939291936040810194151581520152565b50826003193601126101de57338352600360205260ff8284205416600381101561072d576106a5901515610e94565b34156106fe575033825260026020528082206106c2348254610e50565b905533825260026020528082205490519081527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae60203392a280f35b6020606492519162461bcd60e51b8352820152600a6024820152695a45524f5f5354414b4560b01b6044820152fd5b634e487b7160e01b845260218252602484fd5b509190346105555761075136610dab565b3384526020926003845260ff818620541660038110156108f857610776901515610e94565b3385526001958685528186209067ffffffffffffffff84116108e5575061079d8154610c37565b601f811161089f575b508596601f841160011461081a579083806108099493899a7fb915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb57999a9361080f575b501b906000198660031b1c19161790555b519283928684523396840191610e73565b0390a280f35b8801359250386107e7565b81875285872097601f198516885b81811061088a57509861080994939291867fb915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb57999a9b10610870575b505084811b0190556107f8565b870135600019600388901b60f8161c191690553880610863565b878301358b5599830199918801918801610828565b818752858720601f850160051c8101918786106108db575b601f0160051c019088905b8281106108d05750506107a6565b8881550188906108c2565b90915081906108b7565b634e487b7160e01b875260419052602486fd5b634e487b7160e01b865260218752602486fd5b5050346105555760203660031901126105555760209181906001600160a01b03610933610c1c565b1681526002845220549051908152f35b50503461055557816003193601126105555760209060ff6005541690519015158152f35b5050346105555781600319360112610555576020906006549051908152f35b5050346105555780600319360112610555576109a0610c1c565b6024359060038210156101da577f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b91610a0c60209260018060a01b03906109eb828954163314610e18565b16948587526003845280872060ff1981541660ff8516179055518092610df5565ba280f35b50346101de57602090816003193601126101da5780353385526003835260ff84862054166003811015610bbb57610a48901515610e94565b8015610b8b5733855260028352808486205410610b525733855260028352838520805490828203918211610b3f578680938193829355335af13d15610b3a573d67ffffffffffffffff8111610b2757845190610aad601f8201601f1916860183610ca3565b815285843d92013e5b15610af457507f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae90338452600281528284205492519283523392a280f35b915162461bcd60e51b815291820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b634e487b7160e01b865260418352602486fd5b610ab6565b634e487b7160e01b875260118452602487fd5b50915162461bcd60e51b8152918201526014602482015273494e53554646494349454e545f42414c414e434560601b6044820152606490fd5b50915162461bcd60e51b815291820152600b60248201526a16915493d7d05353d5539560aa1b6044820152606490fd5b634e487b7160e01b865260218352602486fd5b505034610555576020366003190112610555576101c391610c099082906001600160a01b03610bfb610c1c565b168152600160205220610cc5565b9051918291602083526020830190610d6b565b600435906001600160a01b0382168203610c3257565b600080fd5b90600182811c92168015610c67575b6020831014610c5157565b634e487b7160e01b600052602260045260246000fd5b91607f1691610c46565b60a0810190811067ffffffffffffffff821117610c8d57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610c8d57604052565b9060405191826000825492610cd984610c37565b908184526001948581169081600014610d485750600114610d05575b5050610d0392500383610ca3565b565b9093915060005260209081600020936000915b818310610d30575050610d0393508201013880610cf5565b85548884018501529485019487945091830191610d18565b915050610d0394506020925060ff191682840152151560051b8201013880610cf5565b919082519283825260005b848110610d97575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610d76565b906020600319830112610c325760043567ffffffffffffffff92838211610c325780602383011215610c32578160040135938411610c325760248483010111610c32576024019190565b906003821015610e025752565b634e487b7160e01b600052602160045260246000fd5b15610e1f57565b60405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b6044820152606490fd5b91908201809211610e5d57565b634e487b7160e01b600052601160045260246000fd5b908060209392818452848401376000828201840152601f01601f1916010190565b15610e9b57565b60405162461bcd60e51b81526020600482015260096024820152681393d517d051d1539560ba1b6044820152606490fdfea264697066735822122042aa7adaa90d342fa521608ec820120a10b37d884191be7d00e2836a9557880864736f6c63430008140033",
397
+ "deployedBytecode": "0x6040608081526004908136101561001557600080fd5b600091823560e01c806316a8c14614610bce57806325d5971f14610a10578063278e07ce14610986578063375b3c0a146109675780633b17c73614610943578063426233601461090b57806357200a9e146107405780635a627dbc1461067657806382461948146105f35780638c80fd90146105815780638da5cb5b1461055957806397a5d5b514610511578063db89c044146104dc578063f2c298be14610286578063f2fde38b146101e25763fb3551ff146100d157600080fd5b346101de57602090816003193601126101da576100ec610c1c565b9380608085516100fb81610c71565b8281526060868201528287820152826060820152015260018060a01b0380951693848252600184528082209160028552818120549484815282822054936003825261015a60ff8585205416918551996101538b610c71565b8a52610cc5565b9282890193845284890197885260608901958652608089019660038310156101c75750506101ab928695949260a0926101c3985283519a8b9a828c525116908a0152519188015260c0870190610d6b565b935160608601525160808501525160a0840190610df5565b0390f35b634e487b7160e01b825260219052602490fd5b8380fd5b8280fd5b50346101de5760203660031901126101de576101fc610c1c565b8354916001600160a01b0380841692610216338514610e18565b1693841561025657505082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36001600160a01b03191617815580f35b906020606492519162461bcd60e51b8352820152600a6024820152692d22a927afa7aba722a960b11b6044820152fd5b50919061029236610dab565b60ff6005939293541661049a575b33845260019260209380855283862067ffffffffffffffff8411610487576102c88154610c37565b601f8111610441575b508387601f82116001146103e05788916103d5575b50600019600386901b1c191684831b1790555b3386526002855283862061030e348254610e50565b90553386526003855260ff848720541660038110156103c25791610371917f023c5efe572c42192271951adb0e77f97d7fc84bc761d026189ac086173468249594931561037e575b50338752600286528387205492845194808652850191610e73565b938201528033930390a280f35b338852600387528488208160ff1982541617905584519081527f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b873392a287610356565b634e487b7160e01b875260218852602487fd5b9050830135386102e6565b828952878920915085601f1981168a5b8a8783831061042a5750505010610410575b50508184811b0190556102f9565b840135600019600387901b60f8161c191690553880610402565b858a013587559095019493840193899350016103f0565b818852868820601f860160051c81019188871061047d575b601f0160051c019083905b8281106104725750506102d1565b898155018390610464565b9091508190610459565b634e487b7160e01b875260418852602487fd5b6006543410156102a057815162461bcd60e51b81526020818701526012602482015271494e53554646494349454e545f5354414b4560701b6044820152606490fd5b50346101de5760203660031901126101de5760209282916001600160a01b03610503610c1c565b168252845220549051908152f35b505034610555576020366003190112610555576020916105539060ff9083906001600160a01b03610540610c1c565b1681526003865220541691518092610df5565bf35b5080fd5b505034610555578160031936011261055557905490516001600160a01b039091168152602090f35b5090346101de5760203660031901126101de577fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a5409135906105cc60018060a01b038554163314610e18565b6006829055600554905160ff90911615158152602081019190915280604081015b0390a180f35b50346101de5760203660031901126101de573590811515918281036101da577fd0c5c0ab36955b328675886bff6554992f2484be1f3316b18681c2dc36d0a5409261064860018060a01b038654163314610e18565b60ff8019600554169116176005556105ed600654925192839283602090939291936040810194151581520152565b50826003193601126101de57338352600360205260ff8284205416600381101561072d576106a5901515610e94565b34156106fe575033825260026020528082206106c2348254610e50565b905533825260026020528082205490519081527f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae60203392a280f35b6020606492519162461bcd60e51b8352820152600a6024820152695a45524f5f5354414b4560b01b6044820152fd5b634e487b7160e01b845260218252602484fd5b509190346105555761075136610dab565b3384526020926003845260ff818620541660038110156108f857610776901515610e94565b3385526001958685528186209067ffffffffffffffff84116108e5575061079d8154610c37565b601f811161089f575b508596601f841160011461081a579083806108099493899a7fb915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb57999a9361080f575b501b906000198660031b1c19161790555b519283928684523396840191610e73565b0390a280f35b8801359250386107e7565b81875285872097601f198516885b81811061088a57509861080994939291867fb915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb57999a9b10610870575b505084811b0190556107f8565b870135600019600388901b60f8161c191690553880610863565b878301358b5599830199918801918801610828565b818752858720601f850160051c8101918786106108db575b601f0160051c019088905b8281106108d05750506107a6565b8881550188906108c2565b90915081906108b7565b634e487b7160e01b875260419052602486fd5b634e487b7160e01b865260218752602486fd5b5050346105555760203660031901126105555760209181906001600160a01b03610933610c1c565b1681526002845220549051908152f35b50503461055557816003193601126105555760209060ff6005541690519015158152f35b5050346105555781600319360112610555576020906006549051908152f35b5050346105555780600319360112610555576109a0610c1c565b6024359060038210156101da577f3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b91610a0c60209260018060a01b03906109eb828954163314610e18565b16948587526003845280872060ff1981541660ff8516179055518092610df5565ba280f35b50346101de57602090816003193601126101da5780353385526003835260ff84862054166003811015610bbb57610a48901515610e94565b8015610b8b5733855260028352808486205410610b525733855260028352838520805490828203918211610b3f578680938193829355335af13d15610b3a573d67ffffffffffffffff8111610b2757845190610aad601f8201601f1916860183610ca3565b815285843d92013e5b15610af457507f215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae90338452600281528284205492519283523392a280f35b915162461bcd60e51b815291820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b634e487b7160e01b865260418352602486fd5b610ab6565b634e487b7160e01b875260118452602487fd5b50915162461bcd60e51b8152918201526014602482015273494e53554646494349454e545f42414c414e434560601b6044820152606490fd5b50915162461bcd60e51b815291820152600b60248201526a16915493d7d05353d5539560aa1b6044820152606490fd5b634e487b7160e01b865260218352602486fd5b505034610555576020366003190112610555576101c391610c099082906001600160a01b03610bfb610c1c565b168152600160205220610cc5565b9051918291602083526020830190610d6b565b600435906001600160a01b0382168203610c3257565b600080fd5b90600182811c92168015610c67575b6020831014610c5157565b634e487b7160e01b600052602260045260246000fd5b91607f1691610c46565b60a0810190811067ffffffffffffffff821117610c8d57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610c8d57604052565b9060405191826000825492610cd984610c37565b908184526001948581169081600014610d485750600114610d05575b5050610d0392500383610ca3565b565b9093915060005260209081600020936000915b818310610d30575050610d0393508201013880610cf5565b85548884018501529485019487945091830191610d18565b915050610d0394506020925060ff191682840152151560051b8201013880610cf5565b919082519283825260005b848110610d97575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610d76565b906020600319830112610c325760043567ffffffffffffffff92838211610c325780602383011215610c32578160040135938411610c325760248483010111610c32576024019190565b906003821015610e025752565b634e487b7160e01b600052602160045260246000fd5b15610e1f57565b60405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b6044820152606490fd5b91908201809211610e5d57565b634e487b7160e01b600052601160045260246000fd5b908060209392818452848401376000828201840152601f01601f1916010190565b15610e9b57565b60405162461bcd60e51b81526020600482015260096024820152681393d517d051d1539560ba1b6044820152606490fdfea264697066735822122042aa7adaa90d342fa521608ec820120a10b37d884191be7d00e2836a9557880864736f6c63430008140033",
398
398
  "linkReferences": {},
399
399
  "deployedLinkReferences": {}
400
400
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/50367a8838c4b3b556df951a374f59c7.json"
3
+ "buildInfo": "../../build-info/32cdc2aa79a9e0af8821d81441276de5.json"
4
4
  }
@@ -236,8 +236,8 @@
236
236
  "type": "function"
237
237
  }
238
238
  ],
239
- "bytecode": "0x608060405234801561001057600080fd5b50604051610b81380380610b8183398101604081905261002f916100c4565b6001600160a01b0381166100765760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b03831690811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100f4565b6000602082840312156100d657600080fd5b81516001600160a01b03811681146100ed57600080fd5b9392505050565b610a7e806101036000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063730e551b1161005b578063730e551b1461010a5780638da5cb5b1461011d578063a28889e114610148578063f2fde38b1461015157600080fd5b806315f6dc7f1461008d578063311a6c56146100c0578063564a565d146100d5578063721b8776146100f7575b600080fd5b6100ad61009b3660046106e5565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046106fe565b610164565b005b6100e86100e33660046106e5565b6102bb565b6040516100b793929190610720565b6100ad6101053660046107a1565b610371565b6100d3610118366004610828565b610508565b600054610130906001600160a01b031681565b6040516001600160a01b0390911681526020016100b7565b6100ad60015481565b6100d361015f366004610852565b61061d565b6000546001600160a01b031633146101975760405162461bcd60e51b815260040161018e90610874565b60405180910390fd5b60008281526002602052604081205490036101e15760405162461bcd60e51b815260206004820152600a6024820152694e4f5f4449535055544560b01b604482015260640161018e565b8060000361021e5760405162461bcd60e51b815260206004820152600a6024820152694241445f52554c494e4760b01b604482015260640161018e565b6000828152600360205260409020541561026a5760405162461bcd60e51b815260206004820152600d60248201526c1053149150511657d495531151609a1b604482015260640161018e565b600082815260036020526040908190208290555182907fb6027422b1830179b713bbc31aa5f690ddbc29e31f87e59b13ec4eb149386e36906102af9084815260200190565b60405180910390a25050565b600260208190526000918252604090912080546001820154928201805491936001600160a01b031692916102ee90610897565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90610897565b80156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b5050505050905083565b6000846000036103b05760405162461bcd60e51b815260206004820152600a6024820152694241445f455343524f5760b01b604482015260640161018e565b6001600160a01b0384166103f45760405162461bcd60e51b815260206004820152600b60248201526a2d22a927afa7a822a722a960a91b604482015260640161018e565b600180600082825461040691906108d1565b9250508190555060015490506040518060600160405280868152602001856001600160a01b0316815260200184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509390945250508381526002602081815260409283902085518155908501516001820180546001600160a01b0319166001600160a01b03909216919091179055918401519192508201906104b79082610959565b50905050836001600160a01b031685827f187cf2180cf205abb3a86a43c8a0e9e92ffdc0d1029d2982b525b335a50efe5186866040516104f8929190610a19565b60405180910390a4949350505050565b6000546001600160a01b031633146105325760405162461bcd60e51b815260040161018e90610874565b6001600160a01b0382166105765760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f455343524f5760a81b604482015260640161018e565b60008181526003602052604081205490036105bf5760405162461bcd60e51b81526020600482015260096024820152684e4f5f52554c494e4760b81b604482015260640161018e565b604051638bb0487560e01b8152600481018290526001600160a01b03831690638bb0487590602401600060405180830381600087803b15801561060157600080fd5b505af1158015610615573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146106475760405162461bcd60e51b815260040161018e90610874565b6001600160a01b03811661068a5760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b604482015260640161018e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000602082840312156106f757600080fd5b5035919050565b6000806040838503121561071157600080fd5b50508035926020909101359150565b8381526000602060018060a01b0385168184015260606040840152835180606085015260005b8181101561076257858101830151858201608001528201610746565b506000608082860101526080601f19601f83011685010192505050949350505050565b80356001600160a01b038116811461079c57600080fd5b919050565b600080600080606085870312156107b757600080fd5b843593506107c760208601610785565b9250604085013567ffffffffffffffff808211156107e457600080fd5b818701915087601f8301126107f857600080fd5b81358181111561080757600080fd5b88602082850101111561081957600080fd5b95989497505060200194505050565b6000806040838503121561083b57600080fd5b61084483610785565b946020939093013593505050565b60006020828403121561086457600080fd5b61086d82610785565b9392505050565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b600181811c908216806108ab57607f821691505b6020821081036108cb57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156108f257634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052604160045260246000fd5b601f82111561095457600081815260208120601f850160051c810160208610156109355750805b601f850160051c820191505b8181101561061557828155600101610941565b505050565b815167ffffffffffffffff811115610973576109736108f8565b610987816109818454610897565b8461090e565b602080601f8311600181146109bc57600084156109a45750858301515b600019600386901b1c1916600185901b178555610615565b600085815260208120601f198616915b828110156109eb578886015182559484019460019091019084016109cc565b5085821015610a095787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea2646970667358221220c87eb81ac0b300ed538171c7f01ee2b38b5e6ea7d899f548be3389d31400181464736f6c63430008140033",
240
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063730e551b1161005b578063730e551b1461010a5780638da5cb5b1461011d578063a28889e114610148578063f2fde38b1461015157600080fd5b806315f6dc7f1461008d578063311a6c56146100c0578063564a565d146100d5578063721b8776146100f7575b600080fd5b6100ad61009b3660046106e5565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046106fe565b610164565b005b6100e86100e33660046106e5565b6102bb565b6040516100b793929190610720565b6100ad6101053660046107a1565b610371565b6100d3610118366004610828565b610508565b600054610130906001600160a01b031681565b6040516001600160a01b0390911681526020016100b7565b6100ad60015481565b6100d361015f366004610852565b61061d565b6000546001600160a01b031633146101975760405162461bcd60e51b815260040161018e90610874565b60405180910390fd5b60008281526002602052604081205490036101e15760405162461bcd60e51b815260206004820152600a6024820152694e4f5f4449535055544560b01b604482015260640161018e565b8060000361021e5760405162461bcd60e51b815260206004820152600a6024820152694241445f52554c494e4760b01b604482015260640161018e565b6000828152600360205260409020541561026a5760405162461bcd60e51b815260206004820152600d60248201526c1053149150511657d495531151609a1b604482015260640161018e565b600082815260036020526040908190208290555182907fb6027422b1830179b713bbc31aa5f690ddbc29e31f87e59b13ec4eb149386e36906102af9084815260200190565b60405180910390a25050565b600260208190526000918252604090912080546001820154928201805491936001600160a01b031692916102ee90610897565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90610897565b80156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b5050505050905083565b6000846000036103b05760405162461bcd60e51b815260206004820152600a6024820152694241445f455343524f5760b01b604482015260640161018e565b6001600160a01b0384166103f45760405162461bcd60e51b815260206004820152600b60248201526a2d22a927afa7a822a722a960a91b604482015260640161018e565b600180600082825461040691906108d1565b9250508190555060015490506040518060600160405280868152602001856001600160a01b0316815260200184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509390945250508381526002602081815260409283902085518155908501516001820180546001600160a01b0319166001600160a01b03909216919091179055918401519192508201906104b79082610959565b50905050836001600160a01b031685827f187cf2180cf205abb3a86a43c8a0e9e92ffdc0d1029d2982b525b335a50efe5186866040516104f8929190610a19565b60405180910390a4949350505050565b6000546001600160a01b031633146105325760405162461bcd60e51b815260040161018e90610874565b6001600160a01b0382166105765760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f455343524f5760a81b604482015260640161018e565b60008181526003602052604081205490036105bf5760405162461bcd60e51b81526020600482015260096024820152684e4f5f52554c494e4760b81b604482015260640161018e565b604051638bb0487560e01b8152600481018290526001600160a01b03831690638bb0487590602401600060405180830381600087803b15801561060157600080fd5b505af1158015610615573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146106475760405162461bcd60e51b815260040161018e90610874565b6001600160a01b03811661068a5760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b604482015260640161018e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000602082840312156106f757600080fd5b5035919050565b6000806040838503121561071157600080fd5b50508035926020909101359150565b8381526000602060018060a01b0385168184015260606040840152835180606085015260005b8181101561076257858101830151858201608001528201610746565b506000608082860101526080601f19601f83011685010192505050949350505050565b80356001600160a01b038116811461079c57600080fd5b919050565b600080600080606085870312156107b757600080fd5b843593506107c760208601610785565b9250604085013567ffffffffffffffff808211156107e457600080fd5b818701915087601f8301126107f857600080fd5b81358181111561080757600080fd5b88602082850101111561081957600080fd5b95989497505060200194505050565b6000806040838503121561083b57600080fd5b61084483610785565b946020939093013593505050565b60006020828403121561086457600080fd5b61086d82610785565b9392505050565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b600181811c908216806108ab57607f821691505b6020821081036108cb57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156108f257634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052604160045260246000fd5b601f82111561095457600081815260208120601f850160051c810160208610156109355750805b601f850160051c820191505b8181101561061557828155600101610941565b505050565b815167ffffffffffffffff811115610973576109736108f8565b610987816109818454610897565b8461090e565b602080601f8311600181146109bc57600084156109a45750858301515b600019600386901b1c1916600185901b178555610615565b600085815260208120601f198616915b828110156109eb578886015182559484019460019091019084016109cc565b5085821015610a095787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea2646970667358221220c87eb81ac0b300ed538171c7f01ee2b38b5e6ea7d899f548be3389d31400181464736f6c63430008140033",
239
+ "bytecode": "0x6080346100d057601f610a7738819003918201601f19168301916001600160401b038311848410176100d5578084926020946040528339810103126100d057516001600160a01b038116908190036100d057801561009e57600080546001600160a01b0319168217815560405191907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a361098b90816100ec8239f35b60405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c90816315f6dc7f1461086557508063311a6c561461073c578063564a565d14610610578063721b877614610283578063730e551b146101635780638da5cb5b1461013c578063a28889e11461011e5763f2fde38b1461007957600080fd5b3461011b57602036600319011261011b57610092610902565b81546001600160a01b03808216926100ab33851461091d565b169182156100e95782907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36001600160a01b03191617815580f35b60405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606490fd5b80fd5b503461011b578060031936011261011b576020600154604051908152f35b503461011b578060031936011261011b57546040516001600160a01b039091168152602090f35b503461011b57604036600319011261011b5761017d610902565b8154602435916001600160a01b0391610199908316331461091d565b1690811561025057808352600360205260408320541561021f578183923b1561021b57602483926040519485938492638bb0487560e01b845260048401525af18015610210576101e7575080f35b67ffffffffffffffff81116101fc5760405280f35b634e487b7160e01b82526041600452602482fd5b6040513d84823e3d90fd5b5050fd5b60405162461bcd60e51b81526020600482015260096024820152684e4f5f52554c494e4760b81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f455343524f5760a81b6044820152606490fd5b503461011b57606036600319011261011b57602435906001600160a01b038216820361011b5767ffffffffffffffff6044351161011b5736602360443501121561011b5767ffffffffffffffff604435600401351161011b573660246044356004013560443501011161011b57600435156105de576001600160a01b038216156105ab57600154906001820182116105975760018201600155604051926060840184811067ffffffffffffffff82111761058357604052600435845260018060a01b038116602085015260405161036a6020601f19601f60443560040135011601826108ca565b604435600481013580835290602401602083013782602060443560040135830101526040850190815260018401835260026020526040832094805186556001860190602060018060a01b03910151166bffffffffffffffffffffffff60a01b8254161790555193845167ffffffffffffffff811161056f576103ef6002830154610890565b601f8111610527575b506020958690601f83116001146104bc57600292918691836104b1575b50508160011b916000199060031b1c1916179101555b6040519184835260443560040135858401526044356004013560246044350160408501376040604435600401358401015260018060a01b031690600435907f187cf2180cf205abb3a86a43c8a0e9e92ffdc0d1029d2982b525b335a50efe516001850191604081601f19601f6044356004013501168101030190a4600160405191018152f35b015190503880610415565b9060028401865287862091865b601f19851681106105105750918391600193600295601f198116106104f7575b505050811b0191015561042b565b015160001960f88460031b161c191690553880806104e9565b9192896001819286850151815501940192016104c9565b60028301855260208520601f830160051c81019160208410610565575b601f0160051c01905b81811061055a57506103f8565b85815560010161054d565b9091508190610544565b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b83526041600452602483fd5b634e487b7160e01b81526011600452602490fd5b60405162461bcd60e51b815260206004820152600b60248201526a2d22a927afa7a822a722a960a91b6044820152606490fd5b60405162461bcd60e51b815260206004820152600a6024820152694241445f455343524f5760b01b6044820152606490fd5b503461011b576020908160031936011261011b576004358152600282526040812090815492600192600260018060a01b03858301541691016040518095859083549361065b85610890565b9485855287838216918260001461071a5750506001146106de575b505061068892509694929603856108ca565b60405194859384528284015260606040840152835191826060850152815b8381106106c757505060808094508284010152601f80199101168101030190f35b8086018201518782016080015286945081016106a6565b86925087528187209087915b85831061070257505061068893508201013880610676565b8054838b0185015289945087939092019181016106ea565b925093505061068894915060ff191682840152151560051b8201013880610676565b503461011b57604036600319011261011b5760043560243561076860018060a01b03845416331461091d565b81835260209060028252604084205415610833578015610801578284526003825260408420546107cc57907fb6027422b1830179b713bbc31aa5f690ddbc29e31f87e59b13ec4eb149386e369183855260038252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052600d60248201526c1053149150511657d495531151609a1b6044820152606490fd5b60405162461bcd60e51b815260048101839052600a6024820152694241445f52554c494e4760b01b6044820152606490fd5b60405162461bcd60e51b815260048101839052600a6024820152694e4f5f4449535055544560b01b6044820152606490fd5b90503461088c57602036600319011261088c57604060209260043581526003845220548152f35b5080fd5b90600182811c921680156108c0575b60208310146108aa57565b634e487b7160e01b600052602260045260246000fd5b91607f169161089f565b90601f8019910116810190811067ffffffffffffffff8211176108ec57604052565b634e487b7160e01b600052604160045260246000fd5b600435906001600160a01b038216820361091857565b600080fd5b1561092457565b60405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b6044820152606490fdfea26469706673582212201b98ce2131aa780b31f9eaa4902a21c790a737c3c34721b6e20355f4e4da872664736f6c63430008140033",
240
+ "deployedBytecode": "0x608080604052600436101561001357600080fd5b600090813560e01c90816315f6dc7f1461086557508063311a6c561461073c578063564a565d14610610578063721b877614610283578063730e551b146101635780638da5cb5b1461013c578063a28889e11461011e5763f2fde38b1461007957600080fd5b3461011b57602036600319011261011b57610092610902565b81546001600160a01b03808216926100ab33851461091d565b169182156100e95782907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36001600160a01b03191617815580f35b60405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606490fd5b80fd5b503461011b578060031936011261011b576020600154604051908152f35b503461011b578060031936011261011b57546040516001600160a01b039091168152602090f35b503461011b57604036600319011261011b5761017d610902565b8154602435916001600160a01b0391610199908316331461091d565b1690811561025057808352600360205260408320541561021f578183923b1561021b57602483926040519485938492638bb0487560e01b845260048401525af18015610210576101e7575080f35b67ffffffffffffffff81116101fc5760405280f35b634e487b7160e01b82526041600452602482fd5b6040513d84823e3d90fd5b5050fd5b60405162461bcd60e51b81526020600482015260096024820152684e4f5f52554c494e4760b81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f455343524f5760a81b6044820152606490fd5b503461011b57606036600319011261011b57602435906001600160a01b038216820361011b5767ffffffffffffffff6044351161011b5736602360443501121561011b5767ffffffffffffffff604435600401351161011b573660246044356004013560443501011161011b57600435156105de576001600160a01b038216156105ab57600154906001820182116105975760018201600155604051926060840184811067ffffffffffffffff82111761058357604052600435845260018060a01b038116602085015260405161036a6020601f19601f60443560040135011601826108ca565b604435600481013580835290602401602083013782602060443560040135830101526040850190815260018401835260026020526040832094805186556001860190602060018060a01b03910151166bffffffffffffffffffffffff60a01b8254161790555193845167ffffffffffffffff811161056f576103ef6002830154610890565b601f8111610527575b506020958690601f83116001146104bc57600292918691836104b1575b50508160011b916000199060031b1c1916179101555b6040519184835260443560040135858401526044356004013560246044350160408501376040604435600401358401015260018060a01b031690600435907f187cf2180cf205abb3a86a43c8a0e9e92ffdc0d1029d2982b525b335a50efe516001850191604081601f19601f6044356004013501168101030190a4600160405191018152f35b015190503880610415565b9060028401865287862091865b601f19851681106105105750918391600193600295601f198116106104f7575b505050811b0191015561042b565b015160001960f88460031b161c191690553880806104e9565b9192896001819286850151815501940192016104c9565b60028301855260208520601f830160051c81019160208410610565575b601f0160051c01905b81811061055a57506103f8565b85815560010161054d565b9091508190610544565b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b83526041600452602483fd5b634e487b7160e01b81526011600452602490fd5b60405162461bcd60e51b815260206004820152600b60248201526a2d22a927afa7a822a722a960a91b6044820152606490fd5b60405162461bcd60e51b815260206004820152600a6024820152694241445f455343524f5760b01b6044820152606490fd5b503461011b576020908160031936011261011b576004358152600282526040812090815492600192600260018060a01b03858301541691016040518095859083549361065b85610890565b9485855287838216918260001461071a5750506001146106de575b505061068892509694929603856108ca565b60405194859384528284015260606040840152835191826060850152815b8381106106c757505060808094508284010152601f80199101168101030190f35b8086018201518782016080015286945081016106a6565b86925087528187209087915b85831061070257505061068893508201013880610676565b8054838b0185015289945087939092019181016106ea565b925093505061068894915060ff191682840152151560051b8201013880610676565b503461011b57604036600319011261011b5760043560243561076860018060a01b03845416331461091d565b81835260209060028252604084205415610833578015610801578284526003825260408420546107cc57907fb6027422b1830179b713bbc31aa5f690ddbc29e31f87e59b13ec4eb149386e369183855260038252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052600d60248201526c1053149150511657d495531151609a1b6044820152606490fd5b60405162461bcd60e51b815260048101839052600a6024820152694241445f52554c494e4760b01b6044820152606490fd5b60405162461bcd60e51b815260048101839052600a6024820152694e4f5f4449535055544560b01b6044820152606490fd5b90503461088c57602036600319011261088c57604060209260043581526003845220548152f35b5080fd5b90600182811c921680156108c0575b60208310146108aa57565b634e487b7160e01b600052602260045260246000fd5b91607f169161089f565b90601f8019910116810190811067ffffffffffffffff8211176108ec57604052565b634e487b7160e01b600052604160045260246000fd5b600435906001600160a01b038216820361091857565b600080fd5b1561092457565b60405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b6044820152606490fdfea26469706673582212201b98ce2131aa780b31f9eaa4902a21c790a737c3c34721b6e20355f4e4da872664736f6c63430008140033",
241
241
  "linkReferences": {},
242
242
  "deployedLinkReferences": {}
243
243
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/50367a8838c4b3b556df951a374f59c7.json"
3
+ "buildInfo": "../../build-info/32cdc2aa79a9e0af8821d81441276de5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/263a967f7f3cd59c812a49b3d7012981.json"
3
+ "buildInfo": "../../build-info/41349e73d80b04ef019c95a7beaaf290.json"
4
4
  }
@@ -6,9 +6,9 @@
6
6
  {
7
7
  "inputs": [
8
8
  {
9
- "internalType": "uint16",
10
- "name": "_feeBps",
11
- "type": "uint16"
9
+ "internalType": "uint256",
10
+ "name": "_flatFee",
11
+ "type": "uint256"
12
12
  },
13
13
  {
14
14
  "internalType": "address",
@@ -19,6 +19,38 @@
19
19
  "stateMutability": "nonpayable",
20
20
  "type": "constructor"
21
21
  },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": false,
27
+ "internalType": "uint256",
28
+ "name": "newFee",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "name": "FlatFeeUpdated",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "anonymous": false,
37
+ "inputs": [
38
+ {
39
+ "indexed": true,
40
+ "internalType": "address",
41
+ "name": "previousOwner",
42
+ "type": "address"
43
+ },
44
+ {
45
+ "indexed": true,
46
+ "internalType": "address",
47
+ "name": "newOwner",
48
+ "type": "address"
49
+ }
50
+ ],
51
+ "name": "OwnershipTransferred",
52
+ "type": "event"
53
+ },
22
54
  {
23
55
  "inputs": [],
24
56
  "name": "feeBps",
@@ -29,9 +61,80 @@
29
61
  "type": "uint16"
30
62
  }
31
63
  ],
64
+ "stateMutability": "pure",
65
+ "type": "function"
66
+ },
67
+ {
68
+ "inputs": [],
69
+ "name": "flatFee",
70
+ "outputs": [
71
+ {
72
+ "internalType": "uint256",
73
+ "name": "",
74
+ "type": "uint256"
75
+ }
76
+ ],
77
+ "stateMutability": "view",
78
+ "type": "function"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "",
85
+ "type": "uint256"
86
+ }
87
+ ],
88
+ "name": "getFee",
89
+ "outputs": [
90
+ {
91
+ "internalType": "uint256",
92
+ "name": "",
93
+ "type": "uint256"
94
+ }
95
+ ],
32
96
  "stateMutability": "view",
33
97
  "type": "function"
34
98
  },
99
+ {
100
+ "inputs": [],
101
+ "name": "owner",
102
+ "outputs": [
103
+ {
104
+ "internalType": "address",
105
+ "name": "",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "stateMutability": "view",
110
+ "type": "function"
111
+ },
112
+ {
113
+ "inputs": [
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "_flatFee",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "name": "setFlatFee",
121
+ "outputs": [],
122
+ "stateMutability": "nonpayable",
123
+ "type": "function"
124
+ },
125
+ {
126
+ "inputs": [
127
+ {
128
+ "internalType": "address",
129
+ "name": "_treasury",
130
+ "type": "address"
131
+ }
132
+ ],
133
+ "name": "setTreasury",
134
+ "outputs": [],
135
+ "stateMutability": "nonpayable",
136
+ "type": "function"
137
+ },
35
138
  {
36
139
  "inputs": [],
37
140
  "name": "treasury",
@@ -46,8 +149,8 @@
46
149
  "type": "function"
47
150
  }
48
151
  ],
49
- "bytecode": "0x608060405234801561001057600080fd5b506040516101c73803806101c783398101604081905261002f916100ab565b6001600160a01b0381166100795760405162461bcd60e51b815260206004820152600d60248201526c5a45524f5f545245415355525960981b604482015260640160405180910390fd5b600080546001600160a01b0390921662010000026001600160b01b031990921661ffff909316929092171790556100f8565b600080604083850312156100be57600080fd5b825161ffff811681146100d057600080fd5b60208401519092506001600160a01b03811681146100ed57600080fd5b809150509250929050565b60c1806101066000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806324a9d85314603757806361d027b314605c575b600080fd5b60005460449061ffff1681565b60405161ffff90911681526020015b60405180910390f35b6000546074906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001605356fea264697066735822122002a8036e76a34f82a6d07d3b51bbd1b70d49f630ae36d89c02fed4ce327aa77564736f6c63430008140033",
50
- "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806324a9d85314603757806361d027b314605c575b600080fd5b60005460449061ffff1681565b60405161ffff90911681526020015b60405180910390f35b6000546074906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001605356fea264697066735822122002a8036e76a34f82a6d07d3b51bbd1b70d49f630ae36d89c02fed4ce327aa77564736f6c63430008140033",
152
+ "bytecode": "0x6080346100e857601f61036f38819003918201601f19168301916001600160401b038311848410176100ed5780849260409485528339810103126100e85780516020909101516001600160a01b03811691908290036100e85781156100b35760005560018060a01b031990816001541617600155339060025416176002556040513360007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a361026b90816101048239f35b60405162461bcd60e51b815260206004820152600d60248201526c5a45524f5f545245415355525960981b6044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe604060808152600436101561001357600080fd5b600090813560e01c806323fa495a146101a357806324a9d8531461018957806361d027b3146101615780638da5cb5b14610139578063d9eb59471461011d578063f0f442601461008c5763fcee45f41461006c57600080fd5b3461008857602036600319011261008857602091549051908152f35b5080fd5b5034610088576020366003190112610088576004356001600160a01b038181169291839003610119576100c4906002541633146101fd565b81156100e657506bffffffffffffffffffffffff60a01b600154161760015580f35b5162461bcd60e51b815260206004820152600d60248201526c5a45524f5f545245415355525960981b6044820152606490fd5b8380fd5b5034610088578160031936011261008857602091549051908152f35b503461008857816003193601126100885760025490516001600160a01b039091168152602090f35b503461008857816003193601126100885760015490516001600160a01b039091168152602090f35b503461008857816003193601126100885751908152602090f35b50346100885760203660031901126100885760207f2dfc898b3677e9a8db0ccd358b29e83d409f092f876498f4cf135d707165f85f91600435906101f260018060a01b036002541633146101fd565b81855551908152a180f35b1561020457565b60405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b6044820152606490fdfea2646970667358221220663a9ae62846cf99a537e837439518bddb84256b1137eec5066c2fd6df9f050f64736f6c63430008140033",
153
+ "deployedBytecode": "0x604060808152600436101561001357600080fd5b600090813560e01c806323fa495a146101a357806324a9d8531461018957806361d027b3146101615780638da5cb5b14610139578063d9eb59471461011d578063f0f442601461008c5763fcee45f41461006c57600080fd5b3461008857602036600319011261008857602091549051908152f35b5080fd5b5034610088576020366003190112610088576004356001600160a01b038181169291839003610119576100c4906002541633146101fd565b81156100e657506bffffffffffffffffffffffff60a01b600154161760015580f35b5162461bcd60e51b815260206004820152600d60248201526c5a45524f5f545245415355525960981b6044820152606490fd5b8380fd5b5034610088578160031936011261008857602091549051908152f35b503461008857816003193601126100885760025490516001600160a01b039091168152602090f35b503461008857816003193601126100885760015490516001600160a01b039091168152602090f35b503461008857816003193601126100885751908152602090f35b50346100885760203660031901126100885760207f2dfc898b3677e9a8db0ccd358b29e83d409f092f876498f4cf135d707165f85f91600435906101f260018060a01b036002541633146101fd565b81855551908152a180f35b1561020457565b60405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b6044820152606490fdfea2646970667358221220663a9ae62846cf99a537e837439518bddb84256b1137eec5066c2fd6df9f050f64736f6c63430008140033",
51
154
  "linkReferences": {},
52
155
  "deployedLinkReferences": {}
53
156
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/61ca0f28829f90b00df26748203acea3.json"
3
+ "buildInfo": "../../build-info/2ea5951dbfdfa6fd75ad6ac668ef37a8.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/61ca0f28829f90b00df26748203acea3.json"
3
+ "buildInfo": "../../build-info/2ea5951dbfdfa6fd75ad6ac668ef37a8.json"
4
4
  }
@@ -24,6 +24,11 @@
24
24
  "internalType": "uint256",
25
25
  "name": "deadline",
26
26
  "type": "uint256"
27
+ },
28
+ {
29
+ "internalType": "uint8",
30
+ "name": "maxRevisions",
31
+ "type": "uint8"
27
32
  }
28
33
  ],
29
34
  "name": "createEscrow",
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/61ca0f28829f90b00df26748203acea3.json"
3
+ "buildInfo": "../../build-info/2ea5951dbfdfa6fd75ad6ac668ef37a8.json"
4
4
  }