@etherisc/gif-next 0.0.2-0b03b2d

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 (142) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +127 -0
  3. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  4. package/artifacts/contracts/components/Component.sol/Component.json +179 -0
  5. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +4 -0
  6. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +35 -0
  7. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +4 -0
  8. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +179 -0
  9. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +4 -0
  10. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +192 -0
  11. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +4 -0
  12. package/artifacts/contracts/components/Pool.sol/Pool.json +195 -0
  13. package/artifacts/contracts/components/Product.sol/Product.dbg.json +4 -0
  14. package/artifacts/contracts/components/Product.sol/Product.json +213 -0
  15. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +4 -0
  16. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +105 -0
  17. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +4 -0
  18. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +105 -0
  19. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +4 -0
  20. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +128 -0
  21. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +4 -0
  22. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +42 -0
  23. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +4 -0
  24. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +76 -0
  25. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +4 -0
  26. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +89 -0
  27. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +4 -0
  28. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +128 -0
  29. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +4 -0
  30. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +37 -0
  31. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +4 -0
  32. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +50 -0
  33. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +4 -0
  34. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +63 -0
  35. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +4 -0
  36. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +10 -0
  37. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +4 -0
  38. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +10 -0
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +4 -0
  40. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +892 -0
  41. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +4 -0
  42. package/artifacts/contracts/instance/Instance.sol/Instance.json +1009 -0
  43. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +4 -0
  44. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +400 -0
  45. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +4 -0
  46. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.json +10 -0
  47. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +4 -0
  48. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +35 -0
  49. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +4 -0
  50. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +50 -0
  51. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +4 -0
  52. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +336 -0
  53. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
  54. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +327 -0
  55. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +4 -0
  56. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +105 -0
  57. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +4 -0
  58. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.json +10 -0
  59. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +4 -0
  60. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +179 -0
  61. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +4 -0
  62. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +245 -0
  63. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +4 -0
  64. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +94 -0
  65. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +4 -0
  66. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +24 -0
  67. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
  68. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.json +10 -0
  69. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
  70. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +231 -0
  71. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
  72. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +231 -0
  73. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +4 -0
  74. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.json +10 -0
  75. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
  76. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +149 -0
  77. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
  78. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +162 -0
  79. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +4 -0
  80. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +75 -0
  81. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +4 -0
  82. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +114 -0
  83. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +4 -0
  84. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +75 -0
  85. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +4 -0
  86. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +125 -0
  87. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +4 -0
  88. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +534 -0
  89. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +4 -0
  90. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +452 -0
  91. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +4 -0
  92. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +24 -0
  93. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +4 -0
  94. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +166 -0
  95. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +4 -0
  96. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +279 -0
  97. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +4 -0
  98. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +49 -0
  99. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +4 -0
  100. package/artifacts/contracts/registry/Registry.sol/Registerable.json +166 -0
  101. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +4 -0
  102. package/artifacts/contracts/registry/Registry.sol/Registry.json +305 -0
  103. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +4 -0
  104. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +60 -0
  105. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +4 -0
  106. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +10 -0
  107. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +4 -0
  108. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +10 -0
  109. package/contracts/components/Component.sol +62 -0
  110. package/contracts/components/IPool.sol +9 -0
  111. package/contracts/components/IProduct.sol +11 -0
  112. package/contracts/components/Pool.sol +29 -0
  113. package/contracts/components/Product.sol +65 -0
  114. package/contracts/experiment/errors/Require.sol +33 -0
  115. package/contracts/experiment/errors/Revert.sol +39 -0
  116. package/contracts/experiment/inheritance/A.sol +56 -0
  117. package/contracts/experiment/inheritance/B.sol +23 -0
  118. package/contracts/experiment/inheritance/C.sol +28 -0
  119. package/contracts/experiment/inheritance/IA.sol +18 -0
  120. package/contracts/experiment/inheritance/IB.sol +9 -0
  121. package/contracts/experiment/inheritance/IC.sol +11 -0
  122. package/contracts/experiment/types/TypeA.sol +42 -0
  123. package/contracts/experiment/types/TypeB.sol +24 -0
  124. package/contracts/instance/IInstance.sol +20 -0
  125. package/contracts/instance/Instance.sol +63 -0
  126. package/contracts/instance/access/Access.sol +218 -0
  127. package/contracts/instance/access/IAccess.sol +83 -0
  128. package/contracts/instance/component/ComponentModule.sol +246 -0
  129. package/contracts/instance/component/IComponent.sol +94 -0
  130. package/contracts/instance/policy/IPolicy.sol +66 -0
  131. package/contracts/instance/policy/PolicyModule.sol +106 -0
  132. package/contracts/instance/pool/IPoolModule.sol +40 -0
  133. package/contracts/instance/pool/PoolModule.sol +83 -0
  134. package/contracts/instance/product/IProductService.sol +45 -0
  135. package/contracts/instance/product/ProductService.sol +105 -0
  136. package/contracts/registry/ChainNft.sol +173 -0
  137. package/contracts/registry/IChainNft.sol +18 -0
  138. package/contracts/registry/IRegistry.sol +68 -0
  139. package/contracts/registry/Registry.sol +176 -0
  140. package/contracts/types/ChainId.sol +24 -0
  141. package/contracts/types/NftId.sol +25 -0
  142. package/package.json +37 -0
