dkg 0.1.0b6__py3-none-any.whl → 1.0.0__py3-none-any.whl

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 (43) hide show
  1. dkg/asset.py +106 -28
  2. dkg/constants.py +13 -9
  3. dkg/data/interfaces/ContentAsset.json +133 -3
  4. dkg/data/interfaces/Paranet.json +821 -0
  5. dkg/data/interfaces/{Identity.json → ParanetIncentivesPoolFactory.json} +67 -86
  6. dkg/data/interfaces/ParanetKnowledgeMinersRegistry.json +919 -0
  7. dkg/data/interfaces/ParanetNeurowebIncentivesPool.json +1102 -0
  8. dkg/data/interfaces/{ServiceAgreementStorageV1.json → ParanetsRegistry.json} +331 -360
  9. dkg/dataclasses.py +28 -8
  10. dkg/main.py +6 -3
  11. dkg/method.py +55 -39
  12. dkg/module.py +1 -0
  13. dkg/network.py +20 -10
  14. dkg/paranet.py +477 -0
  15. dkg/providers/blockchain.py +57 -26
  16. dkg/types/__init__.py +1 -0
  17. dkg/types/general.py +44 -0
  18. dkg/utils/blockchain_request.py +149 -4
  19. dkg/utils/node_request.py +77 -80
  20. {dkg-0.1.0b6.dist-info → dkg-1.0.0.dist-info}/METADATA +3 -141
  21. dkg-1.0.0.dist-info/NOTICE +9 -0
  22. dkg-1.0.0.dist-info/RECORD +52 -0
  23. {dkg-0.1.0b6.dist-info → dkg-1.0.0.dist-info}/WHEEL +1 -1
  24. dkg/data/interfaces/Assertion.json +0 -157
  25. dkg/data/interfaces/CommitManagerV1.json +0 -549
  26. dkg/data/interfaces/CommitManagerV1U1.json +0 -735
  27. dkg/data/interfaces/HashingProxy.json +0 -253
  28. dkg/data/interfaces/IdentityStorage.json +0 -342
  29. dkg/data/interfaces/ParametersStorage.json +0 -487
  30. dkg/data/interfaces/Profile.json +0 -318
  31. dkg/data/interfaces/ProfileStorage.json +0 -596
  32. dkg/data/interfaces/ProofManagerV1.json +0 -540
  33. dkg/data/interfaces/ProofManagerV1U1.json +0 -561
  34. dkg/data/interfaces/ScoringProxy.json +0 -268
  35. dkg/data/interfaces/ServiceAgreementStorageV1U1.json +0 -1097
  36. dkg/data/interfaces/ServiceAgreementV1.json +0 -745
  37. dkg/data/interfaces/ShardingTable.json +0 -294
  38. dkg/data/interfaces/ShardingTableStorage.json +0 -317
  39. dkg/data/interfaces/Staking.json +0 -482
  40. dkg/data/interfaces/StakingStorage.json +0 -407
  41. dkg/data/interfaces/WhitelistStorage.json +0 -124
  42. dkg-0.1.0b6.dist-info/RECORD +0 -64
  43. {dkg-0.1.0b6.dist-info → dkg-1.0.0.dist-info}/LICENSE +0 -0
@@ -18,6 +18,7 @@
18
18
  from dataclasses import dataclass, field
19
19
  from typing import Type
20
20
 
21
+ from dkg.dataclasses import ParanetIncentivizationType
21
22
  from dkg.types import Address, HexStr, Wei
22
23
 
23
24
 
@@ -29,10 +30,16 @@ class JSONRPCRequest:
29
30
 
30
31
  @dataclass
31
32
  class ContractInteraction:
32
- contract: str
33
- function: str
33
+ contract: str | None = None
34
+ function: str = field(default_factory=str)
34
35
  args: dict[str, Type] = field(default_factory=dict)
35
36
 
37
+ def __post_init__(self):
38
+ if not self.function:
39
+ raise ValueError(
40
+ "'function' is a required field and cannot be None or empty"
41
+ )
42
+
36
43
 
37
44
  @dataclass
38
45
  class ContractTransaction(ContractInteraction):
@@ -154,11 +161,149 @@ class BlockchainRequest:
154
161
  get_service_agreement_data = ContractCall(
155
162
  contract="ServiceAgreementStorageProxy",
156
163
  function="getAgreementData",
157
- args={"agreementId": HexStr},
164
+ args={"agreementId": bytes | HexStr},
158
165
  )
159
166
 
