@ensuro/access-managed-proxy 0.2.0 → 0.4.0

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 (96) hide show
  1. package/README.md +12 -5
  2. package/build/build-info.json +1 -1
  3. package/build/contracts/AMPUtils.sol/AMPUtils.json +2 -2
  4. package/build/contracts/AccessManagedProxy.sol/AccessManagedProxy.json +71 -3
  5. package/build/contracts/AccessManagedProxyBase.sol/AccessManagedProxyBase.json +147 -0
  6. package/build/contracts/interfaces/IAccessManagedProxy.sol/IAccessManagedProxy.json +98 -0
  7. package/build/contracts/mock/DummyAccessManaged.sol/DummyAccessManaged.json +321 -0
  8. package/build/contracts/mock/DummyImplementation.sol/DummyImplementation.json +122 -2
  9. package/contracts/AMPUtils.sol +54 -3
  10. package/contracts/AccessManagedProxy.sol +39 -51
  11. package/contracts/AccessManagedProxyBase.sol +79 -0
  12. package/contracts/interfaces/IAccessManagedProxy.sol +51 -0
  13. package/contracts/mock/DummyAccessManaged.sol +56 -0
  14. package/contracts/mock/DummyImplementation.sol +30 -2
  15. package/js/deployProxy.js +5 -11
  16. package/package.json +1 -1
  17. package/build/contracts/amps/AccessManagedProxyS1.sol/AccessManagedProxyS1.json +0 -123
  18. package/build/contracts/amps/AccessManagedProxyS10.sol/AccessManagedProxyS10.json +0 -123
  19. package/build/contracts/amps/AccessManagedProxyS11.sol/AccessManagedProxyS11.json +0 -123
  20. package/build/contracts/amps/AccessManagedProxyS12.sol/AccessManagedProxyS12.json +0 -123
  21. package/build/contracts/amps/AccessManagedProxyS13.sol/AccessManagedProxyS13.json +0 -123
  22. package/build/contracts/amps/AccessManagedProxyS14.sol/AccessManagedProxyS14.json +0 -123
  23. package/build/contracts/amps/AccessManagedProxyS15.sol/AccessManagedProxyS15.json +0 -123
  24. package/build/contracts/amps/AccessManagedProxyS16.sol/AccessManagedProxyS16.json +0 -123
  25. package/build/contracts/amps/AccessManagedProxyS17.sol/AccessManagedProxyS17.json +0 -123
  26. package/build/contracts/amps/AccessManagedProxyS18.sol/AccessManagedProxyS18.json +0 -123
  27. package/build/contracts/amps/AccessManagedProxyS19.sol/AccessManagedProxyS19.json +0 -123
  28. package/build/contracts/amps/AccessManagedProxyS2.sol/AccessManagedProxyS2.json +0 -123
  29. package/build/contracts/amps/AccessManagedProxyS20.sol/AccessManagedProxyS20.json +0 -123
  30. package/build/contracts/amps/AccessManagedProxyS21.sol/AccessManagedProxyS21.json +0 -123
  31. package/build/contracts/amps/AccessManagedProxyS22.sol/AccessManagedProxyS22.json +0 -123
  32. package/build/contracts/amps/AccessManagedProxyS23.sol/AccessManagedProxyS23.json +0 -123
  33. package/build/contracts/amps/AccessManagedProxyS24.sol/AccessManagedProxyS24.json +0 -123
  34. package/build/contracts/amps/AccessManagedProxyS25.sol/AccessManagedProxyS25.json +0 -123
  35. package/build/contracts/amps/AccessManagedProxyS26.sol/AccessManagedProxyS26.json +0 -123
  36. package/build/contracts/amps/AccessManagedProxyS27.sol/AccessManagedProxyS27.json +0 -123
  37. package/build/contracts/amps/AccessManagedProxyS28.sol/AccessManagedProxyS28.json +0 -123
  38. package/build/contracts/amps/AccessManagedProxyS29.sol/AccessManagedProxyS29.json +0 -123
  39. package/build/contracts/amps/AccessManagedProxyS3.sol/AccessManagedProxyS3.json +0 -123
  40. package/build/contracts/amps/AccessManagedProxyS30.sol/AccessManagedProxyS30.json +0 -123
  41. package/build/contracts/amps/AccessManagedProxyS31.sol/AccessManagedProxyS31.json +0 -123
  42. package/build/contracts/amps/AccessManagedProxyS32.sol/AccessManagedProxyS32.json +0 -123
  43. package/build/contracts/amps/AccessManagedProxyS33.sol/AccessManagedProxyS33.json +0 -123
  44. package/build/contracts/amps/AccessManagedProxyS34.sol/AccessManagedProxyS34.json +0 -123
  45. package/build/contracts/amps/AccessManagedProxyS35.sol/AccessManagedProxyS35.json +0 -123
  46. package/build/contracts/amps/AccessManagedProxyS36.sol/AccessManagedProxyS36.json +0 -123
  47. package/build/contracts/amps/AccessManagedProxyS37.sol/AccessManagedProxyS37.json +0 -123
  48. package/build/contracts/amps/AccessManagedProxyS38.sol/AccessManagedProxyS38.json +0 -123
  49. package/build/contracts/amps/AccessManagedProxyS39.sol/AccessManagedProxyS39.json +0 -123
  50. package/build/contracts/amps/AccessManagedProxyS4.sol/AccessManagedProxyS4.json +0 -123
  51. package/build/contracts/amps/AccessManagedProxyS40.sol/AccessManagedProxyS40.json +0 -123
  52. package/build/contracts/amps/AccessManagedProxyS5.sol/AccessManagedProxyS5.json +0 -123
  53. package/build/contracts/amps/AccessManagedProxyS6.sol/AccessManagedProxyS6.json +0 -123
  54. package/build/contracts/amps/AccessManagedProxyS7.sol/AccessManagedProxyS7.json +0 -123
  55. package/build/contracts/amps/AccessManagedProxyS8.sol/AccessManagedProxyS8.json +0 -123
  56. package/build/contracts/amps/AccessManagedProxyS9.sol/AccessManagedProxyS9.json +0 -123
  57. package/contracts/amps/AccessManagedProxyS1.sol +0 -63
  58. package/contracts/amps/AccessManagedProxyS10.sol +0 -99
  59. package/contracts/amps/AccessManagedProxyS11.sol +0 -103
  60. package/contracts/amps/AccessManagedProxyS12.sol +0 -107
  61. package/contracts/amps/AccessManagedProxyS13.sol +0 -111
  62. package/contracts/amps/AccessManagedProxyS14.sol +0 -115
  63. package/contracts/amps/AccessManagedProxyS15.sol +0 -119
  64. package/contracts/amps/AccessManagedProxyS16.sol +0 -123
  65. package/contracts/amps/AccessManagedProxyS17.sol +0 -127
  66. package/contracts/amps/AccessManagedProxyS18.sol +0 -131
  67. package/contracts/amps/AccessManagedProxyS19.sol +0 -135
  68. package/contracts/amps/AccessManagedProxyS2.sol +0 -67
  69. package/contracts/amps/AccessManagedProxyS20.sol +0 -139
  70. package/contracts/amps/AccessManagedProxyS21.sol +0 -143
  71. package/contracts/amps/AccessManagedProxyS22.sol +0 -147
  72. package/contracts/amps/AccessManagedProxyS23.sol +0 -151
  73. package/contracts/amps/AccessManagedProxyS24.sol +0 -155
  74. package/contracts/amps/AccessManagedProxyS25.sol +0 -159
  75. package/contracts/amps/AccessManagedProxyS26.sol +0 -163
  76. package/contracts/amps/AccessManagedProxyS27.sol +0 -167
  77. package/contracts/amps/AccessManagedProxyS28.sol +0 -171
  78. package/contracts/amps/AccessManagedProxyS29.sol +0 -175
  79. package/contracts/amps/AccessManagedProxyS3.sol +0 -71
  80. package/contracts/amps/AccessManagedProxyS30.sol +0 -179
  81. package/contracts/amps/AccessManagedProxyS31.sol +0 -183
  82. package/contracts/amps/AccessManagedProxyS32.sol +0 -187
  83. package/contracts/amps/AccessManagedProxyS33.sol +0 -191
  84. package/contracts/amps/AccessManagedProxyS34.sol +0 -195
  85. package/contracts/amps/AccessManagedProxyS35.sol +0 -199
  86. package/contracts/amps/AccessManagedProxyS36.sol +0 -203
  87. package/contracts/amps/AccessManagedProxyS37.sol +0 -207
  88. package/contracts/amps/AccessManagedProxyS38.sol +0 -211
  89. package/contracts/amps/AccessManagedProxyS39.sol +0 -215
  90. package/contracts/amps/AccessManagedProxyS4.sol +0 -75
  91. package/contracts/amps/AccessManagedProxyS40.sol +0 -219
  92. package/contracts/amps/AccessManagedProxyS5.sol +0 -79
  93. package/contracts/amps/AccessManagedProxyS6.sol +0 -83
  94. package/contracts/amps/AccessManagedProxyS7.sol +0 -87
  95. package/contracts/amps/AccessManagedProxyS8.sol +0 -91
  96. package/contracts/amps/AccessManagedProxyS9.sol +0 -95
@@ -1,123 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "AccessManagedProxyS4",
4
- "sourceName": "contracts/amps/AccessManagedProxyS4.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "implementation",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "bytes",
15
- "name": "_data",
16
- "type": "bytes"
17
- },
18
- {
19
- "internalType": "contract IAccessManager",
20
- "name": "manager",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "bytes4[4]",
25
- "name": "passThruMethods",
26
- "type": "bytes4[4]"
27
- }
28
- ],
29
- "stateMutability": "payable",
30
- "type": "constructor"
31
- },
32
- {
33
- "inputs": [
34
- {
35
- "internalType": "address",
36
- "name": "caller",
37
- "type": "address"
38
- }
39
- ],
40
- "name": "AccessManagedUnauthorized",
41
- "type": "error"
42
- },
43
- {
44
- "inputs": [
45
- {
46
- "internalType": "address",
47
- "name": "target",
48
- "type": "address"
49
- }
50
- ],
51
- "name": "AddressEmptyCode",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [
56
- {
57
- "internalType": "address",
58
- "name": "implementation",
59
- "type": "address"
60
- }
61
- ],
62
- "name": "ERC1967InvalidImplementation",
63
- "type": "error"
64
- },
65
- {
66
- "inputs": [],
67
- "name": "ERC1967NonPayable",
68
- "type": "error"
69
- },
70
- {
71
- "inputs": [],
72
- "name": "FailedCall",
73
- "type": "error"
74
- },
75
- {
76
- "anonymous": false,
77
- "inputs": [
78
- {
79
- "indexed": true,
80
- "internalType": "address",
81
- "name": "implementation",
82
- "type": "address"
83
- }
84
- ],
85
- "name": "Upgraded",
86
- "type": "event"
87
- },
88
- {
89
- "stateMutability": "payable",
90
- "type": "fallback"
91
- },
92
- {
93
- "inputs": [],
94
- "name": "ACCESS_MANAGER",
95
- "outputs": [
96
- {
97
- "internalType": "contract IAccessManager",
98
- "name": "",
99
- "type": "address"
100
- }
101
- ],
102
- "stateMutability": "view",
103
- "type": "function"
104
- },
105
- {
106
- "inputs": [],
107
- "name": "PASS_THRU_METHODS",
108
- "outputs": [
109
- {
110
- "internalType": "bytes4[]",
111
- "name": "methods",
112
- "type": "bytes4[]"
113
- }
114
- ],
115
- "stateMutability": "view",
116
- "type": "function"
117
- }
118
- ],
119
- "bytecode": "0x610120604052604051610a40380380610a4083398101604081905261002391610359565b8383838282610032828261007b565b50506001600160a01b0316608052505080516001600160e01b031990811660a0526020820151811660c0526040820151811660e052606090910151166101005250610436915050565b610084826100d9565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100cd576100c88282610154565b505050565b6100d56101c7565b5050565b806001600160a01b03163b5f0361011357604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516101709190610420565b5f60405180830381855af49150503d805f81146101a8576040519150601f19603f3d011682016040523d82523d5f602084013e6101ad565b606091505b5090925090506101be8583836101e8565b95945050505050565b34156101e65760405163b398979f60e01b815260040160405180910390fd5b565b6060826101fd576101f882610247565b610240565b815115801561021457506001600160a01b0384163b155b1561023d57604051639996b31560e01b81526001600160a01b038516600482015260240161010a565b50805b9392505050565b80511561025657805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b038116811461026f575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156102c2576102c2610286565b604052919050565b80516102d581610272565b919050565b5f82601f8301126102e9575f5ffd5b604051608081016001600160401b038111828210171561030b5761030b610286565b60405280608084018581111561031f575f5ffd5b845b8181101561034e5780516001600160e01b031981168114610340575f5ffd5b835260209283019201610321565b509195945050505050565b5f5f5f5f60e0858703121561036c575f5ffd5b845161037781610272565b60208601519094506001600160401b03811115610392575f5ffd5b8501601f810187136103a2575f5ffd5b80516001600160401b038111156103bb576103bb610286565b6103ce601f8201601f191660200161029a565b8181528860208385010111156103e2575f5ffd5b8160208401602083015e5f60208383010152809550505050610406604086016102ca565b915061041586606087016102da565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e051610100516105ac6104945f395f81816101df015261041901525f818161018901526103db01525f8181610133015261039d01525f818160de015261036001525f8181606d01526102b901526105ac5ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610473565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b261022d565b610264565b565b60408051600480825260a08201909252606091602082016080803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061010f5761010f6104bf565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610165576101656104bf565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bb576101bb6104bf565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600381518110610211576102116104bf565b6001600160e01b03199092166020928302919091019091015290565b5f61025f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f61027260048236816104d3565b61027b916104fa565b90505f6102878261035d565b90508061034f5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610305573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103299190610532565b5090508061034f5760405162d1953b60e31b815233600482015260240160405180910390fd5b61035883610455565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b03191614806103d357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061041157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061044f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e80801561046f573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156104b45783516001600160e01b03191683526020938401939092019160010161048c565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156104e1575f5ffd5b838611156104ed575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561052b576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610543575f5ffd5b82518015158114610552575f5ffd5b602084015190925063ffffffff8116811461056b575f5ffd5b80915050925092905056fea2646970667358221220846edaa844e145bf377a43fe06bef594f8388d6ecbdd7a4209fdceda82d4929064736f6c634300081c0033",
120
- "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610473565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b261022d565b610264565b565b60408051600480825260a08201909252606091602082016080803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061010f5761010f6104bf565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610165576101656104bf565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bb576101bb6104bf565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600381518110610211576102116104bf565b6001600160e01b03199092166020928302919091019091015290565b5f61025f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f61027260048236816104d3565b61027b916104fa565b90505f6102878261035d565b90508061034f5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610305573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103299190610532565b5090508061034f5760405162d1953b60e31b815233600482015260240160405180910390fd5b61035883610455565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b03191614806103d357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061041157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061044f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e80801561046f573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156104b45783516001600160e01b03191683526020938401939092019160010161048c565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156104e1575f5ffd5b838611156104ed575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561052b576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610543575f5ffd5b82518015158114610552575f5ffd5b602084015190925063ffffffff8116811461056b575f5ffd5b80915050925092905056fea2646970667358221220846edaa844e145bf377a43fe06bef594f8388d6ecbdd7a4209fdceda82d4929064736f6c634300081c0033",
121
- "linkReferences": {},
122
- "deployedLinkReferences": {}
123
- }
@@ -1,123 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "AccessManagedProxyS40",
4
- "sourceName": "contracts/amps/AccessManagedProxyS40.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "implementation",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "bytes",
15
- "name": "_data",
16
- "type": "bytes"
17
- },
18
- {
19
- "internalType": "contract IAccessManager",
20
- "name": "manager",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "bytes4[40]",
25
- "name": "passThruMethods",
26
- "type": "bytes4[40]"
27
- }
28
- ],
29
- "stateMutability": "payable",
30
- "type": "constructor"
31
- },
32
- {
33
- "inputs": [
34
- {
35
- "internalType": "address",
36
- "name": "caller",
37
- "type": "address"
38
- }
39
- ],
40
- "name": "AccessManagedUnauthorized",
41
- "type": "error"
42
- },
43
- {
44
- "inputs": [
45
- {
46
- "internalType": "address",
47
- "name": "target",
48
- "type": "address"
49
- }
50
- ],
51
- "name": "AddressEmptyCode",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [
56
- {
57
- "internalType": "address",
58
- "name": "implementation",
59
- "type": "address"
60
- }
61
- ],
62
- "name": "ERC1967InvalidImplementation",
63
- "type": "error"
64
- },
65
- {
66
- "inputs": [],
67
- "name": "ERC1967NonPayable",
68
- "type": "error"
69
- },
70
- {
71
- "inputs": [],
72
- "name": "FailedCall",
73
- "type": "error"
74
- },
75
- {
76
- "anonymous": false,
77
- "inputs": [
78
- {
79
- "indexed": true,
80
- "internalType": "address",
81
- "name": "implementation",
82
- "type": "address"
83
- }
84
- ],
85
- "name": "Upgraded",
86
- "type": "event"
87
- },
88
- {
89
- "stateMutability": "payable",
90
- "type": "fallback"
91
- },
92
- {
93
- "inputs": [],
94
- "name": "ACCESS_MANAGER",
95
- "outputs": [
96
- {
97
- "internalType": "contract IAccessManager",
98
- "name": "",
99
- "type": "address"
100
- }
101
- ],
102
- "stateMutability": "view",
103
- "type": "function"
104
- },
105
- {
106
- "inputs": [],
107
- "name": "PASS_THRU_METHODS",
108
- "outputs": [
109
- {
110
- "internalType": "bytes4[]",
111
- "name": "methods",
112
- "type": "bytes4[]"
113
- }
114
- ],
115
- "stateMutability": "view",
116
- "type": "function"
117
- }
118
- ],
119
- "bytecode": "0x6105a060405260405161231e38038061231e8339810160408190526100239161050a565b8383838282610032828261022a565b50506001600160a01b0316608090815283516001600160e01b031990811660a09081526020860151821660c09081526040870151831660e0908152606088015184166101009081529488015184166101209081529288015184166101409081529188015184166101609081529088015184166101809081529488015184166101a09081529288015184166101c09081529188015184166101e09081529088015184166102009081529488015184166102209081529288015184166102409081529188015184166102609081529088015184166102809081529488015184166102a09081529288015184166102c09081529188015184166102e09081529088015184166103009081529488015184166103209081529288015184166103409081529188015184166103609081529088015184166103809081529488015184166103a09081529288015184166103c09081529188015184166103e09081529088015184166104009081529488015184166104209081529288015184166104409081529188015184166104609081529088015184166104809081529488015184166104a09081529288015184166104c09081529188015184166104e090815290880151841661050052938701518316610520529086015182166105405285015181166105605293015190921661058052506105e89350505050565b61023382610288565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561027c576102778282610303565b505050565b610284610376565b5050565b806001600160a01b03163b5f036102c257604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b03168460405161031f91906105d2565b5f60405180830381855af49150503d805f8114610357576040519150601f19603f3d011682016040523d82523d5f602084013e61035c565b606091505b50909250905061036d858383610397565b95945050505050565b34156103955760405163b398979f60e01b815260040160405180910390fd5b565b6060826103ac576103a7826103f6565b6103ef565b81511580156103c357506001600160a01b0384163b155b156103ec57604051639996b31560e01b81526001600160a01b03851660048201526024016102b9565b50805b9392505050565b80511561040557805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b038116811461041e575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561047157610471610435565b604052919050565b805161048481610421565b919050565b5f82601f830112610498575f5ffd5b60405161050081016001600160401b03811182821017156104bb576104bb610435565b604052806105008401858111156104d0575f5ffd5b845b818110156104ff5780516001600160e01b0319811681146104f1575f5ffd5b8352602092830192016104d2565b509195945050505050565b5f5f5f5f610560858703121561051e575f5ffd5b845161052981610421565b60208601519094506001600160401b03811115610544575f5ffd5b8501601f81018713610554575f5ffd5b80516001600160401b0381111561056d5761056d610435565b610580601f8201601f1916602001610449565b818152886020838501011115610594575f5ffd5b8160208401602083015e5f602083830101528095505050506105b860408601610479565b91506105c78660608701610489565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a0516103c0516103e05161040051610420516104405161046051610480516104a0516104c0516104e0516105005161052051610540516105605161058051611a746108aa5f395f8181610def01526118e101525f8181610d9901526118a301525f8181610d43015261186501525f8181610ced015261182701525f8181610c9701526117e901525f8181610c4101526117ab01525f8181610beb015261176d01525f8181610b97015261172f01525f8181610b4901526116f101525f8181610af301526116b301525f8181610a9d015261167501525f8181610a47015261163701525f81816109f101526115f901525f818161099b01526115bb01525f8181610945015261157d01525f81816108ef015261153f01525f8181610899015261150101525f818161084301526114c301525f81816107ed015261148501525f8181610797015261144701525f8181610741015261140901525f81816106eb01526113cb01525f8181610695015261138d01525f818161063f015261134f01525f81816105e9015261131101525f818161059301526112d301525f818161053d015261129501525f81816104e7015261125701525f8181610491015261121901525f818161043b01526111db01525f81816103e5015261119d01525f818161038f015261115f01525f8181610339015261112101525f81816102e301526110e301525f818161028d01526110a501525f8181610237015261106701525f81816101e1015261102901525f818161018b0152610feb01525f81816101350152610fad01525f818160e00152610f7001525f8181606d0152610ec90152611a745ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b604051610053919061193b565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610e3d565b610e74565b565b604080516028808252610520820190925260609160208201610500803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061011157610111611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061016757610167611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160038151811061021357610213611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061026957610269611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160068151811061031557610315611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816008815181106103c1576103c1611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160098151811061041757610417611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600a8151811061046d5761046d611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600b815181106104c3576104c3611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600c8151811061051957610519611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600d8151811061056f5761056f611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600e815181106105c5576105c5611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600f8151811061061b5761061b611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160108151811061067157610671611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816011815181106106c7576106c7611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160128151811061071d5761071d611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160138151811061077357610773611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816014815181106107c9576107c9611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160158151811061081f5761081f611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160168151811061087557610875611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816017815181106108cb576108cb611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160188151811061092157610921611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160198151811061097757610977611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601a815181106109cd576109cd611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601b81518110610a2357610a23611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601c81518110610a7957610a79611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601d81518110610acf57610acf611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601e81518110610b2557610b25611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601f81518110610b7b57610b7b611987565b6001600160e01b031990921660209283029190910182015281517f00000000000000000000000000000000000000000000000000000000000000009183918110610bc757610bc7611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602181518110610c1d57610c1d611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602281518110610c7357610c73611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602381518110610cc957610cc9611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602481518110610d1f57610d1f611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602581518110610d7557610d75611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602681518110610dcb57610dcb611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602781518110610e2157610e21611987565b6001600160e01b03199092166020928302919091019091015290565b5f610e6f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f610e82600482368161199b565b610e8b916119c2565b90505f610e9782610f6d565b905080610f5f5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610f15573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3991906119fa565b50905080610f5f5760405162d1953b60e31b815233600482015260240160405180910390fd5b610f688361191d565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b0319161480610fe357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061102157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061105f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061109d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806110db57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061111957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061115757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061119557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806111d357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061121157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061124f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061128d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806112cb57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061130957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061134757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061138557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806113c357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061140157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061143f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061147d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806114bb57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806114f957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061153757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061157557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806115b357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806115f157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061162f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061166d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806116ab57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806116e957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061172757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061176557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806117a357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806117e157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061181f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061185d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061189b57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806118d957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061191757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e808015611937573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b8181101561197c5783516001600160e01b031916835260209384019390920191600101611954565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156119a9575f5ffd5b838611156119b5575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156119f3576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215611a0b575f5ffd5b82518015158114611a1a575f5ffd5b602084015190925063ffffffff81168114611a33575f5ffd5b80915050925092905056fea26469706673582212201770189f493021e9ead2c567d42fc86706a7302153dbc9bf872db8769f9e84a164736f6c634300081c0033",
120
- "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b604051610053919061193b565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610e3d565b610e74565b565b604080516028808252610520820190925260609160208201610500803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061011157610111611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061016757610167611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160038151811061021357610213611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061026957610269611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160068151811061031557610315611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816008815181106103c1576103c1611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160098151811061041757610417611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600a8151811061046d5761046d611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600b815181106104c3576104c3611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600c8151811061051957610519611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600d8151811061056f5761056f611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600e815181106105c5576105c5611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600f8151811061061b5761061b611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160108151811061067157610671611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816011815181106106c7576106c7611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160128151811061071d5761071d611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160138151811061077357610773611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816014815181106107c9576107c9611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160158151811061081f5761081f611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160168151811061087557610875611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816017815181106108cb576108cb611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160188151811061092157610921611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160198151811061097757610977611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601a815181106109cd576109cd611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601b81518110610a2357610a23611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601c81518110610a7957610a79611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601d81518110610acf57610acf611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601e81518110610b2557610b25611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081601f81518110610b7b57610b7b611987565b6001600160e01b031990921660209283029190910182015281517f00000000000000000000000000000000000000000000000000000000000000009183918110610bc757610bc7611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602181518110610c1d57610c1d611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602281518110610c7357610c73611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602381518110610cc957610cc9611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602481518110610d1f57610d1f611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602581518110610d7557610d75611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602681518110610dcb57610dcb611987565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081602781518110610e2157610e21611987565b6001600160e01b03199092166020928302919091019091015290565b5f610e6f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f610e82600482368161199b565b610e8b916119c2565b90505f610e9782610f6d565b905080610f5f5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610f15573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3991906119fa565b50905080610f5f5760405162d1953b60e31b815233600482015260240160405180910390fd5b610f688361191d565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b0319161480610fe357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061102157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061105f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061109d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806110db57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061111957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061115757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061119557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806111d357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061121157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061124f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061128d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806112cb57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061130957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061134757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061138557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806113c357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061140157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061143f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061147d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806114bb57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806114f957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061153757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061157557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806115b357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806115f157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061162f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061166d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806116ab57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806116e957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061172757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061176557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806117a357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806117e157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061181f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061185d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061189b57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806118d957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061191757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e808015611937573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b8181101561197c5783516001600160e01b031916835260209384019390920191600101611954565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156119a9575f5ffd5b838611156119b5575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156119f3576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215611a0b575f5ffd5b82518015158114611a1a575f5ffd5b602084015190925063ffffffff81168114611a33575f5ffd5b80915050925092905056fea26469706673582212201770189f493021e9ead2c567d42fc86706a7302153dbc9bf872db8769f9e84a164736f6c634300081c0033",
121
- "linkReferences": {},
122
- "deployedLinkReferences": {}
123
- }
@@ -1,123 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "AccessManagedProxyS5",
4
- "sourceName": "contracts/amps/AccessManagedProxyS5.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "implementation",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "bytes",
15
- "name": "_data",
16
- "type": "bytes"
17
- },
18
- {
19
- "internalType": "contract IAccessManager",
20
- "name": "manager",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "bytes4[5]",
25
- "name": "passThruMethods",
26
- "type": "bytes4[5]"
27
- }
28
- ],
29
- "stateMutability": "payable",
30
- "type": "constructor"
31
- },
32
- {
33
- "inputs": [
34
- {
35
- "internalType": "address",
36
- "name": "caller",
37
- "type": "address"
38
- }
39
- ],
40
- "name": "AccessManagedUnauthorized",
41
- "type": "error"
42
- },
43
- {
44
- "inputs": [
45
- {
46
- "internalType": "address",
47
- "name": "target",
48
- "type": "address"
49
- }
50
- ],
51
- "name": "AddressEmptyCode",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [
56
- {
57
- "internalType": "address",
58
- "name": "implementation",
59
- "type": "address"
60
- }
61
- ],
62
- "name": "ERC1967InvalidImplementation",
63
- "type": "error"
64
- },
65
- {
66
- "inputs": [],
67
- "name": "ERC1967NonPayable",
68
- "type": "error"
69
- },
70
- {
71
- "inputs": [],
72
- "name": "FailedCall",
73
- "type": "error"
74
- },
75
- {
76
- "anonymous": false,
77
- "inputs": [
78
- {
79
- "indexed": true,
80
- "internalType": "address",
81
- "name": "implementation",
82
- "type": "address"
83
- }
84
- ],
85
- "name": "Upgraded",
86
- "type": "event"
87
- },
88
- {
89
- "stateMutability": "payable",
90
- "type": "fallback"
91
- },
92
- {
93
- "inputs": [],
94
- "name": "ACCESS_MANAGER",
95
- "outputs": [
96
- {
97
- "internalType": "contract IAccessManager",
98
- "name": "",
99
- "type": "address"
100
- }
101
- ],
102
- "stateMutability": "view",
103
- "type": "function"
104
- },
105
- {
106
- "inputs": [],
107
- "name": "PASS_THRU_METHODS",
108
- "outputs": [
109
- {
110
- "internalType": "bytes4[]",
111
- "name": "methods",
112
- "type": "bytes4[]"
113
- }
114
- ],
115
- "stateMutability": "view",
116
- "type": "function"
117
- }
118
- ],
119
- "bytecode": "0x610140604052604051610af2380380610af283398101604081905261002391610365565b83838382826100328282610087565b50506001600160a01b0316608090815283516001600160e01b031990811660a0526020850151811660c0526040850151811660e052606085015181166101005293015190921661012052506104439350505050565b610090826100e5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100d9576100d48282610160565b505050565b6100e16101d3565b5050565b806001600160a01b03163b5f0361011f57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b03168460405161017c919061042d565b5f60405180830381855af49150503d805f81146101b4576040519150601f19603f3d011682016040523d82523d5f602084013e6101b9565b606091505b5090925090506101ca8583836101f4565b95945050505050565b34156101f25760405163b398979f60e01b815260040160405180910390fd5b565b6060826102095761020482610253565b61024c565b815115801561022057506001600160a01b0384163b155b1561024957604051639996b31560e01b81526001600160a01b0385166004820152602401610116565b50805b9392505050565b80511561026257805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b038116811461027b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156102ce576102ce610292565b604052919050565b80516102e18161027e565b919050565b5f82601f8301126102f5575f5ffd5b60405160a081016001600160401b038111828210171561031757610317610292565b6040528060a084018581111561032b575f5ffd5b845b8181101561035a5780516001600160e01b03198116811461034c575f5ffd5b83526020928301920161032d565b509195945050505050565b5f5f5f5f6101008587031215610379575f5ffd5b84516103848161027e565b60208601519094506001600160401b0381111561039f575f5ffd5b8501601f810187136103af575f5ffd5b80516001600160401b038111156103c8576103c8610292565b6103db601f8201601f19166020016102a6565b8181528860208385010111156103ef575f5ffd5b8160208401602083015e5f60208383010152809550505050610413604086016102d6565b915061042286606087016102e6565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e05161010051610120516106406104b25f395f818161023501526104ad01525f81816101df015261046f01525f8181610189015261043101525f818161013301526103f301525f818160de01526103b601525f8181606d015261030f01526106405ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610507565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610283565b6102ba565b565b60408051600580825260c082019092526060916020820160a0803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061010f5761010f610553565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061016557610165610553565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bb576101bb610553565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160038151811061021157610211610553565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061026757610267610553565b6001600160e01b03199092166020928302919091019091015290565b5f6102b57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6102c86004823681610567565b6102d19161058e565b90505f6102dd826103b3565b9050806103a55760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa15801561035b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037f91906105c6565b509050806103a55760405162d1953b60e31b815233600482015260240160405180910390fd5b6103ae836104e9565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061042957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061046757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806104a557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806104e357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e808015610503573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156105485783516001600160e01b031916835260209384019390920191600101610520565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f85851115610575575f5ffd5b83861115610581575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156105bf576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f604083850312156105d7575f5ffd5b825180151581146105e6575f5ffd5b602084015190925063ffffffff811681146105ff575f5ffd5b80915050925092905056fea26469706673582212200d7e22d398c42706daa78e4af1c15444d67db53ac592c92ff52fe16aedb9a03264736f6c634300081c0033",
120
- "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610507565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610283565b6102ba565b565b60408051600580825260c082019092526060916020820160a0803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061010f5761010f610553565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061016557610165610553565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bb576101bb610553565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160038151811061021157610211610553565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061026757610267610553565b6001600160e01b03199092166020928302919091019091015290565b5f6102b57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6102c86004823681610567565b6102d19161058e565b90505f6102dd826103b3565b9050806103a55760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa15801561035b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037f91906105c6565b509050806103a55760405162d1953b60e31b815233600482015260240160405180910390fd5b6103ae836104e9565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061042957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061046757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806104a557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806104e357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e808015610503573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156105485783516001600160e01b031916835260209384019390920191600101610520565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f85851115610575575f5ffd5b83861115610581575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156105bf576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f604083850312156105d7575f5ffd5b825180151581146105e6575f5ffd5b602084015190925063ffffffff811681146105ff575f5ffd5b80915050925092905056fea26469706673582212200d7e22d398c42706daa78e4af1c15444d67db53ac592c92ff52fe16aedb9a03264736f6c634300081c0033",
121
- "linkReferences": {},
122
- "deployedLinkReferences": {}
123
- }
@@ -1,123 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "AccessManagedProxyS6",
4
- "sourceName": "contracts/amps/AccessManagedProxyS6.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "implementation",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "bytes",
15
- "name": "_data",
16
- "type": "bytes"
17
- },
18
- {
19
- "internalType": "contract IAccessManager",
20
- "name": "manager",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "bytes4[6]",
25
- "name": "passThruMethods",
26
- "type": "bytes4[6]"
27
- }
28
- ],
29
- "stateMutability": "payable",
30
- "type": "constructor"
31
- },
32
- {
33
- "inputs": [
34
- {
35
- "internalType": "address",
36
- "name": "caller",
37
- "type": "address"
38
- }
39
- ],
40
- "name": "AccessManagedUnauthorized",
41
- "type": "error"
42
- },
43
- {
44
- "inputs": [
45
- {
46
- "internalType": "address",
47
- "name": "target",
48
- "type": "address"
49
- }
50
- ],
51
- "name": "AddressEmptyCode",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [
56
- {
57
- "internalType": "address",
58
- "name": "implementation",
59
- "type": "address"
60
- }
61
- ],
62
- "name": "ERC1967InvalidImplementation",
63
- "type": "error"
64
- },
65
- {
66
- "inputs": [],
67
- "name": "ERC1967NonPayable",
68
- "type": "error"
69
- },
70
- {
71
- "inputs": [],
72
- "name": "FailedCall",
73
- "type": "error"
74
- },
75
- {
76
- "anonymous": false,
77
- "inputs": [
78
- {
79
- "indexed": true,
80
- "internalType": "address",
81
- "name": "implementation",
82
- "type": "address"
83
- }
84
- ],
85
- "name": "Upgraded",
86
- "type": "event"
87
- },
88
- {
89
- "stateMutability": "payable",
90
- "type": "fallback"
91
- },
92
- {
93
- "inputs": [],
94
- "name": "ACCESS_MANAGER",
95
- "outputs": [
96
- {
97
- "internalType": "contract IAccessManager",
98
- "name": "",
99
- "type": "address"
100
- }
101
- ],
102
- "stateMutability": "view",
103
- "type": "function"
104
- },
105
- {
106
- "inputs": [],
107
- "name": "PASS_THRU_METHODS",
108
- "outputs": [
109
- {
110
- "internalType": "bytes4[]",
111
- "name": "methods",
112
- "type": "bytes4[]"
113
- }
114
- ],
115
- "stateMutability": "view",
116
- "type": "function"
117
- }
118
- ],
119
- "bytecode": "0x610160604052604051610ba3380380610ba383398101604081905261002391610371565b83838382826100328282610093565b50506001600160a01b0316608090815283516001600160e01b031990811660a09081526020860151821660c0526040860151821660e052606086015182166101005291850151811661012052930151909216610140525061044f9350505050565b61009c826100f1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100e5576100e0828261016c565b505050565b6100ed6101df565b5050565b806001600160a01b03163b5f0361012b57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516101889190610439565b5f60405180830381855af49150503d805f81146101c0576040519150601f19603f3d011682016040523d82523d5f602084013e6101c5565b606091505b5090925090506101d6858383610200565b95945050505050565b34156101fe5760405163b398979f60e01b815260040160405180910390fd5b565b606082610215576102108261025f565b610258565b815115801561022c57506001600160a01b0384163b155b1561025557604051639996b31560e01b81526001600160a01b0385166004820152602401610122565b50805b9392505050565b80511561026e57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b0381168114610287575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156102da576102da61029e565b604052919050565b80516102ed8161028a565b919050565b5f82601f830112610301575f5ffd5b60405160c081016001600160401b03811182821017156103235761032361029e565b6040528060c0840185811115610337575f5ffd5b845b818110156103665780516001600160e01b031981168114610358575f5ffd5b835260209283019201610339565b509195945050505050565b5f5f5f5f6101208587031215610385575f5ffd5b84516103908161028a565b60208601519094506001600160401b038111156103ab575f5ffd5b8501601f810187136103bb575f5ffd5b80516001600160401b038111156103d4576103d461029e565b6103e7601f8201601f19166020016102b2565b8181528860208385010111156103fb575f5ffd5b8160208401602083015e5f6020838301015280955050505061041f604086016102e2565b915061042e86606087016102f2565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e0516101005161012051610140516106d46104cf5f395f818161028b015261054101525f8181610235015261050301525f81816101df01526104c501525f8181610189015261048701525f8181610133015261044901525f818160de015261040c01525f8181606d015261036501526106d45ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b604051610053919061059b565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b26102d9565b610310565b565b60408051600680825260e082019092526060916020820160c0803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061010f5761010f6105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610165576101656105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bb576101bb6105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600381518110610211576102116105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600481518110610267576102676105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bd576102bd6105e7565b6001600160e01b03199092166020928302919091019091015290565b5f61030b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f61031e60048236816105fb565b61032791610622565b90505f61033382610409565b9050806103fb5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa1580156103b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103d5919061065a565b509050806103fb5760405162d1953b60e31b815233600482015260240160405180910390fd5b6104048361057d565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061047f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806104bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806104fb57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061053957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061057757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e808015610597573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156105dc5783516001600160e01b0319168352602093840193909201916001016105b4565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f85851115610609575f5ffd5b83861115610615575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610653576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f6040838503121561066b575f5ffd5b8251801515811461067a575f5ffd5b602084015190925063ffffffff81168114610693575f5ffd5b80915050925092905056fea2646970667358221220e3bd532e8d69c227e3a15cb12c2b78ff48b8db2665328894c2aa81a28409f7e664736f6c634300081c0033",
120
- "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b604051610053919061059b565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b26102d9565b610310565b565b60408051600680825260e082019092526060916020820160c0803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061010f5761010f6105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610165576101656105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bb576101bb6105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600381518110610211576102116105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600481518110610267576102676105e7565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bd576102bd6105e7565b6001600160e01b03199092166020928302919091019091015290565b5f61030b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f61031e60048236816105fb565b61032791610622565b90505f61033382610409565b9050806103fb5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa1580156103b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103d5919061065a565b509050806103fb5760405162d1953b60e31b815233600482015260240160405180910390fd5b6104048361057d565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061047f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806104bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806104fb57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061053957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061057757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e808015610597573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156105dc5783516001600160e01b0319168352602093840193909201916001016105b4565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f85851115610609575f5ffd5b83861115610615575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610653576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f6040838503121561066b575f5ffd5b8251801515811461067a575f5ffd5b602084015190925063ffffffff81168114610693575f5ffd5b80915050925092905056fea2646970667358221220e3bd532e8d69c227e3a15cb12c2b78ff48b8db2665328894c2aa81a28409f7e664736f6c634300081c0033",
121
- "linkReferences": {},
122
- "deployedLinkReferences": {}
123
- }