Skip to content
Snippets Groups Projects
Commit cda57240 authored by maminiang's avatar maminiang
Browse files

FA2

parent ddf37a4a
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,12 @@
#import "contracts/fa2.jsligo" "FA2"
export type vote =
| ["yay"]
| ["nope"]
| ["pass"];
// ===============================================================================================
namespace Preamble {
......@@ -48,17 +54,28 @@ export const create_proposal = (
};
@entry
export const sign_proposal = (proposal_number: nat, storage: Storage.Types.t): result => {
let proposal = Preamble.retrieve_a_proposal(proposal_number, storage);
proposal
= Storage.Utils.add_signer_to_proposal(
proposal,
(Tezos.get_sender()),
storage.threshold
);
const final_storage =
Storage.Utils.update_proposal(proposal_number, proposal, storage);
const operations = FA2.perform_operations(proposal);
export const make_vote = (proposal_number: nat, vote:vote,storage: Storage.Types.t, dao_contract_address : address ): result => {
let proposal = Preamble.retrieve_a_proposal(proposal_number, storage);
proposal = Storage.Utils.add_signer_to_proposal(
proposal,
(Tezos.get_sender()),
storage.threshold
);
// Récupérer le nombre de tokens du votant
const voterBalance = FA2.get_balance(Tezos.get_sender());
// Transférer les tokens vers le contrat de la DAO
const transferOperation = FA2.transfer_tokens(
Tezos.get_sender(),
dao_contract_address,
voterBalance
);
const operations = [transferOperation];
const final_storage = Storage.Utils.update_proposal(proposal_number, proposal, storage);
return [operations, final_storage];
};
......
......@@ -26,3 +26,8 @@ export const perform_operations = (proposal: Storage.Types.proposal): list<
list<operation>;
} else return Constants.no_operation;
}
export const get_balance = (une_adresse : address): int => {
return 2 ;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment