{
"includes": ["src/proto"],
"files": ["src/proto/structs.proto", "src/proto/execution.proto"],
"output": "build",
"opts": [
{
"scope": "type",
"description": "serde support for message",
"attr": "#[serde_with::serde_as]\n#[derive(serde::Serialize, serde::Deserialize, Eq, std::hash::Hash)]",
"paths": [
"structs.TransportInfo",
"structs.GenericTypedValue",
"structs.SchemaDef",
"structs.LiquidityWithdrawal",
"structs.ExternalTransactionId",
"structs.LiquidityRequest",
"structs.LiquidityRange",
"structs.LiquidityDeposit",
"structs.PortfolioWeighting",
"structs.PortfolioInfo",
"structs.Weighting",
"structs.DepositAddress",
"structs.IdentityMetadata",
"structs.RecentDiscoveryTransactionsRequest",
"structs.RecentDiscoveryTransactionsResponse",
"structs.UtxoValidResponse",
"structs.AncestorMerkleRoot",
"structs.AbridgedNodeMetadata",
"structs.ContentionKey",
"structs.ResolveCodeResponse",
"structs.StandardRequest",
"structs.Transaction",
"structs.Proof",
"structs.PoWProof", "structs.ProductId",
"structs.Input", "structs.Output",
"structs.ObservationMetadata", "structs.Observation",
"structs.MerkleNode", "structs.MerkleProof", "structs.MerkleProofElement",
"structs.ResponseMetadata", "structs.ErrorInfo", "structs.ErrorDetails",
"structs.Request", "structs.Response",
"structs.ControlRequest", "structs.ControlResponse",
"structs.PublicRequest", "structs.PublicResponse",
"structs.SubmitTransactionRequest", "structs.SubmitTransactionResponse",
"structs.GossipTransactionRequest", "structs.GossipTransactionResponse",
"structs.GossipObservationRequest", "structs.GossipObservationResponse",
"structs.QueryTransactionRequest", "structs.QueryTransactionResponse",
"structs.ResolveHashRequest", "structs.ResolveHashResponse",
"structs.AboutNodeRequest", "structs.AboutNodeResponse",
"structs.DownloadRequest", "structs.DownloadResponse",
"structs.ObservationProof",
"structs.OutputContract",
"structs.TypedValue",
"structs.TimeLockWindow",
"structs.KeyValueOption",
"structs.TransactionContract",
"structs.TransactionData",
"structs.CodeExecutionContract",
"structs.UtxoEntry",
"structs.ObservationEdge",
"structs.BytesData",
"structs.TransactionOptions",
"structs.Tombstone",
"structs.TrustRatingLabel",
"structs.NodeMetadata",
"structs.PeerMetadata",
"structs.StandardData",
"structs.KeyedTypedValue",
"structs.TransactionEntry",
"structs.ObservationEntry",
"structs.QueryAddressesRequest",
"structs.QueryAddressesResponse",
"structs.Address",
"structs.PartitionInfo",
"structs.Signature",
"structs.PublicKey",
"structs.MatrixTypedValue",
"structs.Hash",
"structs.Block",
"structs.BlockMetadata",
"structs.StructMetadata",
"structs.AddressBlock",
"structs.FaucetRequest",
"structs.FaucetResponse",
"structs.RecentTransactionsRequest",
"structs.RecentTransactionsResponse",
"structs.HashSearchRequest",
"structs.HashSearchResponse",
"structs.TransactionInfo",
"structs.CurrencyAmount",
"structs.AddressInfo",
"structs.GetPeersInfoResponse",
"structs.GetPeersInfoRequest",
"structs.MultipartyThresholdRequest",
"structs.MultipartyThresholdResponse",
"structs.MultipartyBroadcast",
"structs.MultipartyIssueUniqueIndex",
"structs.MultipartySubscribe",
"structs.MultipartySubscribeEvent",
"structs.MultipartyIssueUniqueIndexResponse",
"structs.TrustData",
"structs.PeerId",
"structs.InitiateMultipartyKeygenRequest",
"structs.InitiateMultipartySigningRequest",
"structs.MultipartyIdentifier",
"structs.InitiateMultipartyKeygenResponse",
"structs.InitiateMultipartySigningResponse",
"structs.UdpMessage",
"structs.DynamicNodeMetadata",
"structs.Seed",
"structs.FloatingUtxoId",
"structs.UtxoId",
"structs.UsedOutputs",
"structs.OfflineTimeSponsor",
"structs.UtxoConflictResolveRequest",
"structs.UtxoConflictResolveResponse",
"structs.PeerNodeInfo",
"structs.QueryObservationProofResponse",
"structs.QueryObservationProofRequest",
"structs.TaskLocalDetails",
"structs.DebugVersionChange",
"structs.DebugVersionChange2",
"structs.PeerIdInfo",
"structs.ControlMultipartySigningRequest",
"structs.ControlMultipartyKeygenRequest",
"structs.ControlMultipartySigningResponse",
"structs.ControlMultipartyKeygenResponse",
"structs.MultipartyAuthenticationRequest",
"structs.HealthRequest",
"structs.HealthResponse",
"structs.GetNodeTransactionRequest",
"structs.AddressSelector",
"structs.ExecutionInput",
"structs.ExecutionResult",
"structs.TestContractRequest",
"structs.TestContractUpdate",
"structs.TestContractUpdate2",
"structs.TestContractInternalState",
"structs.ContractStateMarker",
"structs.StateSelector",
"structs.GetContractStateMarkerRequest",
"structs.VersionInfo"
]
},
{
"scope": "type",
"description": "serde support for enum",
"attr": "#[derive(serde::Serialize, serde::Deserialize, strum_macros::EnumString, strum_macros::EnumIter)]",
"paths": [
"structs.PowProofType",
"structs.RatingType",
"structs.InputType",
"structs.ValidationLiveness",
"structs.TransactionState",
"structs.ValidationType",
"structs.State",
"structs.HashType",
"structs.Error",
"structs.StandardContractType",
"structs.DownloadDataType",
"structs.NetworkEnvironment",
"structs.BytesDecoder",
"structs.NodeType",
"structs.SignatureType",
"structs.PublicKeyType",
"structs.HashFormatType",
"structs.ExecutorBackend",
"structs.OutputType",
"structs.AddressType",
"structs.SupportedCurrency"
]
},
{
"scope": "field",
"description": "hex bytes",
"attr": "#[serde_as(as = \"serde_with::hex::Hex\")]",
"paths": [
"structs.BytesData.value"
]
},
{
"scope": "field",
"description": "base64 bytes",
"attr": "#[serde(serialize_with = \"crate::process_transaction::as_base64\", deserialize_with = \"crate::process_transaction::from_base64\")]",
"paths": []
},
{
"scope": "field",
"description": "skip string default values",
"attr": "#[serde(skip_serializing_if = \"String::is_empty\", default)]",
"paths": []
},
{
"scope": "field",
"description": "skip option default values",
"attr": "#[serde(skip_serializing_if = \"Option::is_none\", default, deserialize_with = \"prost_helper::deserialize_null_default\")]",
"paths": [
"structs.ResolveCodeResponse",
"structs.ExecutionResult.result_metadata",
"structs.TypedValue.string_value",
"structs.TypedValue.uint64_value",
"structs.TypedValue.int64_value",
"structs.TypedValue.float_value",
"structs.TypedValue.double_value",
"structs.TypedValue.bool_value",
"structs.StandardData.amount",
"structs.StandardData.observation",
"structs.StandardData.bitcoin_address",
"structs.StandardData.bitcoin_txid",
"structs.StandardData.typed_value",
"structs.StandardData.matrix_typed_value",
"structs.StandardData.peer_data",
"structs.StandardData.node_metadata",
"structs.StandardData.dynamic_node_metadata",
"structs.StandardData.height",
"structs.StandardData.data_hash",
"structs.StandardData.hash",
"structs.Output.contract",
"structs.Output.product_id",
"structs.Transaction.options",
"structs.StructMetadata.signable_hash",
"structs.StructMetadata.signed_hash",
"structs.StructMetadata.counter_party_hash",
"structs.StructMetadata.confirmation_hash",
"structs.ResponseMetadata.error_info",
"structs.ResponseMetadata.request_id",
"structs.ResponseMetadata.trace_id",
"structs.Request.gossip_transaction_request",
"structs.Request.gossip_observation_request",
"structs.Request.resolve_hash_request",
"structs.Request.download_request",
"structs.Request.get_peers_info_request",
"structs.Request.multiparty_threshold_request",
"structs.Request.submit_transaction_request",
"structs.Request.hash_search_request",
"structs.Request.trace_id",
"structs.Request.trace",
"structs.Request.utxo_conflict_resolve_request",
"structs.Request.query_observation_proof_request",
"structs.Request.about_node_request",
"structs.Request.get_peers_info_request",
"structs.Response.utxo_conflict_resolve_response",
"structs.Response.multiparty_threshold_response",
"structs.Response.query_observation_proof_response",
"structs.Response.resolve_hash_response",
"structs.Response.download_response",
"structs.Response.about_node_response",
"structs.Response.get_peers_info_response",
"structs.Response.hash_search_response",
"structs.Response.submit_transaction_response",
"structs.NodeMetadata.proof",
"structs.NodeMetadata.partition_info",
"structs.NodeMetadata.alias",
"structs.NodeMetadata.name",
"structs.NodeMetadata.nat_restricted",
"structs.VersionInfo.commit_hash",
"structs.VersionInfo.next_executable_checksum",
"structs.VersionInfo.next_upgrade_time",
"structs.StandardData.keyed_typed_value"
]
},
{
"scope": "field",
"description": "skip vec default values",
"attr": "#[serde(skip_serializing_if = \"Vec::is_empty\", default, deserialize_with = \"prost_helper::deserialize_null_default\")]",
"paths": [
"structs.StandardData.typed_value_list",
"structs.Transaction.inputs",
"structs.Output.counter_party_proofs",
"structs.StandardData.keyed_typed_value_list",
"structs.StandardData.matrix_typed_value_list",
"structs.ResponseMetadata.task_local_details"
]
},
{
"scope": "field",
"description": "skip null values",
"attr": "#[serde(deserialize_with = \"prost_helper::deserialize_null_default\")]",
"paths": [
]
},
{
"scope": "field",
"description": "skip null values",
"attr": "#[serde(deserialize_with = \"prost_helper::deserialize_null_default\")]",
"paths": [
]
},
{
"scope": "field",
"description": "skip 0 for any num",
"attr": "#[serde(skip_serializing_if = \"num_traits::identities::Zero::is_zero\", default)]",
"paths": [
"structs.Hash.hash_type",
"structs.BytesData.decoder",
"structs.BytesData.version",
"structs.StructMetadata.version",
"structs.Hash.hash_format_type",
"structs.Address.address_type"
]
},
{
"scope": "field",
"description": "skip the field for serialization",
"attr": "#[serde(skip_serializing)]",
"paths": []
},
{
"scope": "bytes",
"description": "use bytes::Bytes for given bytes field",
"paths": []
},
{
"scope": "btree_map",
"description": "use BtreeMap for given map field",
"paths": []
}
]
}