diff --git a/lib/src/services/api_service.dart b/lib/src/services/api_service.dart index 1a5e7701..7ba30aa1 100644 --- a/lib/src/services/api_service.dart +++ b/lib/src/services/api_service.dart @@ -236,28 +236,24 @@ class ApiService with JsonRPCUtil { /// Query the network to find a transaction from a list of addresses Future> getTransactionContent( - Map addresses, + List addresses, ) async { if (addresses.isEmpty) { return {}; } try { - final transactionChainMap = await getTransactionChain( + final transactionChainMap = await getTransaction( addresses, request: 'data { content }', ); final contentMap = {}; - transactionChainMap.forEach((key, value) { - final transactionList = transactionChainMap[key]; - if (transactionList != null) { - for (final element in transactionList) { - if (element.data != null && element.data!.content != null) { - contentMap[key] = element.data!.content!; - } - } + transactionChainMap.forEach((key, transaction) { + final content = transaction.data?.content; + if (content != null) { + contentMap[key] = content; } }); diff --git a/test/api_test.dart b/test/api_test.dart index 03f259ff..85680f91 100644 --- a/test/api_test.dart +++ b/test/api_test.dart @@ -70,10 +70,11 @@ void main() { test('getTransactionContent', () async { final contentMap = await ApiService('https://testnet.archethic.net') - .getTransactionContent({ - '0000C85F189C13846ED91FFE30B08EF3B0E009780DAEEF4581F8B3D717D99CC954C0': - '', - }); + .getTransactionContent( + [ + '0000C85F189C13846ED91FFE30B08EF3B0E009780DAEEF4581F8B3D717D99CC954C0', + ], + ); expect( contentMap[ diff --git a/test/transaction_test.dart b/test/transaction_test.dart index 1f03d43e..899776e2 100644 --- a/test/transaction_test.dart +++ b/test/transaction_test.dart @@ -754,7 +754,7 @@ condition inherit: [ const text = 'Hellođź‘‹'; final tx = Transaction(type: 'transfer', data: Transaction.initData()) - .setContent(uint8ListToHex(Uint8List.fromList(text.codeUnits))) + .setContent(uint8ListToHex(utf8.encode(text))) .addUCOTransfer( '0000b1d3750edb9381c96b1a975a55b5b4e4fb37bfab104c10b0b6c9a00433ec4646', toBigInt(0.00000001), @@ -785,11 +785,11 @@ condition inherit: [ await completer.future; final txAddress = tx.address!.address!; - final content = await apiService.getTransactionContent({ - txAddress: '', - }); + final content = await apiService.getTransactionContent( + [txAddress], + ); - final decodedContent = String.fromCharCodes( + final decodedContent = utf8.decode( hexToUint8List( content[txAddress]!, ),