@etherisc/gif-next 0.0.2-edf4742-498 → 0.0.2-ef935e0-790

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 (140) hide show
  1. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  2. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  3. package/artifacts/contracts/components/Distribution.sol/Distribution.json +9 -9
  4. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  5. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  6. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  8. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  9. package/artifacts/contracts/components/Pool.sol/Pool.json +7 -7
  10. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  11. package/artifacts/contracts/components/Product.sol/Product.json +18 -18
  12. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  32. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +1 -1
  33. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +1 -1
  34. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +1 -1
  35. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  36. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  37. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  38. package/artifacts/contracts/instance/Instance.sol/Instance.json +45 -45
  39. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  40. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  41. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
  42. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  43. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +2 -2
  44. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  45. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +28 -32
  46. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
  48. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  50. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  51. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  54. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  59. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  60. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +16 -16
  61. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  62. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +2 -2
  63. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  64. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +17 -21
  65. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  66. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  67. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  68. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +2 -2
  71. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  72. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +18 -22
  73. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  74. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  75. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  76. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +94 -0
  77. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  78. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  79. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  80. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +76 -20
  81. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +25 -25
  83. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  84. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +12 -12
  85. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  86. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  87. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  88. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  89. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  90. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  91. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  92. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  93. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  94. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +2 -2
  95. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  96. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  97. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +1 -1
  98. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  99. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  100. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  101. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  102. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  103. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  104. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +4 -4
  105. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  106. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  107. package/artifacts/contracts/test/TestService.sol/TestService.json +9 -9
  108. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  109. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  110. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  111. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  112. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  113. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  114. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  115. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  116. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  117. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  118. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  119. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  120. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  121. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  122. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  123. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  124. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  125. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  126. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  127. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  128. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  129. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  130. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  131. package/contracts/instance/InstanceService.sol +3 -2
  132. package/contracts/instance/InstanceServiceManager.sol +6 -5
  133. package/contracts/instance/service/DistributionService.sol +3 -2
  134. package/contracts/instance/service/DistributionServiceManager.sol +6 -5
  135. package/contracts/instance/service/PoolService.sol +3 -2
  136. package/contracts/instance/service/PoolServiceManager.sol +6 -5
  137. package/contracts/registry/IRegistryService.sol +28 -11
  138. package/contracts/registry/RegistryService.sol +30 -71
  139. package/contracts/shared/NftOwnable.sol +2 -4
  140. package/package.json +1 -1
@@ -8,8 +8,6 @@ import {IRegistry} from "./IRegistry.sol";
8
8
  import {IInstance} from "../instance/IInstance.sol";
9
9
 
10
10
  import {ContractDeployerLib} from "../shared/ContractDeployerLib.sol";
11
- // import {IComponent, IComponentModule} from "../../contracts/instance/module/component/IComponent.sol";
12
- // import {IPool} from "../../contracts/instance/module/pool/IPoolModule.sol";
13
11
  import {IBaseComponent} from "../../contracts/components/IBaseComponent.sol";
14
12
  import {IPoolComponent} from "../../contracts/components/IPoolComponent.sol";
15
13
  import {IProductComponent} from "../../contracts/components/IProductComponent.sol";
@@ -20,7 +18,7 @@ import {Versionable} from "../../contracts/shared/Versionable.sol";
20
18
  import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
21
19
 
22
20
  import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../contracts/types/RoleId.sol";
23
- import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, DISTRIBUTION, POLICY, BUNDLE} from "../../contracts/types/ObjectType.sol";
21
+ import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, DISTRIBUTION, POLICY, BUNDLE, STAKE} from "../../contracts/types/ObjectType.sol";
24
22
  import {StateId, ACTIVE, PAUSED} from "../../contracts/types/StateId.sol";
25
23
  import {NftId, NftIdLib, zeroNftId} from "../../contracts/types/NftId.sol";
26
24
  import {Fee, FeeLib} from "../../contracts/types/Fee.sol";
@@ -30,7 +28,6 @@ import {Service} from "../shared/Service.sol";
30
28
  import {IService} from "../shared/IService.sol";
31
29
  import {IRegistryService} from "./IRegistryService.sol";
32
30
  import {Registry} from "./Registry.sol";