160
167
  get_assertion_size = ContractCall(
161
168
  contract="AssertionStorage",
162
169
  function="getAssertionSize",
163
- args={"assertionId": HexStr},
170
+ args={"assertionId": bytes | HexStr},
171
+ )
172
+
173
+ # Paranets
174
+ register_paranet = ContractTransaction(
175
+ contract="Paranet",
176
+ function="registerParanet",
177
+ args={
178
+ "paranetKAStorageContract": Address,
179
+ "paranetKATokenId": int,
180
+ "paranetName": str,
181
+ "paranetDescription": str,
182
+ },
183
+ )
184
+ add_paranet_services = ContractTransaction(
185
+ contract="Paranet",
186
+ function="addParanetServices",
187
+ args={
188
+ "paranetKAStorageContract": Address,
189
+ "paranetKATokenId": int,
190
+ "services": dict[str, Address | int],
191
+ },
192
+ )
193
+ register_paranet_service = ContractTransaction(
194
+ contract="Paranet",
195
+ function="registerParanetService",
196
+ args={
197
+ "paranetServiceKAStorageContract": Address,
198
+ "paranetServiceKATokenId": int,
199
+ "paranetServiceName": str,
200
+ "paranetServiceDescription": str,
201
+ "paranetServiceAddresses": list[Address],
202
+ },
203
+ )
204
+ mint_knowledge_asset = ContractTransaction(
205
+ contract="Paranet",
206
+ function="mintKnowledgeAsset",
207
+ args={
208
+ "paranetKAStorageContract": Address,
209
+ "paranetKATokenId": int,
210
+ "knowledgeAssetArgs": dict[str, bytes | int | Wei | bool],
211
+ },
212
+ )
213
+ submit_knowledge_asset = ContractTransaction(
214
+ contract="Paranet",
215
+ function="submitKnowledgeAsset",
216
+ args={
217
+ "paranetKAStorageContract": Address,
218
+ "paranetKATokenId": int,
219
+ "knowledgeAssetStorageContract": Address,
220
+ "knowledgeAssetTokenId": int,
221
+ },
222
+ )
223
+
224
+ deploy_neuro_incentives_pool = ContractTransaction(
225
+ contract="ParanetIncentivesPoolFactory",
226
+ function="deployNeuroIncentivesPool",
227
+ args={
228
+ "paranetKAStorageContract": Address,
229
+ "paranetKATokenId": int,
230
+ "tracToNeuroEmissionMultiplier": float,
231
+ "paranetOperatorRewardPercentage": float,
232
+ "paranetIncentivizationProposalVotersRewardPercentage": float,
233
+ },
234
+ )
235
+ get_incentives_pool_address = ContractCall(
236
+ contract="ParanetsRegistry",
237
+ function="getIncentivesPoolAddress",
238
+ args={
239
+ "paranetId": HexStr,
240
+ "incentivesPoolType": ParanetIncentivizationType,
241
+ },
242
+ )
243
+
244
+ get_updating_knowledge_asset_states = ContractCall(
245
+ contract="ParanetKnowledgeMinersRegistry",
246
+ function="getUpdatingKnowledgeAssetStates",
247
+ args={
248
+ "miner": Address,
249
+ "paranetId": HexStr,
250
+ },
251
+ )
252
+ process_updated_knowledge_asset_states_metadata = ContractTransaction(
253
+ contract="Paranet",
254
+ function="processUpdatedKnowledgeAssetStatesMetadata",
255
+ args={
256
+ "paranetKAStorageContract": Address,
257
+ "paranetKATokenId": int,
258
+ "start": int,
259
+ "end": int,
260
+ },
261
+ )
262
+
263
+ is_knowledge_miner_registered = ContractCall(
264
+ contract="ParanetsRegistry",
265
+ function="isKnowledgeMinerRegistered",
266
+ args={
267
+ "paranetId": HexStr,
268
+ "knowledgeMinerAddress": Address,
269
+ },
270
+ )
271
+ is_proposal_voter = ContractCall(
272
+ function="isProposalVoter",
273
+ args={"addr": Address},
274
+ )
275
+
276
+ get_claimable_knowledge_miner_reward_amount = ContractCall(
277
+ function="getClaimableKnowledgeMinerRewardAmount",
278
+ args={},
279
+ )
280
+ get_claimable_all_knowledge_miners_reward_amount = ContractCall(
281
+ function="getClaimableAllKnowledgeMinersRewardAmount",
282
+ args={},
283
+ )
284
+ claim_knowledge_miner_reward = ContractTransaction(
285
+ function="claimKnowledgeMinerReward",
286
+ args={},
287
+ )
288
+
289
+ get_claimable_paranet_operator_reward_amount = ContractCall(
290
+ function="getClaimableParanetOperatorRewardAmount",
291
+ args={},
292
+ )
293
+ claim_paranet_operator_reward = ContractTransaction(
294
+ function="claimParanetOperatorReward",
295
+ args={},
296
+ )
297
+
298
+ get_claimable_proposal_voter_reward_amount = ContractCall(
299
+ function="getClaimableProposalVoterRewardAmount",
300
+ args={},
301
+ )
302
+ get_claimable_all_proposal_voters_reward_amount = ContractCall(
303
+ function="getClaimableAllProposalVotersRewardAmount",
304
+ args={},
305
+ )
306
+ claim_incentivization_proposal_voter_reward = ContractTransaction(
307
+ function="claimIncentivizationProposalVoterReward",
308
+ args={},
164
309
  )
dkg/utils/node_request.py CHANGED
@@ -16,12 +16,12 @@
16
16
  # under the License.
17
17
 
18
18
  from dataclasses import dataclass, field
19
- from enum import Enum
19
+ from enum import auto, Enum
20
20
  from typing import Any, Type
21
21
 
22
- from dkg.dataclasses import HTTPRequestMethod
22
+ from dkg.dataclasses import BidSuggestionRange, HTTPRequestMethod
23
23
  from dkg.exceptions import OperationFailed, OperationNotFinished
24
- from dkg.types import UAL, Address, DataHexStr, NQuads
24
+ from dkg.types import AutoStrEnumUpperCase, UAL, Address, DataHexStr, NQuads
25
25
 
26
26
 
27
27
  @dataclass
@@ -44,6 +44,7 @@ class NodeRequest:
44
44
  "contentAssetStorageAddress": Address,
45
45
  "firstAssertionId": DataHexStr,
46
46
  "hashFunctionId": int,
47
+ "bidSuggestionRange": BidSuggestionRange,
47
48
  },
48
49
  )
49
50
  get_operation_result = NodeCall(
@@ -92,86 +93,82 @@ class NodeRequest:
92
93
  )
93
94
 
94
95
 
95
- class LocalStoreOperationStatus(Enum):
96
- LOCAL_STORE_INIT_START = "LOCAL_STORE_INIT_START"
97
- LOCAL_STORE_INIT_END = "LOCAL_STORE_INIT_END"
98
- LOCAL_STORE_START = "LOCAL_STORE_START"
99
- LOCAL_STORE_END = "LOCAL_STORE_END"
96
+ class LocalStoreOperationStatus(AutoStrEnumUpperCase):
97
+ LOCAL_STORE_INIT_START = auto()
98
+ LOCAL_STORE_INIT_END = auto()
99
+ LOCAL_STORE_START = auto()
100
+ LOCAL_STORE_END = auto()
100
101
 
101
102
 
102
103
  class PublishOperationStatus(Enum):
