@etherisc/gif-next 0.0.2-fc8b370-882 → 0.0.2-fe34d97-357

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. package/README.md +36 -0
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  4. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  5. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  6. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  7. package/artifacts/contracts/components/Pool.sol/Pool.json +72 -4
  8. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  9. package/artifacts/contracts/components/Product.sol/Product.json +46 -3
  10. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  11. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  12. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  22. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  28. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  29. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +540 -401
  30. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +1 -1
  31. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  32. package/artifacts/contracts/instance/Instance.sol/Instance.json +640 -469
  33. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
  34. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
  35. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +18 -0
  36. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  37. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +49 -0
  38. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  39. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +1 -1
  40. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +1 -1
  41. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +18 -0
  42. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  43. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +41 -23
  44. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  45. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +4 -4
  46. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +1 -1
  48. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +1 -1
  49. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +1 -1
  50. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +17 -48
  53. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +1 -1
  54. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +18 -49
  56. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +2 -2
  58. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +36 -88
  62. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +1 -1
  63. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +1 -1
  64. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +36 -88
  65. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +1 -1
  66. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +65 -38
  68. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +65 -38
  70. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -5
  73. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +1 -1
  74. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -5
  75. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +1 -1
  76. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +123 -1
  78. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +1 -1
  79. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +145 -5
  80. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +1 -1
  81. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +1 -1
  82. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +166 -168
  83. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  84. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +2 -2
  85. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +167 -169
  87. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  88. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +21 -21
  89. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  90. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  91. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  92. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +71 -0
  93. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  94. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +6 -6
  95. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  96. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +97 -26
  97. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  98. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  99. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  100. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  101. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  102. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  103. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  104. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +1 -1
  105. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  106. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  107. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  108. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  109. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  110. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +1 -1
  111. package/artifacts/contracts/test/TestPool.sol/TestPool.json +72 -4
  112. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +1 -1
  113. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +90 -4
  114. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  115. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +2 -2
  116. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  117. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  118. package/artifacts/contracts/test/TestService.sol/TestService.json +2 -2
  119. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  120. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  121. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  122. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  123. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  124. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  125. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  126. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  127. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  128. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  129. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  130. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  131. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  132. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  133. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  134. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  135. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  136. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  137. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  138. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  139. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  140. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  141. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  142. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  143. package/contracts/components/BaseComponent.sol +7 -1
  144. package/contracts/components/Pool.sol +20 -3
  145. package/contracts/components/Product.sol +69 -5
  146. package/contracts/instance/IInstance.sol +3 -4
  147. package/contracts/instance/Instance.sol +7 -4
  148. package/contracts/instance/base/IInstanceBase.sol +5 -0
  149. package/contracts/instance/base/IKeyValueStore.sol +4 -3
  150. package/contracts/instance/base/InstanceBase.sol +6 -2
  151. package/contracts/instance/base/KeyValueStore.sol +12 -7
  152. package/contracts/instance/base/Lifecycle.sol +15 -10
  153. package/contracts/instance/base/ModuleBase.sol +18 -17
  154. package/contracts/instance/module/bundle/BundleModule.sol +10 -11
  155. package/contracts/instance/module/bundle/IBundle.sol +4 -11
  156. package/contracts/instance/module/compensation/CompensationModule.sol +11 -2
  157. package/contracts/instance/module/component/ComponentModule.sol +39 -53
  158. package/contracts/instance/module/component/IComponent.sol +6 -30
  159. package/contracts/instance/module/policy/IPolicy.sol +11 -9
  160. package/contracts/instance/module/policy/PolicyModule.sol +35 -19
  161. package/contracts/instance/module/pool/IPoolModule.sol +0 -1
  162. package/contracts/instance/module/pool/PoolModule.sol +12 -9
  163. package/contracts/instance/module/risk/IRisk.sol +19 -2
  164. package/contracts/instance/module/risk/RiskModule.sol +64 -2
  165. package/contracts/instance/module/treasury/ITreasury.sol +35 -42
  166. package/contracts/instance/module/treasury/TreasuryModule.sol +96 -77
  167. package/contracts/instance/service/ComponentOwnerService.sol +19 -34
  168. package/contracts/instance/service/IProductService.sol +21 -1
  169. package/contracts/instance/service/PoolService.sol +10 -4
  170. package/contracts/instance/service/ProductService.sol +120 -68
  171. package/contracts/registry/Registry.sol +2 -2
  172. package/contracts/test/TestPool.sol +4 -2
  173. package/contracts/test/TestProduct.sol +25 -3
  174. package/contracts/types/ObjectType.sol +20 -8
  175. package/contracts/types/RiskId.sol +43 -0
  176. package/package.json +1 -1
@@ -2,9 +2,149 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "RiskModule",
4
4
  "sourceName": "contracts/instance/module/risk/RiskModule.sol",
5
- "abi": [],
6
- "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220dc75297ec36ea76850f06f06e254a9d7f8ad7819a904621247f0d1933f41bd7464736f6c63430008140033",
7
- "deployedBytecode": "0x6080604052600080fdfea2646970667358221220dc75297ec36ea76850f06f06e254a9d7f8ad7819a904621247f0d1933f41bd7464736f6c63430008140033",
8
- "linkReferences": {},
9
- "deployedLinkReferences": {}
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "RiskId",
10
+ "name": "riskId",
11
+ "type": "bytes8"
12
+ },
13
+ {
14
+ "internalType": "NftId",
15
+ "name": "productNftId",
16
+ "type": "uint96"
17
+ },
18
+ {
19
+ "internalType": "bytes",
20
+ "name": "data",
21
+ "type": "bytes"
22
+ }
23
+ ],
24
+ "name": "createRisk",
25
+ "outputs": [],
26
+ "stateMutability": "nonpayable",
27
+ "type": "function"
28
+ },
29
+ {
30
+ "inputs": [
31
+ {
32
+ "internalType": "RiskId",
33
+ "name": "riskId",
34
+ "type": "bytes8"
35
+ }
36
+ ],
37
+ "name": "getRiskInfo",
38
+ "outputs": [
39
+ {
40
+ "components": [
41
+ {
42
+ "internalType": "NftId",
43
+ "name": "productNftId",
44
+ "type": "uint96"
45
+ },
46
+ {
47
+ "internalType": "bytes",
48
+ "name": "data",
49
+ "type": "bytes"
50
+ }
51
+ ],
52
+ "internalType": "struct IRisk.RiskInfo",
53
+ "name": "info",
54
+ "type": "tuple"
55
+ }
56
+ ],
57
+ "stateMutability": "view",
58
+ "type": "function"
59
+ },
60
+ {
61
+ "inputs": [
62
+ {
63
+ "internalType": "RiskId",
64
+ "name": "riskId",
65
+ "type": "bytes8"
66
+ }
67
+ ],
68
+ "name": "getRiskState",
69
+ "outputs": [
70
+ {
71
+ "internalType": "StateId",
72
+ "name": "state",
73
+ "type": "uint8"
74
+ }
75
+ ],
76
+ "stateMutability": "view",
77
+ "type": "function"
78
+ },
79
+ {
80
+ "inputs": [
81
+ {
82
+ "internalType": "RiskId",
83
+ "name": "riskId",
84
+ "type": "bytes8"
85
+ },
86
+ {
87
+ "components": [
88
+ {
89
+ "internalType": "NftId",
90
+ "name": "productNftId",
91
+ "type": "uint96"
92
+ },
93
+ {
94
+ "internalType": "bytes",
95
+ "name": "data",
96
+ "type": "bytes"
97
+ }
98
+ ],
99
+ "internalType": "struct IRisk.RiskInfo",
100
+ "name": "info",
101
+ "type": "tuple"
102
+ }
103
+ ],
104
+ "name": "setRiskInfo",
105
+ "outputs": [],
106
+ "stateMutability": "nonpayable",
107
+ "type": "function"
108
+ },
109
+ {
110
+ "inputs": [
111
+ {
112
+ "internalType": "RiskId",
113
+ "name": "riskId",
114
+ "type": "bytes8"
115
+ },
116
+ {
117
+ "internalType": "StateId",
118
+ "name": "state",
119
+ "type": "uint8"
120
+ }
121
+ ],
122
+ "name": "updateRiskState",
123
+ "outputs": [],
124
+ "stateMutability": "nonpayable",
125
+ "type": "function"
126
+ }
127
+ ],
128
+ "bytecode": "0x608060405234801561001057600080fd5b5061055a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063423eb9fa1461005c5780637cef484214610070578063887b1fa91461007e578063b8901082146100bb578063fcad2c4b146100ce575b600080fd5b61006e61006a366004610300565b5050565b005b61006e61006a3660046103a7565b6100a561008c3660046103e4565b5060408051808201909152600081526060602082015290565b6040516100b2919061044c565b60405180910390f35b61006e6100c9366004610482565b6100f9565b6100e26100dc3660046103e4565b50600090565b60405160ff90911681526020016100b2565b919050565b604080518082019091526001600160601b0383168152602081018290526101bd60c86040516355ee627560e01b81526001600160c01b03198716600482015273__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015610174573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019891906104e0565b836040516020016101a9919061044c565b6040516020818303038152906040526101c3565b50505050565b600054604051630bbdc8f160e31b81526001600160a01b0390911690635dee4788906101f7908590879086906004016104f9565b600060405180830381600087803b15801561021157600080fd5b505af1158015610225573d6000803e3d6000fd5b50505050505050565b80356001600160c01b0319811681146100f457600080fd5b634e487b7160e01b600052604160045260246000fd5b80356001600160601b03811681146100f457600080fd5b600082601f83011261028457600080fd5b813567ffffffffffffffff8082111561029f5761029f610246565b604051601f8301601f19908116603f011681019082821181831017156102c7576102c7610246565b816040528381528660208588010111156102e057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561031357600080fd5b61031c8361022e565b9150602083013567ffffffffffffffff8082111561033957600080fd5b908401906040828703121561034d57600080fd5b60405160408101818110838211171561036857610368610246565b6040526103748361025c565b815260208301358281111561038857600080fd5b61039488828601610273565b6020830152508093505050509250929050565b600080604083850312156103ba57600080fd5b6103c38361022e565b9150602083013560ff811681146103d957600080fd5b809150509250929050565b6000602082840312156103f657600080fd5b6103ff8261022e565b9392505050565b6000815180845260005b8181101561042c57602081850181015186830182015201610410565b506000602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526000602083015160408084015261047a6060840182610406565b949350505050565b60008060006060848603121561049757600080fd5b6104a08461022e565b92506104ae6020850161025c565b9150604084013567ffffffffffffffff8111156104ca57600080fd5b6104d686828701610273565b9150509250925092565b6000602082840312156104f257600080fd5b5051919050565b83815260ff8316602082015260606040820152600061051b6060830184610406565b9594505050505056fea2646970667358221220d9e0e5adae6a605f126d6b22f903ac3b424ea17b55a1aa317bc3f736309b5d6f64736f6c63430008140033",
129
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063423eb9fa1461005c5780637cef484214610070578063887b1fa91461007e578063b8901082146100bb578063fcad2c4b146100ce575b600080fd5b61006e61006a366004610300565b5050565b005b61006e61006a3660046103a7565b6100a561008c3660046103e4565b5060408051808201909152600081526060602082015290565b6040516100b2919061044c565b60405180910390f35b61006e6100c9366004610482565b6100f9565b6100e26100dc3660046103e4565b50600090565b60405160ff90911681526020016100b2565b919050565b604080518082019091526001600160601b0383168152602081018290526101bd60c86040516355ee627560e01b81526001600160c01b03198716600482015273__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015610174573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019891906104e0565b836040516020016101a9919061044c565b6040516020818303038152906040526101c3565b50505050565b600054604051630bbdc8f160e31b81526001600160a01b0390911690635dee4788906101f7908590879086906004016104f9565b600060405180830381600087803b15801561021157600080fd5b505af1158015610225573d6000803e3d6000fd5b50505050505050565b80356001600160c01b0319811681146100f457600080fd5b634e487b7160e01b600052604160045260246000fd5b80356001600160601b03811681146100f457600080fd5b600082601f83011261028457600080fd5b813567ffffffffffffffff8082111561029f5761029f610246565b604051601f8301601f19908116603f011681019082821181831017156102c7576102c7610246565b816040528381528660208588010111156102e057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561031357600080fd5b61031c8361022e565b9150602083013567ffffffffffffffff8082111561033957600080fd5b908401906040828703121561034d57600080fd5b60405160408101818110838211171561036857610368610246565b6040526103748361025c565b815260208301358281111561038857600080fd5b61039488828601610273565b6020830152508093505050509250929050565b600080604083850312156103ba57600080fd5b6103c38361022e565b9150602083013560ff811681146103d957600080fd5b809150509250929050565b6000602082840312156103f657600080fd5b6103ff8261022e565b9392505050565b6000815180845260005b8181101561042c57602081850181015186830182015201610410565b506000602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526000602083015160408084015261047a6060840182610406565b949350505050565b60008060006060848603121561049757600080fd5b6104a08461022e565b92506104ae6020850161025c565b9150604084013567ffffffffffffffff8111156104ca57600080fd5b6104d686828701610273565b9150509250925092565b6000602082840312156104f257600080fd5b5051919050565b83815260ff8316602082015260606040820152600061051b6060830184610406565b9594505050505056fea2646970667358221220d9e0e5adae6a605f126d6b22f903ac3b424ea17b55a1aa317bc3f736309b5d6f64736f6c63430008140033",
130
+ "linkReferences": {
131
+ "contracts/types/RiskId.sol": {
132
+ "RiskIdLib": [
133
+ {
134
+ "length": 20,
135
+ "start": 346
136
+ }
137
+ ]
138
+ }
139
+ },
140
+ "deployedLinkReferences": {
141
+ "contracts/types/RiskId.sol": {
142
+ "RiskIdLib": [
143
+ {
144
+ "length": 20,
145
+ "start": 314
146
+ }
147
+ ]
148
+ }
149
+ }
10
150
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/ac8b1a0ba35c3a8a508882d70043ad3f.json"
3
+ "buildInfo": "../../../../../build-info/01797c1a22420f170e92428a4c013a0c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/ac8b1a0ba35c3a8a508882d70043ad3f.json"
3
+ "buildInfo": "../../../../../build-info/01797c1a22420f170e92428a4c013a0c.json"
4
4
  }
@@ -84,22 +84,65 @@
84
84
  "inputs": [
85
85
  {
86
86
  "internalType": "NftId",
87
- "name": "poolNftId",
87
+ "name": "componentNftId",
88
+ "type": "uint96"
89
+ }
90
+ ],
91
+ "name": "getProductNftId",
92
+ "outputs": [
93
+ {
94
+ "internalType": "NftId",
95
+ "name": "productNftId",
96
+ "type": "uint96"
97
+ }
98
+ ],
99
+ "stateMutability": "view",
100
+ "type": "function"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "NftId",
106
+ "name": "componentNftId",
107
+ "type": "uint96"
108
+ }
109
+ ],
110
+ "name": "getTokenHandler",
111
+ "outputs": [
112
+ {
113
+ "internalType": "contract TokenHandler",
114
+ "name": "tokenHandler",
115
+ "type": "address"
116
+ }
117
+ ],
118
+ "stateMutability": "view",
119
+ "type": "function"
120
+ },
121
+ {
122
+ "inputs": [
123
+ {
124
+ "internalType": "NftId",
125
+ "name": "productNftId",
88
126
  "type": "uint96"
89
127
  }
90
128
  ],
91
- "name": "getPoolSetup",
129
+ "name": "getTreasuryInfo",
92
130
  "outputs": [
93
131
  {
94
132
  "components": [
133
+ {
134
+ "internalType": "NftId",
135
+ "name": "compensationNftId",
136
+ "type": "uint96"
137
+ },
95
138
  {
96
139
  "internalType": "NftId",
97
140
  "name": "poolNftId",
98
141
  "type": "uint96"
99
142
  },
100
143
  {
101
- "internalType": "address",
102
- "name": "wallet",
144
+ "internalType": "contract IERC20Metadata",
145
+ "name": "token",
103
146
  "type": "address"
104
147
  },
105
148
  {
@@ -116,7 +159,7 @@
116
159
  }
117
160
  ],
118
161
  "internalType": "struct Fee",
119
- "name": "stakingFee",
162
+ "name": "commissionFee",
120
163
  "type": "tuple"
121
164
  },
122
165
  {
@@ -133,54 +176,25 @@
133
176
  }
134
177
  ],
135
178
  "internalType": "struct Fee",
136
- "name": "performanceFee",
179
+ "name": "policyFee",
137
180
  "type": "tuple"
138
- }
139
- ],
140
- "internalType": "struct ITreasury.PoolSetup",
141
- "name": "setup",
142
- "type": "tuple"
143
- }
144
- ],
145
- "stateMutability": "view",
146
- "type": "function"
147
- },
148
- {
149
- "inputs": [
150
- {
151
- "internalType": "NftId",
152
- "name": "productNftId",
153
- "type": "uint96"
154
- }
155
- ],
156
- "name": "getProductSetup",
157
- "outputs": [
158
- {
159
- "components": [
160
- {
161
- "internalType": "NftId",
162
- "name": "productNftId",
163
- "type": "uint96"
164
181
  },
165
182
  {
166
- "internalType": "NftId",
167
- "name": "distributorNftId",
168
- "type": "uint96"
169
- },
170
- {
171
- "internalType": "NftId",
172
- "name": "poolNftId",
173
- "type": "uint96"
174
- },
175
- {
176
- "internalType": "contract IERC20Metadata",
177
- "name": "token",
178
- "type": "address"
179
- },
180
- {
181
- "internalType": "address",
182
- "name": "wallet",
183
- "type": "address"
183
+ "components": [
184
+ {
185
+ "internalType": "UFixed",
186
+ "name": "fractionalFee",
187
+ "type": "uint256"
188
+ },
189
+ {
190
+ "internalType": "uint256",
191
+ "name": "fixedFee",
192
+ "type": "uint256"
193
+ }
194
+ ],
195
+ "internalType": "struct Fee",
196
+ "name": "processingFee",
197
+ "type": "tuple"
184
198
  },
185
199
  {
186
200
  "components": [
@@ -196,7 +210,7 @@
196
210
  }
197
211
  ],
198
212
  "internalType": "struct Fee",
199
- "name": "policyFee",
213
+ "name": "stakingFee",
200
214
  "type": "tuple"
201
215
  },
202
216
  {
@@ -213,37 +227,18 @@
213
227
  }
214
228
  ],
215
229
  "internalType": "struct Fee",
216
- "name": "processingFee",
230
+ "name": "performanceFee",
217
231
  "type": "tuple"
218
232
  }
219
233
  ],