@@ -0,0 +1,213 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Product",
4
+ "sourceName": "contracts/components/Product.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "registry",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "instance",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "pool",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": false,
32
+ "internalType": "uint256",
33
+ "name": "idx",
34
+ "type": "uint256"
35
+ },
36
+ {
37
+ "indexed": false,
38
+ "internalType": "address",
39
+ "name": "module",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "indexed": false,
44
+ "internalType": "string",
45
+ "name": "comment",
46
+ "type": "string"
47
+ }
48
+ ],
49
+ "name": "LogDebug",
50
+ "type": "event"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "getData",
55
+ "outputs": [
56
+ {
57
+ "internalType": "bytes",
58
+ "name": "data",
59
+ "type": "bytes"
60
+ }
61
+ ],
62
+ "stateMutability": "view",
63
+ "type": "function"
64
+ },
65
+ {
66
+ "inputs": [],
67
+ "name": "getInitialOwner",
68
+ "outputs": [
69
+ {
70
+ "internalType": "address",
71
+ "name": "deployer",
72
+ "type": "address"
73
+ }
74
+ ],
75
+ "stateMutability": "view",
76
+ "type": "function"
77
+ },
78
+ {
79
+ "inputs": [],
80
+ "name": "getInstance",
81
+ "outputs": [
82
+ {
83
+ "internalType": "contract IInstance",
84
+ "name": "instance",
85
+ "type": "address"
86
+ }
87
+ ],
88
+ "stateMutability": "view",
89
+ "type": "function"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "getNftId",
94
+ "outputs": [
95
+ {
96
+ "internalType": "uint256",
97
+ "name": "id",
98
+ "type": "uint256"
99
+ }
100
+ ],
101
+ "stateMutability": "view",
102
+ "type": "function"
103
+ },
104
+ {
105
+ "inputs": [],
106
+ "name": "getOwner",
107
+ "outputs": [
108
+ {
109
+ "internalType": "address",
110
+ "name": "owner",
111
+ "type": "address"
112
+ }
113
+ ],
114
+ "stateMutability": "view",
115
+ "type": "function"
116
+ },
117
+ {
118
+ "inputs": [],
119
+ "name": "getParentNftId",
120
+ "outputs": [
121
+ {
122
+ "internalType": "uint256",
123
+ "name": "",
124
+ "type": "uint256"
125
+ }
126
+ ],
127
+ "stateMutability": "view",
128
+ "type": "function"
129
+ },
130
+ {
131
+ "inputs": [],
132
+ "name": "getPoolNftId",
133
+ "outputs": [
134
+ {
135
+ "internalType": "uint256",
136
+ "name": "poolNftId",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "stateMutability": "view",
141
+ "type": "function"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "getRegistry",
146
+ "outputs": [
147
+ {
148
+ "internalType": "contract IRegistry",
149
+ "name": "registry",
150
+ "type": "address"
151
+ }
152
+ ],
153
+ "stateMutability": "view",
154
+ "type": "function"
155
+ },
156
+ {
157
+ "inputs": [],
158
+ "name": "getType",
159
+ "outputs": [
160
+ {
161
+ "internalType": "uint256",
162
+ "name": "",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "stateMutability": "view",
167
+ "type": "function"
168
+ },
169
+ {
170
+ "inputs": [],
171
+ "name": "isRegisterable",
172
+ "outputs": [
173
+ {
174
+ "internalType": "bool",
175
+ "name": "",
176
+ "type": "bool"
177
+ }
178
+ ],
179
+ "stateMutability": "pure",
180
+ "type": "function"
181
+ },
182
+ {
183
+ "inputs": [],
184
+ "name": "isRegistered",
185
+ "outputs": [
186
+ {
187
+ "internalType": "bool",
188
+ "name": "",
189
+ "type": "bool"
190
+ }
191
+ ],
192
+ "stateMutability": "view",
193
+ "type": "function"
194
+ },
195
+ {
196
+ "inputs": [],
197
+ "name": "register",
198
+ "outputs": [
199
+ {
200
+ "internalType": "uint256",
201
+ "name": "componentId",
202
+ "type": "uint256"
203
+ }
204
+ ],
205
+ "stateMutability": "nonpayable",
206
+ "type": "function"
207
+ }
208
+ ],
209
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620013f5380380620013f583398181016040528101906200003791906200028b565b8282808280806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634288121d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019791906200032c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200035e565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002538262000226565b9050919050565b620002658162000246565b81146200027157600080fd5b50565b60008151905062000285816200025a565b92915050565b600080600060608486031215620002a757620002a662000221565b5b6000620002b78682870162000274565b9350506020620002ca8682870162000274565b9250506040620002dd8682870162000274565b9150509250925092565b6000620002f48262000246565b9050919050565b6200030681620002e7565b81146200031257600080fd5b50565b6000815190506200032681620002fb565b92915050565b60006020828403121562000345576200034462000221565b5b6000620003558482850162000315565b91505092915050565b611087806200036e6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635ab1bd53116100715780635ab1bd531461016d578063644c45e01461018b57806379e829d0146101a9578063893d20e8146101c7578063de7b5d14146101e5578063fb2cb10114610203576100b4565b806315dae03e146100b95780631aa3a008146100d75780631bdd6b76146100f5578063223668441461011357806331b62a3b146101315780633bc5de301461014f575b600080fd5b6100c1610221565b6040516100ce9190610b30565b60405180910390f35b6100df6102b8565b6040516100ec9190610b30565b60405180910390f35b6100fd6105d0565b60405161010a9190610b30565b60405180910390f35b61011b610694565b6040516101289190610b66565b60405180910390f35b610139610737565b6040516101469190610b30565b60405180910390f35b6101576107b4565b6040516101649190610c11565b60405180910390f35b610175610850565b6040516101829190610cb2565b60405180910390f35b610193610879565b6040516101a09190610b30565b60405180910390f35b6101b161091b565b6040516101be9190610b66565b60405180910390f35b6101cf610924565b6040516101dc9190610cee565b60405180910390f35b6101ed610ac3565b6040516101fa9190610d2a565b60405180910390f35b61020b610aed565b6040516102189190610cee565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325425a916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b39190610d76565b905090565b60006102c2610aed565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032690610dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b590610e46565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104399190610cee565b602060405180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610e92565b6104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090610f31565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190610f8f565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105879190610fdd565b6020604051808303816000875af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca9190610d76565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161064e9190610cee565b602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d76565b905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106f09190610cee565b602060405180830381865afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107319190610d76565b11905090565b6000610741610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190610d76565b905090565b60606107be610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190610d76565b60405160200161083c9190610b30565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108d59190610cee565b602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190610d76565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016109809190610cee565b602060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c19190610d76565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b8152600401610a1c9190610b30565b602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611024565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610abb57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abd565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610b2a81610b17565b82525050565b6000602082019050610b456000830184610b21565b92915050565b60008115159050919050565b610b6081610b4b565b82525050565b6000602082019050610b7b6000830184610b57565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bbb578082015181840152602081019050610ba0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610be382610b81565b610bed8185610b8c565b9350610bfd818560208601610b9d565b610c0681610bc7565b840191505092915050565b60006020820190508181036000830152610c2b8184610bd8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c78610c73610c6e84610c33565b610c53565b610c33565b9050919050565b6000610c8a82610c5d565b9050919050565b6000610c9c82610c7f565b9050919050565b610cac81610c91565b82525050565b6000602082019050610cc76000830184610ca3565b92915050565b6000610cd882610c33565b9050919050565b610ce881610ccd565b82525050565b6000602082019050610d036000830184610cdf565b92915050565b6000610d1482610c7f565b9050919050565b610d2481610d09565b82525050565b6000602082019050610d3f6000830184610d1b565b92915050565b600080fd5b610d5381610b17565b8114610d5e57600080fd5b50565b600081519050610d7081610d4a565b92915050565b600060208284031215610d8c57610d8b610d45565b5b6000610d9a84828501610d61565b91505092915050565b600082825260208201905092915050565b50565b6000610dc4600083610da3565b9150610dcf82610db4565b600082019050919050565b60006020820190508181036000830152610df381610db7565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610e30601b83610da3565b9150610e3b82610dfa565b602082019050919050565b60006020820190508181036000830152610e5f81610e23565b9050919050565b610e6f81610b4b565b8114610e7a57600080fd5b50565b600081519050610e8c81610e66565b92915050565b600060208284031215610ea857610ea7610d45565b5b6000610eb684828501610e7d565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610f1b602583610da3565b9150610f2682610ebf565b604082019050919050565b60006020820190508181036000830152610f4a81610f0e565b9050919050565b6000610f5c82610ccd565b9050919050565b610f6c81610f51565b8114610f7757600080fd5b50565b600081519050610f8981610f63565b92915050565b600060208284031215610fa557610fa4610d45565b5b6000610fb384828501610f7a565b91505092915050565b6000610fc782610c7f565b9050919050565b610fd781610fbc565b82525050565b6000602082019050610ff26000830184610fce565b92915050565b61100181610ccd565b811461100c57600080fd5b50565b60008151905061101e81610ff8565b92915050565b60006020828403121561103a57611039610d45565b5b60006110488482850161100f565b9150509291505056fea2646970667358221220c3de2c32148232ff0d7d36ab7b4852a75557e134a6e9d7844f34e9d0f6d8710664736f6c63430008140033",
210
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80635ab1bd53116100715780635ab1bd531461016d578063644c45e01461018b57806379e829d0146101a9578063893d20e8146101c7578063de7b5d14146101e5578063fb2cb10114610203576100b4565b806315dae03e146100b95780631aa3a008146100d75780631bdd6b76146100f5578063223668441461011357806331b62a3b146101315780633bc5de301461014f575b600080fd5b6100c1610221565b6040516100ce9190610b30565b60405180910390f35b6100df6102b8565b6040516100ec9190610b30565b60405180910390f35b6100fd6105d0565b60405161010a9190610b30565b60405180910390f35b61011b610694565b6040516101289190610b66565b60405180910390f35b610139610737565b6040516101469190610b30565b60405180910390f35b6101576107b4565b6040516101649190610c11565b60405180910390f35b610175610850565b6040516101829190610cb2565b60405180910390f35b610193610879565b6040516101a09190610b30565b60405180910390f35b6101b161091b565b6040516101be9190610b66565b60405180910390f35b6101cf610924565b6040516101dc9190610cee565b60405180910390f35b6101ed610ac3565b6040516101fa9190610d2a565b60405180910390f35b61020b610aed565b6040516102189190610cee565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325425a916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b39190610d76565b905090565b60006102c2610aed565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032690610dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b590610e46565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104399190610cee565b602060405180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610e92565b6104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090610f31565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190610f8f565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105879190610fdd565b6020604051808303816000875af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca9190610d76565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161064e9190610cee565b602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d76565b905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106f09190610cee565b602060405180830381865afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107319190610d76565b11905090565b6000610741610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190610d76565b905090565b60606107be610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190610d76565b60405160200161083c9190610b30565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108d59190610cee565b602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190610d76565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016109809190610cee565b602060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c19190610d76565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b8152600401610a1c9190610b30565b602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611024565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610abb57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abd565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610b2a81610b17565b82525050565b6000602082019050610b456000830184610b21565b92915050565b60008115159050919050565b610b6081610b4b565b82525050565b6000602082019050610b7b6000830184610b57565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bbb578082015181840152602081019050610ba0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610be382610b81565b610bed8185610b8c565b9350610bfd818560208601610b9d565b610c0681610bc7565b840191505092915050565b60006020820190508181036000830152610c2b8184610bd8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c78610c73610c6e84610c33565b610c53565b610c33565b9050919050565b6000610c8a82610c5d565b9050919050565b6000610c9c82610c7f565b9050919050565b610cac81610c91565b82525050565b6000602082019050610cc76000830184610ca3565b92915050565b6000610cd882610c33565b9050919050565b610ce881610ccd565b82525050565b6000602082019050610d036000830184610cdf565b92915050565b6000610d1482610c7f565b9050919050565b610d2481610d09565b82525050565b6000602082019050610d3f6000830184610d1b565b92915050565b600080fd5b610d5381610b17565b8114610d5e57600080fd5b50565b600081519050610d7081610d4a565b92915050565b600060208284031215610d8c57610d8b610d45565b5b6000610d9a84828501610d61565b91505092915050565b600082825260208201905092915050565b50565b6000610dc4600083610da3565b9150610dcf82610db4565b600082019050919050565b60006020820190508181036000830152610df381610db7565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610e30601b83610da3565b9150610e3b82610dfa565b602082019050919050565b60006020820190508181036000830152610e5f81610e23565b9050919050565b610e6f81610b4b565b8114610e7a57600080fd5b50565b600081519050610e8c81610e66565b92915050565b600060208284031215610ea857610ea7610d45565b5b6000610eb684828501610e7d565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610f1b602583610da3565b9150610f2682610ebf565b604082019050919050565b60006020820190508181036000830152610f4a81610f0e565b9050919050565b6000610f5c82610ccd565b9050919050565b610f6c81610f51565b8114610f7757600080fd5b50565b600081519050610f8981610f63565b92915050565b600060208284031215610fa557610fa4610d45565b5b6000610fb384828501610f7a565b91505092915050565b6000610fc782610c7f565b9050919050565b610fd781610fbc565b82525050565b6000602082019050610ff26000830184610fce565b92915050565b61100181610ccd565b811461100c57600080fd5b50565b60008151905061101e81610ff8565b92915050565b60006020828403121561103a57611039610d45565b5b60006110488482850161100f565b9150509291505056fea2646970667358221220c3de2c32148232ff0d7d36ab7b4852a75557e134a6e9d7844f34e9d0f6d8710664736f6c63430008140033",
211
+ "linkReferences": {},
212
+ "deployedLinkReferences": {}
213
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/df674029c621d24c04ab09bdea94aad0.json"
4
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Require",
4
+ "sourceName": "contracts/experiment/errors/Require.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "a",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "b",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "name": "AsmallerThanB_L",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "a",
32
+ "type": "uint256"
33
+ }
34
+ ],
35
+ "name": "AsmallerThanB_M",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "AsmallerThanB_S",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "uint256",
47
+ "name": "a",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "name": "isAlargerThanBRequire_L",
52
+ "outputs": [
53
+ {
54
+ "internalType": "bool",
55
+ "name": "isLarger",
56
+ "type": "bool"
57
+ }
58
+ ],
59
+ "stateMutability": "view",
60
+ "type": "function"
61
+ },
62
+ {
63
+ "inputs": [
64
+ {
65
+ "internalType": "uint256",
66
+ "name": "a",
67
+ "type": "uint256"
68
+ }
69
+ ],
70
+ "name": "isAlargerThanBRequire_M",
71
+ "outputs": [
72
+ {
73
+ "internalType": "bool",
74
+ "name": "isLarger",
75
+ "type": "bool"
76
+ }
77
+ ],
78
+ "stateMutability": "view",
79
+ "type": "function"
80
+ },
81
+ {
82
+ "inputs": [
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "a",
86
+ "type": "uint256"
87
+ }
88
+ ],
89
+ "name": "isAlargerThanBRequire_S",
90
+ "outputs": [
91
+ {
92
+ "internalType": "bool",
93
+ "name": "isLarger",
94
+ "type": "bool"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ }
100
+ ],
101
+ "bytecode": "0x608060405234801561001057600080fd5b50602a60008190555061040f806100286000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806342bf62e0146100465780638db581aa1461007657806394977ddd146100a6575b600080fd5b610060600480360381019061005b91906101fb565b6100d6565b60405161006d9190610243565b60405180910390f35b610090600480360381019061008b91906101fb565b610124565b60405161009d9190610243565b60405180910390f35b6100c060048036038101906100bb91906101fb565b610172565b6040516100cd9190610243565b60405180910390f35b60008054821161011b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610112906102bb565b60405180910390fd5b60019050919050565b600080548211610169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016090610327565b60405180910390fd5b60019050919050565b6000805482116101b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ae906103b9565b60405180910390fd5b60019050919050565b600080fd5b6000819050919050565b6101d8816101c5565b81146101e357600080fd5b50565b6000813590506101f5816101cf565b92915050565b600060208284031215610211576102106101c0565b5b600061021f848285016101e6565b91505092915050565b60008115159050919050565b61023d81610228565b82525050565b60006020820190506102586000830184610234565b92915050565b600082825260208201905092915050565b7f4552524f523a4142432d3030323a415f49535f534d414c4c4552000000000000600082015250565b60006102a5601a8361025e565b91506102b08261026f565b602082019050919050565b600060208201905081810360008301526102d481610298565b9050919050565b7f4552524f523a4142432d30303100000000000000000000000000000000000000600082015250565b6000610311600d8361025e565b915061031c826102db565b602082019050919050565b6000602082019050818103600083015261034081610304565b9050919050565b7f4552524f523a4142432d3030333a415f49535f534d414c4c45525f5448414e5f60008201527f4200000000000000000000000000000000000000000000000000000000000000602082015250565b60006103a360218361025e565b91506103ae82610347565b604082019050919050565b600060208201905081810360008301526103d281610396565b905091905056fea26469706673582212203d9d797709e046c5792d38e01786c818fc64afc89660495106cff340dc21ab9b64736f6c63430008140033",
102
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806342bf62e0146100465780638db581aa1461007657806394977ddd146100a6575b600080fd5b610060600480360381019061005b91906101fb565b6100d6565b60405161006d9190610243565b60405180910390f35b610090600480360381019061008b91906101fb565b610124565b60405161009d9190610243565b60405180910390f35b6100c060048036038101906100bb91906101fb565b610172565b6040516100cd9190610243565b60405180910390f35b60008054821161011b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610112906102bb565b60405180910390fd5b60019050919050565b600080548211610169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016090610327565b60405180910390fd5b60019050919050565b6000805482116101b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ae906103b9565b60405180910390fd5b60019050919050565b600080fd5b6000819050919050565b6101d8816101c5565b81146101e357600080fd5b50565b6000813590506101f5816101cf565b92915050565b600060208284031215610211576102106101c0565b5b600061021f848285016101e6565b91505092915050565b60008115159050919050565b61023d81610228565b82525050565b60006020820190506102586000830184610234565b92915050565b600082825260208201905092915050565b7f4552524f523a4142432d3030323a415f49535f534d414c4c4552000000000000600082015250565b60006102a5601a8361025e565b91506102b08261026f565b602082019050919050565b600060208201905081810360008301526102d481610298565b9050919050565b7f4552524f523a4142432d30303100000000000000000000000000000000000000600082015250565b6000610311600d8361025e565b915061031c826102db565b602082019050919050565b6000602082019050818103600083015261034081610304565b9050919050565b7f4552524f523a4142432d3030333a415f49535f534d414c4c45525f5448414e5f60008201527f4200000000000000000000000000000000000000000000000000000000000000602082015250565b60006103a360218361025e565b91506103ae82610347565b604082019050919050565b600060208201905081810360008301526103d281610396565b905091905056fea26469706673582212203d9d797709e046c5792d38e01786c818fc64afc89660495106cff340dc21ab9b64736f6c63430008140033",
103
+ "linkReferences": {},
104
+ "deployedLinkReferences": {}
105
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/df674029c621d24c04ab09bdea94aad0.json"
4
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Revert",
4
+ "sourceName": "contracts/experiment/errors/Revert.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "a",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "b",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "name": "AsmallerThanB_L",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "a",
32
+ "type": "uint256"
33
+ }
34
+ ],
35
+ "name": "AsmallerThanB_M",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "AsmallerThanB_S",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "uint256",
47
+ "name": "a",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "name": "isAlargerThanBRevert_L",
52
+ "outputs": [
53
+ {
54
+ "internalType": "bool",
55
+ "name": "isLarger",
56
+ "type": "bool"
57
+ }
58
+ ],
59
+ "stateMutability": "view",
60
+ "type": "function"
61
+ },
62
+ {
63
+ "inputs": [
64
+ {
65
+ "internalType": "uint256",
66
+ "name": "a",
67
+ "type": "uint256"
68
+ }
69
+ ],
70
+ "name": "isAlargerThanBRevert_M",
71
+ "outputs": [
72
+ {
73
+ "internalType": "bool",
74
+ "name": "isLarger",
75
+ "type": "bool"
76
+ }
77
+ ],
78
+ "stateMutability": "view",
79
+ "type": "function"
80
+ },
81
+ {
82
+ "inputs": [
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "a",
86
+ "type": "uint256"
87
+ }
88
+ ],
89
+ "name": "isAlargerThanBRevert_S",
90
+ "outputs": [
91
+ {
92
+ "internalType": "bool",
93
+ "name": "isLarger",
94
+ "type": "bool"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ }
100
+ ],
101
+ "bytecode": "0x608060405234801561001057600080fd5b50602a6000819055506102e6806100286000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806312eee592146100465780638997f3ee14610076578063d0e7624f146100a6575b600080fd5b610060600480360381019061005b91906101fa565b6100d6565b60405161006d9190610242565b60405180910390f35b610090600480360381019061008b91906101fa565b61012a565b60405161009d9190610242565b60405180910390f35b6100c060048036038101906100bb91906101fa565b61017a565b6040516100cd9190610242565b60405180910390f35b60008054821161012157816000546040517fb0d3ec1d00000000000000000000000000000000000000000000000000000000815260040161011892919061026c565b60405180910390fd5b60019050919050565b60008054821161017157816040517f27e078bc0000000000000000000000000000000000000000000000000000000081526004016101689190610295565b60405180910390fd5b60019050919050565b6000805482116101b6576040517f359a43a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019050919050565b600080fd5b6000819050919050565b6101d7816101c4565b81146101e257600080fd5b50565b6000813590506101f4816101ce565b92915050565b6000602082840312156102105761020f6101bf565b5b600061021e848285016101e5565b91505092915050565b60008115159050919050565b61023c81610227565b82525050565b60006020820190506102576000830184610233565b92915050565b610266816101c4565b82525050565b6000604082019050610281600083018561025d565b61028e602083018461025d565b9392505050565b60006020820190506102aa600083018461025d565b9291505056fea2646970667358221220b6e93e877267a896dbef8ec07fa0990662c751380ac77dc348137526ee18683064736f6c63430008140033",
102
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806312eee592146100465780638997f3ee14610076578063d0e7624f146100a6575b600080fd5b610060600480360381019061005b91906101fa565b6100d6565b60405161006d9190610242565b60405180910390f35b610090600480360381019061008b91906101fa565b61012a565b60405161009d9190610242565b60405180910390f35b6100c060048036038101906100bb91906101fa565b61017a565b6040516100cd9190610242565b60405180910390f35b60008054821161012157816000546040517fb0d3ec1d00000000000000000000000000000000000000000000000000000000815260040161011892919061026c565b60405180910390fd5b60019050919050565b60008054821161017157816040517f27e078bc0000000000000000000000000000000000000000000000000000000081526004016101689190610295565b60405180910390fd5b60019050919050565b6000805482116101b6576040517f359a43a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019050919050565b600080fd5b6000819050919050565b6101d7816101c4565b81146101e257600080fd5b50565b6000813590506101f4816101ce565b92915050565b6000602082840312156102105761020f6101bf565b5b600061021e848285016101e5565b91505092915050565b60008115159050919050565b61023c81610227565b82525050565b60006020820190506102576000830184610233565b92915050565b610266816101c4565b82525050565b6000604082019050610281600083018561025d565b61028e602083018461025d565b9392505050565b60006020820190506102aa600083018461025d565b9291505056fea2646970667358221220b6e93e877267a896dbef8ec07fa0990662c751380ac77dc348137526ee18683064736f6c63430008140033",
103
+ "linkReferences": {},
104
+ "deployedLinkReferences": {}
105
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/df674029c621d24c04ab09bdea94aad0.json"
4
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "A",
4
+ "sourceName": "contracts/experiment/inheritance/A.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "getA",
9
+ "outputs": [
10
+ {
11
+ "internalType": "uint256",
12
+ "name": "",
13
+ "type": "uint256"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "getAfromB",
22
+ "outputs": [
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "getAfromC",
35
+ "outputs": [
36
+ {
37
+ "internalType": "uint256",
38
+ "name": "",
39
+ "type": "uint256"
40
+ }
41
+ ],
42
+ "stateMutability": "view",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [],
47
+ "name": "getB",
48
+ "outputs": [
49
+ {
50
+ "internalType": "uint256",
51
+ "name": "",
52
+ "type": "uint256"
53
+ }
54
+ ],
55
+ "stateMutability": "view",
56
+ "type": "function"
57
+ },
58
+ {
59
+ "inputs": [],
60
+ "name": "getBfromC",
61
+ "outputs": [
62
+ {
63
+ "internalType": "uint256",
64
+ "name": "",
65
+ "type": "uint256"
66
+ }
67
+ ],
68
+ "stateMutability": "view",
69
+ "type": "function"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "getC",
74
+ "outputs": [
75
+ {
76
+ "internalType": "uint256",
77
+ "name": "",
78
+ "type": "uint256"
79
+ }
80
+ ],
81
+ "stateMutability": "view",
82
+ "type": "function"
83
+ },
84
+ {
85
+ "inputs": [
86
+ {
87
+ "internalType": "uint256",
88
+ "name": "newA",
89
+ "type": "uint256"
90
+ }
91
+ ],
92
+ "name": "setA",
93
+ "outputs": [],
94
+ "stateMutability": "nonpayable",
95
+ "type": "function"
96
+ },
97
+ {
98
+ "inputs": [
99
+ {
100
+ "internalType": "uint256",
101
+ "name": "newB",
102
+ "type": "uint256"
103
+ }
104
+ ],
105
+ "name": "setB",
106
+ "outputs": [],
107
+ "stateMutability": "nonpayable",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "inputs": [
112
+ {
113
+ "internalType": "uint256",
114
+ "name": "newC",
115
+ "type": "uint256"
116
+ }
117
+ ],
118
+ "name": "setC",
119
+ "outputs": [],
120
+ "stateMutability": "nonpayable",
121
+ "type": "function"
122
+ }
123
+ ],
124
+ "bytecode": "0x608060405234801561001057600080fd5b50602a600081905550600180819055506002808190555061044c806100366000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063d46300fd11610066578063d46300fd1461010e578063d4febc861461012c578063e2c11f201461014a578063ee919d5014610168578063eeb4914e1461018457610093565b806309cdcf9b14610098578063a1c51915146100b4578063a2375d1e146100d2578063b9c23ae9146100f0575b600080fd5b6100b260048036038101906100ad919061037d565b6101a0565b005b6100bc6101aa565b6040516100c991906103b9565b60405180910390f35b6100da6101b4565b6040516100e791906103b9565b60405180910390f35b6100f86101be565b60405161010591906103b9565b60405180910390f35b610116610239565b60405161012391906103b9565b60405180910390f35b610134610242565b60405161014191906103b9565b60405180910390f35b6101526102b8565b60405161015f91906103b9565b60405180910390f35b610182600480360381019061017d919061037d565b61032e565b005b61019e6004803603810190610199919061037d565b610338565b005b8060018190555050565b6000600154905090565b6000600254905090565b6000803090508073ffffffffffffffffffffffffffffffffffffffff1663a1c519156040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023391906103e9565b91505090565b60008054905090565b60003073ffffffffffffffffffffffffffffffffffffffff1663d46300fd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b391906103e9565b905090565b60003073ffffffffffffffffffffffffffffffffffffffff1663d46300fd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610305573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032991906103e9565b905090565b8060008190555050565b8060028190555050565b600080fd5b6000819050919050565b61035a81610347565b811461036557600080fd5b50565b60008135905061037781610351565b92915050565b60006020828403121561039357610392610342565b5b60006103a184828501610368565b91505092915050565b6103b381610347565b82525050565b60006020820190506103ce60008301846103aa565b92915050565b6000815190506103e381610351565b92915050565b6000602082840312156103ff576103fe610342565b5b600061040d848285016103d4565b9150509291505056fea26469706673582212209ecbb5691a41763284d320d845a1bd4160c0196ec6162fb41ecc8c8d518d42f464736f6c63430008140033",
125
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063d46300fd11610066578063d46300fd1461010e578063d4febc861461012c578063e2c11f201461014a578063ee919d5014610168578063eeb4914e1461018457610093565b806309cdcf9b14610098578063a1c51915146100b4578063a2375d1e146100d2578063b9c23ae9146100f0575b600080fd5b6100b260048036038101906100ad919061037d565b6101a0565b005b6100bc6101aa565b6040516100c991906103b9565b60405180910390f35b6100da6101b4565b6040516100e791906103b9565b60405180910390f35b6100f86101be565b60405161010591906103b9565b60405180910390f35b610116610239565b60405161012391906103b9565b60405180910390f35b610134610242565b60405161014191906103b9565b60405180910390f35b6101526102b8565b60405161015f91906103b9565b60405180910390f35b610182600480360381019061017d919061037d565b61032e565b005b61019e6004803603810190610199919061037d565b610338565b005b8060018190555050565b6000600154905090565b6000600254905090565b6000803090508073ffffffffffffffffffffffffffffffffffffffff1663a1c519156040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023391906103e9565b91505090565b60008054905090565b60003073ffffffffffffffffffffffffffffffffffffffff1663d46300fd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b391906103e9565b905090565b60003073ffffffffffffffffffffffffffffffffffffffff1663d46300fd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610305573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032991906103e9565b905090565b8060008190555050565b8060028190555050565b600080fd5b6000819050919050565b61035a81610347565b811461036557600080fd5b50565b60008135905061037781610351565b92915050565b60006020828403121561039357610392610342565b5b60006103a184828501610368565b91505092915050565b6103b381610347565b82525050565b60006020820190506103ce60008301846103aa565b92915050565b6000815190506103e381610351565b92915050565b6000602082840312156103ff576103fe610342565b5b600061040d848285016103d4565b9150509291505056fea26469706673582212209ecbb5691a41763284d320d845a1bd4160c0196ec6162fb41ecc8c8d518d42f464736f6c63430008140033",
126
+ "linkReferences": {},
127
+ "deployedLinkReferences": {}
128
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/df674029c621d24c04ab09bdea94aad0.json"
4
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AShared",
4
+ "sourceName": "contracts/experiment/inheritance/A.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "getA",
14
+ "outputs": [
15
+ {
16
+ "internalType": "uint256",
17
+ "name": "",
18
+ "type": "uint256"
19
+ }
20
+ ],
21
+ "stateMutability": "view",
22
+ "type": "function"
23
+ },
24
+ {
25
+ "inputs": [
26
+ {
27
+ "internalType": "uint256",
28
+ "name": "newA",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "name": "setA",
33
+ "outputs": [],
34
+ "stateMutability": "nonpayable",
35
+ "type": "function"
36
+ }
37
+ ],
38
+ "bytecode": "0x608060405234801561001057600080fd5b50602a600081905550610150806100286000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063d46300fd1461003b578063ee919d5014610059575b600080fd5b610043610075565b60405161005091906100a1565b60405180910390f35b610073600480360381019061006e91906100ed565b61007e565b005b60008054905090565b8060008190555050565b6000819050919050565b61009b81610088565b82525050565b60006020820190506100b66000830184610092565b92915050565b600080fd5b6100ca81610088565b81146100d557600080fd5b50565b6000813590506100e7816100c1565b92915050565b600060208284031215610103576101026100bc565b5b6000610111848285016100d8565b9150509291505056fea2646970667358221220b19da4bc39436f1edf031edacd0d6adab41e232298c993923afda29910f1f99664736f6c63430008140033",
39
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063d46300fd1461003b578063ee919d5014610059575b600080fd5b610043610075565b60405161005091906100a1565b60405180910390f35b610073600480360381019061006e91906100ed565b61007e565b005b60008054905090565b8060008190555050565b6000819050919050565b61009b81610088565b82525050565b60006020820190506100b66000830184610092565b92915050565b600080fd5b6100ca81610088565b81146100d557600080fd5b50565b6000813590506100e7816100c1565b92915050565b600060208284031215610103576101026100bc565b5b6000610111848285016100d8565b9150509291505056fea2646970667358221220b19da4bc39436f1edf031edacd0d6adab41e232298c993923afda29910f1f99664736f6c63430008140033",
40
+ "linkReferences": {},
41
+ "deployedLinkReferences": {}
42
+ }