TronBaseContract.deserialize constructor

TronBaseContract.deserialize({
  1. required TransactionContractType contractType,
  2. required List<int> contractBytes,
})

Implementation

factory TronBaseContract.deserialize(
    {required TransactionContractType contractType,
    required List<int> contractBytes}) {
  switch (contractType) {
    case TransactionContractType.transferContract:
      return TransferContract.deserialize(contractBytes);

    case TransactionContractType.assetIssueContract:
      return AssetIssueContract.deserialize(contractBytes);

    case TransactionContractType.cancelAllUnfreezeV2Contract:
      return CancelAllUnfreezeV2Contract.deserialize(contractBytes);

    case TransactionContractType.updateAssetContract:
      return UpdateAssetContract.deserialize(contractBytes);

    case TransactionContractType.participateAssetIssueContract:
      return ParticipateAssetIssueContract.deserialize(contractBytes);

    case TransactionContractType.transferAssetContract:
      return TransferAssetContract.deserialize(contractBytes);

    case TransactionContractType.accountCreateContract:
      return AccountCreateContract.deserialize(contractBytes);

    case TransactionContractType.accountUpdateContract:
      return AccountUpdateContract.deserialize(contractBytes);

    case TransactionContractType.freezeBalanceV2Contract:
      return FreezeBalanceV2Contract.deserialize(contractBytes);

    case TransactionContractType.unfreezeBalanceV2Contract:
      return UnfreezeBalanceV2Contract.deserialize(contractBytes);

    case TransactionContractType.withdrawBalanceContract:
      return WithdrawBalanceContract.deserialize(contractBytes);

    case TransactionContractType.withdrawExpireUnfreezeContract:
      return WithdrawExpireUnfreezeContract.deserialize(contractBytes);

    case TransactionContractType.delegateResourceContract:
      return DelegateResourceContract.deserialize(contractBytes);

    case TransactionContractType.unDelegateResourceContract:
      return UnDelegateResourceContract.deserialize(contractBytes);

    case TransactionContractType.unfreezeBalanceContract:
      return UnfreezeBalanceContract.deserialize(contractBytes);

    case TransactionContractType.freezeBalanceContract:
      return FreezeBalanceContract.deserialize(contractBytes);

    case TransactionContractType.accountPermissionUpdateContract:
      return AccountPermissionUpdateContract.deserialize(contractBytes);

    case TransactionContractType.triggerSmartContract:
      return TriggerSmartContract.deserialize(contractBytes);

    case TransactionContractType.createSmartContract:
      return CreateSmartContract.deserialize(contractBytes);

    case TransactionContractType.setAccountIdContract:
      return SetAccountIdContract.deserialize(contractBytes);

    case TransactionContractType.exchangeCreateContract:
      return ExchangeCreateContract.deserialize(contractBytes);

    case TransactionContractType.exchangeInjectContract:
      return ExchangeInjectContract.deserialize(contractBytes);

    case TransactionContractType.exchangeTransactionContract:
      return ExchangeTransactionContract.deserialize(contractBytes);

    case TransactionContractType.exchangeWithdrawContract:
      return ExchangeWithdrawContract.deserialize(contractBytes);

    case TransactionContractType.marketCancelOrderContract:
      return MarketCancelOrderContract.deserialize(contractBytes);

    case TransactionContractType.marketSellAssetContract:
      return MarketSellAssetContract.deserialize(contractBytes);

    case TransactionContractType.proposalApproveContract:
      return ProposalApproveContract.deserialize(contractBytes);

    case TransactionContractType.proposalCreateContract:
      return ProposalCreateContract.deserialize(contractBytes);

    case TransactionContractType.proposalDeleteContract:
      return ProposalDeleteContract.deserialize(contractBytes);

    case TransactionContractType.shieldedTransferContract:
      return ShieldedTransferContract.deserialize(contractBytes);

    case TransactionContractType.clearABIContract:
      return ClearABIContract.deserialize(contractBytes);

    case TransactionContractType.updateEnergyLimitContract:
      return UpdateEnergyLimitContract.deserialize(contractBytes);

    case TransactionContractType.updateSettingContract:
      return UpdateSettingContract.deserialize(contractBytes);

    case TransactionContractType.updateBrokerageContract:
      return UpdateBrokerageContract.deserialize(contractBytes);

    case TransactionContractType.voteAssetContract:
      return VoteAssetContract.deserialize(contractBytes);

    case TransactionContractType.voteWitnessContract:
      return VoteWitnessContract.deserialize(contractBytes);

    case TransactionContractType.unfreezeAssetContract:
      return UnfreezeAssetContract.deserialize(contractBytes);

    case TransactionContractType.witnessUpdateContract:
      return WitnessUpdateContract.deserialize(contractBytes);

    case TransactionContractType.witnessCreateContract:
      return WitnessCreateContract.deserialize(contractBytes);

    default:
      throw TronPluginException('Unsupported contract',
          details: {'contract': contractType.name});
  }
}