220
- "internalType": "struct ITreasury.ProductSetup",
221
- "name": "setup",
234
+ "internalType": "struct ITreasury.TreasuryInfo",
235
+ "name": "info",
222
236
  "type": "tuple"
223
237
  }
224
238
  ],
225
239
  "stateMutability": "view",
226
240
  "type": "function"
227
241
  },
228
- {
229
- "inputs": [
230
- {
231
- "internalType": "NftId",
232
- "name": "componentNftId",
233
- "type": "uint96"
234
- }
235
- ],
236
- "name": "getTokenHandler",
237
- "outputs": [
238
- {
239
- "internalType": "contract TokenHandler",
240
- "name": "tokenHandler",
241
- "type": "address"
242
- }
243
- ],
244
- "stateMutability": "view",
245
- "type": "function"
246
- },
247
242
  {
248
243
  "inputs": [
249
244
  {
@@ -309,59 +304,7 @@
309
304
  "type": "tuple"
310
305
  }
311
306
  ],
312
- "stateMutability": "pure",
313
- "type": "function"
314
- },
315
- {
316
- "inputs": [
317
- {
318
- "internalType": "NftId",
319
- "name": "poolNftId",
320
- "type": "uint96"
321
- },
322
- {
323
- "internalType": "address",
324
- "name": "wallet",
325
- "type": "address"
326
- },
327
- {
328
- "components": [
329
- {
330
- "internalType": "UFixed",
331
- "name": "fractionalFee",
332
- "type": "uint256"
333
- },
334
- {
335
- "internalType": "uint256",
336
- "name": "fixedFee",
337
- "type": "uint256"
338
- }
339
- ],
340
- "internalType": "struct Fee",
341
- "name": "stakingFee",
342
- "type": "tuple"
343
- },
344
- {
345
- "components": [
346
- {
347
- "internalType": "UFixed",
348
- "name": "fractionalFee",
349
- "type": "uint256"
350
- },
351
- {
352
- "internalType": "uint256",
353
- "name": "fixedFee",
354
- "type": "uint256"
355
- }
356
- ],
357
- "internalType": "struct Fee",
358
- "name": "performanceFee",
359
- "type": "tuple"
360
- }
361
- ],
362
- "name": "registerPool",
363
- "outputs": [],
364
- "stateMutability": "nonpayable",
307
+ "stateMutability": "view",
365
308
  "type": "function"
366
309
  },
