TronBaseContract.fromJson constructor

TronBaseContract.fromJson({
  1. required TransactionContractType contractType,
  2. required Map<String, dynamic> json,
})

Implementation

factory TronBaseContract.fromJson(
    {required TransactionContractType contractType,
    required Map<String, dynamic> json}) {
  switch (contractType) {
    case TransactionContractType.transferContract:
      return TransferContract.fromJson(json);

    case TransactionContractType.assetIssueContract:
      return AssetIssueContract.fromJson(json);

    case TransactionContractType.cancelAllUnfreezeV2Contract:
      return CancelAllUnfreezeV2Contract.fromJson(json);

    case TransactionContractType.updateAssetContract:
      return UpdateAssetContract.fromJson(json);

    case TransactionContractType.participateAssetIssueContract:
      return ParticipateAssetIssueContract.fromJson(json);

    case TransactionContractType.transferAssetContract:
      return TransferAssetContract.fromJson(json);

    case TransactionContractType.accountCreateContract:
      return AccountCreateContract.fromJson(json);

    case TransactionContractType.accountUpdateContract:
      return AccountUpdateContract.fromJson(json);

    case TransactionContractType.freezeBalanceV2Contract:
      return FreezeBalanceV2Contract.fromJson(json);

    case TransactionContractType.unfreezeBalanceV2Contract:
      return UnfreezeBalanceV2Contract.fromJson(json);

    case TransactionContractType.withdrawBalanceContract:
      return WithdrawBalanceContract.fromJson(json);

    case TransactionContractType.withdrawExpireUnfreezeContract:
      return WithdrawExpireUnfreezeContract.fromJson(json);

    case TransactionContractType.delegateResourceContract:
      return DelegateResourceContract.fromJson(json);

    case TransactionContractType.unDelegateResourceContract:
      return UnDelegateResourceContract.fromJson(json);

    case TransactionContractType.unfreezeBalanceContract:
      return UnfreezeBalanceContract.fromJson(json);

    case TransactionContractType.freezeBalanceContract:
      return FreezeBalanceContract.fromJson(json);

    case TransactionContractType.accountPermissionUpdateContract:
      return AccountPermissionUpdateContract.fromJson(json);

    case TransactionContractType.triggerSmartContract:
      return TriggerSmartContract.fromJson(json);

    case TransactionContractType.createSmartContract:
      return CreateSmartContract.fromJson(json);

    case TransactionContractType.setAccountIdContract:
      return SetAccountIdContract.fromJson(json);

    case TransactionContractType.exchangeCreateContract:
      return ExchangeCreateContract.fromJson(json);

    case TransactionContractType.exchangeInjectContract:
      return ExchangeInjectContract.fromJson(json);

    case TransactionContractType.exchangeTransactionContract:
      return ExchangeTransactionContract.fromJson(json);

    case TransactionContractType.exchangeWithdrawContract:
      return ExchangeWithdrawContract.fromJson(json);

    case TransactionContractType.marketCancelOrderContract:
      return MarketCancelOrderContract.fromJson(json);

    case TransactionContractType.marketSellAssetContract:
      return MarketSellAssetContract.fromJson(json);

    case TransactionContractType.proposalApproveContract:
      return ProposalApproveContract.fromJson(json);

    case TransactionContractType.proposalCreateContract:
      return ProposalCreateContract.fromJson(json);

    case TransactionContractType.proposalDeleteContract:
      return ProposalDeleteContract.fromJson(json);

    case TransactionContractType.shieldedTransferContract:
      return ShieldedTransferContract.fromJson(json);

    case TransactionContractType.clearABIContract:
      return ClearABIContract.fromJson(json);

    case TransactionContractType.updateEnergyLimitContract:
      return UpdateEnergyLimitContract.fromJson(json);

    case TransactionContractType.updateSettingContract:
      return UpdateSettingContract.fromJson(json);

    case TransactionContractType.updateBrokerageContract:
      return UpdateBrokerageContract.fromJson(json);

    case TransactionContractType.voteAssetContract:
      return VoteAssetContract.fromJson(json);

    case TransactionContractType.voteWitnessContract:
      return VoteWitnessContract.fromJson(json);

    case TransactionContractType.unfreezeAssetContract:
      return UnfreezeAssetContract.fromJson(json);

    case TransactionContractType.witnessUpdateContract:
      return WitnessUpdateContract.fromJson(json);

    case TransactionContractType.witnessCreateContract:
      return WitnessCreateContract.fromJson(json);

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