@ensuro/access-managed-proxy 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -5
- package/build/build-info.json +1 -1
- package/build/contracts/AMPUtils.sol/AMPUtils.json +2 -2
- package/build/contracts/AccessManagedProxy.sol/AccessManagedProxy.json +71 -3
- package/build/contracts/AccessManagedProxyBase.sol/AccessManagedProxyBase.json +147 -0
- package/build/contracts/interfaces/IAccessManagedProxy.sol/IAccessManagedProxy.json +98 -0
- package/build/contracts/mock/DummyAccessManaged.sol/DummyAccessManaged.json +321 -0
- package/build/contracts/mock/DummyImplementation.sol/DummyImplementation.json +122 -2
- package/contracts/AMPUtils.sol +54 -3
- package/contracts/AccessManagedProxy.sol +39 -51
- package/contracts/AccessManagedProxyBase.sol +79 -0
- package/contracts/interfaces/IAccessManagedProxy.sol +51 -0
- package/contracts/mock/DummyAccessManaged.sol +56 -0
- package/contracts/mock/DummyImplementation.sol +30 -2
- package/js/deployProxy.js +5 -11
- package/package.json +1 -1
- package/build/contracts/amps/AccessManagedProxyS1.sol/AccessManagedProxyS1.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS10.sol/AccessManagedProxyS10.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS11.sol/AccessManagedProxyS11.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS12.sol/AccessManagedProxyS12.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS13.sol/AccessManagedProxyS13.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS14.sol/AccessManagedProxyS14.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS15.sol/AccessManagedProxyS15.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS16.sol/AccessManagedProxyS16.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS17.sol/AccessManagedProxyS17.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS18.sol/AccessManagedProxyS18.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS19.sol/AccessManagedProxyS19.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS2.sol/AccessManagedProxyS2.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS20.sol/AccessManagedProxyS20.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS21.sol/AccessManagedProxyS21.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS22.sol/AccessManagedProxyS22.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS23.sol/AccessManagedProxyS23.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS24.sol/AccessManagedProxyS24.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS25.sol/AccessManagedProxyS25.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS26.sol/AccessManagedProxyS26.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS27.sol/AccessManagedProxyS27.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS28.sol/AccessManagedProxyS28.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS29.sol/AccessManagedProxyS29.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS3.sol/AccessManagedProxyS3.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS30.sol/AccessManagedProxyS30.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS31.sol/AccessManagedProxyS31.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS32.sol/AccessManagedProxyS32.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS33.sol/AccessManagedProxyS33.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS34.sol/AccessManagedProxyS34.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS35.sol/AccessManagedProxyS35.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS36.sol/AccessManagedProxyS36.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS37.sol/AccessManagedProxyS37.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS38.sol/AccessManagedProxyS38.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS39.sol/AccessManagedProxyS39.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS4.sol/AccessManagedProxyS4.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS40.sol/AccessManagedProxyS40.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS5.sol/AccessManagedProxyS5.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS6.sol/AccessManagedProxyS6.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS7.sol/AccessManagedProxyS7.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS8.sol/AccessManagedProxyS8.json +0 -123
- package/build/contracts/amps/AccessManagedProxyS9.sol/AccessManagedProxyS9.json +0 -123
- package/contracts/amps/AccessManagedProxyS1.sol +0 -63
- package/contracts/amps/AccessManagedProxyS10.sol +0 -99
- package/contracts/amps/AccessManagedProxyS11.sol +0 -103
- package/contracts/amps/AccessManagedProxyS12.sol +0 -107
- package/contracts/amps/AccessManagedProxyS13.sol +0 -111
- package/contracts/amps/AccessManagedProxyS14.sol +0 -115
- package/contracts/amps/AccessManagedProxyS15.sol +0 -119
- package/contracts/amps/AccessManagedProxyS16.sol +0 -123
- package/contracts/amps/AccessManagedProxyS17.sol +0 -127
- package/contracts/amps/AccessManagedProxyS18.sol +0 -131
- package/contracts/amps/AccessManagedProxyS19.sol +0 -135
- package/contracts/amps/AccessManagedProxyS2.sol +0 -67
- package/contracts/amps/AccessManagedProxyS20.sol +0 -139
- package/contracts/amps/AccessManagedProxyS21.sol +0 -143
- package/contracts/amps/AccessManagedProxyS22.sol +0 -147
- package/contracts/amps/AccessManagedProxyS23.sol +0 -151
- package/contracts/amps/AccessManagedProxyS24.sol +0 -155
- package/contracts/amps/AccessManagedProxyS25.sol +0 -159
- package/contracts/amps/AccessManagedProxyS26.sol +0 -163
- package/contracts/amps/AccessManagedProxyS27.sol +0 -167
- package/contracts/amps/AccessManagedProxyS28.sol +0 -171
- package/contracts/amps/AccessManagedProxyS29.sol +0 -175
- package/contracts/amps/AccessManagedProxyS3.sol +0 -71
- package/contracts/amps/AccessManagedProxyS30.sol +0 -179
- package/contracts/amps/AccessManagedProxyS31.sol +0 -183
- package/contracts/amps/AccessManagedProxyS32.sol +0 -187
- package/contracts/amps/AccessManagedProxyS33.sol +0 -191
- package/contracts/amps/AccessManagedProxyS34.sol +0 -195
- package/contracts/amps/AccessManagedProxyS35.sol +0 -199
- package/contracts/amps/AccessManagedProxyS36.sol +0 -203
- package/contracts/amps/AccessManagedProxyS37.sol +0 -207
- package/contracts/amps/AccessManagedProxyS38.sol +0 -211
- package/contracts/amps/AccessManagedProxyS39.sol +0 -215
- package/contracts/amps/AccessManagedProxyS4.sol +0 -75
- package/contracts/amps/AccessManagedProxyS40.sol +0 -219
- package/contracts/amps/AccessManagedProxyS5.sol +0 -79
- package/contracts/amps/AccessManagedProxyS6.sol +0 -83
- package/contracts/amps/AccessManagedProxyS7.sol +0 -87
- package/contracts/amps/AccessManagedProxyS8.sol +0 -91
- package/contracts/amps/AccessManagedProxyS9.sol +0 -95
|
@@ -1,123 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "AccessManagedProxyS9",
|
|
4
|
-
"sourceName": "contracts/amps/AccessManagedProxyS9.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[9]",
|
|
25
|
-
"name": "passThruMethods",
|
|
26
|
-
"type": "bytes4[9]"
|
|
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": "0x6101c0604052604051610db8380380610db883398101604081905261002391610395565b838383828261003282826100b5565b50506001600160a01b0316608090815283516001600160e01b031990811660a09081526020860151821660c09081526040870151831660e09081526060880151841661010090815294880151841661012052918701518316610140528601518216610160528501518116610180529301519092166101a052506104739350505050565b6100be82610113565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561010757610102828261018e565b505050565b61010f610201565b5050565b806001600160a01b03163b5f0361014d57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516101aa919061045d565b5f60405180830381855af49150503d805f81146101e2576040519150601f19603f3d011682016040523d82523d5f602084013e6101e7565b606091505b5090925090506101f8858383610222565b95945050505050565b34156102205760405163b398979f60e01b815260040160405180910390fd5b565b6060826102375761023282610281565b61027a565b815115801561024e57506001600160a01b0384163b155b1561027757604051639996b31560e01b81526001600160a01b0385166004820152602401610144565b50805b9392505050565b80511561029057805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b03811681146102a9575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156102fc576102fc6102c0565b604052919050565b805161030f816102ac565b919050565b5f82601f830112610323575f5ffd5b60405161012081016001600160401b0381118282101715610346576103466102c0565b6040528061012084018581111561035b575f5ffd5b845b8181101561038a5780516001600160e01b03198116811461037c575f5ffd5b83526020928301920161035d565b509195945050505050565b5f5f5f5f61018085870312156103a9575f5ffd5b84516103b4816102ac565b60208601519094506001600160401b038111156103cf575f5ffd5b8501601f810187136103df575f5ffd5b80516001600160401b038111156103f8576103f86102c0565b61040b601f8201601f19166020016102d4565b81815288602083850101111561041f575f5ffd5b8160208401602083015e5f6020838301015280955050505061044360408601610304565b91506104528660608701610314565b905092959194509250565b5f82518060208501845e5f920191825250919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516108926105265f395f818161038f01526106ff01525f818161033901526106c101525f81816102e3015261068301525f818161028d015261064501525f8181610237015261060701525f81816101e101526105c901525f818161018b015261058b01525f8181610135015261054d01525f818160e0015261051001525f8181606d015261046901526108925ff3fe608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610759565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b26103dd565b610414565b565b604080516009808252610140820190925260609160208201610120803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f81518110610111576101116107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610167576101676107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd6107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600381518110610213576102136107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600481518110610269576102696107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf6107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600681518110610315576103156107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b6107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816008815181106103c1576103c16107a5565b6001600160e01b03199092166020928302919091019091015290565b5f61040f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f61042260048236816107b9565b61042b916107e0565b90505f6104378261050d565b9050806104ff5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa1580156104b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d99190610818565b509050806104ff5760405162d1953b60e31b815233600482015260240160405180910390fd5b6105088361073b565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061058357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105c157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105ff57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061063d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061067b57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106b957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106f757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061073557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e808015610755573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b8181101561079a5783516001600160e01b031916835260209384019390920191600101610772565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156107c7575f5ffd5b838611156107d3575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610811576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610829575f5ffd5b82518015158114610838575f5ffd5b602084015190925063ffffffff81168114610851575f5ffd5b80915050925092905056fea26469706673582212206460973825867c720121f3bf916539e19779b999b27b8001127cfb946ae456e264736f6c634300081c0033",
|
|
120
|
-
"deployedBytecode": "0x608060405260043610610028575f3560e01c806314416c03146100325780633a7b7a391461005c575b6100306100a7565b005b34801561003d575f5ffd5b506100466100b9565b6040516100539190610759565b60405180910390f35b348015610067575f5ffd5b5061008f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610053565b6100b76100b26103dd565b610414565b565b604080516009808252610140820190925260609160208201610120803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f81518110610111576101116107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610167576101676107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106101bd576101bd6107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600381518110610213576102136107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600481518110610269576102696107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816005815181106102bf576102bf6107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f000000000000000000000000000000000000000000000000000000000000000081600681518110610315576103156107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f00000000000000000000000000000000000000000000000000000000000000008160078151811061036b5761036b6107a5565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f0000000000000000000000000000000000000000000000000000000000000000816008815181106103c1576103c16107a5565b6001600160e01b03199092166020928302919091019091015290565b5f61040f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b5f61042260048236816107b9565b61042b916107e0565b90505f6104378261050d565b9050806104ff5760405163b700961360e01b81523360048201523060248201526001600160e01b0319831660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b7009613906064016040805180830381865afa1580156104b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d99190610818565b509050806104ff5760405162d1953b60e31b815233600482015260240160405180910390fd5b6105088361073b565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916148061058357507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105c157507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806105ff57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061063d57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061067b57507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106b957507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b806106f757507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b8061073557507f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916826001600160e01b031916145b92915050565b365f5f375f5f365f845af43d5f5f3e808015610755573d5ff35b3d5ffd5b602080825282518282018190525f918401906040840190835b8181101561079a5783516001600160e01b031916835260209384019390920191600101610772565b509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156107c7575f5ffd5b838611156107d3575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610811576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f5f60408385031215610829575f5ffd5b82518015158114610838575f5ffd5b602084015190925063ffffffff81168114610851575f5ffd5b80915050925092905056fea26469706673582212206460973825867c720121f3bf916539e19779b999b27b8001127cfb946ae456e264736f6c634300081c0033",
|
|
121
|
-
"linkReferences": {},
|
|
122
|
-
"deployedLinkReferences": {}
|
|
123
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
pragma solidity ^0.8.0;
|
|
3
|
-
|
|
4
|
-
import {AccessManagedProxy} from "../AccessManagedProxy.sol";
|
|
5
|
-
import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @title AccessManagedProxyS1
|
|
9
|
-
* @notice Specialization of AccessManagedProxy with pass thru (skips AM) for some messages for gas optimization
|
|
10
|
-
*
|
|
11
|
-
* @custom:security-contact security@ensuro.co
|
|
12
|
-
* @author Ensuro
|
|
13
|
-
*/
|
|
14
|
-
contract AccessManagedProxyS1 is AccessManagedProxy {
|
|
15
|
-
bytes4 internal immutable PASS_THRU_METHODS_0;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @notice Constructor of the proxy, defining the implementation and the access manager
|
|
19
|
-
* @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation` and
|
|
20
|
-
* with `manager` as the ACCESS_MANAGER that will handle access control.
|
|
21
|
-
*
|
|
22
|
-
* @param implementation The initial implementation contract.
|
|
23
|
-
* @param _data If nonempty, it's used as data in a delegate call to `implementation`. This will typically be an
|
|
24
|
-
* encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.
|
|
25
|
-
* @param manager The access manager that will handle access control
|
|
26
|
-
* @param passThruMethods The selector of methods that will skip the access control validation, typically used for
|
|
27
|
-
* views and other methods for gas optimization.
|
|
28
|
-
*
|
|
29
|
-
* Requirements:
|
|
30
|
-
*
|
|
31
|
-
* - If `data` is empty, `msg.value` must be zero.
|
|
32
|
-
*/
|
|
33
|
-
constructor(
|
|
34
|
-
address implementation,
|
|
35
|
-
bytes memory _data,
|
|
36
|
-
IAccessManager manager,
|
|
37
|
-
bytes4[1] memory passThruMethods
|
|
38
|
-
) payable AccessManagedProxy(implementation, _data, manager) {
|
|
39
|
-
PASS_THRU_METHODS_0 = passThruMethods[0];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/*
|
|
43
|
-
* @notice Skips the access control if the method called is one of the passThruMethods
|
|
44
|
-
* @dev See {PASS_THRU_METHODS()}
|
|
45
|
-
* @param selector The selector of the method called
|
|
46
|
-
* @return Whether the access control using ACCESS_MANAGER should be skipped or not
|
|
47
|
-
*/
|
|
48
|
-
function _skipAC(bytes4 selector) internal view override returns (bool) {
|
|
49
|
-
return
|
|
50
|
-
selector == PASS_THRU_METHODS_0;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* @notice Gives observability to the methods that are skipped from access control
|
|
55
|
-
* @dev This list is fixed and defined on contract construction
|
|
56
|
-
* @return methods The list of method selectors that skip ACCESS_MANAGER access control
|
|
57
|
-
*/
|
|
58
|
-
// solhint-disable-next-line func-name-mixedcase
|
|
59
|
-
function PASS_THRU_METHODS() external view returns (bytes4[] memory methods) {
|
|
60
|
-
methods = new bytes4[](1);
|
|
61
|
-
methods[0] = PASS_THRU_METHODS_0;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
pragma solidity ^0.8.0;
|
|
3
|
-
|
|
4
|
-
import {AccessManagedProxy} from "../AccessManagedProxy.sol";
|
|
5
|
-
import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @title AccessManagedProxyS10
|
|
9
|
-
* @notice Specialization of AccessManagedProxy with pass thru (skips AM) for some messages for gas optimization
|
|
10
|
-
*
|
|
11
|
-
* @custom:security-contact security@ensuro.co
|
|
12
|
-
* @author Ensuro
|
|
13
|
-
*/
|
|
14
|
-
contract AccessManagedProxyS10 is AccessManagedProxy {
|
|
15
|
-
bytes4 internal immutable PASS_THRU_METHODS_0;
|
|
16
|
-
bytes4 internal immutable PASS_THRU_METHODS_1;
|
|
17
|
-
bytes4 internal immutable PASS_THRU_METHODS_2;
|
|
18
|
-
bytes4 internal immutable PASS_THRU_METHODS_3;
|
|
19
|
-
bytes4 internal immutable PASS_THRU_METHODS_4;
|
|
20
|
-
bytes4 internal immutable PASS_THRU_METHODS_5;
|
|
21
|
-
bytes4 internal immutable PASS_THRU_METHODS_6;
|
|
22
|
-
bytes4 internal immutable PASS_THRU_METHODS_7;
|
|
23
|
-
bytes4 internal immutable PASS_THRU_METHODS_8;
|
|
24
|
-
bytes4 internal immutable PASS_THRU_METHODS_9;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @notice Constructor of the proxy, defining the implementation and the access manager
|
|
28
|
-
* @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation` and
|
|
29
|
-
* with `manager` as the ACCESS_MANAGER that will handle access control.
|
|
30
|
-
*
|
|
31
|
-
* @param implementation The initial implementation contract.
|
|
32
|
-
* @param _data If nonempty, it's used as data in a delegate call to `implementation`. This will typically be an
|
|
33
|
-
* encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.
|
|
34
|
-
* @param manager The access manager that will handle access control
|
|
35
|
-
* @param passThruMethods The selector of methods that will skip the access control validation, typically used for
|
|
36
|
-
* views and other methods for gas optimization.
|
|
37
|
-
*
|
|
38
|
-
* Requirements:
|
|
39
|
-
*
|
|
40
|
-
* - If `data` is empty, `msg.value` must be zero.
|
|
41
|
-
*/
|
|
42
|
-
constructor(
|
|
43
|
-
address implementation,
|
|
44
|
-
bytes memory _data,
|
|
45
|
-
IAccessManager manager,
|
|
46
|
-
bytes4[10] memory passThruMethods
|
|
47
|
-
) payable AccessManagedProxy(implementation, _data, manager) {
|
|
48
|
-
PASS_THRU_METHODS_0 = passThruMethods[0];
|
|
49
|
-
PASS_THRU_METHODS_1 = passThruMethods[1];
|
|
50
|
-
PASS_THRU_METHODS_2 = passThruMethods[2];
|
|
51
|
-
PASS_THRU_METHODS_3 = passThruMethods[3];
|
|
52
|
-
PASS_THRU_METHODS_4 = passThruMethods[4];
|
|
53
|
-
PASS_THRU_METHODS_5 = passThruMethods[5];
|
|
54
|
-
PASS_THRU_METHODS_6 = passThruMethods[6];
|
|
55
|
-
PASS_THRU_METHODS_7 = passThruMethods[7];
|
|
56
|
-
PASS_THRU_METHODS_8 = passThruMethods[8];
|
|
57
|
-
PASS_THRU_METHODS_9 = passThruMethods[9];
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/*
|
|
61
|
-
* @notice Skips the access control if the method called is one of the passThruMethods
|
|
62
|
-
* @dev See {PASS_THRU_METHODS()}
|
|
63
|
-
* @param selector The selector of the method called
|
|
64
|
-
* @return Whether the access control using ACCESS_MANAGER should be skipped or not
|
|
65
|
-
*/
|
|
66
|
-
function _skipAC(bytes4 selector) internal view override returns (bool) {
|
|
67
|
-
return
|
|
68
|
-
selector == PASS_THRU_METHODS_0 ||
|
|
69
|
-
selector == PASS_THRU_METHODS_1 ||
|
|
70
|
-
selector == PASS_THRU_METHODS_2 ||
|
|
71
|
-
selector == PASS_THRU_METHODS_3 ||
|
|
72
|
-
selector == PASS_THRU_METHODS_4 ||
|
|
73
|
-
selector == PASS_THRU_METHODS_5 ||
|
|
74
|
-
selector == PASS_THRU_METHODS_6 ||
|
|
75
|
-
selector == PASS_THRU_METHODS_7 ||
|
|
76
|
-
selector == PASS_THRU_METHODS_8 ||
|
|
77
|
-
selector == PASS_THRU_METHODS_9;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* @notice Gives observability to the methods that are skipped from access control
|
|
82
|
-
* @dev This list is fixed and defined on contract construction
|
|
83
|
-
* @return methods The list of method selectors that skip ACCESS_MANAGER access control
|
|
84
|
-
*/
|
|
85
|
-
// solhint-disable-next-line func-name-mixedcase
|
|
86
|
-
function PASS_THRU_METHODS() external view returns (bytes4[] memory methods) {
|
|
87
|
-
methods = new bytes4[](10);
|
|
88
|
-
methods[0] = PASS_THRU_METHODS_0;
|
|
89
|
-
methods[1] = PASS_THRU_METHODS_1;
|
|
90
|
-
methods[2] = PASS_THRU_METHODS_2;
|
|
91
|
-
methods[3] = PASS_THRU_METHODS_3;
|
|
92
|
-
methods[4] = PASS_THRU_METHODS_4;
|
|
93
|
-
methods[5] = PASS_THRU_METHODS_5;
|
|
94
|
-
methods[6] = PASS_THRU_METHODS_6;
|
|
95
|
-
methods[7] = PASS_THRU_METHODS_7;
|
|
96
|
-
methods[8] = PASS_THRU_METHODS_8;
|
|
97
|
-
methods[9] = PASS_THRU_METHODS_9;
|
|
98
|
-
}
|
|
99
|
-
}
|