-
EntityCreated(address owner, bytes32 entityType, bytes32 entityId, bytes32 ipfs)
-
EntityArchived(address owner, bytes32 entityType, bytes32 entityId);
-
LogCreated(bytes32 project, bytes32 workspace, bytes32 job, uint timestamp, bytes32 channel, string payload);
-
MetricCreated(address user, bytes32 project, bytes32 workspace, bytes32 job, uint timestamp, bytes32 key, bytes32 value);
-
WorkspaceCreated(uint timestamp, address user, bytes32 project);
Create model without duplicates
- model_id name of the thing to create
- ipfs address where thing is stored
- stored_as how to store thing 0:str, 1:bytes, 2:pyobj
- @return bool - success or fail
Create model (without duplicates). Returns true
on success or false
on failure.
-
Method:
registry:createModel
-
Params
Required:
model_id=[bytes32]
ipfs_address=[bytes32]
stores_as=[uint]
bounty=[uint]
current_error=[uint]
target_error=uint
-
Data Params
None
-
Success Response:
- Code:
true
Content:ipfs_address=[bytes32]
- Code:
-
Error Response:
{
ErrorCode: 1 MODEL ALREADY EXISTS
Content:
{ error : "Model already exists" }
}
-
Events:
Created(ipfs_address, msg.sender);
-
Sample Call:
createModel('model_4', '0x2345', '0', '100', '100', '10');
Create challenge for an existing model. Returns the unique id of the challenge created, or 0x0 on failure.
-
Method:
registry:createChallenge
-
Params
Required:
model_id=[bytes32]
ipfs_address=[bytes32]
-
Data Params
None
-
Success Response:
- Code: 200
Content:ipfs_address=[bytes32]
- Code: 200
-
Error Response:
- ErrorCode: 2 MODEL NOT FOUND
Content:{ error : "Model doesn't exist" }
- ErrorCode: 2 MODEL NOT FOUND
-
Events:
Created(ipfs_address, msg.sender);
-
Sample Call:
createChallenge('0xabcd', '0x123456');
Returns the number of unique models in the registry.
-
Method:
registry:getNumberOfModels
-
Params
None
-
Success Response:
Content:
num_models=[uint]
-
Sample Call:
getNumberOfModels();
Get number of challenges ---- Returns the number of challenges of an existing model.
-
Method:
registry:getNumberOfChallenges
-
Params
Required:
`model_id=[bytes32]`
-
Data Params
None
-
Success Response:
- Code: 200
Content:num_challenges=[uint]
- Code: 200
-
Error Response:
- ErrorCode: 2 MODEL NOT FOUND
Content:{ error : "Model doesn't exist" }
- ErrorCode: 2 MODEL NOT FOUND
-
Event:
None
-
Sample Call:
getNumberOfChallenges('0xabcd')
Get model
----
Get all fields of model with model_id
.
-
Method:
registry:getModel
-
Params
Required:
model_id=[bytes32]
-
Data Params
None
-
Success Response:
-
Code: 200
Content:ownerAddress=[address], ipfsAddress=[bytes32], storedAs=[uint], bounty=[uint], currentError=[uint], targetError=[uint], isValid=[bool]`
-
-
Error Response:
-
ErrorCode: 2 MODEL NOT FOUND
Content:
{ error : "Model doesn't exist" }
-
-
Events:
None
-
Sample Call:
const model_1 = getModel('0xabcd');
Get Challenge
----
Get all fields of challenge with challenge_hash
.
-
Method:
registry:getChallenge
-
Params
Required:
challenge_hash=[bytes32]
-
Data Params
None
-
-
Success Response:
- Code: 200
Content: model_identity=[bytes32], verifier_address=[address], ipfs_address=[bytes32], error_metric=[uint], is_active=[bool], validator_address=[bytes32]
- Code: 200
-
Error Response:
- ErrorCode: 2 MODEL NOT FOUND
Content:{ error : "Challenge doesn't exist" }
- ErrorCode: 2 MODEL NOT FOUND
-
Event:
None
-
Sample Call:
const challenge_1 = getChallenge('0x123456');
Get model challenges ---- Get all challenge ids of the model passed as parameter.
-
Method:
registry:getModelChallenges
-
Params
Required:
model_id=[bytes32]
-
Data Params
None
-
-
Success Response:
-
Code: 200
Content:list of challenge hashes =[bytes32[]],
-
Error Response:
- ErrorCode: 2 MODEL NOT FOUND
Content:{ error : "Model doesn't exist" }
- ErrorCode: 2 MODEL NOT FOUND
-
Event:
None
- Sample Call:
var challenges_1 = getModelChallenges('0xabcd');
Delete model with model_id
from registry.
Warning All challenges associated to model_id
will be deleted too.
-
Method:
registry:deleteModel
-
Params
Required:
model_id=[bytes32]
-
Data Params
None
-
-
Success Response:
-
Content:
success=[bool],
-
Error Response:
-
ErrorCode: 2 MODEL NOT FOUND
Content:{ error : "Model doesn't exist" }
-
ErrorCode: 3 NOT AUTHORIZED
Content:{ error : "Not authorized error" }
-
-
-
Event:
Deleted(model_id);
-
Sample Call:
deleteModel('0xabcd');
Delete challenge
----
Delete challenge with challenge_hash
from registry
-
Method:
registry:deleteChallenge
-
Params
Required:
model_id=[bytes32]
-
Data Params
None
-
-
Success Response:
-
Code: 200
Content:list of challenge hashes =[bytes32[]],
-
-
Error Response:
-
ErrorCode: 2 CHALLENGE NOT FOUND
Content:{ error : "Model doesn't exist" }
-
ErrorCode: 3 NOT AUTHORIZED
Content:{ error : "Not authorized error" }
-
-
Event:
Deleted(challenge_id);
-
Sample Call:
deleteChallenge('0x123456000000000000000000000000000000000');
Set model valid/invalid
----
Set the validity flag for model with model_id
-
Method:
registry:setModelValid
-
Params
Required:
model_id=[bytes32]
is_valid=[bool]
-
Data Params
None
-
-
Success Response:
-
Code: 200
Content:
success=[bool],
-
-
Error Response:
-
ErrorCode: 2 MODEL NOT FOUND
Content:{ error : "Model doesn't exist" }
-
ErrorCode: 3 NOT AUTHORIZED
Content:{ error : "Not authorized error" }
-
-
Event:
Updated(model_id, ownerAddress, isValid);
-
Sample Call:
const ret = setModelValid('0xabcd', false);
Set challenge active/inactive
----
Set challenge with challenge_id
as active/inactive
-
Method: registry:setChallengeValid
-
Params
Required:
challenge_id=[bytes32]
is_active=[bool]
-
Data Params
None
-
-
Success Response:
-
Code: 200
Content: success=[bool],
-
-
Error Response:
-
ErrorCode: 2 CHALLENGE NOT FOUND
Content:
{ error : "Challenge doesn't exist" }
-
ErrorCode: 3 NOT AUTHORIZED
Content:
{ error : "Not authorized error" }
-
-
Event:
Updated(challenge_id, verifierAddress, isActive);
-
Sample Call:
const ret = setChallengeActive('0x123456', false);