103
- VALIDATING_PUBLISH_ASSERTION_REMOTE_START = (
104
- "VALIDATING_PUBLISH_ASSERTION_REMOTE_START"
105
- )
106
- VALIDATING_PUBLISH_ASSERTION_REMOTE_END = "VALIDATING_PUBLISH_ASSERTION_REMOTE_END"
107
- INSERTING_ASSERTION = "INSERTING_ASSERTION"
108
- PUBLISHING_ASSERTION = "PUBLISHING_ASSERTION"
109
- PUBLISH_START = "PUBLISH_START"
110
- PUBLISH_INIT_START = "PUBLISH_INIT_START"
111
- PUBLISH_INIT_END = "PUBLISH_INIT_END"
112
- PUBLISH_LOCAL_STORE_START = "PUBLISH_LOCAL_STORE_START"
113
- PUBLISH_LOCAL_STORE_END = "PUBLISH_LOCAL_STORE_END"
114
- PUBLISH_REPLICATE_START = "PUBLISH_REPLICATE_START"
115
- PUBLISH_REPLICATE_END = "PUBLISH_REPLICATE_END"
116
- PUBLISH_END = "PUBLISH_END"
117
-
118
-
119
- class UpdateOperationStatus(Enum):
120
- UPDATE_START = "UPDATE_START"
121
- UPDATE_INIT_START = "UPDATE_INIT_START"
122
- UPDATE_INIT_END = "UPDATE_INIT_END"
123
- UPDATE_REPLICATE_START = "UPDATE_REPLICATE_START"
124
- UPDATE_REPLICATE_END = "UPDATE_REPLICATE_END"
125
- VALIDATING_UPDATE_ASSERTION_REMOTE_START = (
126
- "VALIDATING_UPDATE_ASSERTION_REMOTE_START"
127
- )
128
- VALIDATING_UPDATE_ASSERTION_REMOTE_END = "VALIDATING_UPDATE_ASSERTION_REMOTE_END"
129
- UPDATE_END = "UPDATE_END"
130
-
131
-
132
- class StoreTypes(Enum):
133
- TRIPLE = "TRIPLE"
134
- PENDING = "PENDING"
135
-
136
-
137
- class GetOperationStatus(Enum):
138
- ASSERTION_EXISTS_LOCAL_START = "ASSERTION_EXISTS_LOCAL_START"
139
- ASSERTION_EXISTS_LOCAL_END = "ASSERTION_EXISTS_LOCAL_END"
140
- GET_START = "GET_START"
141
- GET_INIT_START = "GET_INIT_START"
142
- GET_INIT_END = "GET_INIT_END"
143
- GET_LOCAL_START = "GET_LOCAL_START"
144
- GET_LOCAL_END = "GET_LOCAL_END"
145
- GET_REMOTE_START = "GET_REMOTE_START"
146
- GET_REMOTE_END = "GET_REMOTE_END"
147
- GET_FETCH_FROM_NODES_START = "GET_FETCH_FROM_NODES_START"
148
- GET_FETCH_FROM_NODES_END = "GET_FETCH_FROM_NODES_END"
149
- GET_END = "GET_END"
150
-
151
-
152
- class QueryOperationStatus(Enum):
153
- QUERY_INIT_START = "QUERY_INIT_START"
154
- QUERY_INIT_END = "QUERY_INIT_END"
155
- QUERY_START = "QUERY_START"
156
- QUERY_END = "QUERY_END"
157
-
158
-
159
- class OperationStatus(Enum):
160
- PENDING = "PENDING"
161
- FAILED = "FAILED"
162
- COMPLETED = "COMPLETED"
163
- FIND_NODES_START = "FIND_NODES_START"
164
- FIND_NODES_END = "FIND_NODES_END"
165
- FIND_NODES_LOCAL_START = "FIND_NODES_LOCAL_START"
166
- FIND_NODES_LOCAL_END = "FIND_NODES_LOCAL_END"
167
- FIND_NODES_OPEN_CONNECTION_START = "FIND_NODES_OPEN_CONNECTION_START"
168
- FIND_NODES_OPEN_CONNECTION_END = "FIND_NODES_OPEN_CONNECTION_END"
169
- FIND_NODES_CREATE_STREAM_START = "FIND_NODES_CREATE_STREAM_START"
170
- FIND_NODES_CREATE_STREAM_END = "FIND_NODES_CREATE_STREAM_END"
171
- FIND_NODES_SEND_MESSAGE_START = "FIND_NODES_SEND_MESSAGE_START"
172
- FIND_NODES_SEND_MESSAGE_END = "FIND_NODES_SEND_MESSAGE_END"
173
- DIAL_PROTOCOL_START = "DIAL_PROTOCOL_START"
174
- DIAL_PROTOCOL_END = "DIAL_PROTOCOL_END"
104
+ VALIDATING_PUBLISH_ASSERTION_REMOTE_START = auto()
105
+ VALIDATING_PUBLISH_ASSERTION_REMOTE_END = auto()
106
+ INSERTING_ASSERTION = auto()
107
+ PUBLISHING_ASSERTION = auto()
108
+ PUBLISH_START = auto()
109
+ PUBLISH_INIT_START = auto()
110
+ PUBLISH_INIT_END = auto()
111
+ PUBLISH_LOCAL_STORE_START = auto()
112
+ PUBLISH_LOCAL_STORE_END = auto()
113
+ PUBLISH_REPLICATE_START = auto()
114
+ PUBLISH_REPLICATE_END = auto()
115
+ PUBLISH_END = auto()
116
+
117
+
118
+ class UpdateOperationStatus(AutoStrEnumUpperCase):
119
+ UPDATE_START = auto()
120
+ UPDATE_INIT_START = auto()
121
+ UPDATE_INIT_END = auto()
122
+ UPDATE_REPLICATE_START = auto()
123
+ UPDATE_REPLICATE_END = auto()
124
+ VALIDATING_UPDATE_ASSERTION_REMOTE_START = auto()
125
+ VALIDATING_UPDATE_ASSERTION_REMOTE_END = auto()
126
+ UPDATE_END = auto()
127
+
128
+
129
+ class StoreTypes(AutoStrEnumUpperCase):
130
+ TRIPLE = auto()
131
+ PENDING = auto()
132
+
133
+
134
+ class GetOperationStatus(AutoStrEnumUpperCase):
135
+ ASSERTION_EXISTS_LOCAL_START = auto()
136
+ ASSERTION_EXISTS_LOCAL_END = auto()
137
+ GET_START = auto()
138
+ GET_INIT_START = auto()
139
+ GET_INIT_END = auto()
140
+ GET_LOCAL_START = auto()
141
+ GET_LOCAL_END = auto()
142
+ GET_REMOTE_START = auto()
143
+ GET_REMOTE_END = auto()
144
+ GET_FETCH_FROM_NODES_START = auto()
145
+ GET_FETCH_FROM_NODES_END = auto()
146
+ GET_END = auto()
147
+
148
+
149
+ class QueryOperationStatus(AutoStrEnumUpperCase):
150
+ QUERY_INIT_START = auto()
151
+ QUERY_INIT_END = auto()
152
+ QUERY_START = auto()
153
+ QUERY_END = auto()
154
+
155
+
156
+ class OperationStatus(AutoStrEnumUpperCase):
157
+ PENDING = auto()
158
+ FAILED = auto()
159
+ COMPLETED = auto()
160
+ FIND_NODES_START = auto()
161
+ FIND_NODES_END = auto()
162
+ FIND_NODES_LOCAL_START = auto()
163
+ FIND_NODES_LOCAL_END = auto()
164
+ FIND_NODES_OPEN_CONNECTION_START = auto()
165
+ FIND_NODES_OPEN_CONNECTION_END = auto()
166
+ FIND_NODES_CREATE_STREAM_START = auto()
167
+ FIND_NODES_CREATE_STREAM_END = auto()
168
+ FIND_NODES_SEND_MESSAGE_START = auto()
169
+ FIND_NODES_SEND_MESSAGE_END = auto()
170
+ DIAL_PROTOCOL_START = auto()
171
+ DIAL_PROTOCOL_END = auto()
175
172
  LOCAL_STORE = LocalStoreOperationStatus
