Skip to content
Snippets Groups Projects
Commit 0065edd1 authored by Joe El hajj's avatar Joe El hajj
Browse files

Update AssociationRegistry.jsligo

parent c61ea560
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@ type coordinate = {
x: int;
y: int;
z: int;
};
}
type associationStatus =
| ["Active"]
......@@ -25,7 +25,7 @@ type return_ = [list<operation>, storage];
const registrationFeeInitial: tez = 10 as tez;
//Register a new DAO
@entry
function registerAssociation(newAssociation: association, storage: storage): return_ {
const existingAssociation = Big_map.find_opt(newAssociation.name, storage);
......@@ -37,21 +37,26 @@ function registerAssociation(newAssociation: association, storage: storage): ret
registrationFee: registrationFeeInitial
}, storage);
const noOperations: list<operation> = [];
// Within the registerAssociation function
const noOperations : list<operation> = list([]);
const result: return_ = [noOperations, updatedStorage];
return result;
}
//Change Admin
@entry
function changeAdmin(associationName: string, newAdmin: address, storage: storage): return_ {
function changeAdmin(associationName, newAdmin, storage) {
const associationOpt = Big_map.find_opt(associationName, storage);
if (Option.is_none(associationOpt)) {
failwith("Unknown association cannot change admin");
}
let association = Option.get(associationOpt);
if (Option.is_none(association.admin) || Tezos.sender != Option.get(association.admin)) {
const association = Option.unopt(associationOpt, () => failwith("Failed to get association"));
//todo
if (Some(Tezos.get_sender()) != association.admin) {
failwith("Only the current admin can change the admin");
}
......@@ -59,14 +64,15 @@ function changeAdmin(associationName: string, newAdmin: address, storage: storag
...association,
admin: Some(newAdmin)
};
const updatedStorage: storage = Big_map.update(associationName, Some(updatedAssociation), storage);
const updatedStorage = Big_map.update(associationName, Some(updatedAssociation), storage);
const noOperations: list<operation> = [];
const result: return_ = [noOperations, updatedStorage];
return result;
}
//List associations
@view
function getAssociationDetails(associationName: string, storage: storage): option<association> {
return Big_map.find_opt(associationName, storage);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment