diff --git a/src/contract.jsligo b/src/contract.jsligo
index 01fd7d58b5b50a6aa6b4b959c6e6abac002519e7..c3ffa6ae48fddecd340e7888b5aa96a8a6fa0abe 100644
--- a/src/contract.jsligo
+++ b/src/contract.jsligo
@@ -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];
 };
 
diff --git a/src/contracts/fa2.jsligo b/src/contracts/fa2.jsligo
index 617884cab020914fb0c97cc9756c0172a2402073..314e8823042fe1ee79a0970020f45795b6098586 100644
--- a/src/contracts/fa2.jsligo
+++ b/src/contracts/fa2.jsligo
@@ -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 ;
+}
+