367
310
  {
@@ -386,11 +329,6 @@
386
329
  "name": "token",
387
330
  "type": "address"
388
331
  },
389
- {
390
- "internalType": "address",
391
- "name": "wallet",
392
- "type": "address"
393
- },
394
332
  {
395
333
  "components": [
396
334
  {
@@ -424,19 +362,6 @@
424
362
  "internalType": "struct Fee",
425
363
  "name": "processingFee",
426
364
  "type": "tuple"
427
- }
428
- ],
429
- "name": "registerProduct",
430
- "outputs": [],
431
- "stateMutability": "nonpayable",
432
- "type": "function"
433
- },
434
- {
435
- "inputs": [
436
- {
437
- "internalType": "NftId",
438
- "name": "poolNftId",
439
- "type": "uint96"
440
365
  },
441
366
  {
442
367
  "components": [
@@ -473,7 +398,7 @@
473
398
  "type": "tuple"
474
399
  }
475
400
  ],
476
- "name": "setPoolFees",
401
+ "name": "registerProductSetup",
477
402
  "outputs": [],
478
403
  "stateMutability": "nonpayable",
479
404
  "type": "function"
@@ -488,39 +413,112 @@
488
413
  {
489
414
  "components": [
490
415
  {
491
- "internalType": "UFixed",
492
- "name": "fractionalFee",
493
- "type": "uint256"
416
+ "internalType": "NftId",
417
+ "name": "compensationNftId",
418
+ "type": "uint96"
494
419
  },
495
420
  {
496
- "internalType": "uint256",
497
- "name": "fixedFee",
498
- "type": "uint256"
499
- }
500
- ],
501
- "internalType": "struct Fee",
502
- "name": "policyFee",
503
- "type": "tuple"
504
- },
505
- {
506
- "components": [
421
+ "internalType": "NftId",
422
+ "name": "poolNftId",
423
+ "type": "uint96"
424
+ },
507
425
  {
508
- "internalType": "UFixed",
509
- "name": "fractionalFee",
510
- "type": "uint256"
426
+ "internalType": "contract IERC20Metadata",
427
+ "name": "token",
428
+ "type": "address"
511
429
  },
512
430
  {
513
- "internalType": "uint256",
514
- "name": "fixedFee",
515
- "type": "uint256"
431
+ "components": [
432
+ {
433
+ "internalType": "UFixed",
434
+ "name": "fractionalFee",
435
+ "type": "uint256"
436
+ },
437
+ {
438
+ "internalType": "uint256",
439
+ "name": "fixedFee",
440
+ "type": "uint256"
441
+ }
442
+ ],
443
+ "internalType": "struct Fee",
444
+ "name": "commissionFee",
445
+ "type": "tuple"
446
+ },
447
+ {
448
+ "components": [
449
+ {
450
+ "internalType": "UFixed",
451
+ "name": "fractionalFee",
452
+ "type": "uint256"
453
+ },
454
+ {
455
+ "internalType": "uint256",
456
+ "name": "fixedFee",
457
+ "type": "uint256"
458
+ }
459
+ ],
460
+ "internalType": "struct Fee",
461
+ "name": "policyFee",
462
+ "type": "tuple"
463
+ },
464
+ {
465
+ "components": [
466
+ {
467
+ "internalType": "UFixed",
468
+ "name": "fractionalFee",
469
+ "type": "uint256"
470
+ },
471
+ {
472
+ "internalType": "uint256",
473
+ "name": "fixedFee",
474
+ "type": "uint256"
475
+ }
476
+ ],
477
+ "internalType": "struct Fee",
478
+ "name": "processingFee",
479
+ "type": "tuple"
480
+ },
481
+ {
482
+ "components": [
483
+ {
484
+ "internalType": "UFixed",
485
+ "name": "fractionalFee",
486
+ "type": "uint256"
487
+ },
488
+ {
489
+ "internalType": "uint256",
490
+ "name": "fixedFee",
491
+ "type": "uint256"
492
+ }
493
+ ],
494
+ "internalType": "struct Fee",
495
+ "name": "stakingFee",
496
+ "type": "tuple"
497
+ },
498
+ {
499
+ "components": [
500
+ {
501
+ "internalType": "UFixed",
502
+ "name": "fractionalFee",
503
+ "type": "uint256"
504
+ },
505
+ {
506
+ "internalType": "uint256",
507
+ "name": "fixedFee",
508
+ "type": "uint256"
509
+ }
510
+ ],
511
+ "internalType": "struct Fee",
512
+ "name": "performanceFee",
513
+ "type": "tuple"
516
514
  }
517
515
  ],
518
- "internalType": "struct Fee",
519
- "name": "processingFee",
516
+ "internalType": "struct ITreasury.TreasuryInfo",
517
+ "name": "info",
520
518
  "type": "tuple"
521
519
  }
522
520
  ],
