@etherisc/gif-next 0.0.2-ebbe63d → 0.0.2-fe77319

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. package/README.md +95 -1
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/components/Component.sol/Component.json +179 -0
  4. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +4 -0
  5. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +35 -0
  6. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +179 -0
  8. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +192 -0
  10. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +4 -0
  11. package/artifacts/contracts/components/Pool.sol/Pool.json +195 -0
  12. package/artifacts/contracts/components/Product.sol/Product.dbg.json +4 -0
  13. package/artifacts/contracts/components/Product.sol/Product.json +213 -0
  14. package/artifacts/contracts/experiment/A.sol/A.dbg.json +4 -0
  15. package/artifacts/contracts/experiment/A.sol/A.json +128 -0
  16. package/artifacts/contracts/experiment/A.sol/AShared.dbg.json +4 -0
  17. package/artifacts/contracts/experiment/A.sol/AShared.json +42 -0
  18. package/artifacts/contracts/experiment/B.sol/B.dbg.json +4 -0
  19. package/artifacts/contracts/experiment/B.sol/B.json +76 -0
  20. package/artifacts/contracts/experiment/C.sol/C.dbg.json +4 -0
  21. package/artifacts/contracts/experiment/C.sol/C.json +89 -0
  22. package/artifacts/contracts/experiment/IA.sol/IA.dbg.json +4 -0
  23. package/artifacts/contracts/experiment/IA.sol/IA.json +128 -0
  24. package/artifacts/contracts/experiment/IA.sol/ISharedA.dbg.json +4 -0
  25. package/artifacts/contracts/experiment/IA.sol/ISharedA.json +37 -0
  26. package/artifacts/contracts/experiment/IB.sol/IB.dbg.json +4 -0
  27. package/artifacts/contracts/experiment/IB.sol/IB.json +50 -0
  28. package/artifacts/contracts/experiment/IC.sol/IC.dbg.json +4 -0
  29. package/artifacts/contracts/experiment/IC.sol/IC.json +63 -0
  30. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +4 -0
  31. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +892 -0
  32. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +4 -0
  33. package/artifacts/contracts/instance/Instance.sol/Instance.json +1009 -0
  34. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +4 -0
  35. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +400 -0
  36. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +4 -0
  37. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.json +10 -0
  38. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +4 -0
  39. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +35 -0
  40. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +4 -0
  41. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +50 -0
  42. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +4 -0
  43. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +336 -0
  44. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
  45. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +327 -0
  46. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +4 -0
  47. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +105 -0
  48. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +4 -0
  49. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.json +10 -0
  50. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +4 -0
  51. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +179 -0
  52. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +4 -0
  53. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +245 -0
  54. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +4 -0
  55. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +94 -0
  56. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +4 -0
  57. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +24 -0
  58. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
  59. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.json +10 -0
  60. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
  61. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +231 -0
  62. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
  63. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +231 -0
  64. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +4 -0
  65. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.json +10 -0
  66. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
  67. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +149 -0
  68. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
  69. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +162 -0
  70. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +4 -0
  71. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +75 -0
  72. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +4 -0
  73. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +114 -0
  74. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +4 -0
  75. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +75 -0
  76. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +4 -0
  77. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +125 -0
  78. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +4 -0
  79. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +24 -0
  80. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +4 -0
  81. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +166 -0
  82. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +4 -0
  83. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +271 -0
  84. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +4 -0
  85. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +49 -0
  86. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +4 -0
  87. package/artifacts/contracts/registry/Registry.sol/Registerable.json +166 -0
  88. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +4 -0
  89. package/artifacts/contracts/registry/Registry.sol/Registry.json +289 -0
  90. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +4 -0
  91. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +60 -0
  92. package/contracts/components/Component.sol +62 -0
  93. package/contracts/components/IPool.sol +9 -0
  94. package/contracts/components/IProduct.sol +11 -0
  95. package/contracts/components/Pool.sol +29 -0
  96. package/contracts/components/Product.sol +65 -0
  97. package/contracts/experiment/A.sol +56 -0
  98. package/contracts/experiment/B.sol +23 -0
  99. package/contracts/experiment/C.sol +28 -0
  100. package/contracts/experiment/IA.sol +18 -0
  101. package/contracts/experiment/IB.sol +9 -0
  102. package/contracts/experiment/IC.sol +11 -0
  103. package/contracts/instance/IInstance.sol +20 -0
  104. package/contracts/instance/Instance.sol +63 -0
  105. package/contracts/instance/access/Access.sol +218 -0
  106. package/contracts/instance/access/IAccess.sol +83 -0
  107. package/contracts/instance/component/ComponentModule.sol +259 -0
  108. package/contracts/instance/component/IComponent.sol +94 -0
  109. package/contracts/instance/policy/IPolicy.sol +66 -0
  110. package/contracts/instance/policy/PolicyModule.sol +106 -0
  111. package/contracts/instance/pool/IPoolModule.sol +40 -0
  112. package/contracts/instance/pool/PoolModule.sol +83 -0
  113. package/contracts/instance/product/IProductService.sol +45 -0
  114. package/contracts/instance/product/ProductService.sol +105 -0
  115. package/contracts/registry/IRegistry.sol +66 -0
  116. package/contracts/registry/Registry.sol +197 -0
  117. package/package.json +7 -6
  118. package/artifacts/contracts/Dip.sol/DIP.dbg.json +0 -4
  119. package/artifacts/contracts/Dip.sol/DIP.json +0 -338
  120. package/artifacts/contracts/Lock.sol/Lock.dbg.json +0 -4
  121. package/artifacts/contracts/Lock.sol/Lock.json +0 -74
  122. package/contracts/Dip.sol +0 -26
  123. package/contracts/Lock.sol +0 -34
@@ -0,0 +1,192 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IProductComponent",
4
+ "sourceName": "contracts/components/IProduct.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "uint256",
12
+ "name": "idx",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "address",
18
+ "name": "module",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "string",
24
+ "name": "comment",
25
+ "type": "string"
26
+ }
27
+ ],
28
+ "name": "LogDebug",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "getData",
34
+ "outputs": [
35
+ {
36
+ "internalType": "bytes",
37
+ "name": "data",
38
+ "type": "bytes"
39
+ }
40
+ ],
41
+ "stateMutability": "view",
42
+ "type": "function"
43
+ },
44
+ {
45
+ "inputs": [],
46
+ "name": "getInitialOwner",
47
+ "outputs": [
48
+ {
49
+ "internalType": "address",
50
+ "name": "initialOwner",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "stateMutability": "view",
55
+ "type": "function"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "getInstance",
60
+ "outputs": [
61
+ {
62
+ "internalType": "contract IInstance",
63
+ "name": "instance",
64
+ "type": "address"
65
+ }
66
+ ],
67
+ "stateMutability": "view",
68
+ "type": "function"
69
+ },
70
+ {
71
+ "inputs": [],
72
+ "name": "getNftId",
73
+ "outputs": [
74
+ {
75
+ "internalType": "uint256",
76
+ "name": "nftId",
77
+ "type": "uint256"
78
+ }
79
+ ],
80
+ "stateMutability": "view",
81
+ "type": "function"
82
+ },
83
+ {
84
+ "inputs": [],
85
+ "name": "getOwner",
86
+ "outputs": [
87
+ {
88
+ "internalType": "address",
89
+ "name": "owner",
90
+ "type": "address"
91
+ }
92
+ ],
93
+ "stateMutability": "view",
94
+ "type": "function"
95
+ },
96
+ {
97
+ "inputs": [],
98
+ "name": "getParentNftId",
99
+ "outputs": [
100
+ {
101
+ "internalType": "uint256",
102
+ "name": "parentNftId",
103
+ "type": "uint256"
104
+ }
105
+ ],
106
+ "stateMutability": "view",
107
+ "type": "function"
108
+ },
109
+ {
110
+ "inputs": [],
111
+ "name": "getPoolNftId",
112
+ "outputs": [
113
+ {
114
+ "internalType": "uint256",
115
+ "name": "poolNftId",
116
+ "type": "uint256"
117
+ }
118
+ ],
119
+ "stateMutability": "view",
120
+ "type": "function"
121
+ },
122
+ {
123
+ "inputs": [],
124
+ "name": "getRegistry",
125
+ "outputs": [
126
+ {
127
+ "internalType": "contract IRegistry",
128
+ "name": "registry",
129
+ "type": "address"
130
+ }
131
+ ],
132
+ "stateMutability": "view",
133
+ "type": "function"
134
+ },
135
+ {
136
+ "inputs": [],
137
+ "name": "getType",
138
+ "outputs": [
139
+ {
140
+ "internalType": "uint256",
141
+ "name": "objectType",
142
+ "type": "uint256"
143
+ }
144
+ ],
145
+ "stateMutability": "view",
146
+ "type": "function"
147
+ },
148
+ {
149
+ "inputs": [],
150
+ "name": "isRegisterable",
151
+ "outputs": [
152
+ {
153
+ "internalType": "bool",
154
+ "name": "",
155
+ "type": "bool"
156
+ }
157
+ ],
158
+ "stateMutability": "pure",
159
+ "type": "function"
160
+ },
161
+ {
162
+ "inputs": [],
163
+ "name": "isRegistered",
164
+ "outputs": [
165
+ {
166
+ "internalType": "bool",
167
+ "name": "",
168
+ "type": "bool"
169
+ }
170
+ ],
171
+ "stateMutability": "view",
172
+ "type": "function"
173
+ },
174
+ {
175
+ "inputs": [],
176
+ "name": "register",
177
+ "outputs": [
178
+ {
179
+ "internalType": "uint256",
180
+ "name": "nftId",
181
+ "type": "uint256"
182
+ }
183
+ ],
184
+ "stateMutability": "nonpayable",
185
+ "type": "function"
186
+ }
187
+ ],
188
+ "bytecode": "0x",
189
+ "deployedBytecode": "0x",
190
+ "linkReferences": {},
191
+ "deployedLinkReferences": {}
192
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/28a5f33217876dc65b5c269e323df8a0.json"
4
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Pool",
4
+ "sourceName": "contracts/components/Pool.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
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": false,
27
+ "internalType": "uint256",
28
+ "name": "idx",
29
+ "type": "uint256"
30
+ },
31
+ {
32
+ "indexed": false,
33
+ "internalType": "address",
34
+ "name": "module",
35
+ "type": "address"
36
+ },
37
+ {
38
+ "indexed": false,
39
+ "internalType": "string",
40
+ "name": "comment",
41
+ "type": "string"
42
+ }
43
+ ],
44
+ "name": "LogDebug",
45
+ "type": "event"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "getData",
50
+ "outputs": [
51
+ {
52
+ "internalType": "bytes",
53
+ "name": "data",
54
+ "type": "bytes"
55
+ }
56
+ ],
57
+ "stateMutability": "view",
58
+ "type": "function"
59
+ },
60
+ {
61
+ "inputs": [],
62
+ "name": "getInitialOwner",
63
+ "outputs": [
64
+ {
65
+ "internalType": "address",
66
+ "name": "deployer",
67
+ "type": "address"
68
+ }
69
+ ],
70
+ "stateMutability": "view",
71
+ "type": "function"
72
+ },
73
+ {
74
+ "inputs": [],
75
+ "name": "getInstance",
76
+ "outputs": [
77
+ {
78
+ "internalType": "contract IInstance",
79
+ "name": "instance",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "stateMutability": "view",
84
+ "type": "function"
85
+ },
86
+ {
87
+ "inputs": [],
88
+ "name": "getNftId",
89
+ "outputs": [
90
+ {
91
+ "internalType": "uint256",
92
+ "name": "id",
93
+ "type": "uint256"
94
+ }
95
+ ],
96
+ "stateMutability": "view",
97
+ "type": "function"
98
+ },
99
+ {
100
+ "inputs": [],
101
+ "name": "getOwner",
102
+ "outputs": [
103
+ {
104
+ "internalType": "address",
105
+ "name": "owner",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "stateMutability": "view",
110
+ "type": "function"
111
+ },
112
+ {
113
+ "inputs": [],
114
+ "name": "getParentNftId",
115
+ "outputs": [
116
+ {
117
+ "internalType": "uint256",
118
+ "name": "",
119
+ "type": "uint256"
120
+ }
121
+ ],
122
+ "stateMutability": "view",
123
+ "type": "function"
124
+ },
125
+ {
126
+ "inputs": [],
127
+ "name": "getRegistry",
128
+ "outputs": [
129
+ {
130
+ "internalType": "contract IRegistry",
131
+ "name": "registry",
132
+ "type": "address"
133
+ }
134
+ ],
135
+ "stateMutability": "view",
136
+ "type": "function"
137
+ },
138
+ {
139
+ "inputs": [],
140
+ "name": "getType",
141
+ "outputs": [
142
+ {
143
+ "internalType": "uint256",
144
+ "name": "",
145
+ "type": "uint256"
146
+ }
147
+ ],
148
+ "stateMutability": "view",
149
+ "type": "function"
150
+ },
151
+ {
152
+ "inputs": [],
153
+ "name": "isRegisterable",
154
+ "outputs": [
155
+ {
156
+ "internalType": "bool",
157
+ "name": "",
158
+ "type": "bool"
159
+ }
160
+ ],
161
+ "stateMutability": "pure",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "isRegistered",
167
+ "outputs": [
168
+ {
169
+ "internalType": "bool",
170
+ "name": "",
171
+ "type": "bool"
172
+ }
173
+ ],
174
+ "stateMutability": "view",
175
+ "type": "function"
176
+ },
177
+ {
178
+ "inputs": [],
179
+ "name": "register",
180
+ "outputs": [
181
+ {
182
+ "internalType": "uint256",
183
+ "name": "componentId",
184
+ "type": "uint256"
185
+ }
186
+ ],
187
+ "stateMutability": "nonpayable",
188
+ "type": "function"
189
+ }
190
+ ],
191
+ "bytecode": "0x60806040523480156200001157600080fd5b506040516200116638038062001166833981810160405281019062000037919062000175565b8181808280806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050620001bc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200013d8262000110565b9050919050565b6200014f8162000130565b81146200015b57600080fd5b50565b6000815190506200016f8162000144565b92915050565b600080604083850312156200018f576200018e6200010b565b5b60006200019f858286016200015e565b9250506020620001b2858286016200015e565b9150509250929050565b610f9a80620001cc6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80635ab1bd53116100715780635ab1bd5314610144578063644c45e01461016257806379e829d014610180578063893d20e81461019e578063de7b5d14146101bc578063fb2cb101146101da576100a9565b806315dae03e146100ae5780631aa3a008146100cc57806322366844146100ea57806331b62a3b146101085780633bc5de3014610126575b600080fd5b6100b66101f8565b6040516100c39190610a43565b60405180910390f35b6100d461028f565b6040516100e19190610a43565b60405180910390f35b6100f26105a7565b6040516100ff9190610a79565b60405180910390f35b61011061064a565b60405161011d9190610a43565b60405180910390f35b61012e6106c7565b60405161013b9190610b24565b60405180910390f35b61014c610763565b6040516101599190610bc5565b60405180910390f35b61016a61078c565b6040516101779190610a43565b60405180910390f35b61018861082e565b6040516101959190610a79565b60405180910390f35b6101a6610837565b6040516101b39190610c01565b60405180910390f35b6101c46109d6565b6040516101d19190610c3d565b60405180910390f35b6101e2610a00565b6040516101ef9190610c01565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a9190610c89565b905090565b6000610299610a00565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fd90610ced565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c90610d59565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104109190610c01565b602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190610da5565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610e44565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105239190610ea2565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b815260040161055e9190610ef0565b6020604051808303816000875af115801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190610c89565b91505090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106039190610c01565b602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106449190610c89565b11905090565b60006106546109d6565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561069e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c29190610c89565b905090565b60606106d16109d6565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190610c89565b60405160200161074f9190610a43565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016107e89190610c01565b602060405180830381865afa158015610805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108299190610c89565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108939190610c01565b602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190610c89565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b815260040161092f9190610a43565b602060405180830381865afa15801561094c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109709190610f37565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109ce57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109d0565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610a3d81610a2a565b82525050565b6000602082019050610a586000830184610a34565b92915050565b60008115159050919050565b610a7381610a5e565b82525050565b6000602082019050610a8e6000830184610a6a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ace578082015181840152602081019050610ab3565b60008484015250505050565b6000601f19601f8301169050919050565b6000610af682610a94565b610b008185610a9f565b9350610b10818560208601610ab0565b610b1981610ada565b840191505092915050565b60006020820190508181036000830152610b3e8184610aeb565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610b8b610b86610b8184610b46565b610b66565b610b46565b9050919050565b6000610b9d82610b70565b9050919050565b6000610baf82610b92565b9050919050565b610bbf81610ba4565b82525050565b6000602082019050610bda6000830184610bb6565b92915050565b6000610beb82610b46565b9050919050565b610bfb81610be0565b82525050565b6000602082019050610c166000830184610bf2565b92915050565b6000610c2782610b92565b9050919050565b610c3781610c1c565b82525050565b6000602082019050610c526000830184610c2e565b92915050565b600080fd5b610c6681610a2a565b8114610c7157600080fd5b50565b600081519050610c8381610c5d565b92915050565b600060208284031215610c9f57610c9e610c58565b5b6000610cad84828501610c74565b91505092915050565b600082825260208201905092915050565b50565b6000610cd7600083610cb6565b9150610ce282610cc7565b600082019050919050565b60006020820190508181036000830152610d0681610cca565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610d43601b83610cb6565b9150610d4e82610d0d565b602082019050919050565b60006020820190508181036000830152610d7281610d36565b9050919050565b610d8281610a5e565b8114610d8d57600080fd5b50565b600081519050610d9f81610d79565b92915050565b600060208284031215610dbb57610dba610c58565b5b6000610dc984828501610d90565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610e2e602583610cb6565b9150610e3982610dd2565b604082019050919050565b60006020820190508181036000830152610e5d81610e21565b9050919050565b6000610e6f82610be0565b9050919050565b610e7f81610e64565b8114610e8a57600080fd5b50565b600081519050610e9c81610e76565b92915050565b600060208284031215610eb857610eb7610c58565b5b6000610ec684828501610e8d565b91505092915050565b6000610eda82610b92565b9050919050565b610eea81610ecf565b82525050565b6000602082019050610f056000830184610ee1565b92915050565b610f1481610be0565b8114610f1f57600080fd5b50565b600081519050610f3181610f0b565b92915050565b600060208284031215610f4d57610f4c610c58565b5b6000610f5b84828501610f22565b9150509291505056fea2646970667358221220e66c872076d3d336eac3fe98aa57b459d95217a2981731041f1e2405958f41ed64736f6c63430008140033",
192
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80635ab1bd53116100715780635ab1bd5314610144578063644c45e01461016257806379e829d014610180578063893d20e81461019e578063de7b5d14146101bc578063fb2cb101146101da576100a9565b806315dae03e146100ae5780631aa3a008146100cc57806322366844146100ea57806331b62a3b146101085780633bc5de3014610126575b600080fd5b6100b66101f8565b6040516100c39190610a43565b60405180910390f35b6100d461028f565b6040516100e19190610a43565b60405180910390f35b6100f26105a7565b6040516100ff9190610a79565b60405180910390f35b61011061064a565b60405161011d9190610a43565b60405180910390f35b61012e6106c7565b60405161013b9190610b24565b60405180910390f35b61014c610763565b6040516101599190610bc5565b60405180910390f35b61016a61078c565b6040516101779190610a43565b60405180910390f35b61018861082e565b6040516101959190610a79565b60405180910390f35b6101a6610837565b6040516101b39190610c01565b60405180910390f35b6101c46109d6565b6040516101d19190610c3d565b60405180910390f35b6101e2610a00565b6040516101ef9190610c01565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a9190610c89565b905090565b6000610299610a00565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fd90610ced565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c90610d59565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104109190610c01565b602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190610da5565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610e44565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105239190610ea2565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b815260040161055e9190610ef0565b6020604051808303816000875af115801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190610c89565b91505090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106039190610c01565b602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106449190610c89565b11905090565b60006106546109d6565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561069e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c29190610c89565b905090565b60606106d16109d6565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190610c89565b60405160200161074f9190610a43565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016107e89190610c01565b602060405180830381865afa158015610805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108299190610c89565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108939190610c01565b602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190610c89565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b815260040161092f9190610a43565b602060405180830381865afa15801561094c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109709190610f37565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109ce57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109d0565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610a3d81610a2a565b82525050565b6000602082019050610a586000830184610a34565b92915050565b60008115159050919050565b610a7381610a5e565b82525050565b6000602082019050610a8e6000830184610a6a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ace578082015181840152602081019050610ab3565b60008484015250505050565b6000601f19601f8301169050919050565b6000610af682610a94565b610b008185610a9f565b9350610b10818560208601610ab0565b610b1981610ada565b840191505092915050565b60006020820190508181036000830152610b3e8184610aeb565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610b8b610b86610b8184610b46565b610b66565b610b46565b9050919050565b6000610b9d82610b70565b9050919050565b6000610baf82610b92565b9050919050565b610bbf81610ba4565b82525050565b6000602082019050610bda6000830184610bb6565b92915050565b6000610beb82610b46565b9050919050565b610bfb81610be0565b82525050565b6000602082019050610c166000830184610bf2565b92915050565b6000610c2782610b92565b9050919050565b610c3781610c1c565b82525050565b6000602082019050610c526000830184610c2e565b92915050565b600080fd5b610c6681610a2a565b8114610c7157600080fd5b50565b600081519050610c8381610c5d565b92915050565b600060208284031215610c9f57610c9e610c58565b5b6000610cad84828501610c74565b91505092915050565b600082825260208201905092915050565b50565b6000610cd7600083610cb6565b9150610ce282610cc7565b600082019050919050565b60006020820190508181036000830152610d0681610cca565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610d43601b83610cb6565b9150610d4e82610d0d565b602082019050919050565b60006020820190508181036000830152610d7281610d36565b9050919050565b610d8281610a5e565b8114610d8d57600080fd5b50565b600081519050610d9f81610d79565b92915050565b600060208284031215610dbb57610dba610c58565b5b6000610dc984828501610d90565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610e2e602583610cb6565b9150610e3982610dd2565b604082019050919050565b60006020820190508181036000830152610e5d81610e21565b9050919050565b6000610e6f82610be0565b9050919050565b610e7f81610e64565b8114610e8a57600080fd5b50565b600081519050610e9c81610e76565b92915050565b600060208284031215610eb857610eb7610c58565b5b6000610ec684828501610e8d565b91505092915050565b6000610eda82610b92565b9050919050565b610eea81610ecf565b82525050565b6000602082019050610f056000830184610ee1565b92915050565b610f1481610be0565b8114610f1f57600080fd5b50565b600081519050610f3181610f0b565b92915050565b600060208284031215610f4d57610f4c610c58565b5b6000610f5b84828501610f22565b9150509291505056fea2646970667358221220e66c872076d3d336eac3fe98aa57b459d95217a2981731041f1e2405958f41ed64736f6c63430008140033",
193
+ "linkReferences": {},
194
+ "deployedLinkReferences": {}
195
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/28a5f33217876dc65b5c269e323df8a0.json"
4
+ }
@@ -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": "0x60806040523480156200001157600080fd5b50604051620013f5380380620013f583398181016040528101906200003791906200028b565b8282808280806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634288121d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019791906200032c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200035e565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002538262000226565b9050919050565b620002658162000246565b81146200027157600080fd5b50565b60008151905062000285816200025a565b92915050565b600080600060608486031215620002a757620002a662000221565b5b6000620002b78682870162000274565b9350506020620002ca8682870162000274565b9250506040620002dd8682870162000274565b9150509250925092565b6000620002f48262000246565b9050919050565b6200030681620002e7565b81146200031257600080fd5b50565b6000815190506200032681620002fb565b92915050565b60006020828403121562000345576200034462000221565b5b6000620003558482850162000315565b91505092915050565b611087806200036e6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635ab1bd53116100715780635ab1bd531461016d578063644c45e01461018b57806379e829d0146101a9578063893d20e8146101c7578063de7b5d14146101e5578063fb2cb10114610203576100b4565b806315dae03e146100b95780631aa3a008146100d75780631bdd6b76146100f5578063223668441461011357806331b62a3b146101315780633bc5de301461014f575b600080fd5b6100c1610221565b6040516100ce9190610b30565b60405180910390f35b6100df6102b8565b6040516100ec9190610b30565b60405180910390f35b6100fd6105d0565b60405161010a9190610b30565b60405180910390f35b61011b610694565b6040516101289190610b66565b60405180910390f35b610139610737565b6040516101469190610b30565b60405180910390f35b6101576107b4565b6040516101649190610c11565b60405180910390f35b610175610850565b6040516101829190610cb2565b60405180910390f35b610193610879565b6040516101a09190610b30565b60405180910390f35b6101b161091b565b6040516101be9190610b66565b60405180910390f35b6101cf610924565b6040516101dc9190610cee565b60405180910390f35b6101ed610ac3565b6040516101fa9190610d2a565b60405180910390f35b61020b610aed565b6040516102189190610cee565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325425a916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b39190610d76565b905090565b60006102c2610aed565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032690610dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b590610e46565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104399190610cee565b602060405180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610e92565b6104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090610f31565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190610f8f565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105879190610fdd565b6020604051808303816000875af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca9190610d76565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161064e9190610cee565b602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d76565b905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106f09190610cee565b602060405180830381865afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107319190610d76565b11905090565b6000610741610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190610d76565b905090565b60606107be610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190610d76565b60405160200161083c9190610b30565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108d59190610cee565b602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190610d76565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016109809190610cee565b602060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c19190610d76565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b8152600401610a1c9190610b30565b602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611024565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610abb57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abd565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610b2a81610b17565b82525050565b6000602082019050610b456000830184610b21565b92915050565b60008115159050919050565b610b6081610b4b565b82525050565b6000602082019050610b7b6000830184610b57565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bbb578082015181840152602081019050610ba0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610be382610b81565b610bed8185610b8c565b9350610bfd818560208601610b9d565b610c0681610bc7565b840191505092915050565b60006020820190508181036000830152610c2b8184610bd8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c78610c73610c6e84610c33565b610c53565b610c33565b9050919050565b6000610c8a82610c5d565b9050919050565b6000610c9c82610c7f565b9050919050565b610cac81610c91565b82525050565b6000602082019050610cc76000830184610ca3565b92915050565b6000610cd882610c33565b9050919050565b610ce881610ccd565b82525050565b6000602082019050610d036000830184610cdf565b92915050565b6000610d1482610c7f565b9050919050565b610d2481610d09565b82525050565b6000602082019050610d3f6000830184610d1b565b92915050565b600080fd5b610d5381610b17565b8114610d5e57600080fd5b50565b600081519050610d7081610d4a565b92915050565b600060208284031215610d8c57610d8b610d45565b5b6000610d9a84828501610d61565b91505092915050565b600082825260208201905092915050565b50565b6000610dc4600083610da3565b9150610dcf82610db4565b600082019050919050565b60006020820190508181036000830152610df381610db7565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610e30601b83610da3565b9150610e3b82610dfa565b602082019050919050565b60006020820190508181036000830152610e5f81610e23565b9050919050565b610e6f81610b4b565b8114610e7a57600080fd5b50565b600081519050610e8c81610e66565b92915050565b600060208284031215610ea857610ea7610d45565b5b6000610eb684828501610e7d565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610f1b602583610da3565b9150610f2682610ebf565b604082019050919050565b60006020820190508181036000830152610f4a81610f0e565b9050919050565b6000610f5c82610ccd565b9050919050565b610f6c81610f51565b8114610f7757600080fd5b50565b600081519050610f8981610f63565b92915050565b600060208284031215610fa557610fa4610d45565b5b6000610fb384828501610f7a565b91505092915050565b6000610fc782610c7f565b9050919050565b610fd781610fbc565b82525050565b6000602082019050610ff26000830184610fce565b92915050565b61100181610ccd565b811461100c57600080fd5b50565b60008151905061101e81610ff8565b92915050565b60006020828403121561103a57611039610d45565b5b60006110488482850161100f565b9150509291505056fea2646970667358221220a6f1fc64005b43c5a616d21b6512f2f67576051be72c357c3adb145fab783dd864736f6c63430008140033",
210
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80635ab1bd53116100715780635ab1bd531461016d578063644c45e01461018b57806379e829d0146101a9578063893d20e8146101c7578063de7b5d14146101e5578063fb2cb10114610203576100b4565b806315dae03e146100b95780631aa3a008146100d75780631bdd6b76146100f5578063223668441461011357806331b62a3b146101315780633bc5de301461014f575b600080fd5b6100c1610221565b6040516100ce9190610b30565b60405180910390f35b6100df6102b8565b6040516100ec9190610b30565b60405180910390f35b6100fd6105d0565b60405161010a9190610b30565b60405180910390f35b61011b610694565b6040516101289190610b66565b60405180910390f35b610139610737565b6040516101469190610b30565b60405180910390f35b6101576107b4565b6040516101649190610c11565b60405180910390f35b610175610850565b6040516101829190610cb2565b60405180910390f35b610193610879565b6040516101a09190610b30565b60405180910390f35b6101b161091b565b6040516101be9190610b66565b60405180910390f35b6101cf610924565b6040516101dc9190610cee565b60405180910390f35b6101ed610ac3565b6040516101fa9190610d2a565b60405180910390f35b61020b610aed565b6040516102189190610cee565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325425a916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b39190610d76565b905090565b60006102c2610aed565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032690610dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b590610e46565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104399190610cee565b602060405180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610e92565b6104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090610f31565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190610f8f565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105879190610fdd565b6020604051808303816000875af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca9190610d76565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161064e9190610cee565b602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d76565b905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106f09190610cee565b602060405180830381865afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107319190610d76565b11905090565b6000610741610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190610d76565b905090565b60606107be610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190610d76565b60405160200161083c9190610b30565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108d59190610cee565b602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190610d76565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016109809190610cee565b602060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c19190610d76565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b8152600401610a1c9190610b30565b602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611024565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610abb57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abd565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610b2a81610b17565b82525050565b6000602082019050610b456000830184610b21565b92915050565b60008115159050919050565b610b6081610b4b565b82525050565b6000602082019050610b7b6000830184610b57565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bbb578082015181840152602081019050610ba0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610be382610b81565b610bed8185610b8c565b9350610bfd818560208601610b9d565b610c0681610bc7565b840191505092915050565b60006020820190508181036000830152610c2b8184610bd8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c78610c73610c6e84610c33565b610c53565b610c33565b9050919050565b6000610c8a82610c5d565b9050919050565b6000610c9c82610c7f565b9050919050565b610cac81610c91565b82525050565b6000602082019050610cc76000830184610ca3565b92915050565b6000610cd882610c33565b9050919050565b610ce881610ccd565b82525050565b6000602082019050610d036000830184610cdf565b92915050565b6000610d1482610c7f565b9050919050565b610d2481610d09565b82525050565b6000602082019050610d3f6000830184610d1b565b92915050565b600080fd5b610d5381610b17565b8114610d5e57600080fd5b50565b600081519050610d7081610d4a565b92915050565b600060208284031215610d8c57610d8b610d45565b5b6000610d9a84828501610d61565b91505092915050565b600082825260208201905092915050565b50565b6000610dc4600083610da3565b9150610dcf82610db4565b600082019050919050565b60006020820190508181036000830152610df381610db7565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610e30601b83610da3565b9150610e3b82610dfa565b602082019050919050565b60006020820190508181036000830152610e5f81610e23565b9050919050565b610e6f81610b4b565b8114610e7a57600080fd5b50565b600081519050610e8c81610e66565b92915050565b600060208284031215610ea857610ea7610d45565b5b6000610eb684828501610e7d565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610f1b602583610da3565b9150610f2682610ebf565b604082019050919050565b60006020820190508181036000830152610f4a81610f0e565b9050919050565b6000610f5c82610ccd565b9050919050565b610f6c81610f51565b8114610f7757600080fd5b50565b600081519050610f8981610f63565b92915050565b600060208284031215610fa557610fa4610d45565b5b6000610fb384828501610f7a565b91505092915050565b6000610fc782610c7f565b9050919050565b610fd781610fbc565b82525050565b6000602082019050610ff26000830184610fce565b92915050565b61100181610ccd565b811461100c57600080fd5b50565b60008151905061101e81610ff8565b92915050565b60006020828403121561103a57611039610d45565b5b60006110488482850161100f565b9150509291505056fea2646970667358221220a6f1fc64005b43c5a616d21b6512f2f67576051be72c357c3adb145fab783dd864736f6c63430008140033",
211
+ "linkReferences": {},
212
+ "deployedLinkReferences": {}
213
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/28a5f33217876dc65b5c269e323df8a0.json"
4
+ }