Skip to content
Snippets Groups Projects
Commit 954f9904 authored by Koloina's avatar Koloina
Browse files

Adding condition && compiling FA2 tranfert

parent 1bd5c525
No related branches found
No related tags found
1 merge request!1Adding condition && compiling FA2 tranfert
......@@ -13,3 +13,6 @@ let has_already_signed = "You have already signed this proposal"
[@no_mutation]
let unknown_contract_entrypoint =
"Cannot connect to the target transfer token entrypoint"
[@no_mutation]
let insufficient_balance = "FA2_BALANCE"
......@@ -27,3 +27,6 @@ let rec_hook_undef = "FA2_RECEIVER_HOOK_UNDEFINED"
[@no_mutation]
let send_hook_under = "FA2_SENDER_HOOK_UNDEFINED"
[@no_mutation]
let insufficient_balance = "FA2_BALANCE"
......@@ -19,3 +19,8 @@ export const not_yet_signer = (proposal: Storage.Types.proposal): unit =>
! Set.mem((Tezos.get_sender()), proposal.approved_signers),
Errors.has_already_signed
);
@inline
export const insufficient_balance = (a_number: int) : unit=> {
assert_with_error(a_number == (0 as int), Errors.insufficient_balance);
};
\ No newline at end of file
......@@ -8,6 +8,7 @@
#import "contracts/fa2.jsligo" "FA2"
export type vote = ["yay"] | ["nope"] | ["pass"];
// ===============================================================================================
......@@ -52,8 +53,9 @@ export const make_vote = (
proposal_number: nat,
vote: vote,
storage: Storage.Types.t,
dao_contract_address: address
): result => {
dao_contract_address: address,
): { operations: list<operation>, final_storage: Storage.Types.t } => {
let proposal = Preamble.retrieve_a_proposal(proposal_number, storage);
proposal
= Storage.Utils.add_signer_to_proposal(
......@@ -63,6 +65,10 @@ 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(
......@@ -70,12 +76,13 @@ export const make_vote = (
dao_contract_address,
voterBalance
);
const operations = [transferOperation];
const final_storage =
Storage.Utils.update_proposal(proposal_number, proposal, storage);
return [operations, final_storage];
return { operations: transferOperation, final_storage: final_storage };
};
// ===============================================================================================
@entry
......
......@@ -31,3 +31,10 @@ export const get_balance = (une_adresse : address): int => {
return 2 ;
}
export const transfer_tokens = (
sender: address,
recipient: address,
amount: int
) : list<operation> => {
return list([]) ;
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment