1 line
34 KiB
JSON
1 line
34 KiB
JSON
{"openapi":"3.0.1","info":{"title":"Spacemesh API","contact":{"name":"Spacemesh","url":"https://spacemesh.io/"},"license":{"name":"MIT License","url":"https://github.com/spacemeshos/go-spacemesh/blob/develop/LICENSE"},"version":"v2alpha1"},"servers":[{"url":"https://mainnet-api.spacemesh.network/"}],"tags":[{"name":"AccountService"},{"name":"ActivationService"},{"name":"TransactionService"},{"name":"LayerService"},{"name":"MalfeasanceService"},{"name":"NetworkService"},{"name":"NodeService"},{"name":"RewardService"}],"paths":{"/spacemesh.v2alpha1.AccountService/List":{"post":{"tags":["AccountService"],"summary":"List of accounts","description":"List is a method that takes an \"AccountRequest\" body and returns an \"AccountList\".\nThis method is used to retrieve a list of accounts based on the provided request parameters.","operationId":"AccountService_List","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1AccountRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1AccountList"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.ActivationService/ActivationsCount":{"post":{"tags":["ActivationService"],"summary":"Count of activations","description":"ActivationsCount is a method that takes an \"ActivationsCountRequest\" body and returns an \"ActivationsCountResponse\".\nThis method is used to retrieve the count of activations for a specified epoch.","operationId":"ActivationService_ActivationsCount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1ActivationsCountRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1ActivationsCountResponse"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.ActivationService/Highest":{"post":{"tags":["ActivationService"],"summary":"Highest","description":"Highest is a method that takes an \"HighestRequest\" body and returns an \"HighestResponse\".\nThis method is used to retrieve the activation with the highest tick count.","operationId":"ActivationService_Highest","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1HighestRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1HighestResponse"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.ActivationService/List":{"post":{"tags":["ActivationService"],"summary":"List of activations","description":"List is a method that takes an \"ActivationRequest\" body and returns an \"ActivationList\".\nThis method is used to retrieve a list of activations based on the provided request parameters.","operationId":"ActivationService_List","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1ActivationRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1ActivationList"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.LayerService/List":{"post":{"tags":["LayerService"],"summary":"List of layers","description":"List is a method that takes a \"LayerRequest\" body and returns an \"LayerList\".\nThis method is used to retrieve a list of layers based on the provided request parameters.","operationId":"LayerService_List","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1LayerRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1LayerList"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.MalfeasanceService/List":{"post":{"tags":["MalfeasanceService"],"summary":"List of malfeasance proofs","description":"List is a method that takes a \"MalfeasanceRequest\" body and returns an \"MalfeasanceList\".\nThis method is used to retrieve a list of malfeasance proofs based on the provided request parameters.","operationId":"MalfeasanceService_List","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1MalfeasanceRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1MalfeasanceList"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.NetworkService/Info":{"post":{"tags":["NetworkService"],"summary":"Network information","description":"Info is a method that returns an \"NetworkInfoResponse\".\nThis method is used to retrieve network information.","operationId":"NetworkService_Info","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1NetworkInfoRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1NetworkInfoResponse"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.NodeService/Status":{"post":{"tags":["NodeService"],"summary":"Node status","description":"Status is a method that returns an \"NodeStatusResponse\".\nThis method is used to retrieve node status information.","operationId":"NodeService_Status","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1NodeStatusRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1NodeStatusResponse"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.RewardService/List":{"post":{"tags":["RewardService"],"summary":"List of rewards","description":"List is a method that takes a \"RewardRequest\" body and returns an \"RewardList\".\nThis method is used to retrieve a list of rewards based on the provided request parameters.","operationId":"RewardService_List","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1RewardRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1RewardList"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.TransactionService/EstimateGas":{"post":{"tags":["TransactionService"],"summary":"Estimate gas for transaction","description":"EstimateGas is a method that takes a \"EstimateGasRequest\" body and returns an \"EstimateGasResponse\".\nThis method is used to estimate the recommended maximum gas for a signed binary transaction.","operationId":"TransactionService_EstimateGas","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1EstimateGasRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1EstimateGasResponse"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.TransactionService/List":{"post":{"tags":["TransactionService"],"summary":"List of transactions","description":"List is a method that takes a \"TransactionRequest\" body and returns an \"TransactionList\".\nThis method is used to retrieve a list of transactions based on the provided request parameters.","operationId":"TransactionService_List","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1TransactionRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1TransactionList"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.TransactionService/ParseTransaction":{"post":{"tags":["TransactionService"],"summary":"Parse transaction","description":"ParseTransaction is a method that takes a \"ParseTransactionRequest\" body and returns an \"ParseTransactionResponse\".\nThis method is used to parse a signed binary transaction and optionally verify its signature.","operationId":"TransactionService_ParseTransaction","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1ParseTransactionRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1ParseTransactionResponse"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}},"/spacemesh.v2alpha1.TransactionService/SubmitTransaction":{"post":{"tags":["TransactionService"],"summary":"Submit transaction","description":"SubmitTransaction is a method that takes a \"SubmitTransactionRequest\" body and returns an \"SubmitTransactionResponse\".\nThis method is used to submit a signed binary transaction to the network.","operationId":"TransactionService_SubmitTransaction","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1SubmitTransactionRequest"}}},"required":true},"responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/spacemeshv2alpha1SubmitTransactionResponse"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}}}},"x-codegen-request-body-name":"body"}}},"components":{"schemas":{"googlerpcStatus":{"type":"object","properties":{"code":{"type":"integer","description":"The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code].","format":"int32"},"details":{"type":"array","description":"A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.","items":{"$ref":"#/components/schemas/protobufAny"}},"message":{"type":"string","description":"A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client."}},"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors)."},"protobufAny":{"type":"object","properties":{"@type":{"type":"string","description":"A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."}},"additionalProperties":{"type":"object"},"description":"`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": <string>,\n \"lastName\": <string>\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }"},"spacemeshv2alpha1Account":{"type":"object","properties":{"address":{"title":"account public address","type":"string"},"current":{"$ref":"#/components/schemas/spacemeshv2alpha1AccountState"},"projected":{"$ref":"#/components/schemas/spacemeshv2alpha1AccountState"},"template":{"title":"account template address","type":"string"}}},"spacemeshv2alpha1AccountList":{"type":"object","properties":{"accounts":{"title":"list of accounts","type":"array","items":{"$ref":"#/components/schemas/spacemeshv2alpha1Account"}}}},"spacemeshv2alpha1AccountRequest":{"type":"object","properties":{"addresses":{"title":"list of account addresses","type":"array","items":{"type":"string"}},"limit":{"title":"specifies max number of items to fetch// bech32 format including HRP","type":"string","format":"uint64"},"offset":{"title":"adjusts the starting point for data","type":"string","format":"uint64"}}},"spacemeshv2alpha1AccountState":{"type":"object","properties":{"balance":{"title":"account balance in smidge","type":"string","format":"uint64"},"counter":{"title":"aka nonce","type":"string","format":"uint64"},"layer":{"title":"account balance as of layer X","type":"integer","format":"int64"}}},"spacemeshv2alpha1Activation":{"type":"object","properties":{"coinbase":{"type":"string"},"height":{"type":"string","format":"uint64"},"id":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"numUnits":{"title":"number of effective PoST data commitment units","type":"integer","format":"int64"},"publishEpoch":{"type":"integer","format":"int64"},"smesherId":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"weight":{"type":"string","format":"uint64"}}},"spacemeshv2alpha1ActivationList":{"type":"object","properties":{"activations":{"title":"list of activations","type":"array","items":{"$ref":"#/components/schemas/spacemeshv2alpha1Activation"}}}},"spacemeshv2alpha1ActivationRequest":{"type":"object","properties":{"coinbase":{"type":"string","description":"`coinbase` filter is not supported by database index and will result in sequential scan."},"endEpoch":{"title":"ending epoch for the query","type":"integer","format":"int64"},"id":{"title":"list of activation IDs","type":"array","items":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"}},"limit":{"title":"specifies max number of items to fetch","type":"string","format":"uint64"},"offset":{"title":"adjusts the starting point for data","type":"string","format":"uint64"},"smesherId":{"title":"list of smesher IDs","type":"array","items":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"}},"startEpoch":{"title":"starting epoch for the query","type":"integer","format":"int64"}}},"spacemeshv2alpha1ActivationsCountRequest":{"type":"object","properties":{"epoch":{"title":"epoch number","type":"integer","format":"int64"}}},"spacemeshv2alpha1ActivationsCountResponse":{"type":"object","properties":{"count":{"title":"number of activations for the specified epoch","type":"integer","format":"int64"}}},"spacemeshv2alpha1Block":{"type":"object","properties":{"id":{"title":"block hash","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"}}},"spacemeshv2alpha1ContentsDrainVault":{"type":"object","properties":{"amount":{"type":"string","format":"uint64"},"destination":{"type":"string"},"vault":{"type":"string"}}},"spacemeshv2alpha1ContentsMultiSigSpawn":{"type":"object","properties":{"pubkey":{"type":"array","items":{"type":"string"}},"required":{"title":"number of required signatures","type":"integer","format":"int64"}}},"spacemeshv2alpha1ContentsSend":{"type":"object","properties":{"amount":{"title":"amount in smidge","type":"string","format":"uint64"},"destination":{"title":"recipient account","type":"string"}}},"spacemeshv2alpha1ContentsSingleSigSpawn":{"type":"object","properties":{"pubkey":{"type":"string"}}},"spacemeshv2alpha1ContentsVaultSpawn":{"type":"object","properties":{"initialUnlockAmount":{"type":"string","format":"uint64"},"owner":{"title":"owner account","type":"string"},"totalAmount":{"type":"string","format":"uint64"},"vestingEnd":{"title":"as layer number","type":"integer","format":"int64"},"vestingStart":{"title":"as layer number","type":"integer","format":"int64"}}},"spacemeshv2alpha1EstimateGasRequest":{"type":"object","properties":{"transaction":{"title":"signed binary transaction","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"}}},"spacemeshv2alpha1EstimateGasResponse":{"type":"object","properties":{"recommendedMaxGas":{"title":"recommended max gas","type":"string","format":"uint64"},"status":{"$ref":"#/components/schemas/googlerpcStatus"}}},"spacemeshv2alpha1HighestRequest":{"type":"object"},"spacemeshv2alpha1HighestResponse":{"type":"object","properties":{"activation":{"$ref":"#/components/schemas/spacemeshv2alpha1Activation"}}},"spacemeshv2alpha1Layer":{"type":"object","properties":{"block":{"$ref":"#/components/schemas/spacemeshv2alpha1Block"},"consensusHash":{"type":"string"},"cumulativeStateHash":{"title":"cumulative fingerprint that uniquely identifies state since genesis","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"number":{"title":"layer number - not hash - layer content may change","type":"integer","format":"int64"},"stateHash":{"title":"fingerprint of the computed state at the layer","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"status":{"$ref":"#/components/schemas/spacemeshv2alpha1LayerLayerStatus"}}},"spacemeshv2alpha1LayerLayerStatus":{"title":"- LAYER_STATUS_APPLIED: applied by hare\n - LAYER_STATUS_VERIFIED: verified by tortoise","type":"string","default":"LAYER_STATUS_UNSPECIFIED","enum":["LAYER_STATUS_UNSPECIFIED","LAYER_STATUS_APPLIED","LAYER_STATUS_VERIFIED"]},"spacemeshv2alpha1LayerList":{"type":"object","properties":{"layers":{"title":"list of layers","type":"array","items":{"$ref":"#/components/schemas/spacemeshv2alpha1Layer"}}}},"spacemeshv2alpha1LayerRequest":{"type":"object","properties":{"endLayer":{"title":"ending layer for the query","type":"integer","format":"int64"},"limit":{"title":"specifies max number of items to fetch","type":"string","format":"uint64"},"offset":{"title":"adjusts the starting point for data","type":"string","format":"uint64"},"sortOrder":{"$ref":"#/components/schemas/spacemeshv2alpha1SortOrder"},"startLayer":{"title":"starting layer for the query","type":"integer","format":"int64"}}},"spacemeshv2alpha1MalfeasanceList":{"type":"object","properties":{"proofs":{"title":"list of malfeasance proofs","type":"array","items":{"$ref":"#/components/schemas/spacemeshv2alpha1MalfeasanceProof"}}}},"spacemeshv2alpha1MalfeasanceProof":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/spacemeshv2alpha1MalfeasanceProofMalfeasanceDomain"},"properties":{"title":"Properties of the Malfeasance proof, different for every type of proof","type":"object","additionalProperties":{"type":"string"}},"smesher":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"type":{"title":"type of the malfeasance proof, depends on domain","type":"integer","description":"for legacy proofs the types are\n 1 - Double publish of ATX\n 2 - Multiple ballots for a layer by same smesher\n 3 - Hare Equivocation (currently unused)\n 4 - ATX with invalid PoST proof published\n 5 - ATX referencing an invalid previous ATX published","format":"int64"}}},"spacemeshv2alpha1MalfeasanceProofMalfeasanceDomain":{"title":"- DOMAIN_UNSPECIFIED: for legacy proofs\n - DOMAIN_ACTIVATION: ATX related proofs\n - DOMAIN_BALLOT: Ballot related proofs\n - DOMAIN_HARE: Hare related proofs","type":"string","default":"DOMAIN_UNSPECIFIED","enum":["DOMAIN_UNSPECIFIED","DOMAIN_ACTIVATION","DOMAIN_BALLOT","DOMAIN_HARE"]},"spacemeshv2alpha1MalfeasanceRequest":{"type":"object","properties":{"limit":{"title":"specifies max number of items to fetch","type":"string","format":"uint64"},"offset":{"title":"adjusts the starting point for data","type":"string","format":"uint64"},"smesherId":{"title":"list of smesher ids to fetch (can be empty for all)","type":"array","items":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"}}}},"spacemeshv2alpha1NetworkInfoRequest":{"type":"object"},"spacemeshv2alpha1NetworkInfoResponse":{"type":"object","properties":{"effectiveGenesisLayer":{"title":"effective genesis layer, i.e., first layer after genesis initialization period","type":"integer","format":"int64"},"genesisId":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"genesisTime":{"title":"genesis time of the network, represented as a timestamp","type":"string","format":"date-time"},"hrp":{"type":"string"},"labelsPerUnit":{"title":"number of labels per unit","type":"string","format":"uint64"},"layerDuration":{"title":"duration of each layer in the network, specified as a duration","type":"string"},"layersPerEpoch":{"title":"number of layers per epoch","type":"integer","format":"int64"}}},"spacemeshv2alpha1NodeStatusRequest":{"type":"object"},"spacemeshv2alpha1NodeStatusResponse":{"type":"object","properties":{"appliedLayer":{"title":"last layer node has applied to the state","type":"integer","format":"int64"},"connectedPeers":{"title":"number of connected neighbors","type":"string","format":"uint64"},"currentLayer":{"title":"current layer, based on clock time","type":"integer","format":"int64"},"latestLayer":{"title":"latest layer node has seen from blocks","type":"integer","format":"int64"},"processedLayer":{"title":"last layer whose votes have been processed","type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/spacemeshv2alpha1NodeStatusResponseSyncStatus"}}},"spacemeshv2alpha1NodeStatusResponseSyncStatus":{"type":"string","default":"SYNC_STATUS_UNSPECIFIED","enum":["SYNC_STATUS_UNSPECIFIED","SYNC_STATUS_OFFLINE","SYNC_STATUS_SYNCING","SYNC_STATUS_SYNCED"]},"spacemeshv2alpha1Nonce":{"type":"object","properties":{"counter":{"type":"string","format":"uint64"}}},"spacemeshv2alpha1ParseTransactionRequest":{"type":"object","properties":{"transaction":{"title":"signed binary transaction","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"verify":{"title":"if true signature verification will be executed","type":"boolean"}}},"spacemeshv2alpha1ParseTransactionResponse":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/googlerpcStatus"},"tx":{"$ref":"#/components/schemas/spacemeshv2alpha1Transaction"}}},"spacemeshv2alpha1Reward":{"type":"object","properties":{"coinbase":{"title":"account awarded this reward","type":"string"},"layer":{"title":"layer award was paid in","type":"integer","format":"int64"},"layerReward":{"title":"tx_fee = total - layer_reward","type":"string","format":"uint64"},"smesher":{"title":"id of smesher who earned this reward","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"total":{"title":"total reward paid in smidge (sum of tx fee and layer reward)","type":"string","format":"uint64"}}},"spacemeshv2alpha1RewardList":{"type":"object","properties":{"rewards":{"title":"list of rewards","type":"array","items":{"$ref":"#/components/schemas/spacemeshv2alpha1Reward"}}}},"spacemeshv2alpha1RewardRequest":{"type":"object","properties":{"coinbase":{"title":"filter by coinbase","type":"string"},"endLayer":{"title":"ending layer for the query","type":"integer","format":"int64"},"limit":{"title":"specifies max number of items to fetch","type":"string","format":"uint64"},"offset":{"title":"adjusts the starting point for data","type":"string","format":"uint64"},"smesher":{"title":"filter by smesher","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"sortOrder":{"$ref":"#/components/schemas/spacemeshv2alpha1SortOrder"},"startLayer":{"title":"starting layer for the query","type":"integer","format":"int64"}}},"spacemeshv2alpha1SortOrder":{"type":"string","default":"ASC","enum":["ASC","DESC"]},"spacemeshv2alpha1SubmitTransactionRequest":{"type":"object","properties":{"transaction":{"title":"signed binary transaction","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"}}},"spacemeshv2alpha1SubmitTransactionResponse":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/googlerpcStatus"},"txId":{"title":"transaction ID","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"}}},"spacemeshv2alpha1Transaction":{"type":"object","properties":{"contents":{"$ref":"#/components/schemas/spacemeshv2alpha1TransactionContents"},"gasPrice":{"title":"fee per unit gas, in smidge","type":"string","format":"uint64"},"id":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"maxGas":{"title":"max gas units consumed by tx","type":"string","format":"uint64"},"maxSpend":{"type":"string","format":"uint64"},"method":{"type":"integer","description":"this is actually limited by uint8, but no type for that.","format":"int64"},"nonce":{"$ref":"#/components/schemas/spacemeshv2alpha1Nonce"},"principal":{"title":"principal account address","type":"string"},"raw":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"template":{"title":"template account address","type":"string"},"type":{"$ref":"#/components/schemas/spacemeshv2alpha1TransactionTransactionType"}},"description":"An immutable Spacemesh transaction.\ndo not include mutable data such as tx state or result."},"spacemeshv2alpha1TransactionContents":{"type":"object","properties":{"drainVault":{"$ref":"#/components/schemas/spacemeshv2alpha1ContentsDrainVault"},"multiSigSpawn":{"$ref":"#/components/schemas/spacemeshv2alpha1ContentsMultiSigSpawn"},"send":{"$ref":"#/components/schemas/spacemeshv2alpha1ContentsSend"},"singleSigSpawn":{"$ref":"#/components/schemas/spacemeshv2alpha1ContentsSingleSigSpawn"},"vaultSpawn":{"$ref":"#/components/schemas/spacemeshv2alpha1ContentsVaultSpawn"},"vestingSpawn":{"$ref":"#/components/schemas/spacemeshv2alpha1ContentsMultiSigSpawn"}}},"spacemeshv2alpha1TransactionList":{"type":"object","properties":{"transactions":{"title":"list of transactions","type":"array","items":{"$ref":"#/components/schemas/spacemeshv2alpha1TransactionResponse"}}}},"spacemeshv2alpha1TransactionRequest":{"type":"object","properties":{"address":{"title":"Filter by address (principal or recipient)","type":"string"},"endLayer":{"type":"integer","description":"Ending layer for transactions.","format":"int64"},"includeResult":{"type":"boolean","description":"Whether to include result of transactions in response."},"includeState":{"type":"boolean","description":"Whether to include transaction state in response."},"limit":{"type":"string","description":"Specifies maximum number of items to fetch.","format":"uint64"},"offset":{"type":"string","description":"Adjusts the starting point for data retrieval.","format":"uint64"},"sortOrder":{"$ref":"#/components/schemas/spacemeshv2alpha1SortOrder"},"startLayer":{"type":"integer","description":"Starting layer for transactions.","format":"int64"},"txid":{"type":"array","description":"Filter: specific transaction IDs to filter.","items":{"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"}}}},"spacemeshv2alpha1TransactionResponse":{"type":"object","properties":{"tx":{"$ref":"#/components/schemas/spacemeshv2alpha1Transaction"},"txResult":{"$ref":"#/components/schemas/spacemeshv2alpha1TransactionResult"},"txState":{"$ref":"#/components/schemas/spacemeshv2alpha1TransactionState"}}},"spacemeshv2alpha1TransactionResult":{"type":"object","properties":{"block":{"title":"block hash","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string","format":"byte"},"fee":{"title":"in smidge","type":"string","format":"uint64"},"gasConsumed":{"title":"in units of gas","type":"string","format":"uint64"},"layer":{"title":"layer number","type":"integer","format":"int64"},"message":{"type":"string"},"status":{"$ref":"#/components/schemas/spacemeshv2alpha1TransactionResultStatus"},"touchedAddresses":{"title":"addresses touched by the tx","type":"array","items":{"type":"string"}}}},"spacemeshv2alpha1TransactionResultStatus":{"type":"string","default":"TRANSACTION_STATUS_UNSPECIFIED","enum":["TRANSACTION_STATUS_UNSPECIFIED","TRANSACTION_STATUS_SUCCESS","TRANSACTION_STATUS_FAILURE","TRANSACTION_STATUS_INVALID"]},"spacemeshv2alpha1TransactionState":{"type":"string","description":"TransactionState is the \"journey\" of a tx from mempool to block inclusion to\nmesh to STF processing. To know whether or not the tx actually succeeded,\nand its side effects, check tx_state.\n\n - TRANSACTION_STATE_UNSPECIFIED: default state\n - TRANSACTION_STATE_REJECTED: rejected from mempool due to, e.g., invalid syntax\n - TRANSACTION_STATE_INSUFFICIENT_FUNDS: rejected from mempool by funds check\n - TRANSACTION_STATE_CONFLICTING: rejected from mempool due to conflicting counter\n - TRANSACTION_STATE_MEMPOOL: in mempool but not on the mesh yet\n - TRANSACTION_STATE_MESH: submitted to the mesh\n - TRANSACTION_STATE_PROCESSED: processed by STF; check Receipt for success or failure\n - TRANSACTION_STATE_INEFFECTUAL: removed from mempool and will be forgotten and never executed","default":"TRANSACTION_STATE_UNSPECIFIED","enum":["TRANSACTION_STATE_UNSPECIFIED","TRANSACTION_STATE_REJECTED","TRANSACTION_STATE_INSUFFICIENT_FUNDS","TRANSACTION_STATE_CONFLICTING","TRANSACTION_STATE_MEMPOOL","TRANSACTION_STATE_MESH","TRANSACTION_STATE_PROCESSED","TRANSACTION_STATE_INEFFECTUAL"]},"spacemeshv2alpha1TransactionTransactionType":{"type":"string","default":"TRANSACTION_TYPE_UNSPECIFIED","enum":["TRANSACTION_TYPE_UNSPECIFIED","TRANSACTION_TYPE_SINGLE_SIG_SEND","TRANSACTION_TYPE_SINGLE_SIG_SPAWN","TRANSACTION_TYPE_SINGLE_SIG_SELFSPAWN","TRANSACTION_TYPE_MULTI_SIG_SEND","TRANSACTION_TYPE_MULTI_SIG_SPAWN","TRANSACTION_TYPE_MULTI_SIG_SELFSPAWN","TRANSACTION_TYPE_VESTING_SPAWN","TRANSACTION_TYPE_VAULT_SPAWN","TRANSACTION_TYPE_DRAIN_VAULT"]}}},"x-original-swagger-version":"2.0"} |