IException.deserialize constructor

IException.deserialize({
  1. List<int>? bytes,
  2. CborObject<Object?>? object,
})

Implementation

factory IException.deserialize({List<int>? bytes, CborObject? object}) {
  final values = CborTagSerializable.decodeTaggedValueWithInfo(
    expectedTags: BlockchainUtilsSerializationIdentifier.values,
    cborBytes: bytes,
    cborObject: object,
  );
  final identifier = values.identifier;
  return switch (identifier) {
    BlockchainUtilsSerializationIdentifier.argumentException =>
      ArgumentException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.stateException =>
      StateException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.itemNotFound =>
      ItemNotFoundException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.casting =>
      CastFailedException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.rpcError => RPCError.deserialize(
      object: values.tag,
    ),
    BlockchainUtilsSerializationIdentifier.base58Error =>
      Base58ChecksumError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.base64Error =>
      B64ConverterException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.bech32Error =>
      Bech32Error.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.addressConverterError =>
      AddressConverterException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.bip32KeyError =>
      Bip32KeyError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.bip32PathError =>
      Bip32PathError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.bip44DepthError =>
      Bip44DepthError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.zip32Error =>
      Zip32Error.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.electrumError =>
      ElectrumException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.mnemonicError =>
      MnemonicException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.moneroKeyError =>
      MoneroKeyError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.substrateKeyError =>
      SubstrateKeyError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.substratePathError =>
      SubstratePathError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.zcashError =>
      ZcashKeyError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.zcashKeyEncodingError =>
      ZcashKeyEncodingError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.cborError =>
      CborException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.cborSerializationError =>
      CborSerializableException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.cryptoError =>
      CryptoException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.layoutExceptionError =>
      LayoutException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.protoError =>
      ProtoException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.secretStorageError =>
      Web3SecretStorageDefinationV3Exception.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.ss58Error =>
      SS58ChecksumError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.utf8Error =>
      Utf8Exception.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.amountConverterError =>
      AmountConverterException.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.jsonParserError =>
      JsonParserError.deserialize(object: values.tag),
    BlockchainUtilsSerializationIdentifier.pedersenHashError =>
      PedersenHashException.deserialize(object: values.tag),
    _ => CborSerializableException.incorrectTagValue(tag: values.tag.tags),
  };
}