@ensuro/access-managed-proxy 0.1.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 (55) hide show
  1. package/README.md +15 -0
  2. package/build/build-info.json +1 -0
  3. package/build/contracts/AccessManagedProxy.sol/AccessManagedProxy.json +105 -0
  4. package/build/contracts/amps/AccessManagedProxyS1.sol/AccessManagedProxyS1.json +123 -0
  5. package/build/contracts/amps/AccessManagedProxyS10.sol/AccessManagedProxyS10.json +123 -0
  6. package/build/contracts/amps/AccessManagedProxyS11.sol/AccessManagedProxyS11.json +123 -0
  7. package/build/contracts/amps/AccessManagedProxyS12.sol/AccessManagedProxyS12.json +123 -0
  8. package/build/contracts/amps/AccessManagedProxyS13.sol/AccessManagedProxyS13.json +123 -0
  9. package/build/contracts/amps/AccessManagedProxyS14.sol/AccessManagedProxyS14.json +123 -0
  10. package/build/contracts/amps/AccessManagedProxyS15.sol/AccessManagedProxyS15.json +123 -0
  11. package/build/contracts/amps/AccessManagedProxyS16.sol/AccessManagedProxyS16.json +123 -0
  12. package/build/contracts/amps/AccessManagedProxyS17.sol/AccessManagedProxyS17.json +123 -0
  13. package/build/contracts/amps/AccessManagedProxyS18.sol/AccessManagedProxyS18.json +123 -0
  14. package/build/contracts/amps/AccessManagedProxyS19.sol/AccessManagedProxyS19.json +123 -0
  15. package/build/contracts/amps/AccessManagedProxyS2.sol/AccessManagedProxyS2.json +123 -0
  16. package/build/contracts/amps/AccessManagedProxyS20.sol/AccessManagedProxyS20.json +123 -0
  17. package/build/contracts/amps/AccessManagedProxyS21.sol/AccessManagedProxyS21.json +123 -0
  18. package/build/contracts/amps/AccessManagedProxyS22.sol/AccessManagedProxyS22.json +123 -0
  19. package/build/contracts/amps/AccessManagedProxyS23.sol/AccessManagedProxyS23.json +123 -0
  20. package/build/contracts/amps/AccessManagedProxyS24.sol/AccessManagedProxyS24.json +123 -0
  21. package/build/contracts/amps/AccessManagedProxyS3.sol/AccessManagedProxyS3.json +123 -0
  22. package/build/contracts/amps/AccessManagedProxyS4.sol/AccessManagedProxyS4.json +123 -0
  23. package/build/contracts/amps/AccessManagedProxyS5.sol/AccessManagedProxyS5.json +123 -0
  24. package/build/contracts/amps/AccessManagedProxyS6.sol/AccessManagedProxyS6.json +123 -0
  25. package/build/contracts/amps/AccessManagedProxyS7.sol/AccessManagedProxyS7.json +123 -0
  26. package/build/contracts/amps/AccessManagedProxyS8.sol/AccessManagedProxyS8.json +123 -0
  27. package/build/contracts/amps/AccessManagedProxyS9.sol/AccessManagedProxyS9.json +123 -0
  28. package/build/contracts/mock/DummyImplementation.sol/DummyImplementation.json +225 -0
  29. package/contracts/AccessManagedProxy.sol +85 -0
  30. package/contracts/amps/AccessManagedProxyS1.sol +63 -0
  31. package/contracts/amps/AccessManagedProxyS10.sol +99 -0
  32. package/contracts/amps/AccessManagedProxyS11.sol +103 -0
  33. package/contracts/amps/AccessManagedProxyS12.sol +107 -0
  34. package/contracts/amps/AccessManagedProxyS13.sol +111 -0
  35. package/contracts/amps/AccessManagedProxyS14.sol +115 -0
  36. package/contracts/amps/AccessManagedProxyS15.sol +119 -0
  37. package/contracts/amps/AccessManagedProxyS16.sol +123 -0
  38. package/contracts/amps/AccessManagedProxyS17.sol +127 -0
  39. package/contracts/amps/AccessManagedProxyS18.sol +131 -0
  40. package/contracts/amps/AccessManagedProxyS19.sol +135 -0
  41. package/contracts/amps/AccessManagedProxyS2.sol +67 -0
  42. package/contracts/amps/AccessManagedProxyS20.sol +139 -0
  43. package/contracts/amps/AccessManagedProxyS21.sol +143 -0
  44. package/contracts/amps/AccessManagedProxyS22.sol +147 -0
  45. package/contracts/amps/AccessManagedProxyS23.sol +151 -0
  46. package/contracts/amps/AccessManagedProxyS24.sol +155 -0
  47. package/contracts/amps/AccessManagedProxyS3.sol +71 -0
  48. package/contracts/amps/AccessManagedProxyS4.sol +75 -0
  49. package/contracts/amps/AccessManagedProxyS5.sol +79 -0
  50. package/contracts/amps/AccessManagedProxyS6.sol +83 -0
  51. package/contracts/amps/AccessManagedProxyS7.sol +87 -0
  52. package/contracts/amps/AccessManagedProxyS8.sol +91 -0
  53. package/contracts/amps/AccessManagedProxyS9.sol +95 -0
  54. package/contracts/mock/DummyImplementation.sol +53 -0
  55. package/package.json +28 -0
