add agent buy, deposit, register and top up function