API
API for the @astralprotocol/contracts package
State modifying methods
constructor
Initiates the smart contract with an hardcoded uri type representing the did method (did:geo). Also initiates the msg.sender as the default admin and as a data supplier role.
registerRole
Registers a new user with the ability to register a spatial asset. Contract creator is hardcoded as default admin and data supplier roles.
enableStorage
Registers a new storage that can accept GeoDID document creation.
Name | Type | Attributes | Description |
offChainStorage | bytes32 | REQUIRED | Bytes32 representation of the off-chain storage signature to be enabled |
disableStorage
Disables an existing storage.
Name | Type | Attributes | Description |
offChainStorage | bytes32 | REQUIRED | Bytes32 representation of the off-chain storage signature to be disabled |
registerSpatialAsset
Registers on-chain one Spatial Asset.
Name | Type | Attributes | Description |
owner | address | REQUIRED | To be designated the owner of the GeoDID. Currently must be msg.sender. |
geoDIDId | bytes32 | REQUIRED | GeoDID Id generated with the GeoDID creation (check @astralprotocol/core) |
parentGeoDIDId | bytes32 | OPTIONAL | GeoDID Id of the parent. Must be set to 0 if no parent is to be added. |
childrenGeoDIDIDs | bytes32[] | OPTIONAL | GeoDID IDs of the children. Must be set to [] if no children are to be added. |
cid | bytes32 | REQUIRED | CID of the GeoDID Document generated with its creation (check @astralprotocol/core) |
offChainStorage | bytes32 | REQUIRED | Bytes32 representation of the off-chain storage signature (must be pre-approved) |
geoDIDtype | uint256 | REQUIRED | 0 for Collection type GeoDIDs, 1 for Item type GeoDIDs. emit SpatialAssetRegistered(owner, geoDIDId, cid, offChainStorage, geoDIDId, _canBeParent[geoDIDId]); |
addChildrenGeoDIDs
Adds children GeoDIDs to an existing GeoDID. GeoDIDId must correspond to a GeoDID type that can be a parent (Collection or type 0).
Name | Type | Attributes | Description |
geoDIDId | bytes32 | REQUIRED | GeoDID Id generated with the GeoDID creation and registered in the smart contract |
childrenGeoDIDIDs | bytes32[] | OPTIONAL | GeoDID IDs of the children. Must be set to [] if no children are to be added (nothing is executed in the function) |
addParentGeoDID
Adds a GeoDID as a parent to an already existing GeoDID.
Name | Type | Attributes | Description |
geoDIDId | bytes32 | REQUIRED | GeoDID Id generated with the GeoDID creation (check @astralprotocol/core) |
parentGeoDIDId | bytes32 | REQUIRED | GeoDID Id of the parent. It must exist. |
removeChildrenGeoDIDs
Removes children GeoDIDs from a specified GeoDID.
Name | Type | Attributes | Description |
geoDIDId | bytes32 | REQUIRED | GeoDID Id generated with the GeoDID creation (check @astralprotocol/core) |
childrenGeoDIDIds | bytes32[] | OPTIONAL | GeoDID IDs of the children. Must be set to [] if no children are to be removed. |
removeParentGeoDID
Removes a specified parent GeoDID from a GeoDID.
Name | Type | Attributes | Description |
geoDIDId | bytes32 | REQUIRED | GeoDID Id generated with the GeoDID creation (check @astralprotocol/core) |
parentGeoDIDId | bytes32 | REQUIRED | GeoDID Id of the parent to remove. It must exist. |
deactivateSpatialAsset
De-registers a spatial asset.
Name | Type | Attributes | Description |
geoDIDId | bytes32 | REQUIRED | GeoDID Id generated with the GeoDID creation (check @astralprotocol/core) |
childrenGeoDIDIds | bytes32[] | OPTIONAL | GeoDID IDs of the children. Must be set to [] if no children are to be removed. |
Last updated