def combine_actions(connection, account_alias, asset_alias, max_amount=5000000000, size=20): actions = [] gas_amount = 40000000 amount = 0 asset = Asset.get_asset_by_alias(connection, asset_alias) asset_id = asset['id'] address = Account.find_address_by_alias(connection, account_alias) result = UnspentOutputs.list_by_account_asset(connection, account_alias, asset_alias) utxos = UnspentOutputs.find_little_utxo(max_amount=max_amount, utxos=result) if utxos.__len__() <= size: for utxo in utxos: actions.append(Action.unspent_output(output_id=utxo['id'])) amount = amount + utxo['amount'] else: for i in range(0, size): actions.append(Action.unspent_output(output_id=utxos[i]['id'])) amount = amount + utxos[i]['amount'] # consider gas amount if amount > gas_amount: amount = amount - gas_amount else: print( '\nAttention: The amount of all utxos is too little, less than tx gas.' ) os._exit(0) actions.append( Action.control_address(amount=amount, asset_id=asset_id, address=address)) return actions