33
- import {ChainNft} from "./ChainNft.sol";
34
31
 
35
32
  contract RegistryService is
36
33
  AccessManagedUpgradeable,
@@ -39,22 +36,6 @@ contract RegistryService is
39
36
  {
40
37
  using NftIdLib for NftId;
41
38
 
42
- // TODO move errors to interface contract
43
- error SelfRegistration();
44
- error NotRegistryOwner();
45
-
46
- error NotService();
47
- error NotInstance();
48
- error NotProduct();
49
- error NotPool();
50
- error NotDistribution();
51
-
52
- error UnexpectedRegisterableType(ObjectType expected, ObjectType found);
53
- error NotRegisterableOwner(address expectedOwner);
54
- error RegisterableOwnerIsZero();
55
- error RegisterableOwnerIsRegistered();
56
- error InvalidInitialOwner(address initialOwner);
57
- error InvalidAddress(address registerableAddress);
58
39
 
59
40
  // Initial value for constant variable has to be compile-time constant
60
41
  // TODO define types as constants?
@@ -74,9 +55,7 @@ contract RegistryService is
74
55
  // IMPORTANT: MUST NOT check owner before calling external contract
75
56
  function registerService(IService service)
76
57
  external
77
- // TODO restrict access - registryService.registerService must use accessmanager for checking permissions as
78
- // services are not always owned by registry owner - actually only registry service is owned by registry owner
79
-
58
+ restricted
80
59
  returns(
81
60
  IRegistry.ObjectInfo memory info,
82
61
  bytes memory data
@@ -95,17 +74,9 @@ contract RegistryService is
95
74
 
96
75
  info.nftId = _registry.register(info);
97
76
  service.linkToRegisteredNftId();
98
- return (
99
- info,
100
- data
101
- );
77
+ return (info, data);
102
78
  }
103
79
 
104
- // If msg.sender is approved service:
105
- // 1) add owner arg (service MUST pass it's msg.sender as owner)
106
- // 2) check service allowance
107
- // 3) comment self registrstion check
108
- //function registerInstance(IRegisterable instance, address owner)
109
80
  function registerInstance(IRegisterable instance)
110
81
  external
111
82
  returns(
@@ -125,10 +96,7 @@ contract RegistryService is
125
96
  info.nftId = _registry.register(info);
126
97
  instance.linkToRegisteredNftId(); // asume safe
127
98
 
128
- return (
129
- info,
130
- data
131
- );
99
+ return (info, data);
132
100
  }
133
101
 
134
102
  function registerProduct(IBaseComponent product, address owner)
@@ -149,16 +117,11 @@ contract RegistryService is
149
117
  data
150
118
  ) = _getAndVerifyContractInfo(product, PRODUCT(), owner);
151
119
 
152
- NftId serviceNftId = _registry.getNftId(msg.sender);
153
-
154
120
  info.nftId = _registry.register(info);
155
121
  // TODO unsafe, let component or its owner derive nftId latter, when state assumptions and modifications of GIF contracts are finished
156
122
  product.linkToRegisteredNftId();
157
123
 
158
- return (
159
- info,
160
- data
161
- );
124
+ return (info, data);
162
125
  }
163
126
 
164
127
  function registerPool(IBaseComponent pool, address owner)
@@ -178,15 +141,10 @@ contract RegistryService is
178
141
  data
179
142
  ) = _getAndVerifyContractInfo(pool, POOL(), owner);
180
143
 
181
- NftId serviceNftId = _registry.getNftId(msg.sender);
182
-
183
144
  info.nftId = _registry.register(info);
184
145
  pool.linkToRegisteredNftId();
185
146
 
186
- return (
187
- info,
188
- data
189
- );
147
+ return (info, data);
190
148
  }
191
149
 
192
150
  function registerDistribution(IBaseComponent distribution, address owner)
@@ -206,15 +164,10 @@ contract RegistryService is
206
164
  data
207
165
  ) = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
208
166
 
209
- NftId serviceNftId = _registry.getNftId(msg.sender);
210
-
211
167
  info.nftId = _registry.register(info);
212
168
  distribution.linkToRegisteredNftId();
213
169
 
