pub fn transfer_impl<S: Storage, A: Api, Q: Querier>(
    deps: &mut Extern<S, A, Q>,
    sender: &CanonicalAddr,
    recipient: &CanonicalAddr,
    amount: Uint128,
    memo: Option<String>,
    block: &BlockInfo
) -> StdResult<()>