Example #1
0
def post(payload):
    client = AccountClient()
    signer_account = client.get_account(client.get_signer_address())
    if not payload['amount']:
        return {'error': 'Could not transfer with zero amount'}, 400
    if signer_account.balance < payload['amount']:
        return {'error': 'Not enough transferable balance of sender'}, 400
    address_to = client.make_address_from_data(payload['pub_key_to'])
    result = client.transfer(address_to, payload['amount'])
    return {'batch_id': result['batch_id']}
Example #2
0
async def send_tokens(request):
    try:
        amount = request.params['amount']
    except KeyError:
        raise RpcInvalidParamsError(message='Missed amount')
    try:
        public_key_to = request.params['public_key_to']
    except KeyError:
        raise RpcInvalidParamsError(message='Missed public_key_to')
    client = AccountClient()
    signer_account = client.get_account(client.get_signer_address())
    if not amount:
        raise RpcGenericServerDefinedError(
            error_code=-32050,
            message='Could not transfer with zero amount'
        )
    if signer_account.balance < amount:
        raise RpcGenericServerDefinedError(
            error_code=-32050,
            message='Not enough transferable balance of sender'
        )
    address_to = client.make_address_from_data(public_key_to)
    result = client.transfer(address_to, amount)
    return result['data']