The Quarantine Module allows management of quarantined accounts and funds. It also injects restrictions into the
x/bank
module to enforce account quarantines.QuickstartgRPCCLITransactionsOptInOptOutAcceptDeclineUpdateAutoResponsesQueriesIsQuarantinedQuarantinedFundsAutoResponsesRESTConceptsQuarantined AccountOpt-InQuarantined FundsAccept FundsDecline FundsAuto-ResponsesStateQuarantined AccountsAuto-ResponsesQuarantine RecordsQuarantine Records Suffix IndexMessagesMsgOptInMsgOptOutMsgAcceptExpected FailuresResponseMsgDeclineExpected FailuresMsgUpdateAutoResponsesExpected FailuresEventsEventOptInEventOptOutEventFundsQuarantinedEventFundsReleasedQueriesIsQuarantinedQueryIsQuarantinedRequestQueryIsQuarantinedResponseQuarantinedFundsQueryQuarantinedFundsRequestQueryQuarantinedFundsResponseAutoResponsesQueryAutoResponsesRequestQueryAutoResponsesResponseParams
Quickstart
The Provenance Blockchain quarantine module provides comprehensive client interfaces through gRPC, CLI, and REST endpoints for managing quarantine functionality. Users can interact with the module using gRPC for direct protocol communication, command-line interface tools for transaction generation and queries with convenient aliases and examples, and REST endpoints for HTTP-based access to all quarantine operations including opt-in/opt-out management, fund acceptance and decline operations, auto-response configuration, and quarantine status queries with full pagination support.
gRPC
A user can interact with and query the x/quarantine module using gRPC.
For details see Queries.
CLI
The gRPC transaction and query endpoints are made available through CLI helpers.
Transactions
Each of these commands facilitates generating, signing and sending of a tx. Standard tx flags are available unless otherwise noted.
In these commands, the
<to_name_or_address>
can either be a name from your keyring or your account address. The --from
flag is ignored since that is being conveyed using the <to_name_or_address>
1st argument to each command.OptIn
shell$ simd tx quarantine opt-in --help Activate quarantine for an account. Note, the '--from' flag is ignored as it is implied from [to_name_or_address] (the signer of the message). Usage: simd tx quarantine opt-in [<to_name_or_address>] [flags] Examples: $ simd tx quarantine opt-in cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 $ simd tx quarantine opt-in personal $ simd tx quarantine opt-in --from cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 $ simd tx quarantine opt-in --from personal
OptOut
shell$ simd tx quarantine opt-out --help Deactivate quarantine for an account. Note, the '--from' flag is ignored as it is implied from [to_name_or_address] (the signer of the message). Usage: simd tx quarantine opt-out [<to_name_or_address>] [flags] Examples: $ simd tx quarantine opt-out cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 $ simd tx quarantine opt-out personal $ simd tx quarantine opt-out --from cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 $ simd tx quarantine opt-out --from personal
Accept
shell$ ./build/simd tx quarantine accept --help Accept quarantined funds sent to <to_name_or_address> from <from_address>. Note, the '--from' flag is ignored as it is implied from [to_name_or_address] (the signer of the message). Usage: simd tx quarantine accept <to_name_or_address> <from_address> [<from_address 2> ...] [flags] Examples: $ simd tx quarantine accept cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut $ simd tx quarantine accept personal cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut $ simd tx quarantine accept personal cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut cosmos1phx24ecmuw3s7fmy8c87gh3rdq5lwskqur3t00
At least one
<from_address>
is required, but multiple can be provided.A
--permanent
flag is also available with this command:plain text--permanent Also set auto-accept for sends from any of the from_addresses to to_address
Decline
shell$ simd tx quarantine decline --help Decline quarantined funds sent to <to_name_or_address> from <from_address>. Note, the '--from' flag is ignored as it is implied from [to_name_or_address] (the signer of the message). Usage: simd tx quarantine decline <to_name_or_address> <from_address> [<from_address 2> ...] [flags] Examples: $ simd tx quarantine decline cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut $ simd tx quarantine decline personal cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut $ simd tx quarantine decline personal cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut cosmos1phx24ecmuw3s7fmy8c87gh3rdq5lwskqur3t00
At least one
<from_address>
is required, but multiple can be provided.A
--permanent
flag is also available with this command:plain text--permanent Also set auto-decline for sends from any of the from_addresses to to_address
UpdateAutoResponses
shell$ simd tx quarantine update-auto-responses --help Update auto-responses for transfers to <to_name_or_address> from one or more addresses. Note, the '--from' flag is ignored as it is implied from [to_name_or_address] (the signer of the message). The <to_name_or_address> is required. At least one <auto-response> and <from_address> must be provided. Valid <auto-response> values: "accept" or "a" - turn on auto-accept for the following <from_address>(es). "decline" or "d" - turn on auto-decline for the following <from_address>(es). "unspecified", "u", "off", or "o" - turn off auto-responses for the following <from_address>(es). Each <auto-response> value can be repeated as an arg as many times as needed as long as each is followed by at least one <from_address>. Each <from_address> will be assigned the nearest preceding <auto-response> value. Usage: simd tx quarantine update-auto-responses <to_name_or_address> <auto-response> <from_address> [<from_address 2> ...] [<auto-response 2> <from_address 3> [<from_address 4> ...] ...] [flags] Aliases: update-auto-responses, auto-responses, uar Examples: $ simd tx quarantine update-auto-responses cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 accept cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut $ simd tx quarantine update-auto-responses personal decline cosmos1phx24ecmuw3s7fmy8c87gh3rdq5lwskqur3t00 unspecified cosmos1lfuwk97g6y9du8altct63vwgz5620t929n8g9l $ simd tx quarantine auto-responses personal accept cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut cosmos1qsjw3kjaf33qk2urxg54lzxkw525ngghzneujh off cosmos1lfuwk97g6y9du8altct63vwgz5620t929n8g9l
Queries
Each of these commands facilitates running a gRPC query. Standard query flags are available unless otherwise noted.
IsQuarantined
shell$ simd query quarantine is-quarantined --help Query whether an account is opted into quarantined. Examples: $ simd query quarantine is-quarantined cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 $ simd query quarantine is cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut Usage: simd query quarantine is-quarantined <to_address> [flags] Aliases: is-quarantined, is
QuarantinedFunds
shellsimd query quarantine funds --help Query for quarantined funds. If no arguments are provided, all quarantined funds will be returned. If only a to_address is provided, only undeclined funds quarantined for that address are returned. If both a to_address and from_address are provided, quarantined funds will be returned regardless of whether they've been declined. Examples: $ simd query quarantine funds $ simd query quarantine funds cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 $ simd query quarantine funds cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut Usage: simd query quarantine funds [<to_address> [<from_address>]] [flags]
Standard pagination flags are also available for this command.
AutoResponses
shell$ simd query quarantine auto-responses --help Query auto-responses. If only a to_address is provided, all auto-responses set up for that address are returned. This will only contain accept or decline entries. If both a to_address and from_address are provided, exactly one result will be returned. This can be accept, decline or unspecified. Examples: $ simd query quarantine auto-responses cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 $ simd query quarantine auto-responses cosmos1c7p4v02eayvag8nswm4f5q664twfe6dxjha389 cosmos1ld2qyt9pq5n8dxkp58jn3jyxh8u8ztmrk9vrut Usage: simd query quarantine auto-responses <to_address> [<from_address>] [flags] Aliases: auto-responses, auto, ar
Standard pagination flags are also available for this command.
REST
Each of the quarantine gRPC query endpoints is also available through one or more REST endpoints.
Name | URL |
IsQuarantined | /cosmos/quarantine/v1beta1/active/{to_address} |
QuarantinedFunds - all | /cosmos/quarantine/v1beta1/funds |
QuarantinedFunds - some | /cosmos/quarantine/v1beta1/funds/{to_address} |
QuarantinedFunds - specific | /cosmos/quarantine/v1beta1/funds/{to_address}/{from_address} |
AutoResponses - some | /cosmos/quarantine/v1beta1/auto/{to_address} |
AutoResponses - specific | /cosmos/quarantine/v1beta1/auto/{to_address}/{from_address} |
For
QuarantinedFunds
and AutoResponses
, pagination parameters can be provided using the standard pagination query parameters.Concepts
The Provenance Blockchain quarantine module provides an opt-in mechanism for accounts to control incoming fund transfers by temporarily holding them in an intermediary account until the receiver explicitly accepts or declines the transfers. When funds are sent to a quarantined account through the x/bank module, they are held by a quarantined funds holder account and aggregated by sender, allowing receivers to approve or decline transfers individually, with support for auto-response configurations that enable automatic acceptance from trusted senders or automatic decline from untrusted senders, providing enhanced security and control over fund reception.
Quarantined Account
A quarantined account is one that has elected to not receive funds transfers until the transfer has been accepted.
When funds are sent using the x/bank module keeper's
SendCoins
or InputOutputCoins
functions (e.g. from a Send
or MultiSend
Tx), if the receiver is quarantined, the funds are sent to an intermediary quarantined funds holder account and a record of the quarantined funds is made.Later, the receiver can
Approve
or Decline
the funds as they see fit.Opt-In
An account becomes quarantined when the account owner issues an
OptIn
Tx.An account can later opt out by issuing an
OptOut
Tx.Opting in or out does not affect any previously quarantined funds.
Quarantined Funds
Quarantined funds can either be accepted or declined (or ignored) by the receiver.
Accept Funds
When a receiver
Accept
s funds, all fully approved quarantined funds from each sender are transferred to the receiver.Quarantined funds are fully approved when all senders involved in the transfer of those funds have been part of an
Accept
from the receiver.Funds quarantined for a receiver are aggregated by sender (or set of senders in the case of a
MultiSend
). That is, if a sender issues two different transfers to a receiver, they are quarantined together and the receiver only needs to issue a single Accept
for them.Decline Funds
When a receiver
Decline
s funds, all quarantined funds from each sender are marked as declined.Declined funds remain held by the quarantined fund holder account and can later be accepted.
Declined funds are not returned by the
QuarantinedFunds
query unless the query params included a specific sender.The decline indicator is reset to
false
if new funds are quarantined (to the same receiver from the same sender) and auto-decline is not set up.Auto-Responses
A quarantined account can set up auto-accept from known trusted senders, and auto-decline from known untrusted senders. An auto-response is unique for a given receiver and sender and only applies in one direction. That is, the auto-responses that one receiver has defined, do not affect any other accounts.
If funds are sent to a quarantined account from an auto-accept sender, the transfer occurs as if the receiver weren't quarantined. When there are multiple senders, the funds are quarantined unless the receiver has auto-accept for ALL of the senders.
If funds are sent to a quarantined account from an auto-decline sender, the funds are quarantined and marked as declined. When there are multiple senders, the funds are declined if the receiver has auto-decline for ANY of the senders.
State
The Provenance Blockchain quarantine module uses a structured key/value storage system to manage quarantine-related data, including quarantined account records that track opt-in status, auto-response configurations that define automatic acceptance or decline rules for specific sender-receiver pairs, quarantine records that store details of held funds with special handling for multi-sender transactions using SHA256 checksums, and suffix index entries that enable efficient lookup of multi-sender quarantine records by individual sender addresses.
Quarantined Accounts
When an account opts into quarantine, the following record is made:
plain text0x00 | len([]byte(<account address>)) | []byte(<account address>) -> 0x00
When an account opts out of quarantine, that record is deleted.
Auto-Responses
Auto-Responses are stored using the following format:
plain text0x01 | len([]byte(<receiver address>)) | []byte(<receiver address>) | len([]byte(<sender address>)) | []byte(<sender address>) -> <response>
Response values:
0x01
=AUTO_RESPONSE_ACCEPT
0x02
=AUTO_RESPONSE_DECLINE
Instead of storing
AUTO_RESPONSE_UNSPECIFIED
the record is deleted.Quarantine Records
Records of quarantined funds are stored using the following format:
plain text0x02 | len([]byte(<receiver address>)) | []byte(<receiver address>) | len([]byte(<record suffix>)) | []byte(<record suffix>) -> ProtocolBuffer(QuarantineRecord)
When there is a single sender, the
<record suffix>
is the <sender address>
.When there are multiple senders, the
<record suffix>
is a function of all sender addresses combined. Specifically, all involved sender addresses are sorted and concatenated into a single []byte
, then provided to a sha256
checksum generator.Once quarantined funds are accepted and released, this record is deleted.
Quarantine Records Suffix Index
When there are multiple senders, an index entry is made for each sender. These entries use the following format:
plain text0x03 | len([]byte(<receiver address>)) | []byte(<receiver address>) | len([]byte(<sender address>)) | []byte(<sender address>) -> ProtocolBuffer(QuarantineRecordSuffixIndex)
These entries allow multi-sender quarantine records to be located based on a single sender. They are not needed for single-sender records; as such, they are only made for multi-sender records.
Once a quarantine record is deleted, its suffix index entries are also deleted.
Messages
The Provenance Blockchain quarantine module provides a comprehensive message service for managing quarantine functionality, including MsgOptIn and MsgOptOut for activating and deactivating quarantine on accounts, MsgAccept and MsgDecline for handling quarantined funds with optional permanent auto-response setup, and MsgUpdateAutoResponses for configuring automatic acceptance or decline rules for specific sender-receiver pairs. These messages enable users to control fund reception through quarantine mechanisms, with support for multi-sender transactions, permanent auto-response configurations, and flexible management of quarantined fund acceptance or decline decisions.
MsgOptIn
An account can activate quarantine using a
MsgOptIn
. It contains only the address to quarantine.protobuf// Source: https://github.com/provenance-io/provenance/blob/v1.19.0/proto/cosmos/quarantine/v1beta1/tx.proto#L33-L38 message MsgOptIn { string to_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; }
It is expected to fail if the
to_address
is invalid.MsgOptOut
An account can deactivate quarantine using a
MsgOptOut
. It contains only the address to unquarantine.protobuf// Source: https://github.com/provenance-io/provenance/blob/v1.19.0/proto/cosmos/quarantine/v1beta1/tx.proto#L43-L48 message MsgOptOut { string to_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; }
It is expected to fail if the
to_address
is invalid.MsgAccept
Quarantined funds can be accepted by the intended receiver using a
MsgAccept
. It contains a to_address
(receiver) and one or more from_addresses
(senders). It also contains a flag to indicate whether auto-accept should be set up for all provided addresses.protobuf// Source: https://github.com/provenance-io/provenance/blob/v1.19.0/proto/cosmos/quarantine/v1beta1/tx.proto#L53-L67 message MsgAccept { string to_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; repeated string from_addresses = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; bool permanent = 3; }
Any quarantined funds for the
to_address
from any from_address
are accepted (regardless of whether they've been previously declined).For quarantined funds from multiple senders (e.g. from a
MultiSend
), all senders must be part of an Accept
before the funds will be released, but they don't all have to be part of the same Accept
.If the
permanent
flag is true
, after accepting all applicable funds, auto-accept is set up to the to_address
from each of the provided from_addresses
.Expected Failures
It is expected to fail if:
- The
to_address
is missing or invalid
- No
from_addresses
are provided
- Any
from_addresses
are invalid
Response
The response will contain a total of all funds released.
protobuf// Source: https://github.com/provenance-io/provenance/blob/v1.19.0/proto/cosmos/quarantine/v1beta1/tx.proto#L69-L74 message MsgAcceptResponse { repeated cosmos.base.v1beta1.Coin funds_released = 1; }
MsgDecline
Quarantined funds can be declined by the intended receiver using a
MsgDecline
. It contains a to_address
(receiver) and one or more from_addresses
(senders). It also contains a flag to indicate whether auto-decline should be set up for all provided addresses.protobuf// Source: https://github.com/provenance-io/provenance/blob/v1.19.0/proto/cosmos/quarantine/v1beta1/tx.proto#L76-L90 message MsgDecline { string to_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; repeated string from_addresses = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; bool permanent = 3; }
Any quarantined funds for the
to_address
from any from_address
are declined.For quarantined funds from multiple senders (e.g. from a
MultiSend
), a decline from any sender involved is sufficient to decline the funds.Funds that have been declined can always be accepted later.
If the
permanent
flag is true
, after declining all applicable funds, auto-decline is set up to the to_address
from each of the provided from_addresses
.Expected Failures
It is expected to fail if:
- The
to_address
is missing or invalid
- No
from_addresses
are provided
- Any
from_addresses
are invalid
MsgUpdateAutoResponses
Auto-Responses can be defined either through the
permanent
flags with a MsgAccept
or MsgDecline
, or using a MsgUpdateAutoResponses
. It contains a to_address
and a list of updates
. Each AutoResponseUpdate
contains a from_address
and the desired response
for it.protobuf// Source: https://github.com/provenance-io/provenance/blob/v1.19.0/proto/cosmos/quarantine/v1beta1/tx.proto#L95-L104 message MsgUpdateAutoResponses { string to_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; repeated AutoResponseUpdate updates = 2; } message AutoResponseUpdate { string from_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; AutoResponse response = 2; }
Providing a
response
of AUTO_RESPONSE_UNSPECIFIED
will cause the applicable entry to be deleted, allowing users to un-set previous auto-responses.Updating auto-responses has no effect on existing quarantined funds.
Expected Failures
It is expected to fail if:
- The
to_address
is invalid
- No
updates
are provided
- Any
from_address
is missing or invalid
- Any
response
value is something other thanAUTO_RESPONSE_ACCEPT
,AUTO_RESPONSE_DECLINE
, orAUTO_RESPONSE_UNSPECIFIED
Events
The Provenance Blockchain quarantine module emits four distinct events to track the complete lifecycle of quarantine operations: EventOptIn and EventOptOut for account quarantine activation and deactivation, EventFundsQuarantined when funds are intercepted and held in the quarantine funds holder account instead of being delivered directly to the intended recipient, and EventFundsReleased when quarantined funds are fully accepted and transferred from the quarantine holder to the originally intended recipient. These events provide comprehensive visibility into quarantine state changes and fund movement, enabling applications to track quarantine operations and fund flow through the intermediary holding mechanism.
EventOptIn
This event is emitted when an account opts into quarantine.
@Type:
/cosmos.quarantine.v1beta1.EventOptIn
Attribute Key | Attribute Value |
to_address | {bech32 string of account opting in} |
EventOptOut
This event is emitted when an account opts out of quarantine.
@Type:
/cosmos.quarantine.v1beta1.EventOptOut
Attribute Key | Attribute Value |
to_address | {bech32 string of account opting out} |
EventFundsQuarantined
When funds are quarantined, the
recipient
in events emitted by the x/bank module will be the quarantined funds holder account instead of the intended recipient. The following event is also emitted.@Type:
/cosmos.quarantine.v1beta1.EventFundsQuarantined
Attribute Key | Attribute Value |
to_address | {bech32 string of intended recipient} |
coins | {sdk.Coins of funds quarantined} |
EventFundsReleased
This event is emitted when funds are fully accepted and sent from the quarantine funds holder to the originally intended recipient.
@Type:
/cosmos.quarantine.v1beta1.EventFundsReleased
Attribute Key | Attribute Value |
to_address | {bech32 string of recipient} |
coins | {sdk.Coins of funds released} |
Queries
The Provenance Blockchain quarantine module provides a comprehensive query service for inspecting quarantine status, managing quarantined funds, and configuring auto-response settings. The query service includes endpoints for checking if an account has opted into quarantine, retrieving detailed information about quarantined funds with flexible filtering by recipient and sender addresses, and managing auto-response configurations that enable automatic acceptance or decline of funds from specific senders, all with pagination support for efficient data retrieval and management of quarantine operations.
IsQuarantined
Checks if an account has opted into quarantine.
HTTP Endpoint:
GET /cosmos/quarantine/v1beta1/active/{to_address}
Request:
QueryIsQuarantinedRequest
Response: QueryIsQuarantinedResponse
QueryIsQuarantinedRequest
protobuf// Source: https://github.com/provenance-io/provenance // QueryIsQuarantinedRequest defines the RPC request for checking if an account has opted into quarantine. message QueryIsQuarantinedRequest { // to_address is the address to check. string to_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; }
QueryIsQuarantinedResponse
protobuf// Source: https://github.com/provenance-io/provenance // QueryIsQuarantinedResponse defines the RPC response of an IsQuarantined query. message QueryIsQuarantinedResponse { // is_quarantined is true if the to_address has opted into quarantine. bool is_quarantined = 1; }
QuarantinedFunds
Gets information about funds that have been quarantined.
If both a to_address and from_address are provided, any such quarantined funds will be returned regardless of whether they've been declined. If only a to_address is provided, the unaccepted and undeclined funds waiting on a response from to_address will be returned. If neither a to_address nor from_address is provided, all non-declined quarantined funds for any address will be returned. The request is invalid if only a from_address is provided.
HTTP Endpoints:
GET /cosmos/quarantine/v1beta1/funds
GET /cosmos/quarantine/v1beta1/funds/{to_address}
GET /cosmos/quarantine/v1beta1/funds/{to_address}/{from_address}
Request:
QueryQuarantinedFundsRequest
Response: QueryQuarantinedFundsResponse
QueryQuarantinedFundsRequest
protobuf// Source: https://github.com/provenance-io/provenance // QueryQuarantinedFundsRequest defines the RPC request for looking up quarantined funds. message QueryQuarantinedFundsRequest { // to_address is the intended recipient of the coins that have been quarantined. string to_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // from_address is the sender of the coins. If provided, a to_address must also be provided. string from_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pagination defines optional pagination parameters for the request. cosmos.base.query.v1beta1.PageRequest pagination = 99; }
QueryQuarantinedFundsResponse
protobuf// Source: https://github.com/provenance-io/provenance // QueryQuarantinedFundsResponse defines the RPC response of a QuarantinedFunds query. message QueryQuarantinedFundsResponse { // quarantinedFunds is info about coins sitting in quarantine. repeated QuarantinedFunds quarantinedFunds = 1; // pagination defines the pagination parameters of the response. cosmos.base.query.v1beta1.PageResponse pagination = 99; }
AutoResponses
Gets the auto-response settings for a quarantined account.
The to_address is required. If a from_address is provided only the auto response for that from_address will be returned. If no from_address is provided, all auto-response settings for the given to_address will be returned.
HTTP Endpoints:
GET /cosmos/quarantine/v1beta1/auto/{to_address}
GET /cosmos/quarantine/v1beta1/auto/{to_address}/{from_address}
Request:
QueryAutoResponsesRequest
Response: QueryAutoResponsesResponse
QueryAutoResponsesRequest
protobuf// Source: https://github.com/provenance-io/provenance // QueryAutoResponsesRequest defines the RPC request for getting auto-response settings for an address. message QueryAutoResponsesRequest { // to_address is the quarantined account to get info on. string to_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // from_address is an optional sender address to limit results. string from_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pagination defines optional pagination parameters for the request. cosmos.base.query.v1beta1.PageRequest pagination = 99; }
QueryAutoResponsesResponse
protobuf// Source: https://github.com/provenance-io/provenance // QueryAutoResponsesResponse defines the RPC response of a AutoResponses query. message QueryAutoResponsesResponse { // auto_responses are the auto-response entries from the provided query. repeated AutoResponseEntry auto_responses = 1; // pagination defines the pagination parameters of the response. cosmos.base.query.v1beta1.PageResponse pagination = 99; }
protobuf// Example Query Service Definition // Source: https://github.com/provenance-io/provenance service Query { // IsQuarantined checks if an account has opted into quarantine. rpc IsQuarantined(QueryIsQuarantinedRequest) returns (QueryIsQuarantinedResponse) { option (google.api.http).get = "/cosmos/quarantine/v1beta1/active/{to_address}"; } // QuarantinedFunds gets information about funds that have been quarantined. rpc QuarantinedFunds(QueryQuarantinedFundsRequest) returns (QueryQuarantinedFundsResponse) { option (google.api.http) = { get: "/cosmos/quarantine/v1beta1/funds" additional_bindings: {get: "/cosmos/quarantine/v1beta1/funds/{to_address}"} additional_bindings: {get: "/cosmos/quarantine/v1beta1/funds/{to_address}/{from_address}"} }; } // AutoResponses gets the auto-response settings for a quarantined account. rpc AutoResponses(QueryAutoResponsesRequest) returns (QueryAutoResponsesResponse) { option (google.api.http) = { get: "/cosmos/quarantine/v1beta1/auto/{to_address}" additional_bindings: {get: "/cosmos/quarantine/v1beta1/auto/{to_address}/{from_address}"} }; } }
Params
No param restrictions exist for the quarantine module.