public static byte[] Encode(System.Object protoObj) { Google.Protobuf.IMessage message = (Google.Protobuf.IMessage)protoObj; return(message.ToByteArray()); }
public static byte[] SerializePackage(IMessage data) { Google.Protobuf.IMessage data1 = data as Google.Protobuf.IMessage; byte[] stream = data1.ToByteArray(); return(stream); }
public static void ValidContractProto(Transaction.Types.Contract contract) { System.Type type = null; Any contract_parameter = contract.Parameter; Google.Protobuf.IMessage src = null; Google.Protobuf.IMessage contract_message = null; switch (contract.Type) { case ContractType.AccountCreateContract: src = contract_parameter.Unpack <AccountCreateContract>(); contract_message = Parse <AccountCreateContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.TransferContract: src = contract_parameter.Unpack <TransferContract>(); contract_message = Parse <TransferContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.TransferAssetContract: src = contract_parameter.Unpack <TransferAssetContract>(); contract_message = Parse <TransferAssetContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.VoteAssetContract: src = contract_parameter.Unpack <VoteAssetContract>(); contract_message = Parse <VoteAssetContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.VoteWitnessContract: src = contract_parameter.Unpack <VoteWitnessContract>(); contract_message = Parse <VoteWitnessContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.WitnessCreateContract: src = contract_parameter.Unpack <WitnessCreateContract>(); contract_message = Parse <WitnessCreateContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.AssetIssueContract: src = contract_parameter.Unpack <AssetIssueContract>(); contract_message = Parse <AssetIssueContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.WitnessUpdateContract: src = contract_parameter.Unpack <WitnessUpdateContract>(); contract_message = Parse <WitnessUpdateContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ParticipateAssetIssueContract: src = contract_parameter.Unpack <ParticipateAssetIssueContract>(); contract_message = Parse <ParticipateAssetIssueContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.AccountUpdateContract: src = contract_parameter.Unpack <AccountUpdateContract>(); contract_message = Parse <AccountUpdateContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.FreezeBalanceContract: src = contract_parameter.Unpack <FreezeBalanceContract>(); contract_message = Parse <FreezeBalanceContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.UnfreezeBalanceContract: src = contract_parameter.Unpack <UnfreezeBalanceContract>(); contract_message = Parse <UnfreezeBalanceContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.UnfreezeAssetContract: src = contract_parameter.Unpack <UnfreezeAssetContract>(); contract_message = Parse <UnfreezeAssetContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.WithdrawBalanceContract: src = contract_parameter.Unpack <WithdrawBalanceContract>(); contract_message = Parse <WithdrawBalanceContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.CreateSmartContract: src = contract_parameter.Unpack <CreateSmartContract>(); contract_message = Parse <CreateSmartContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.TriggerSmartContract: src = contract_parameter.Unpack <TriggerSmartContract>(); contract_message = Parse <TriggerSmartContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.UpdateAssetContract: src = contract_parameter.Unpack <UpdateAssetContract>(); contract_message = Parse <UpdateAssetContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ProposalCreateContract: src = contract_parameter.Unpack <ProposalCreateContract>(); contract_message = Parse <ProposalCreateContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ProposalApproveContract: src = contract_parameter.Unpack <ProposalApproveContract>(); contract_message = Parse <ProposalApproveContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ProposalDeleteContract: src = contract_parameter.Unpack <ProposalDeleteContract>(); contract_message = Parse <ProposalDeleteContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.SetAccountIdContract: src = contract_parameter.Unpack <SetAccountIdContract>(); contract_message = Parse <SetAccountIdContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.UpdateSettingContract: src = contract_parameter.Unpack <UpdateSettingContract>(); contract_message = Parse <UpdateSettingContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.UpdateEnergyLimitContract: src = contract_parameter.Unpack <UpdateEnergyLimitContract>(); contract_message = Parse <UpdateEnergyLimitContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ClearAbicontract: src = contract_parameter.Unpack <ClearABIContract>(); contract_message = Parse <ClearABIContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ExchangeCreateContract: src = contract_parameter.Unpack <ExchangeCreateContract>(); contract_message = Parse <ExchangeCreateContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ExchangeInjectContract: src = contract_parameter.Unpack <ExchangeInjectContract>(); contract_message = Parse <ExchangeInjectContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ExchangeWithdrawContract: src = contract_parameter.Unpack <ExchangeWithdrawContract>(); contract_message = Parse <ExchangeWithdrawContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.ExchangeTransactionContract: src = contract_parameter.Unpack <ExchangeTransactionContract>(); contract_message = Parse <ExchangeTransactionContract>(Message.GetCodedInputStream(src.ToByteArray())); break; case ContractType.AccountPermissionUpdateContract: src = contract_parameter.Unpack <AccountPermissionUpdateContract>(); contract_message = Parse <AccountPermissionUpdateContract>(Message.GetCodedInputStream(src.ToByteArray())); break; default: break; } if (type == null) { throw new P2pException(P2pException.ErrorType.PROTOBUF_ERROR, P2pException.GetDescription(P2pException.ErrorType.PROTOBUF_ERROR)); } Message.CompareBytes(src.ToByteArray(), contract_message.ToByteArray()); }
// support protobuf message public Packet AddProtoBuf(Google.Protobuf.IMessage msg) { SetMessageType(MESSAGE_TYPE.PROTO_BUF); return(AddByteArray(msg.ToByteArray())); }