Skip to content

Commit

Permalink
fix(RPC): 🚸 Early reject sendTransactions for un-handled tx types.
Browse files Browse the repository at this point in the history
  • Loading branch information
Chralu committed Dec 16, 2024
1 parent bf78c4b commit 2b13242
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions lib/infrastructure/rpc/send_transaction/command_handler.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,24 @@ class RPCSendTransactionCommandHandler extends RPCCommandHandler<

@override
RPCCommand<awc.SendTransactionRequest> commandToModel(awc.Request dto) {
if ((dto.payload['data'] as Map<String, dynamic>)
.containsKey('recipients')) {
dto.payload['data']['actionRecipients'] =
dto.payload['data']['recipients'];
(dto.payload['data'] as Map<String, dynamic>).remove('recipients');
}
const _handledTypes = {
'keychain',
'transfer',
'token',
'contract',
};
final type = dto.payload['type'];

assert(
_handledTypes.contains(type),
'SendTransaction only supports transactions of types $_handledTypes',
);

return RPCCommand(
origin: dto.origin.toModel,
data: awc.SendTransactionRequest(
data: archethic.Data.fromJson(dto.payload['data']),
type: dto.payload['type'],
type: type,
version: dto.version,
generateEncryptedSeedSC: dto.payload['generateEncryptedSeedSC'],
),
Expand Down

0 comments on commit 2b13242

Please sign in to comment.