Does anyone tried to send Tokens using transfer_in_private from an account to a contract ?
Calling check_private_Balance is showing that tokens from account decreased ,but my contract still has 0 balance.
This is my contract function i am using:
#[private]
fn create_trade(trade_hash: Field, seller: AztecAddress, asset_address: AztecAddress, amount: u128, nonce: Field) {
let config = storage.config.read();
assert(context.msg_sender() == config.trade_oracle);
Token::at(asset_address)
.transfer_in_private(seller, context.this_address(), amount, nonce)
.call(&mut context);
let new_status = StatusNote::new(STATUS_ESCROW, config.payment_oracle);
let trade_slot = storage.trades.at(trade_hash);
trade_slot
.initialize(new_status)
.emit(encode_and_encrypt_note(&mut context, config.payment_oracle, context.msg_sender()));
let event = TradeCreated {
trade_hash,
seller,
asset_address,
amount,
};
event.emit(encode_and_encrypt_event(&mut context, context.msg_sender(), context.msg_sender()));
event.emit(encode_and_encrypt_event(&mut context, config.regulator, context.msg_sender()));
}