@etherisc/gif-next 0.0.2-7631288 → 0.0.2-886fd8b

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 (147) 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/errors/Require.sol/Require.dbg.json +4 -0
  15. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +105 -0
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +4 -0
  17. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +105 -0
  18. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +4 -0
  19. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +128 -0
  20. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +4 -0
  21. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +42 -0
  22. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +4 -0
  23. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +76 -0
  24. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +4 -0
  25. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +89 -0
  26. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +4 -0
  27. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +128 -0
  28. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +4 -0
  29. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +37 -0
  30. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +4 -0
  31. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +50 -0
  32. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +4 -0
  33. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +63 -0
  34. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +4 -0
  35. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +10 -0
  36. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +4 -0
  37. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +10 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +4 -0
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +892 -0
  40. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +4 -0
  41. package/artifacts/contracts/instance/Instance.sol/Instance.json +1009 -0
  42. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +4 -0
  43. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +400 -0
  44. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +4 -0
  45. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.json +10 -0
  46. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +4 -0
  47. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +35 -0
  48. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +4 -0
  49. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +50 -0
  50. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +4 -0
  51. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +336 -0
  52. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
  53. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +327 -0
  54. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +4 -0
  55. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +105 -0
  56. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +4 -0
  57. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.json +10 -0
  58. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +4 -0
  59. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +179 -0
  60. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +4 -0
  61. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +245 -0
  62. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +4 -0
  63. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +94 -0
  64. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +4 -0
  65. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +24 -0
  66. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
  67. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.json +10 -0
  68. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
  69. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +231 -0
  70. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
  71. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +231 -0
  72. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +4 -0
  73. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.json +10 -0
  74. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
  75. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +149 -0
  76. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
  77. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +162 -0
  78. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +4 -0
  79. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +75 -0
  80. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +114 -0
  82. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +4 -0
  83. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +75 -0
  84. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +4 -0
  85. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +125 -0
  86. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +4 -0
  87. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +534 -0
  88. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +4 -0
  89. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +452 -0
  90. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +4 -0
  91. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +24 -0
  92. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +4 -0
  93. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +166 -0
  94. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +4 -0
  95. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +279 -0
  96. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +4 -0
  97. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +49 -0
  98. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +4 -0
  99. package/artifacts/contracts/registry/Registry.sol/Registerable.json +166 -0
  100. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +4 -0
  101. package/artifacts/contracts/registry/Registry.sol/Registry.json +305 -0
  102. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +4 -0
  103. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +60 -0
  104. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +4 -0
  105. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +10 -0
  106. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +4 -0
  107. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +10 -0
  108. package/contracts/components/Component.sol +62 -0
  109. package/contracts/components/IPool.sol +9 -0
  110. package/contracts/components/IProduct.sol +12 -0
  111. package/contracts/components/Pool.sol +29 -0
  112. package/contracts/components/Product.sol +66 -0
  113. package/contracts/experiment/errors/Require.sol +33 -0
  114. package/contracts/experiment/errors/Revert.sol +39 -0
  115. package/contracts/experiment/inheritance/A.sol +56 -0
  116. package/contracts/experiment/inheritance/B.sol +23 -0
  117. package/contracts/experiment/inheritance/C.sol +28 -0
  118. package/contracts/experiment/inheritance/IA.sol +18 -0
  119. package/contracts/experiment/inheritance/IB.sol +9 -0
  120. package/contracts/experiment/inheritance/IC.sol +11 -0
  121. package/contracts/experiment/types/TypeA.sol +42 -0
  122. package/contracts/experiment/types/TypeB.sol +24 -0
  123. package/contracts/instance/IInstance.sol +20 -0
  124. package/contracts/instance/Instance.sol +64 -0
  125. package/contracts/instance/access/Access.sol +218 -0
  126. package/contracts/instance/access/IAccess.sol +83 -0
  127. package/contracts/instance/component/ComponentModule.sol +246 -0
  128. package/contracts/instance/component/IComponent.sol +95 -0
  129. package/contracts/instance/policy/IPolicy.sol +66 -0
  130. package/contracts/instance/policy/PolicyModule.sol +106 -0
  131. package/contracts/instance/pool/IPoolModule.sol +41 -0
  132. package/contracts/instance/pool/PoolModule.sol +84 -0
  133. package/contracts/instance/product/IProductService.sol +46 -0
  134. package/contracts/instance/product/ProductService.sol +106 -0
  135. package/contracts/registry/ChainNft.sol +173 -0
  136. package/contracts/registry/IChainNft.sol +18 -0
  137. package/contracts/registry/IRegistry.sol +70 -0
  138. package/contracts/registry/Registry.sol +181 -0
  139. package/contracts/types/ChainId.sol +24 -0
  140. package/contracts/types/NftId.sol +26 -0
  141. package/package.json +7 -6
  142. package/artifacts/contracts/Dip.sol/DIP.dbg.json +0 -4
  143. package/artifacts/contracts/Dip.sol/DIP.json +0 -338
  144. package/artifacts/contracts/Lock.sol/Lock.dbg.json +0 -4
  145. package/artifacts/contracts/Lock.sol/Lock.json +0 -74
  146. package/contracts/Dip.sol +0 -26
  147. 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": "NftId",
76
+ "name": "nftId",
77
+ "type": "uint96"
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": "NftId",
102
+ "name": "parentNftId",
103
+ "type": "uint96"
104
+ }
105
+ ],
106
+ "stateMutability": "view",
107
+ "type": "function"
108
+ },
109
+ {
110
+ "inputs": [],
111
+ "name": "getPoolNftId",
112
+ "outputs": [
113
+ {
114
+ "internalType": "NftId",
115
+ "name": "poolNftId",
116
+ "type": "uint96"
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": "NftId",
180
+ "name": "nftId",
181
+ "type": "uint96"
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/1fccf3bffde93ab728cffd395d0b15b7.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": "NftId",
92
+ "name": "nftId",
93
+ "type": "uint96"
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": "NftId",
118
+ "name": "",
119
+ "type": "uint96"
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": "NftId",
183
+ "name": "componentId",
184
+ "type": "uint96"
185
+ }
186
+ ],
187
+ "stateMutability": "nonpayable",
188
+ "type": "function"
189
+ }
190
+ ],
191
+ "bytecode": "0x60806040523480156200001157600080fd5b506040516200124838038062001248833981810160405281019062000037919062000175565b8181808280806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050620001bc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200013d8262000110565b9050919050565b6200014f8162000130565b81146200015b57600080fd5b50565b6000815190506200016f8162000144565b92915050565b600080604083850312156200018f576200018e6200010b565b5b60006200019f858286016200015e565b9250506020620001b2858286016200015e565b9150509250929050565b61107c80620001cc6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80635ab1bd53116100715780635ab1bd5314610144578063644c45e01461016257806379e829d014610180578063893d20e81461019e578063de7b5d14146101bc578063fb2cb101146101da576100a9565b806315dae03e146100ae5780631aa3a008146100cc57806322366844146100ea57806331b62a3b146101085780633bc5de3014610126575b600080fd5b6100b66101f8565b6040516100c39190610a68565b60405180910390f35b6100d461028f565b6040516100e19190610ad6565b60405180910390f35b6100f26105a7565b6040516100ff9190610b0c565b60405180910390f35b610110610655565b60405161011d9190610ad6565b60405180910390f35b61012e6106d2565b60405161013b9190610bb7565b60405180910390f35b61014c61076e565b6040516101599190610c4e565b60405180910390f35b61016a610797565b6040516101779190610ad6565b60405180910390f35b610188610839565b6040516101959190610b0c565b60405180910390f35b6101a6610842565b6040516101b39190610c8a565b60405180910390f35b6101c46109e1565b6040516101d19190610cc6565b60405180910390f35b6101e2610a0b565b6040516101ef9190610c8a565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a9190610d12565b905090565b6000610299610a0b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fd90610d76565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c90610de2565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104109190610c8a565b602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190610e2e565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610ecd565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105239190610f2b565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b815260040161055e9190610f79565b6020604051808303816000875af115801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190610fc0565b91505090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106039190610c8a565b602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106449190610fc0565b905061064f81610a35565b91505090565b600061065f6109e1565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd9190610fc0565b905090565b60606106dc6109e1565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074a9190610fc0565b60405160200161075a9190610ad6565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016107f39190610c8a565b602060405180830381865afa158015610810573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108349190610fc0565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b815260040161089e9190610c8a565b602060405180830381865afa1580156108bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108df9190610fc0565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b815260040161093a9190610ad6565b602060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b9190611019565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109d957600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109db565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080826bffffffffffffffffffffffff16119050919050565b6000819050919050565b610a6281610a4f565b82525050565b6000602082019050610a7d6000830184610a59565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610ac0610abb610ab684610a83565b610a9b565b610a83565b9050919050565b610ad081610aa5565b82525050565b6000602082019050610aeb6000830184610ac7565b92915050565b60008115159050919050565b610b0681610af1565b82525050565b6000602082019050610b216000830184610afd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b61578082015181840152602081019050610b46565b60008484015250505050565b6000601f19601f8301169050919050565b6000610b8982610b27565b610b938185610b32565b9350610ba3818560208601610b43565b610bac81610b6d565b840191505092915050565b60006020820190508181036000830152610bd18184610b7e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c14610c0f610c0a84610bd9565b610a9b565b610bd9565b9050919050565b6000610c2682610bf9565b9050919050565b6000610c3882610c1b565b9050919050565b610c4881610c2d565b82525050565b6000602082019050610c636000830184610c3f565b92915050565b6000610c7482610bd9565b9050919050565b610c8481610c69565b82525050565b6000602082019050610c9f6000830184610c7b565b92915050565b6000610cb082610c1b565b9050919050565b610cc081610ca5565b82525050565b6000602082019050610cdb6000830184610cb7565b92915050565b600080fd5b610cef81610a4f565b8114610cfa57600080fd5b50565b600081519050610d0c81610ce6565b92915050565b600060208284031215610d2857610d27610ce1565b5b6000610d3684828501610cfd565b91505092915050565b600082825260208201905092915050565b50565b6000610d60600083610d3f565b9150610d6b82610d50565b600082019050919050565b60006020820190508181036000830152610d8f81610d53565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610dcc601b83610d3f565b9150610dd782610d96565b602082019050919050565b60006020820190508181036000830152610dfb81610dbf565b9050919050565b610e0b81610af1565b8114610e1657600080fd5b50565b600081519050610e2881610e02565b92915050565b600060208284031215610e4457610e43610ce1565b5b6000610e5284828501610e19565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610eb7602583610d3f565b9150610ec282610e5b565b604082019050919050565b60006020820190508181036000830152610ee681610eaa565b9050919050565b6000610ef882610c69565b9050919050565b610f0881610eed565b8114610f1357600080fd5b50565b600081519050610f2581610eff565b92915050565b600060208284031215610f4157610f40610ce1565b5b6000610f4f84828501610f16565b91505092915050565b6000610f6382610c1b565b9050919050565b610f7381610f58565b82525050565b6000602082019050610f8e6000830184610f6a565b92915050565b610f9d81610a83565b8114610fa857600080fd5b50565b600081519050610fba81610f94565b92915050565b600060208284031215610fd657610fd5610ce1565b5b6000610fe484828501610fab565b91505092915050565b610ff681610c69565b811461100157600080fd5b50565b60008151905061101381610fed565b92915050565b60006020828403121561102f5761102e610ce1565b5b600061103d84828501611004565b9150509291505056fea26469706673582212203a986f6071b1bde6d1e702f9eba8f5cd2d55f2b1d47aa485b279f8d26b1e417d64736f6c63430008140033",
192
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80635ab1bd53116100715780635ab1bd5314610144578063644c45e01461016257806379e829d014610180578063893d20e81461019e578063de7b5d14146101bc578063fb2cb101146101da576100a9565b806315dae03e146100ae5780631aa3a008146100cc57806322366844146100ea57806331b62a3b146101085780633bc5de3014610126575b600080fd5b6100b66101f8565b6040516100c39190610a68565b60405180910390f35b6100d461028f565b6040516100e19190610ad6565b60405180910390f35b6100f26105a7565b6040516100ff9190610b0c565b60405180910390f35b610110610655565b60405161011d9190610ad6565b60405180910390f35b61012e6106d2565b60405161013b9190610bb7565b60405180910390f35b61014c61076e565b6040516101599190610c4e565b60405180910390f35b61016a610797565b6040516101779190610ad6565b60405180910390f35b610188610839565b6040516101959190610b0c565b60405180910390f35b6101a6610842565b6040516101b39190610c8a565b60405180910390f35b6101c46109e1565b6040516101d19190610cc6565b60405180910390f35b6101e2610a0b565b6040516101ef9190610c8a565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a9190610d12565b905090565b6000610299610a0b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fd90610d76565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c90610de2565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104109190610c8a565b602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190610e2e565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610ecd565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105239190610f2b565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b815260040161055e9190610f79565b6020604051808303816000875af115801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190610fc0565b91505090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106039190610c8a565b602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106449190610fc0565b905061064f81610a35565b91505090565b600061065f6109e1565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd9190610fc0565b905090565b60606106dc6109e1565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074a9190610fc0565b60405160200161075a9190610ad6565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016107f39190610c8a565b602060405180830381865afa158015610810573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108349190610fc0565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b815260040161089e9190610c8a565b602060405180830381865afa1580156108bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108df9190610fc0565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b815260040161093a9190610ad6565b602060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b9190611019565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109d957600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109db565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080826bffffffffffffffffffffffff16119050919050565b6000819050919050565b610a6281610a4f565b82525050565b6000602082019050610a7d6000830184610a59565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610ac0610abb610ab684610a83565b610a9b565b610a83565b9050919050565b610ad081610aa5565b82525050565b6000602082019050610aeb6000830184610ac7565b92915050565b60008115159050919050565b610b0681610af1565b82525050565b6000602082019050610b216000830184610afd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b61578082015181840152602081019050610b46565b60008484015250505050565b6000601f19601f8301169050919050565b6000610b8982610b27565b610b938185610b32565b9350610ba3818560208601610b43565b610bac81610b6d565b840191505092915050565b60006020820190508181036000830152610bd18184610b7e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c14610c0f610c0a84610bd9565b610a9b565b610bd9565b9050919050565b6000610c2682610bf9565b9050919050565b6000610c3882610c1b565b9050919050565b610c4881610c2d565b82525050565b6000602082019050610c636000830184610c3f565b92915050565b6000610c7482610bd9565b9050919050565b610c8481610c69565b82525050565b6000602082019050610c9f6000830184610c7b565b92915050565b6000610cb082610c1b565b9050919050565b610cc081610ca5565b82525050565b6000602082019050610cdb6000830184610cb7565b92915050565b600080fd5b610cef81610a4f565b8114610cfa57600080fd5b50565b600081519050610d0c81610ce6565b92915050565b600060208284031215610d2857610d27610ce1565b5b6000610d3684828501610cfd565b91505092915050565b600082825260208201905092915050565b50565b6000610d60600083610d3f565b9150610d6b82610d50565b600082019050919050565b60006020820190508181036000830152610d8f81610d53565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610dcc601b83610d3f565b9150610dd782610d96565b602082019050919050565b60006020820190508181036000830152610dfb81610dbf565b9050919050565b610e0b81610af1565b8114610e1657600080fd5b50565b600081519050610e2881610e02565b92915050565b600060208284031215610e4457610e43610ce1565b5b6000610e5284828501610e19565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610eb7602583610d3f565b9150610ec282610e5b565b604082019050919050565b60006020820190508181036000830152610ee681610eaa565b9050919050565b6000610ef882610c69565b9050919050565b610f0881610eed565b8114610f1357600080fd5b50565b600081519050610f2581610eff565b92915050565b600060208284031215610f4157610f40610ce1565b5b6000610f4f84828501610f16565b91505092915050565b6000610f6382610c1b565b9050919050565b610f7381610f58565b82525050565b6000602082019050610f8e6000830184610f6a565b92915050565b610f9d81610a83565b8114610fa857600080fd5b50565b600081519050610fba81610f94565b92915050565b600060208284031215610fd657610fd5610ce1565b5b6000610fe484828501610fab565b91505092915050565b610ff681610c69565b811461100157600080fd5b50565b60008151905061101381610fed565b92915050565b60006020828403121561102f5761102e610ce1565b5b600061103d84828501611004565b9150509291505056fea26469706673582212203a986f6071b1bde6d1e702f9eba8f5cd2d55f2b1d47aa485b279f8d26b1e417d64736f6c63430008140033",
193
+ "linkReferences": {},
194
+ "deployedLinkReferences": {}
195
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/1fccf3bffde93ab728cffd395d0b15b7.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": "NftId",
97
+ "name": "nftId",
98
+ "type": "uint96"
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": "NftId",
123
+ "name": "",
124
+ "type": "uint96"
125
+ }
126
+ ],
127
+ "stateMutability": "view",
128
+ "type": "function"
129
+ },
130
+ {
131
+ "inputs": [],
132
+ "name": "getPoolNftId",
133
+ "outputs": [
134
+ {
135
+ "internalType": "NftId",
136
+ "name": "poolNftId",
137
+ "type": "uint96"
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": "NftId",
201
+ "name": "componentId",
202
+ "type": "uint96"
203
+ }
204
+ ],
205
+ "stateMutability": "nonpayable",
206
+ "type": "function"
207
+ }
208
+ ],
209
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620014d7380380620014d783398181016040528101906200003791906200028b565b8282808280806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634288121d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019791906200032c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200035e565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002538262000226565b9050919050565b620002658162000246565b81146200027157600080fd5b50565b60008151905062000285816200025a565b92915050565b600080600060608486031215620002a757620002a662000221565b5b6000620002b78682870162000274565b9350506020620002ca8682870162000274565b9250506040620002dd8682870162000274565b9150509250925092565b6000620002f48262000246565b9050919050565b6200030681620002e7565b81146200031257600080fd5b50565b6000815190506200032681620002fb565b92915050565b60006020828403121562000345576200034462000221565b5b6000620003558482850162000315565b91505092915050565b611169806200036e6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635ab1bd53116100715780635ab1bd531461016d578063644c45e01461018b57806379e829d0146101a9578063893d20e8146101c7578063de7b5d14146101e5578063fb2cb10114610203576100b4565b806315dae03e146100b95780631aa3a008146100d75780631bdd6b76146100f5578063223668441461011357806331b62a3b146101315780633bc5de301461014f575b600080fd5b6100c1610221565b6040516100ce9190610b55565b60405180910390f35b6100df6102b8565b6040516100ec9190610bc3565b60405180910390f35b6100fd6105d0565b60405161010a9190610bc3565b60405180910390f35b61011b610694565b6040516101289190610bf9565b60405180910390f35b610139610742565b6040516101469190610bc3565b60405180910390f35b6101576107bf565b6040516101649190610ca4565b60405180910390f35b61017561085b565b6040516101829190610d3b565b60405180910390f35b610193610884565b6040516101a09190610bc3565b60405180910390f35b6101b1610926565b6040516101be9190610bf9565b60405180910390f35b6101cf61092f565b6040516101dc9190610d77565b60405180910390f35b6101ed610ace565b6040516101fa9190610db3565b60405180910390f35b61020b610af8565b6040516102189190610d77565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325425a916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b39190610dff565b905090565b60006102c2610af8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032690610e63565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b590610ecf565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104399190610d77565b602060405180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610f1b565b6104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090610fba565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190611018565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105879190611066565b6020604051808303816000875af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca91906110ad565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161064e9190610d77565b602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f91906110ad565b905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106f09190610d77565b602060405180830381865afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073191906110ad565b905061073c81610b22565b91505090565b600061074c610ace565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ba91906110ad565b905090565b60606107c9610ace565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083791906110ad565b6040516020016108479190610bc3565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108e09190610d77565b602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092191906110ad565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b815260040161098b9190610d77565b602060405180830381865afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc91906110ad565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b8152600401610a279190610bc3565b602060405180830381865afa158015610a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a689190611106565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ac657600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ac8565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080826bffffffffffffffffffffffff16119050919050565b6000819050919050565b610b4f81610b3c565b82525050565b6000602082019050610b6a6000830184610b46565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610bad610ba8610ba384610b70565b610b88565b610b70565b9050919050565b610bbd81610b92565b82525050565b6000602082019050610bd86000830184610bb4565b92915050565b60008115159050919050565b610bf381610bde565b82525050565b6000602082019050610c0e6000830184610bea565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c4e578082015181840152602081019050610c33565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c7682610c14565b610c808185610c1f565b9350610c90818560208601610c30565b610c9981610c5a565b840191505092915050565b60006020820190508181036000830152610cbe8184610c6b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d01610cfc610cf784610cc6565b610b88565b610cc6565b9050919050565b6000610d1382610ce6565b9050919050565b6000610d2582610d08565b9050919050565b610d3581610d1a565b82525050565b6000602082019050610d506000830184610d2c565b92915050565b6000610d6182610cc6565b9050919050565b610d7181610d56565b82525050565b6000602082019050610d8c6000830184610d68565b92915050565b6000610d9d82610d08565b9050919050565b610dad81610d92565b82525050565b6000602082019050610dc86000830184610da4565b92915050565b600080fd5b610ddc81610b3c565b8114610de757600080fd5b50565b600081519050610df981610dd3565b92915050565b600060208284031215610e1557610e14610dce565b5b6000610e2384828501610dea565b91505092915050565b600082825260208201905092915050565b50565b6000610e4d600083610e2c565b9150610e5882610e3d565b600082019050919050565b60006020820190508181036000830152610e7c81610e40565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610eb9601b83610e2c565b9150610ec482610e83565b602082019050919050565b60006020820190508181036000830152610ee881610eac565b9050919050565b610ef881610bde565b8114610f0357600080fd5b50565b600081519050610f1581610eef565b92915050565b600060208284031215610f3157610f30610dce565b5b6000610f3f84828501610f06565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610fa4602583610e2c565b9150610faf82610f48565b604082019050919050565b60006020820190508181036000830152610fd381610f97565b9050919050565b6000610fe582610d56565b9050919050565b610ff581610fda565b811461100057600080fd5b50565b60008151905061101281610fec565b92915050565b60006020828403121561102e5761102d610dce565b5b600061103c84828501611003565b91505092915050565b600061105082610d08565b9050919050565b61106081611045565b82525050565b600060208201905061107b6000830184611057565b92915050565b61108a81610b70565b811461109557600080fd5b50565b6000815190506110a781611081565b92915050565b6000602082840312156110c3576110c2610dce565b5b60006110d184828501611098565b91505092915050565b6110e381610d56565b81146110ee57600080fd5b50565b600081519050611100816110da565b92915050565b60006020828403121561111c5761111b610dce565b5b600061112a848285016110f1565b9150509291505056fea2646970667358221220b56b253262d65b0d61d7d966a667267a70de0d2cf3b1736fc23b01ad9ee60ee164736f6c63430008140033",
210
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80635ab1bd53116100715780635ab1bd531461016d578063644c45e01461018b57806379e829d0146101a9578063893d20e8146101c7578063de7b5d14146101e5578063fb2cb10114610203576100b4565b806315dae03e146100b95780631aa3a008146100d75780631bdd6b76146100f5578063223668441461011357806331b62a3b146101315780633bc5de301461014f575b600080fd5b6100c1610221565b6040516100ce9190610b55565b60405180910390f35b6100df6102b8565b6040516100ec9190610bc3565b60405180910390f35b6100fd6105d0565b60405161010a9190610bc3565b60405180910390f35b61011b610694565b6040516101289190610bf9565b60405180910390f35b610139610742565b6040516101469190610bc3565b60405180910390f35b6101576107bf565b6040516101649190610ca4565b60405180910390f35b61017561085b565b6040516101829190610d3b565b60405180910390f35b610193610884565b6040516101a09190610bc3565b60405180910390f35b6101b1610926565b6040516101be9190610bf9565b60405180910390f35b6101cf61092f565b6040516101dc9190610d77565b60405180910390f35b6101ed610ace565b6040516101fa9190610db3565b60405180910390f35b61020b610af8565b6040516102189190610d77565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325425a916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b39190610dff565b905090565b60006102c2610af8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032690610e63565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b590610ecf565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104399190610d77565b602060405180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610f1b565b6104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090610fba565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190611018565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105879190611066565b6020604051808303816000875af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca91906110ad565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161064e9190610d77565b602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f91906110ad565b905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106f09190610d77565b602060405180830381865afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073191906110ad565b905061073c81610b22565b91505090565b600061074c610ace565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ba91906110ad565b905090565b60606107c9610ace565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083791906110ad565b6040516020016108479190610bc3565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108e09190610d77565b602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092191906110ad565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b815260040161098b9190610d77565b602060405180830381865afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc91906110ad565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b8152600401610a279190610bc3565b602060405180830381865afa158015610a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a689190611106565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ac657600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ac8565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080826bffffffffffffffffffffffff16119050919050565b6000819050919050565b610b4f81610b3c565b82525050565b6000602082019050610b6a6000830184610b46565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610bad610ba8610ba384610b70565b610b88565b610b70565b9050919050565b610bbd81610b92565b82525050565b6000602082019050610bd86000830184610bb4565b92915050565b60008115159050919050565b610bf381610bde565b82525050565b6000602082019050610c0e6000830184610bea565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c4e578082015181840152602081019050610c33565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c7682610c14565b610c808185610c1f565b9350610c90818560208601610c30565b610c9981610c5a565b840191505092915050565b60006020820190508181036000830152610cbe8184610c6b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d01610cfc610cf784610cc6565b610b88565b610cc6565b9050919050565b6000610d1382610ce6565b9050919050565b6000610d2582610d08565b9050919050565b610d3581610d1a565b82525050565b6000602082019050610d506000830184610d2c565b92915050565b6000610d6182610cc6565b9050919050565b610d7181610d56565b82525050565b6000602082019050610d8c6000830184610d68565b92915050565b6000610d9d82610d08565b9050919050565b610dad81610d92565b82525050565b6000602082019050610dc86000830184610da4565b92915050565b600080fd5b610ddc81610b3c565b8114610de757600080fd5b50565b600081519050610df981610dd3565b92915050565b600060208284031215610e1557610e14610dce565b5b6000610e2384828501610dea565b91505092915050565b600082825260208201905092915050565b50565b6000610e4d600083610e2c565b9150610e5882610e3d565b600082019050919050565b60006020820190508181036000830152610e7c81610e40565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610eb9601b83610e2c565b9150610ec482610e83565b602082019050919050565b60006020820190508181036000830152610ee881610eac565b9050919050565b610ef881610bde565b8114610f0357600080fd5b50565b600081519050610f1581610eef565b92915050565b600060208284031215610f3157610f30610dce565b5b6000610f3f84828501610f06565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610fa4602583610e2c565b9150610faf82610f48565b604082019050919050565b60006020820190508181036000830152610fd381610f97565b9050919050565b6000610fe582610d56565b9050919050565b610ff581610fda565b811461100057600080fd5b50565b60008151905061101281610fec565b92915050565b60006020828403121561102e5761102d610dce565b5b600061103c84828501611003565b91505092915050565b600061105082610d08565b9050919050565b61106081611045565b82525050565b600060208201905061107b6000830184611057565b92915050565b61108a81610b70565b811461109557600080fd5b50565b6000815190506110a781611081565b92915050565b6000602082840312156110c3576110c2610dce565b5b60006110d184828501611098565b91505092915050565b6110e381610d56565b81146110ee57600080fd5b50565b600081519050611100816110da565b92915050565b60006020828403121561111c5761111b610dce565b5b600061112a848285016110f1565b9150509291505056fea2646970667358221220b56b253262d65b0d61d7d966a667267a70de0d2cf3b1736fc23b01ad9ee60ee164736f6c63430008140033",
211
+ "linkReferences": {},
212
+ "deployedLinkReferences": {}
213
+ }