@@ -0,0 +1,123 @@
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
+ }
@@ -0,0 +1,123 @@
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
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AccessManagedProxyS7",
4
+ "sourceName": "contracts/amps/AccessManagedProxyS7.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[7]",
25
+ "name": "passThruMethods",
26
+ "type": "bytes4[7]"
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": "0x610180604052604051610c54380380610c548339810160408190526100239161037c565b8383838282610032828261009e565b50506001600160a01b0316608090815283516001600160e01b031990811660a09081526020860151821660c09081526040870151831660e052606087015183166101005292860151821661012052850151811661014052930151909216610160525061045a9350505050565b6100a7826100fc565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100f0576100eb8282610177565b505050565b6100f86101ea565b5050565b806001600160a01b03163b5f0361013657604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516101939190610444565b5f60405180830381855af49150503d805f81146101cb576040519150601f19603f3d011682016040523d82523d5f602084013e6101d0565b606091505b5090925090506101e185838361020b565b95945050505050565b34156102095760405163b398979f60e01b815260040160405180910390fd5b565b6060826102205761021b8261026a565b610263565b815115801561023757506001600160a01b0384163b155b1561026057604051639996b31560e01b81526001600160a01b038516600482015260240161012d565b50805b9392505050565b80511561027957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b0381168114610292575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156102e5576102e56102a9565b604052919050565b80516102f881610295565b919050565b5f82601f83011261030c575f5ffd5b60405160e081016001600160401b038111828210171561032e5761032e6102a9565b6040528060e0840185811115610342575f5ffd5b845b818110156103715780516001600160e01b031981168114610363575f5ffd5b835260209283019201610344565b509195945050505050565b5f5f5f5f6101408587031215610390575f5ffd5b845161039b81610295565b60208601519094506001600160401b038111156103b6575f5ffd5b8501601f810187136103c6575f5ffd5b80516001600160401b038111156103df576103df6102a9565b6103f2601f8201601f19166020016102bd565b818152886020838501011115610406575f5ffd5b8160208401602083015e5f6020838301015280955050505061042a604086016102ed565b915061043986606087016102fd565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e051610100516101205161014051610160516107696104eb5f395f81816102e201526105d601525f818161028c015261059801525f8181610236015261055a01525f81816101e0015261051c01525f818161018a01526104de01525f818161013401526104a001525f818160df015261046301525f8181606d01526103bc01526107695ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610630565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610330565b610367565b565b60408051600780825261010082019092526060916020820160e0803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f815181106101105761011061067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106101665761016661067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bc576101bc61067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816003815181106102125761021261067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816004815181106102685761026861067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102be576102be61067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816006815181106103145761031461067c565b6001600160e01b03199092166020928302919091019091015290565b5f6103627f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6103756004823681610690565b61037e916106b7565b90505f61038a82610460565b9050806104525760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610408573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042c91906106ef565b509050806104525760405162d1953b60e31b815233600482015260240160405180910390fd5b61045b83610612565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b03191614806104d657507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061051457507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061055257507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061059057507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105ce57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061060c57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e80801561062c573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156106715783516001600160e01b031916835260209384019390920191600101610649565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8585111561069e575f5ffd5b838611156106aa575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156106e8576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610700575f5ffd5b8251801515811461070f575f5ffd5b602084015190925063ffffffff81168114610728575f5ffd5b80915050925092905056fea26469706673582212205c9c0ddc9c5f3993cff2c5b140a968dc6619d03451ef45568be7bf42788c53a764736f6c634300081c0033",
120
+ "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610630565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610330565b610367565b565b60408051600780825261010082019092526060916020820160e0803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f815181106101105761011061067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106101665761016661067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bc576101bc61067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816003815181106102125761021261067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816004815181106102685761026861067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102be576102be61067c565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816006815181106103145761031461067c565b6001600160e01b03199092166020928302919091019091015290565b5f6103627f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6103756004823681610690565b61037e916106b7565b90505f61038a82610460565b9050806104525760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610408573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042c91906106ef565b509050806104525760405162d1953b60e31b815233600482015260240160405180910390fd5b61045b83610612565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b03191614806104d657507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061051457507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061055257507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061059057507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105ce57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061060c57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e80801561062c573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156106715783516001600160e01b031916835260209384019390920191600101610649565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8585111561069e575f5ffd5b838611156106aa575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156106e8576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610700575f5ffd5b8251801515811461070f575f5ffd5b602084015190925063ffffffff81168114610728575f5ffd5b80915050925092905056fea26469706673582212205c9c0ddc9c5f3993cff2c5b140a968dc6619d03451ef45568be7bf42788c53a764736f6c634300081c0033",
121
+ "linkReferences": {},
122
+ "deployedLinkReferences": {}
123
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AccessManagedProxyS8",
4
+ "sourceName": "contracts/amps/AccessManagedProxyS8.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[8]",
25
+ "name": "passThruMethods",
26
+ "type": "bytes4[8]"
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": "0x6101a0604052604051610d08380380610d088339810160408190526100239161038a565b838383828261003282826100aa565b50506001600160a01b0316608090815283516001600160e01b031990811660a09081526020860151821660c09081526040870151831660e09081526060880151841661010052938701518316610120529086015182166101405285015181166101605293015190921661018052506104689350505050565b6100b382610108565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100fc576100f78282610183565b505050565b6101046101f6565b5050565b806001600160a01b03163b5f0361014257604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b03168460405161019f9190610452565b5f60405180830381855af49150503d805f81146101d7576040519150601f19603f3d011682016040523d82523d5f602084013e6101dc565b606091505b5090925090506101ed858383610217565b95945050505050565b34156102155760405163b398979f60e01b815260040160405180910390fd5b565b60608261022c5761022782610276565b61026f565b815115801561024357506001600160a01b0384163b155b1561026c57604051639996b31560e01b81526001600160a01b0385166004820152602401610139565b50805b9392505050565b80511561028557805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b038116811461029e575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156102f1576102f16102b5565b604052919050565b8051610304816102a1565b919050565b5f82601f830112610318575f5ffd5b60405161010081016001600160401b038111828210171561033b5761033b6102b5565b60405280610100840185811115610350575f5ffd5b845b8181101561037f5780516001600160e01b031981168114610371575f5ffd5b835260209283019201610352565b509195945050505050565b5f5f5f5f610160858703121561039e575f5ffd5b84516103a9816102a1565b60208601519094506001600160401b038111156103c4575f5ffd5b8501601f810187136103d4575f5ffd5b80516001600160401b038111156103ed576103ed6102b5565b610400601f8201601f19166020016102c9565b818152886020838501011115610414575f5ffd5b8160208401602083015e5f60208383010152809550505050610438604086016102f9565b91506104478660608701610309565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e05161010051610120516101405161016051610180516107fe61050a5f395f8181610339015261066b01525f81816102e3015261062d01525f818161028d01526105ef01525f818161023701526105b101525f81816101e1015261057301525f818161018b015261053501525f818161013501526104f701525f818160e001526104ba01525f8181606d015261041301526107fe5ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b60405161005391906106c5565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610387565b6103be565b565b604080516008808252610120820190925260609160208201610100803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061011157610111610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061016757610167610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160038151811061021357610213610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061026957610269610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160068151811061031557610315610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b610711565b6001600160e01b03199092166020928302919091019091015290565b5f6103b97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6103cc6004823681610725565b6103d59161074c565b90505f6103e1826104b7565b9050806104a95760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa15801561045f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104839190610784565b509050806104a95760405162d1953b60e31b815233600482015260240160405180910390fd5b6104b2836106a7565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061052d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061056b57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105a957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105e757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061062557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061066357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106a157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e8080156106c1573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156107065783516001600160e01b0319168352602093840193909201916001016106de565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f85851115610733575f5ffd5b8386111561073f575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561077d576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610795575f5ffd5b825180151581146107a4575f5ffd5b602084015190925063ffffffff811681146107bd575f5ffd5b80915050925092905056fea26469706673582212207d2da9f078e7b5c13b98f2dc206d6cb83b759e4e4a34e4050423205530573dcb64736f6c634300081c0033",
120
+ "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b60405161005391906106c5565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610387565b6103be565b565b604080516008808252610120820190925260609160208201610100803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061011157610111610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061016757610167610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160038151811061021357610213610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061026957610269610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160068151811061031557610315610711565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b610711565b6001600160e01b03199092166020928302919091019091015290565b5f6103b97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6103cc6004823681610725565b6103d59161074c565b90505f6103e1826104b7565b9050806104a95760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa15801561045f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104839190610784565b509050806104a95760405162d1953b60e31b815233600482015260240160405180910390fd5b6104b2836106a7565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061052d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061056b57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105a957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105e757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061062557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061066357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106a157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e8080156106c1573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156107065783516001600160e01b0319168352602093840193909201916001016106de565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f85851115610733575f5ffd5b8386111561073f575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561077d576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610795575f5ffd5b825180151581146107a4575f5ffd5b602084015190925063ffffffff811681146107bd575f5ffd5b80915050925092905056fea26469706673582212207d2da9f078e7b5c13b98f2dc206d6cb83b759e4e4a34e4050423205530573dcb64736f6c634300081c0033",
121
+ "linkReferences": {},
122
+ "deployedLinkReferences": {}
123
+ }