176
173
  PUBLISH = PublishOperationStatus
177
174
  UPDATE = UpdateOperationStatus
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkg
3
- Version: 0.1.0b6
3
+ Version: 1.0.0
4
4
  Summary: Python library for interacting with the OriginTrail Decentralized Knowledge Graph
5
5
  License: Apache-2.0
6
6
  Author: Uladzislau Hubar
@@ -10,6 +10,7 @@ Classifier: License :: OSI Approved :: Apache Software License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
13
14
  Requires-Dist: eth-abi (>=5.0.1,<6.0.0)
14
15
  Requires-Dist: eth-account (>=0.11.0,<0.12.0)
15
16
  Requires-Dist: hexbytes (>=0.3.0,<0.4.0)
@@ -17,7 +18,7 @@ Requires-Dist: ot-pyld (>=2.1.1,<3.0.0)
17
18
  Requires-Dist: pandas (>=1.5.3,<2.0.0)
18
19
  Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
19
20
  Requires-Dist: rdflib (>=6.3.2,<7.0.0)
20
- Requires-Dist: web3 (>=6.15.1,<7.0.0)
21
+ Requires-Dist: web3 (>=6.19.0,<7.0.0)
21
22
  Description-Content-Type: text/markdown
22
23
 
23
24
  <a name="readme-top"></a>
@@ -45,23 +46,6 @@ ___
45
46
  </p>
46
47
  </div>
47
48
 
48
- </br>
49
-
50
- > **Disclaimer: Beta Version**
51
- >
52
- > Welcome to the beta version of our client! This software is currently in the beta testing phase, which means it is not the final release version. As a beta version, it may still contain bugs, undergo frequent updates, and have limited features.
53
- Important Points to Note:
54
-
55
- > **Use at Your Own Risk:** While we have made efforts to ensure the stability and reliability of the beta version, there is a possibility of encountering unexpected issues. Please use this software at your own risk.
56
-
57
- > **Limited Support:** As this is a beta release, our support resources may be focused on addressing critical bugs and gathering feedback from users. Therefore, support for beta versions may be limited compared to our stable releases.
58
-
59
- > **Feedback Appreciated:** Your feedback is invaluable to us. If you encounter any issues, have suggestions, or want to share your experiences with the beta version, please let us know. Your feedback will help us improve the software for the final release.
60
-
61
- > **Not for Production Use:** The beta version is intended for testing and evaluation purposes only. It is not recommended for use in a production environment where stability and reliability are crucial.
62
-
63
- </br>
64
-
65
49
  <details open>
66
50
  <summary>
67
51
  <b>Table of Contents</b>
@@ -82,17 +66,6 @@ Important Points to Note:
82
66
  <li><a href="#installation">Installation</a></li>
83
67
  </ul>
84
68
  </li>
