diff --git a/ligo.json b/ligo.json new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/contract.jsligo b/src/contract.jsligo index 8524cc3f614d8f962e79a43c3a7c551f04a9aac6..291c18e12c06281b4f2020e59f58dc8fdccecd8f 100644 --- a/src/contract.jsligo +++ b/src/contract.jsligo @@ -8,7 +8,6 @@ #import "contracts/fa2.jsligo" "FA2" - export type vote = ["yay"] | ["nope"] | ["pass"]; // =============================================================================================== @@ -50,13 +49,10 @@ export const create_proposal = ( @entry export const make_vote = ( - proposal_number: nat, - vote: vote, - storage: Storage.Types.t, - dao_contract_address: address, - -): { operations: list<operation>, final_storage: Storage.Types.t } => { - let proposal = Preamble.retrieve_a_proposal(proposal_number, storage); + params: Parameter.Types.make_vote_params, + storage: Storage.Types.t +): result => { + let proposal = Preamble.retrieve_a_proposal(params.proposal_number, storage); proposal = Storage.Utils.add_signer_to_proposal( proposal, @@ -65,26 +61,16 @@ export const make_vote = ( ); // Récupérer le nombre de tokens du votant const voterBalance = FA2.get_balance(Tezos.get_sender()); - Conditions.insufficient_balance(voterBalance); - - // Transférer les tokens vers le contrat de la DAO - const transferOperation = - FA2.transfer_tokens( - Tezos.get_sender(), - dao_contract_address, - voterBalance - ); + const transferOperation = FA2.transfer_tokens(Tezos.get_sender()); const final_storage = - Storage.Utils.update_proposal(proposal_number, proposal, storage); - return { operations: transferOperation, final_storage: final_storage }; + Storage.Utils.update_proposal(params.proposal_number, proposal, storage); + return [transferOperation, final_storage]; }; - - // =============================================================================================== - +/* @entry export const buy_token = ( buyer_address: address, @@ -108,6 +94,7 @@ export const buy_token = ( // =============================================================================================== // This function is now only used for tests, and will be removed once tests are rewritten + export const main = (action: Parameter.Types.t, store: Storage.Types.t): result => match(action) { when (Create_proposal(p)): @@ -115,3 +102,4 @@ export const main = (action: Parameter.Types.t, store: Storage.Types.t): result when (Sign_proposal(p)): sign_proposal(p, store) } +*/ diff --git a/src/contracts/fa2.jsligo b/src/contracts/fa2.jsligo index 21a975576dfaaf7f971b4d84c704bab014ed1a4e..7235891016f99c89ce503edb58e877e02eab9cff 100644 --- a/src/contracts/fa2.jsligo +++ b/src/contracts/fa2.jsligo @@ -27,14 +27,8 @@ export const perform_operations = (proposal: Storage.Types.proposal): list< } else return Constants.no_operation; } -export const get_balance = (une_adresse : address): int => { - return 2 ; -} +export const get_balance = (une_adresse: address): int => { return 2; } -export const transfer_tokens = ( - sender: address, - recipient: address, - amount: int -) : list<operation> => { - return list([]) ; +export const transfer_tokens = (sender: address,): list<operation> => { + return list([]); }; diff --git a/src/parameter.jsligo b/src/parameter.jsligo index 0ad525c78c82715da7006a49134fb90c0e90970a..cf1df2a193b4c8f78102f7d14bacd77fa494e726 100644 --- a/src/parameter.jsligo +++ b/src/parameter.jsligo @@ -5,8 +5,14 @@ export namespace Types { target_fa2: address, transfers: FA2.transfer }; + export type make_vote_params = { + proposal_number: nat; + vote: bool; + dao_contract_address: address; + }; export type proposal_number = nat; export type t = | ["Create_proposal", proposal_params] - | ["Sign_proposal", proposal_number]; + | ["Sign_proposal", proposal_number] + | ["Make_vote", make_vote_params] };