@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,105 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AccessManagedProxy",
4
+ "sourceName": "contracts/AccessManagedProxy.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
+ "stateMutability": "payable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "address",
31
+ "name": "caller",
32
+ "type": "address"
33
+ }
34
+ ],
35
+ "name": "AccessManagedUnauthorized",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [
40
+ {
41
+ "internalType": "address",
42
+ "name": "target",
43
+ "type": "address"
44
+ }
45
+ ],
46
+ "name": "AddressEmptyCode",
47
+ "type": "error"
48
+ },
49
+ {
50
+ "inputs": [
51
+ {
52
+ "internalType": "address",
53
+ "name": "implementation",
54
+ "type": "address"
55
+ }
56
+ ],
57
+ "name": "ERC1967InvalidImplementation",
58
+ "type": "error"
59
+ },
60
+ {
61
+ "inputs": [],
62
+ "name": "ERC1967NonPayable",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [],
67
+ "name": "FailedCall",
68
+ "type": "error"
69
+ },
70
+ {
71
+ "anonymous": false,
72
+ "inputs": [
73
+ {
74
+ "indexed": true,
75
+ "internalType": "address",
76
+ "name": "implementation",
77
+ "type": "address"
78
+ }
79
+ ],
80
+ "name": "Upgraded",
81
+ "type": "event"
82
+ },
83
+ {
84
+ "stateMutability": "payable",
85
+ "type": "fallback"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "ACCESS_MANAGER",
90
+ "outputs": [
91
+ {
92
+ "internalType": "contract IAccessManager",
93
+ "name": "",
94
+ "type": "address"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ }
100
+ ],
101
+ "bytecode": "0x60a060405260405161061938038061061983398101604081905261002291610273565b828261002e8282610044565b50506001600160a01b03166080525061035c9050565b61004d826100a2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561009657610091828261011d565b505050565b61009e610190565b5050565b806001600160a01b03163b5f036100dc57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516101399190610346565b5f60405180830381855af49150503d805f8114610171576040519150601f19603f3d011682016040523d82523d5f602084013e610176565b606091505b5090925090506101878583836101b1565b95945050505050565b34156101af5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101c6576101c182610210565b610209565b81511580156101dd57506001600160a01b0384163b155b1561020657604051639996b31560e01b81526001600160a01b03851660048201526024016100d3565b50805b9392505050565b80511561021f57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b0381168114610238575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b805161026e8161023b565b919050565b5f5f5f60608486031215610285575f5ffd5b83516102908161023b565b60208501519093506001600160401b038111156102ab575f5ffd5b8401601f810186136102bb575f5ffd5b80516001600160401b038111156102d4576102d461024f565b604051601f8201601f19908116603f011681016001600160401b03811182821017156103025761030261024f565b604052818152828201602001881015610319575f5ffd5b8160208401602083015e5f6020838301015280945050505061033d60408501610263565b90509250925092565b5f82518060208501845e5f920191825250919050565b60805161029f61037a5f395f818160380152610104015261029f5ff3fe60806040526004361061001d575f3560e01c80633a7b7a3914610027575b610025610076565b005b348015610032575f5ffd5b5061005a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b610086610081610088565b6100bf565b565b5f6100ba7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6100cd60048236816101c6565b6100d6916101ed565b90505f60405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610150573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101749190610225565b5090508061019a5760405162d1953b60e31b815233600482015260240160405180910390fd5b6101a3836101a8565b505050565b365f5f375f5f365f845af43d5f5f3e8080156101c2573d5ff35b3d5ffd5b5f5f858511156101d4575f5ffd5b838611156101e0575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561021e576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610236575f5ffd5b82518015158114610245575f5ffd5b602084015190925063ffffffff8116811461025e575f5ffd5b80915050925092905056fea2646970667358221220b2ca80008beb146ee9c82b21cf03468efef8f30f76fdcb8be3b4faf7053dd1af64736f6c634300081c0033",
102
+ "deployedBytecode": "0x60806040526004361061001d575f3560e01c80633a7b7a3914610027575b610025610076565b005b348015610032575f5ffd5b5061005a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b610086610081610088565b6100bf565b565b5f6100ba7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6100cd60048236816101c6565b6100d6916101ed565b90505f60405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610150573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101749190610225565b5090508061019a5760405162d1953b60e31b815233600482015260240160405180910390fd5b6101a3836101a8565b505050565b365f5f375f5f365f845af43d5f5f3e8080156101c2573d5ff35b3d5ffd5b5f5f858511156101d4575f5ffd5b838611156101e0575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561021e576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610236575f5ffd5b82518015158114610245575f5ffd5b602084015190925063ffffffff8116811461025e575f5ffd5b80915050925092905056fea2646970667358221220b2ca80008beb146ee9c82b21cf03468efef8f30f76fdcb8be3b4faf7053dd1af64736f6c634300081c0033",
103
+ "linkReferences": {},
104
+ "deployedLinkReferences": {}
105
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AccessManagedProxyS1",
4
+ "sourceName": "contracts/amps/AccessManagedProxyS1.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[1]",
25
+ "name": "passThruMethods",
26
+ "type": "bytes4[1]"
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": "0x60c060405260405161081638038061081683398101604081905261002291610336565b83838382826100318282610058565b50506001600160a01b03166080525050516001600160e01b03191660a05250610413915050565b610061826100b6565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100aa576100a58282610131565b505050565b6100b26101a4565b5050565b806001600160a01b03163b5f036100f057604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b03168460405161014d91906103fd565b5f60405180830381855af49150503d805f8114610185576040519150601f19603f3d011682016040523d82523d5f602084013e61018a565b606091505b50909250905061019b8583836101c5565b95945050505050565b34156101c35760405163b398979f60e01b815260040160405180910390fd5b565b6060826101da576101d582610224565b61021d565b81511580156101f157506001600160a01b0384163b155b1561021a57604051639996b31560e01b81526001600160a01b03851660048201526024016100e7565b50805b9392505050565b80511561023357805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b038116811461024c575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561029f5761029f610263565b604052919050565b80516102b28161024f565b919050565b5f82601f8301126102c6575f5ffd5b604051602081016001600160401b03811182821017156102e8576102e8610263565b6040528060208401858111156102fc575f5ffd5b845b8181101561032b5780516001600160e01b03198116811461031d575f5ffd5b8352602092830192016102fe565b509195945050505050565b5f5f5f5f60808587031215610349575f5ffd5b84516103548161024f565b60208601519094506001600160401b0381111561036f575f5ffd5b8501601f8101871361037f575f5ffd5b80516001600160401b0381111561039857610398610263565b6103ab601f8201601f1916602001610277565b8181528860208385010111156103bf575f5ffd5b8160208401602083015e5f602083830101528095505050506103e3604086016102a7565b91506103f286606087016102b7565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a0516103d66104405f395f818160dd015261017c01525f8181606d01526101db01526103d65ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b604051610053919061029d565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b261012a565b610161565b565b604080516001808252818301909252606091602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061010e5761010e6102e9565b6001600160e01b03199092166020928302919091019091015290565b5f61015c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f61016f60048236816102fd565b61017891610324565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031990811690821614806102715760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610227573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024b919061035c565b509050806102715760405162d1953b60e31b815233600482015260240160405180910390fd5b61027a8361027f565b505050565b365f5f375f5f365f845af43d5f5f3e808015610299573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156102de5783516001600160e01b0319168352602093840193909201916001016102b6565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8585111561030b575f5ffd5b83861115610317575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610355576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f6040838503121561036d575f5ffd5b8251801515811461037c575f5ffd5b602084015190925063ffffffff81168114610395575f5ffd5b80915050925092905056fea2646970667358221220873e8348d7827c642661807395e7a3cf310474fd71de0b76f6468d17b66de4ac64736f6c634300081c0033",
120
+ "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b604051610053919061029d565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b261012a565b610161565b565b604080516001808252818301909252606091602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061010e5761010e6102e9565b6001600160e01b03199092166020928302919091019091015290565b5f61015c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f61016f60048236816102fd565b61017891610324565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031990811690821614806102715760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610227573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024b919061035c565b509050806102715760405162d1953b60e31b815233600482015260240160405180910390fd5b61027a8361027f565b505050565b365f5f375f5f365f845af43d5f5f3e808015610299573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156102de5783516001600160e01b0319168352602093840193909201916001016102b6565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8585111561030b575f5ffd5b83861115610317575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610355576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f6040838503121561036d575f5ffd5b8251801515811461037c575f5ffd5b602084015190925063ffffffff81168114610395575f5ffd5b80915050925092905056fea2646970667358221220873e8348d7827c642661807395e7a3cf310474fd71de0b76f6468d17b66de4ac64736f6c634300081c0033",
121
+ "linkReferences": {},
122
+ "deployedLinkReferences": {}
123
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AccessManagedProxyS10",
4
+ "sourceName": "contracts/amps/AccessManagedProxyS10.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[10]",
25
+ "name": "passThruMethods",
26
+ "type": "bytes4[10]"
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": "0x6101e0604052604051610e6a380380610e6a833981016040819052610023916103a2565b838383828261003282826100c2565b50506001600160a01b0316608090815283516001600160e01b031990811660a09081526020860151821660c09081526040870151831660e09081526060880151841661010090815294880151841661012090815292880151841661014052908701518316610160528601518216610180529185015181166101a0529301519092166101c052506104809350505050565b6100cb82610120565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101145761010f828261019b565b505050565b61011c61020e565b5050565b806001600160a01b03163b5f0361015a57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516101b7919061046a565b5f60405180830381855af49150503d805f81146101ef576040519150601f19603f3d011682016040523d82523d5f602084013e6101f4565b606091505b50909250905061020585838361022f565b95945050505050565b341561022d5760405163b398979f60e01b815260040160405180910390fd5b565b6060826102445761023f8261028e565b610287565b815115801561025b57506001600160a01b0384163b155b1561028457604051639996b31560e01b81526001600160a01b0385166004820152602401610151565b50805b9392505050565b80511561029d57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b03811681146102b6575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610309576103096102cd565b604052919050565b805161031c816102b9565b919050565b5f82601f830112610330575f5ffd5b60405161014081016001600160401b0381118282101715610353576103536102cd565b60405280610140840185811115610368575f5ffd5b845b818110156103975780516001600160e01b031981168114610389575f5ffd5b83526020928301920161036a565b509195945050505050565b5f5f5f5f6101a085870312156103b6575f5ffd5b84516103c1816102b9565b60208601519094506001600160401b038111156103dc575f5ffd5b8501601f810187136103ec575f5ffd5b80516001600160401b03811115610405576104056102cd565b610418601f8201601f19166020016102e1565b81815288602083850101111561042c575f5ffd5b8160208401602083015e5f6020838301015280955050505061045060408601610311565b915061045f8660608701610321565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516109266105445f395f81816103e5015261079301525f818161038f015261075501525f8181610339015261071701525f81816102e301526106d901525f818161028d015261069b01525f8181610237015261065d01525f81816101e1015261061f01525f818161018b01526105e101525f818161013501526105a301525f818160e0015261056601525f8181606d01526104bf01526109265ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b60405161005391906107ed565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610433565b61046a565b565b60408051600a808252610160820190925260609160208201610140803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061011157610111610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061016757610167610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160038151811061021357610213610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061026957610269610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160068151811061031557610315610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816008815181106103c1576103c1610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160098151811061041757610417610839565b6001600160e01b03199092166020928302919091019091015290565b5f6104657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f610478600482368161084d565b61048191610874565b90505f61048d82610563565b9050806105555760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa15801561050b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052f91906108ac565b509050806105555760405162d1953b60e31b815233600482015260240160405180910390fd5b61055e836107cf565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b03191614806105d957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061061757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061065557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061069357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106d157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061070f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061074d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061078b57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806107c957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e8080156107e9573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b8181101561082e5783516001600160e01b031916835260209384019390920191600101610806565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8585111561085b575f5ffd5b83861115610867575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156108a5576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f604083850312156108bd575f5ffd5b825180151581146108cc575f5ffd5b602084015190925063ffffffff811681146108e5575f5ffd5b80915050925092905056fea26469706673582212204fc478975b15c0febafb7e78934bad39a2b393fe437541fc0253db03d6756d4764736f6c634300081c0033",
120
+ "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b60405161005391906107ed565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610433565b61046a565b565b60408051600a808252610160820190925260609160208201610140803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061011157610111610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061016757610167610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160038151811061021357610213610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061026957610269610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160068151811061031557610315610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816008815181106103c1576103c1610839565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160098151811061041757610417610839565b6001600160e01b03199092166020928302919091019091015290565b5f6104657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f610478600482368161084d565b61048191610874565b90505f61048d82610563565b9050806105555760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa15801561050b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052f91906108ac565b509050806105555760405162d1953b60e31b815233600482015260240160405180910390fd5b61055e836107cf565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b03191614806105d957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061061757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061065557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061069357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106d157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061070f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061074d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061078b57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806107c957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e8080156107e9573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b8181101561082e5783516001600160e01b031916835260209384019390920191600101610806565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8585111561085b575f5ffd5b83861115610867575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156108a5576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f604083850312156108bd575f5ffd5b825180151581146108cc575f5ffd5b602084015190925063ffffffff811681146108e5575f5ffd5b80915050925092905056fea26469706673582212204fc478975b15c0febafb7e78934bad39a2b393fe437541fc0253db03d6756d4764736f6c634300081c0033",
121
+ "linkReferences": {},
122
+ "deployedLinkReferences": {}
123
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AccessManagedProxyS11",
4
+ "sourceName": "contracts/amps/AccessManagedProxyS11.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[11]",
25
+ "name": "passThruMethods",
26
+ "type": "bytes4[11]"
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": "0x610200604052604051610f1a380380610f1a833981016040819052610023916103ad565b838383828261003282826100cd565b50506001600160a01b0316608090815283516001600160e01b031990811660a09081526020860151821660c09081526040870151831660e090815260608801518416610100908152948801518416610120908152928801518416610140908152918801518416610160528701518316610180529286015182166101a05285015181166101c0529301519092166101e0525061048b9350505050565b6100d68261012b565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561011f5761011a82826101a6565b505050565b610127610219565b5050565b806001600160a01b03163b5f0361016557604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516101c29190610475565b5f60405180830381855af49150503d805f81146101fa576040519150601f19603f3d011682016040523d82523d5f602084013e6101ff565b606091505b50909250905061021085838361023a565b95945050505050565b34156102385760405163b398979f60e01b815260040160405180910390fd5b565b60608261024f5761024a82610299565b610292565b815115801561026657506001600160a01b0384163b155b1561028f57604051639996b31560e01b81526001600160a01b038516600482015260240161015c565b50805b9392505050565b8051156102a857805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b03811681146102c1575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610314576103146102d8565b604052919050565b8051610327816102c4565b919050565b5f82601f83011261033b575f5ffd5b60405161016081016001600160401b038111828210171561035e5761035e6102d8565b60405280610160840185811115610373575f5ffd5b845b818110156103a25780516001600160e01b031981168114610394575f5ffd5b835260209283019201610375565b509195945050505050565b5f5f5f5f6101c085870312156103c1575f5ffd5b84516103cc816102c4565b60208601519094506001600160401b038111156103e7575f5ffd5b8501601f810187136103f7575f5ffd5b80516001600160401b03811115610410576104106102d8565b610423601f8201601f19166020016102ec565b818152886020838501011115610437575f5ffd5b8160208401602083015e5f6020838301015280955050505061045b6040860161031c565b915061046a866060870161032c565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516109ba6105605f395f818161043b015261082701525f81816103e501526107e901525f818161038f01526107ab01525f8181610339015261076d01525f81816102e3015261072f01525f818161028d01526106f101525f818161023701526106b301525f81816101e1015261067501525f818161018b015261063701525f818161013501526105f901525f818160e001526105bc01525f8181606d015261051501526109ba5ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610881565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610489565b6104c0565b565b60408051600b808252610180820190925260609160208201610160803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f81518110610111576101116108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610167576101676108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd6108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600381518110610213576102136108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600481518110610269576102696108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf6108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600681518110610315576103156108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b6108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816008815181106103c1576103c16108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600981518110610417576104176108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600a8151811061046d5761046d6108cd565b6001600160e01b03199092166020928302919091019091015290565b5f6104bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6104ce60048236816108e1565b6104d791610908565b90505f6104e3826105b9565b9050806105ab5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610561573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105859190610940565b509050806105ab5760405162d1953b60e31b815233600482015260240160405180910390fd5b6105b483610863565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061062f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061066d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106ab57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106e957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061072757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061076557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806107a357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806107e157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061081f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061085d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e80801561087d573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156108c25783516001600160e01b03191683526020938401939092019160010161089a565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156108ef575f5ffd5b838611156108fb575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610939576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610951575f5ffd5b82518015158114610960575f5ffd5b602084015190925063ffffffff81168114610979575f5ffd5b80915050925092905056fea2646970667358221220fbf24a9f32612a0cf3048907827ca8c6a1fc839b2a59f00a35319870218b8d2864736f6c634300081c0033",
120
+ "deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610881565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b2610489565b6104c0565b565b60408051600b808252610180820190925260609160208201610160803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f81518110610111576101116108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610167576101676108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd6108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600381518110610213576102136108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600481518110610269576102696108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf6108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600681518110610315576103156108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b6108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816008815181106103c1576103c16108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600981518110610417576104176108cd565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600a8151811061046d5761046d6108cd565b6001600160e01b03199092166020928302919091019091015290565b5f6104bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f6104ce60048236816108e1565b6104d791610908565b90505f6104e3826105b9565b9050806105ab5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa158015610561573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105859190610940565b509050806105ab5760405162d1953b60e31b815233600482015260240160405180910390fd5b6105b483610863565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061062f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061066d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106ab57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106e957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061072757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061076557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806107a357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806107e157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061081f57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061085d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e80801561087d573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b818110156108c25783516001600160e01b03191683526020938401939092019160010161089a565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156108ef575f5ffd5b838611156108fb575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610939576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610951575f5ffd5b82518015158114610960575f5ffd5b602084015190925063ffffffff81168114610979575f5ffd5b80915050925092905056fea2646970667358221220fbf24a9f32612a0cf3048907827ca8c6a1fc839b2a59f00a35319870218b8d2864736f6c634300081c0033",
121
+ "linkReferences": {},
122
+ "deployedLinkReferences": {}
123
+ }