import 'package:json_annotation/json_annotation.dart';

import 'package:pshared/data/dto/describable.dart';
import 'package:pshared/data/dto/wallet/chain_asset.dart';

part 'create.g.dart';


@JsonSerializable()
class CreateWalletRequest {
  final Map<String, String>? metadata;
  final DescribableDTO describable;
  final String? ownerRef;
  final ChainAssetDTO asset;

  const CreateWalletRequest({
    this.metadata,
    required this.asset,
    required this.describable,
    this.ownerRef,
  });

  factory CreateWalletRequest.fromJson(Map<String, dynamic> json) => _$CreateWalletRequestFromJson(json);
  Map<String, dynamic> toJson() => _$CreateWalletRequestToJson(this);
}
