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 @@ ...@@ -8,6 +8,12 @@
#import "contracts/fa2.jsligo" "FA2" #import "contracts/fa2.jsligo" "FA2"
export type vote =
| ["yay"]
| ["nope"]
| ["pass"];
// =============================================================================================== // ===============================================================================================
namespace Preamble { namespace Preamble {
...@@ -48,17 +54,28 @@ export const create_proposal = ( ...@@ -48,17 +54,28 @@ export const create_proposal = (
}; };
@entry @entry
export const sign_proposal = (proposal_number: nat, storage: Storage.Types.t): result => { 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); let proposal = Preamble.retrieve_a_proposal(proposal_number, storage);
proposal proposal = Storage.Utils.add_signer_to_proposal(
= Storage.Utils.add_signer_to_proposal(
proposal, proposal,
(Tezos.get_sender()), (Tezos.get_sender()),
storage.threshold storage.threshold
); );
const final_storage =
Storage.Utils.update_proposal(proposal_number, proposal, storage); // Récupérer le nombre de tokens du votant
const operations = FA2.perform_operations(proposal); 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]; return [operations, final_storage];
}; };
......
...@@ -26,3 +26,8 @@ export const perform_operations = (proposal: Storage.Types.proposal): list< ...@@ -26,3 +26,8 @@ export const perform_operations = (proposal: Storage.Types.proposal): list<
list<operation>; list<operation>;
} else return Constants.no_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