214
- return (
215
- info,
216
- data
217
- );
170
+ return (info, data);
218
171
  }
219
172
 
220
173
  function registerPolicy(IRegistry.ObjectInfo memory info)
@@ -222,8 +175,6 @@ contract RegistryService is
222
175
  restricted
223
176
  returns(NftId nftId)
224
177
  {
225
- NftId senderNftId = _registry.getNftId(msg.sender);
226
-
227
178
  _verifyObjectInfo(info, POLICY());
228
179
 
229
180
  nftId = _registry.register(info);
@@ -234,14 +185,20 @@ contract RegistryService is
234
185
  restricted
235
186
  returns(NftId nftId)
236
187
  {
237
-
238
- NftId senderNftId = _registry.getNftId(msg.sender);
239
-
240
188
  _verifyObjectInfo(info, BUNDLE());
241
189
 
242
190
  nftId = _registry.register(info);
243
191
  }
244
192
 
193
+ function registerStake(IRegistry.ObjectInfo memory info)
194
+ external
195
+ restricted
196
+ returns(NftId nftId)
197
+ {
198
+ _verifyObjectInfo(info, STAKE());
199
+
200
+ nftId = _registry.register(info);
201
+ }
245
202
 
246
203
  // From IService
247
204
  function getName() public pure override(IService, Service) returns(string memory) {
@@ -296,7 +253,6 @@ contract RegistryService is
296
253
  _registerInterface(type(IRegistryService).interfaceId);
297
254
  }
298
255
 
299
- // parent check done in registry because of approve()
300
256
  function _getAndVerifyContractInfo(
301
257
  IRegisterable registerable,
302
258
  ObjectType expectedType, // assume can be valid only
@@ -355,25 +311,28 @@ contract RegistryService is
355
311
  );
356
312
  }
357
313
 
358
- // parent checks done in registry because of approve()
359
314
  function _verifyObjectInfo(
360
315
  IRegistry.ObjectInfo memory info,
361
- ObjectType objectType
316
+ ObjectType expectedType
362
317
  )
363
318
  internal
364
319
  view
365
320
  {
366
- if(info.objectAddress > address(0)) {
367
- revert InvalidAddress(info.objectAddress);
321
+ // enforce instead of check
322
+ info.objectAddress = address(0);
323
+
324
+ if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
325
+ revert UnexpectedRegisterableType(expectedType, info.objectType);
368
326
  }
369
327
 
370
- if(
371
- getRegistry().isRegistered(info.initialOwner) ||
372
- info.initialOwner == address(0)) {
373
- // TODO non registered address can register object(e.g. POLICY()) and then transfer associated nft to registered contract
374
- // what are motivations to do so?
375
- // at least registered contract can not register objects by itself, SERVICE,
376
- revert InvalidInitialOwner(info.initialOwner);
328
+ address owner = info.initialOwner;
329
+
330
+ if(owner == address(0)) {
331
+ revert RegisterableOwnerIsZero();
332
+ }
333
+
334
+ if(getRegistry().isRegistered(owner)) {
335
+ revert RegisterableOwnerIsRegistered();
377
336
  }
378
337
 
379
338
  // can catch all 3 if check that initialOwner is not registered
@@ -13,10 +13,7 @@ contract NftOwnable is INftOwnable {
13
13
 
14
14
  /// @dev enforces msg.sender is owner of nft (or initial owner of nft ownable)
15
15
  modifier onlyOwner() {
16
- address owner = getOwner();
17
-
18
- // owner == address(0) is eg uninitialized upgradable contract
19
- if (owner != address(0) && msg.sender != owner) {
16
+ if (msg.sender != getOwner()) {
20
17
  revert ErrorNotOwner(msg.sender);
21
18
  }
22
19
  _;
@@ -77,6 +74,7 @@ contract NftOwnable is INftOwnable {
77
74
  internal
78
75
  virtual
79
76
  {
77
+ require(initialOwner > address(0), "NftOwnable: initial owner is 0");
80
78
  _initialOwner = initialOwner;
81
79
  _setRegistry(registryAddress);
82
80
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-edf4742-498",
3
+ "version": "0.0.2-ef935e0-790",
4
4
  "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
5
5
  "main": "index.js",
6
6
  "scripts": {