523
- "name": "setProductFees",
521
+ "name": "setTreasuryInfo",
524
522
  "outputs": [],
525
523
  "stateMutability": "nonpayable",
526
524
  "type": "function"
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/ac8b1a0ba35c3a8a508882d70043ad3f.json"
3
+ "buildInfo": "../../../../../build-info/01797c1a22420f170e92428a4c013a0c.json"
4
4
  }
@@ -69,8 +69,8 @@
69
69
  "type": "function"
70
70
  }
71
71
  ],
72
- "bytecode": "0x608060405234801561001057600080fd5b506040516102aa3803806102aa83398101604081905261002f9161005b565b6001600160a01b03166c01000000000000000000000000026001600160601b03909116176000556100ad565b6000806040838503121561006e57600080fd5b82516001600160601b038116811461008557600080fd5b60208401519092506001600160a01b03811681146100a257600080fd5b809150509250929050565b6101ee806100bc6000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c806251884a1461004557806321df0da71461006a578063beabacc814610095575b600080fd5b6000546040516bffffffffffffffffffffffff90911681526020015b60405180910390f35b600054600160601b90046001600160a01b03166040516001600160a01b039091168152602001610061565b6100a86100a3366004610153565b6100aa565b005b6000546040516323b872dd60e01b81526001600160a01b038581166004830152848116602483015260448201849052600160601b909204909116906323b872dd906064016020604051808303816000875af115801561010d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610131919061018f565b50505050565b80356001600160a01b038116811461014e57600080fd5b919050565b60008060006060848603121561016857600080fd5b61017184610137565b925061017f60208501610137565b9150604084013590509250925092565b6000602082840312156101a157600080fd5b815180151581146101b157600080fd5b939250505056fea26469706673582212202b9b96f8a114d50ac700f93106ae958bdf05223b6902bd79a7088ba5f33cdf3464736f6c63430008140033",
73
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100405760003560e01c806251884a1461004557806321df0da71461006a578063beabacc814610095575b600080fd5b6000546040516bffffffffffffffffffffffff90911681526020015b60405180910390f35b600054600160601b90046001600160a01b03166040516001600160a01b039091168152602001610061565b6100a86100a3366004610153565b6100aa565b005b6000546040516323b872dd60e01b81526001600160a01b038581166004830152848116602483015260448201849052600160601b909204909116906323b872dd906064016020604051808303816000875af115801561010d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610131919061018f565b50505050565b80356001600160a01b038116811461014e57600080fd5b919050565b60008060006060848603121561016857600080fd5b61017184610137565b925061017f60208501610137565b9150604084013590509250925092565b6000602082840312156101a157600080fd5b815180151581146101b157600080fd5b939250505056fea26469706673582212202b9b96f8a114d50ac700f93106ae958bdf05223b6902bd79a7088ba5f33cdf3464736f6c63430008140033",
72
+ "bytecode": "0x608060405234801561001057600080fd5b506040516102aa3803806102aa83398101604081905261002f9161005b565b6001600160a01b03166c01000000000000000000000000026001600160601b03909116176000556100ad565b6000806040838503121561006e57600080fd5b82516001600160601b038116811461008557600080fd5b60208401519092506001600160a01b03811681146100a257600080fd5b809150509250929050565b6101ee806100bc6000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c806251884a1461004557806321df0da71461006a578063beabacc814610095575b600080fd5b6000546040516bffffffffffffffffffffffff90911681526020015b60405180910390f35b600054600160601b90046001600160a01b03166040516001600160a01b039091168152602001610061565b6100a86100a3366004610153565b6100aa565b005b6000546040516323b872dd60e01b81526001600160a01b038581166004830152848116602483015260448201849052600160601b909204909116906323b872dd906064016020604051808303816000875af115801561010d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610131919061018f565b50505050565b80356001600160a01b038116811461014e57600080fd5b919050565b60008060006060848603121561016857600080fd5b61017184610137565b925061017f60208501610137565b9150604084013590509250925092565b6000602082840312156101a157600080fd5b815180151581146101b157600080fd5b939250505056fea26469706673582212201ec515f8f82ece5c4a44ff2e1931f73edc1b2505823f0d816b75fa10490bcc5b64736f6c63430008140033",
73
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100405760003560e01c806251884a1461004557806321df0da71461006a578063beabacc814610095575b600080fd5b6000546040516bffffffffffffffffffffffff90911681526020015b60405180910390f35b600054600160601b90046001600160a01b03166040516001600160a01b039091168152602001610061565b6100a86100a3366004610153565b6100aa565b005b6000546040516323b872dd60e01b81526001600160a01b038581166004830152848116602483015260448201849052600160601b909204909116906323b872dd906064016020604051808303816000875af115801561010d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610131919061018f565b50505050565b80356001600160a01b038116811461014e57600080fd5b919050565b60008060006060848603121561016857600080fd5b61017184610137565b925061017f60208501610137565b9150604084013590509250925092565b6000602082840312156101a157600080fd5b815180151581146101b157600080fd5b939250505056fea26469706673582212201ec515f8f82ece5c4a44ff2e1931f73edc1b2505823f0d816b75fa10490bcc5b64736f6c63430008140033",
74
74
  "linkReferences": {},
75
75
  "deployedLinkReferences": {}
76
76
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/ac8b1a0ba35c3a8a508882d70043ad3f.json"
3
+ "buildInfo": "../../../../../build-info/01797c1a22420f170e92428a4c013a0c.json"
4
4
  }