85
- <li>
86
- <a href="#📜-roadmap">📜 Roadmap</a>
87
- <ul>
88
- <li><a href="#1️⃣-pre-development-phase">1️⃣ Pre-development Phase</a></li>
89
- <li><a href="#2️⃣-development-phase">2️⃣ Development Phase</a></li>
90
- <li><a href="#3️⃣-documentation-phase">3️⃣ Documentation Phase</a></li>
91
- <li><a href="#4️⃣-pre-release-phase">4️⃣ Pre-release Phase</a></li>
92
- <li><a href="#5️⃣-release">5️⃣ Release</a></li>
93
- <li><a href="#6️⃣-post-release">6️⃣ Post-release</a></li>
94
- </ul>
95
- </li>
96
69
  <li><a href="#📄-license">📄 License</a></li>
97
70
  <li><a href="#🤝-contributing">🤝 Contributing</a></li>
98
71
  <li><a href="#❤️-thanks-to-all-contributors">❤️ Contributors</a></li>
@@ -243,117 +216,6 @@ python3 examples/demo.py
243
216
  <br/>
244
217
  <p align="right">(<a href="#readme-top">back to top</a>)</p>
245
218
 
246
- ## 📜 Roadmap
247
-
248
- This roadmap outlines the goals for the first major release of the `dkg.py`. Each section represents a stage in the development process and the features we plan to implement.
249
-
250
- <details open>
251
- <summary>
252
-
253
- ### 1️⃣ Pre-development Phase
254
-
255
- </summary>
256
-
257
- - [x] **Requirement Analysis and Planning**
258
- - [x] Define the project's scope
259
- - [x] Identify the core functionalities
260
-
261
- - [x] **Design**
262
- - [x] Plan the library's architecture
263
- - [x] Establish coding standards
264
-
265
- - [ ] **Setup Development Environment**
266
- - [x] Setup development, testing and production environments
267
- - [ ] Add pytest config
268
- - [ ] Add mypy config
269
- - [ ] Add tox config ?
270
- - [ ] Setup Continuous Integration (CI) and Continuous Deployment (CD) pipeline
271
- </details>
272
-
273
- <details open>
274
- <summary>
275
-
276
- ### 2️⃣ Development Phase
277
- </summary>
278
-
279
- | Feature | Status | Tests coverage |
280
- |:-:|:-:|:-:|
281
- | Get Allowance | 🟩 Completed | ❌ |
282
- | Set Allowance | 🟩 Completed | ❌ |
283
- | Increase Allowance | 🟩 Completed | ❌ |
284
- | Decrease Allowance | 🟩 Completed | ❌ |
285
- | Get Bid Suggestion | 🟩 Completed | ❌ |
286
- | Create | 🟩 Completed | ❌ |
287
- | Transfer | 🟩 Completed | ❌ |
288
- | Update | 🟩 Completed | ❌ |
289
- | Wait for finalization | 🟥 Not Started | ❌ |
290
- | Cancel update | 🟩 Completed | ❌ |
291
- | Burn | 🟩 Completed | ❌ |
292
- | Get | 🟩 Completed | ❌ |
293
- | Query | 🟩 Completed | ❌ |
294
- | Extend storing period | 🟩 Completed | ❌ |
295
- | Add tokens | 🟩 Completed | ❌ |
296
- | Add update tokens | 🟩 Completed | ❌ |
297
- | Get owner | 🟩 Completed | ❌ |
298
- | Experimental | 🟥 Not Started | ❌ |
299
- </details>
300
-
301
- <details open>
302
- <summary>
303
-
304
- ### 3️⃣ Documentation Phase
305
- </summary>
306
-
307
- - [ ] Write comprehensive documentation
308
- - [x] Provide examples and use-cases
309
- - [ ] Review and finalize documentation
310
- </details>
311
-
312
- <details open>
313
- <summary>
314
-
315
- ### 4️⃣ Pre-release Phase
316
- </summary>
317
-
318
- - [ ] **Beta Release**
319
- - [X] Release a beta version for testing
320
- - [ ] Gather and address feedback
321
-
322
- - **Bug Fixes**
323
- - Identify and fix bugs
324
-
325
- - [ ] **Final Testing and QA**
326
- - [ ] Perform comprehensive testing
327
- - [ ] Ensure the library meets quality standards
328
- </details>
329
-
330
- <details open>
331
- <summary>
332
-
333
- ### 5️⃣ Release
334
- </summary>
335
-
336
- - [ ] Merge the first version into the main branch
337
- - [ ] Release the v1.0.0 of the `dkg.py` library
338
- </details>
339
-
340
- <details open>
341
- <summary>
342
-
343
- ### 6️⃣ Post-release
344
- </summary>
345
-
346
- - Monitor for any issues
347
- - Plan for next versions based on user feedback and usage
348
- </details>
349
-
350
- <br/>
351
-
352
- **Note:** This roadmap is subject to changes. Each step will be accompanied by appropriate documentation, testing and code review to maintain the quality of the library.
353
-
354
- <br/>
355
- <p align="right">(<a href="#readme-top">back to top</a>)</p>
356
-
357
219
  ## 📄 License
358
220
 
359
221
  Distributed under the Apache-2.0 License. See `LICENSE` file for more information.
@@ -0,0 +1,9 @@
1
+ OriginTrail dkg.py
2
+ Copyright 2023 Trace Labs
3
+
4
+ This product includes software developed at
5
+ Trace Labs (https://tracelabs.io/).
6
+
7
+ The Initial Developer of some parts of the framework, which are copied from, derived from, or
8
+ inspired by web3.py, is The Ethereum Foundation (https://ethereum.foundation/).
9
+ Copyright 2016 - 2023 The Ethereum Foundation. All Rights Reserved.
@@ -0,0 +1,52 @@
1
+ dkg/__init__.py,sha256=2pZEIrpDODunXXZmcLuKLWUrTrWLlYj10f11VzK5oLs,108
2
+ dkg/assertion.py,sha256=Sp7mqLHuR588CRZ5JpMVDS2U0yOcwg-qbBl4xYOtRH8,2490
3
+ dkg/asset.py,sha256=B0P-gu6zQM91dTV3Zdl8k-MoFtROoFjvEKsqFxIFMoc,36718
4
+ dkg/constants.py,sha256=p-63CS0T6Jp7Mcn-R7a1nbrm4xxEPyyJIa0oykfo4uw,3506
5
+ dkg/data/interfaces/AssertionStorage.json,sha256=WNvimMROngLiDmu4t-mn9wNDPPvrvEOkMYFfF8ayui4,4346
6
+ dkg/data/interfaces/ContentAsset.json,sha256=pLyn7H7D0NuDsxRKFGInENP1gp-sMXmrhSsyy5j14aI,16325
7
+ dkg/data/interfaces/ContentAssetStorage.json,sha256=08TVURiV1t_oCUIp35mvQTEtJfU6FKCUxMD3xo5tHKU,14579
8
+ dkg/data/interfaces/Hub.json,sha256=uGWm4iS32qSMWV2HPPTaeOae4DuQUlVWfVUdJve0K38,6904
9
+ dkg/data/interfaces/Paranet.json,sha256=2h9yRYMmfI75_zmmJeu_Z43g685jQT6SJOyn_iE5Nf4,17634
10
+ dkg/data/interfaces/ParanetIncentivesPoolFactory.json,sha256=NproHkeL32nrYJnQfmkAkKotIprnQ-aZfUEMlcE0HgM,3998
11
+ dkg/data/interfaces/ParanetKnowledgeMinersRegistry.json,sha256=vwFOzi7yZMb4kecCe-DGImIPSVWLVX0dDTekMOdPE2E,18897
12
+ dkg/data/interfaces/ParanetNeurowebIncentivesPool.json,sha256=wB5ERWn3zbMuud6vEnS21MPd0wzmK5Xb7NMEQRasvIY,21970
13
+ dkg/data/interfaces/ParanetsRegistry.json,sha256=NBk7WxnluNUDe8nALwHllJuRA2f7JqQn8aYprGP8H7U,17155
14
+ dkg/data/interfaces/ServiceAgreementStorageProxy.json,sha256=QOBRUc1mFp7I4BeJfSctsuVBygRc7dGYKqb4ApMoCL0,26028
15
+ dkg/data/interfaces/Token.json,sha256=vvTgWTyhjMa5Q-v7fOM4zVH5m_TVdahP14JQMk9gzxw,10912
16
+ dkg/data/interfaces/UnfinalizedStateStorage.json,sha256=5muoK6W1_CyHjfHWLvl53TpEChnOPP5EBbUfhZE9QbI,3086
17
+ dkg/dataclasses.py,sha256=CpF2Yu5ayJpkJZMlMtJUCjc9TK_Af7rhMG2OVgw9PqI,1752
18
+ dkg/exceptions.py,sha256=7KUn4C8_3jQBo1xOb_2fmtFn_748jis-MKjxv-z3W_4,3754
19
+ dkg/graph.py,sha256=YVMjJ2BA7KgNxXKammRTRLQtHBsWwY_dqzs_4-seFB0,2248
20
+ dkg/main.py,sha256=QX3QFvU_HLfj4WrAleguCMLGvDkzDSZegcZkjCeequs,2857
21
+ dkg/manager.py,sha256=cT0dgkpOVphfodzO9ncXZxNu26zet6ED5XfIXORpLog,2627
22
+ dkg/method.py,sha256=E14K2UWe7lfnuwOIWW5AQSqJfmgjZ6jdn0YeX88qnWc,5415
23
+ dkg/module.py,sha256=Nh9IYLOqJKURf_1dYGFGlis7G-xOg9wwL2wzDAm5Yfw,2566
24
+ dkg/network.py,sha256=MjVIWiGLBROXq4uANM_CmFN7x-K7mUg1VpU5Gj1n5_A,2165
25
+ dkg/node.py,sha256=qKPVDfB2DpGP1k5hCNAqtzghu8f1Tsr9OAl2f1a2Bqg,1212
26
+ dkg/paranet.py,sha256=OsRKlIFv7DD5jTUKslxmy49SORS21yXK4jsmhqjZYI4,16872
27
+ dkg/providers/__init__.py,sha256=Z3Wp3ap4U4mnFgMQx8A-oyUdUAKrl3WKxGLYX15aj4s,99
28
+ dkg/providers/blockchain.py,sha256=PBnyCjCMIMKYEOFqQ38MZ-kNARyGZjDHx8FIk7G7_yg,11128
29
+ dkg/providers/node_http.py,sha256=9pxUiIRDKlGMNHOqP0SJO178B9MkBekfMJyePVSXOFA,2393
30
+ dkg/types/__init__.py,sha256=moFFBT-0POVOZShfLPUOZDCVwPhJW9P2ic7SmB3-6TM,550
31
+ dkg/types/blockchain.py,sha256=hsBpFLgpcEmgODLK0g_cUW1AB69ZZYeX4AcW6wpAMtA,1682
32
+ dkg/types/dkg_node.py,sha256=uGjaYUO4D55sHJrL_3aOL3Nul3RlAo_aL4HLoSrQxr0,838
33
+ dkg/types/encoding.py,sha256=gOtt9XLoxs6TE7rOCrAx-aCOdsDdaTVn3bxu9HPavxc,915
34
+ dkg/types/evm.py,sha256=gN2hSq4MQzobWE3YAiTZPcv5b65AVyUEQut8hWPnx68,971
35
+ dkg/types/general.py,sha256=-8WIDfHdPkXFekWX419k4IZkvbSWpY7xffJh6zUtnw8,1511
36
+ dkg/types/generics.py,sha256=9ZGFGWp4eN_5bGaWF6COtFMh228ZghjU1CmUok0fuds,907
37
+ dkg/types/network.py,sha256=htNZ00Vrb-wMcR4_XI1tn_-0uVjDqcW7hhdHyjbyq1g,838
38
+ dkg/types/rdf.py,sha256=qm1l7pqTLWBlSmaoQhmBg2qKS16eF83IcOnxuYPdiv8,851
39
+ dkg/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ dkg/utils/blockchain_request.py,sha256=Br-rKoUC6wsiKLVX0GtQevWnAA5QjW62OGBsrps3r0k,9743
41
+ dkg/utils/decorators.py,sha256=uUh0xI9wv1gE6JF44eYEfUPGSFEBLR6Ua5D9Dhc3s10,1566
42
+ dkg/utils/merkle.py,sha256=kyKawNUixQy02iQZgLDMsOpqWebTE_lI1VWiPKyhdvI,5135
43
+ dkg/utils/metadata.py,sha256=483OroYwGNfZ_cCXfH3-xUrZgiR4mjjo9iU_Ie5RYRs,1658
44
+ dkg/utils/node_request.py,sha256=UhP44qI4wJtzpOfCjDY7LCmppOTjT3QcZmKu778dipo,6009
45
+ dkg/utils/rdf.py,sha256=FF4O4JOftiFVxjr6k8TmxYBcB7dVbpnDOMWk8BvTBRE,2860
46
+ dkg/utils/string_transformations.py,sha256=UtoXbuy4Y0ontbX6l9HwcrZ9tEXJEith00hW7pz4sKg,971
47
+ dkg/utils/ual.py,sha256=g7PFyS4Sbwjmwkq-eB20uRULEC2wlPGZr31BVQjs5OQ,1569
48
+ dkg-1.0.0.dist-info/LICENSE,sha256=Dr70w2zcW8-jrPGlpTTTlJPL8lR4j2zpDD32tdEFgjY,11375
49
+ dkg-1.0.0.dist-info/METADATA,sha256=2VoYbNolHHIQBk4rnS1FwGrMuF9Xua85_9JS1gt2IDk,10606
50
+ dkg-1.0.0.dist-info/NOTICE,sha256=Rk5toFR2ZqPwVZ3P_P4wE6U1xCnWR9KD3rNBqfPY7h8,368
51
+ dkg-1.0.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
52
+ dkg-1.0.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.7.0
2
+ Generator: poetry-core 1.9.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any