diff --git a/source/includes/_account.md b/source/includes/_account.md
index a54b3919..cd8cb328 100644
--- a/source/includes/_account.md
+++ b/source/includes/_account.md
@@ -106,6 +106,8 @@ import (
"os"
"time"
+ "cosmossdk.io/math"
+
"github.com/InjectiveLabs/sdk-go/client"
"github.com/InjectiveLabs/sdk-go/client/common"
@@ -162,11 +164,11 @@ func main() {
Sender: senderAddress.String(),
SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000",
Amount: sdktypes.Coin{
- Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ
+ Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ
},
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -394,6 +396,8 @@ import (
"os"
"time"
+ "cosmossdk.io/math"
+
"github.com/InjectiveLabs/sdk-go/client"
"github.com/InjectiveLabs/sdk-go/client/common"
@@ -450,11 +454,11 @@ func main() {
Sender: senderAddress.String(),
SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000",
Amount: sdktypes.Coin{
- Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ
+ Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ
},
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -690,6 +694,8 @@ import (
"os"
"time"
+ "cosmossdk.io/math"
+
"github.com/InjectiveLabs/sdk-go/client"
"github.com/InjectiveLabs/sdk-go/client/common"
@@ -747,11 +753,11 @@ func main() {
SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000",
DestinationSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000001",
Amount: sdktypes.Coin{
- Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ
+ Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ
},
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -988,6 +994,8 @@ import (
"os"
"time"
+ "cosmossdk.io/math"
+
"github.com/InjectiveLabs/sdk-go/client"
"github.com/InjectiveLabs/sdk-go/client/common"
@@ -1045,11 +1053,11 @@ func main() {
SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000",
DestinationSubaccountId: "0xbdaedec95d563fb05240d6e01821008454c24c36000000000000000000000000",
Amount: sdktypes.Coin{
- Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ
+ Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ
},
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -1382,13 +1390,21 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|sender|String|The Injective Chain address|Yes|
-|amount|Integer|The amount of tokens to send|Yes|
-|denom|String|The token denom|Yes|
-|eth_dest|String|The ethereum destination address|Yes|
-|bridge_fee|String|The bridge fee for the transfer|Yes|
+
+
Parameter | Type | Description | Required |
---|
sender | String | The sender's address | Yes |
+eth_dest | String | Destination Ethereum address | Yes |
+amount | Coin | The coin to send across the bridge (note the restriction that this is a single coin, not a set of coins) | Yes |
+bridge_fee | Coin | The fee paid for the bridge, distinct from the fee paid to the chain to actually send this message in the first place. So a successful send has two layers of fees for the user | Yes |
+
+
+
+
+**Coin**
+
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+amount | String | The amount of tokens | Yes |
+
### Response Parameters
> Response Example:
@@ -1409,6 +1425,77 @@ DEBU[0004] gas wanted: 161907 fn=func1 src="client/ch
gas fee: 0.0000809535 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## SendToInjective
@@ -1477,18 +1564,18 @@ if __name__ == "__main__":
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|ethereum_endpoint|String|The ethereum endpoint, you can get one from providers like Infura and Alchemy|Yes|
-|private_key|String|Private key of the account to be used to sign the transaction|Yes|
-|token_contract|String|The token contract, you can find the contract for the token you want to transfer on etherscan|Yes|
-|receiver|String|The Injective Chain address to receive the funds|Yes|
-|amount|Float|The amount you want to transfer|Yes|
-|maxFeePerGas|Integer|The maxFeePerGas in Gwei|Yes|
-|maxPriorityFeePerGas|Integer|The maxPriorityFeePerGas in Gwei|Yes|
-|peggo_abi|String|Peggo contract ABI|Yes|
-|data|String|The body of the message to send to Injective chain to do the deposit|Yes|
-|decimals|Integer|Number of decimals in Injective chain of the token being transferred (default: 18)|No|
+
+Parameter | Type | Description | Required |
---|
ethereum_endpoint | String | The ethereum endpoint, you can get one from providers like Infura and Alchemy | Yes |
+private_key | String | Private key of the account to be used to sign the transaction | Yes |
+token_contract | String | The token contract, you can find the contract for the token you want to transfer on etherscan | Yes |
+receiver | String | The Injective Chain address to receive the funds | Yes |
+amount | Float | The amount to transfer | Yes |
+maxFeePerGas | Integer | The maxFeePerGas in Gwei | Yes |
+maxPriorityFeePerGas | Integer | The maxPriorityFeePerGas in Gwei | Yes |
+peggo_abi | String | Peggo contract ABI| | Yes |
+data | String | The body of the message to send to Injective chain to do the deposit | Yes |
+decimals | Integer | Number of decimals in Injective chain of the token being transferred (default: 18) | No |
+
### Response Parameters
> Response Example:
@@ -1608,9 +1695,9 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|hash|String|The transaction hash|Yes|
+
+Parameter | Type | Description | Required |
---|
hash | String | The TX hash to query, encoded as a hex string | Yes |
+
> Response Example:
@@ -2298,6 +2385,157 @@ tx:
txhash: A2B2B971C690AE7977451D24D6F450AECE6BCCB271E91E32C2563342DDA5254B
```
+
+Parameter | Type | Description |
---|
tx | Tx | Transaction details |
+tx_resposne | TxResponse | Transaction details |
+
+
+
+
+**Tx**
+
+
+Parameter | Type | Description |
---|
body | TxBody | Body is the processable content of the transaction |
+auth_info | AuthInfo | Authorization related content of the transaction (specifically signers, signer modes and fee) |
+signatures | Bytes Array Array | List of signatures that matches the length and order of AuthInfo's signer_infos to allow connecting signature meta information like public key and signing mode by position |
+
+
+
+
+**TxBody**
+
+
+Parameter | Type | Description |
---|
messages | Any Array | List of messages to be executed. The required signers of those messages define the number and order of elements in AuthInfo's signer_infos and Tx's signatures. Each required signer address is added to the list only the first time it occurs. By convention, the first required signer (usually from the first message) is referred to as the primary signer and pays the fee for the whole transaction |
+memo | String | Memo is any arbitrary note/comment to be added to the transaction |
+timeout_height | Integer | The block height after which this transaction will not be processed by the chain |
+extension_options | Any Array | These are arbitrary options that can be added by chains when the default options are not sufficient. If any of these are present and can't be handled, the transaction will be rejected |
+non_critical_extension_options | Any Array | These are arbitrary options that can be added by chains when the default options are not sufficient. If any of these are present and can't be handled, they will be ignored |
+
+
+
+
+**AuthInfo**
+
+
+Parameter | Type | Description |
---|
signer_infos | SignerInfo Array | Defines the signing modes for the required signers. The number and order of elements must match the required signers from TxBody's messages. The first element is the primary signer and the one which pays the fee |
+fee | Fee | Fee is the fee and gas limit for the transaction. The first signer is the primary signer and the one which pays the fee. The fee can be calculated based on the cost of evaluating the body and doing signature verification of the signers. This can be estimated via simulation |
+tip | Tip | Tip is the optional tip used for transactions fees paid in another denom (this field is ignored if the chain didn't enable tips, i.e. didn't add the `TipDecorator` in its posthandler) |
+
+
+
+
+**SignerInfo**
+
+
+Parameter | Type | Description |
---|
public_key | Any | Public key of the signer. It is optional for accounts that already exist in state. If unset, the verifier can use the required signer address for this position and lookup the public key |
+mode_info | ModeInfo | Describes the signing mode of the signer and is a nested structure to support nested multisig pubkey's |
+sequence | Integer | The sequence of the account, which describes the number of committed transactions signed by a given address. It is used to prevent replay attacks |
+
+
+
+
+**ModeInfo**
+
+
+Parameter | Type | Description |
---|
sum | Signing mode | Types that are valid to be assigned to Sum: *ModeInfo_Single_, *ModeInfo_Multi_ |
+
+
+
+
+**Fee**
+
+
+Parameter | Type | Description |
---|
amount | Coin Array | Amount of coins to be paid as a fee |
+gas_limit | Integer | Maximum gas that can be used in transaction processing before an out of gas error occurs |
+payer | String | If unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. The payer must be a tx signer (and thus have signed this field in AuthInfo). Setting this field does *not* change the ordering of required signers for the transaction |
+granter | String | If set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does not support fee grants, this will fail |
+
+
+
+
+**Coin**
+
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+amount | String | The amount of tokens | Yes |
+
+
+
+
+**Tip**
+
+
+Parameter | Type | Description |
---|
amount | Coin Array | Amount of coins to be paid as a tip |
+tipper | String | Address of the account paying for the tip |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## StreamEventOrderFail
diff --git a/source/includes/_accountsrpc.md b/source/includes/_accountsrpc.md
index 2f27d209..04f97564 100644
--- a/source/includes/_accountsrpc.md
+++ b/source/includes/_accountsrpc.md
@@ -67,9 +67,9 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|account_address|String|The Injective Chain address|Yes|
+
+Parameter | Type | Description | Required |
---|
account_address | String | Injective address of the account to query for subaccounts | Yes |
+
### Response Parameters
@@ -94,9 +94,10 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|subaccounts|String Array|List of subaccounts, including default and all funded accounts|
+
+Parameter | Type | Description |
---|
subaccounts | String Array | Subaccounts list |
+
+
## SubaccountHistory
@@ -190,14 +191,14 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|subaccount_id|String|Filter by subaccount ID|Yes|
-|denom|String|Filter by denom|No|
-|transfer_types|String Array|Filter by transfer types. Valid options: [“internal”, “external”, withdraw”, “deposit”]|No|
-|skip|Integer|Skip the last _n_ transfers, you can use this to fetch all transfers since the API caps at 100. Note: The end_time filter takes precedence over skip; any skips will use the filtered results from end_time|No|
-|limit|Integer|Max number of items to be returned|No|
-|end_time|Integer|Upper bound (inclusive) of account transfer history executed_at unix timestamp|No|
+
+Parameter | Type | Description | Required |
---|
subaccount_id | String | ID of the subaccount to get the history from | Yes |
+denom | String | Filter by token denom | No |
+transfer_types | String Array | Filter by transfer types. Valid options: internal, external, withdraw, deposit | No |
+skip | Integer | Skip the first N items from the result | No |
+limit | Integer | Maximum number of items to be returned | No |
+end_time | Integer | Upper bound (inclusive) of account transfer history executed_at unix timestamp | No |
+
### Response Parameters
@@ -276,33 +277,45 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|transfers|SubaccountBalanceTransfer|List of subaccount transfers|
-|paging|Paging|Pagination of results|
+
+Parameter | Type | Description |
---|
transfers | SubaccountBalanceTransfer Array | Transfers list |
+paging | Paging | Pagination details |
+
+
+
**SubaccountBalanceTransfer**
-|Parameter|Type|Description|
-|----|----|----|
-|amount|CosmosCoin|CosmosCoin|
-|dst_account_address|String|Account address of the receiving side|
-|executed_at|Integer|Timestamp of the transfer in UNIX millis|
-|src_subaccount_id|String|Subaccount ID of the sending side|
-|transfer_type|String|Type of the subaccount balance transfer. Valid options: ["internal", "external", "withdraw", "deposit"]|
+
+Parameter | Type | Description |
---|
transfer_type | String | Type of subaccount balance transfer |
+src_subaccount_id | String | Subaccount ID of the sending side |
+src_account_address | String | Account address of the sending side |
+dst_subaccount_id | String | Subaccount ID of the receiving side |
+dst_account_address | String | Account address of the receiving side |
+amount | CosmosCoin | Transfer amount |
+executed_at | Integer | Transfer timestamp (in milliseconds) |
+
+
+
**CosmosCoin**
-|Parameter|Type|Description|
-|----|----|----|
-|amount|String|Coin amount|
-|denom|String|Coin denominator|
+
+Parameter | Type | Description |
---|
denom | String | Token denom |
+amount | String | Token amount |
+
+
+
**Paging**
-|Parameter|Type|Description|
-|----|----|----|
-|total|Integer|Total number of available records|
+
+Parameter | Type | Description |
---|
total | Integer | Total number of available records |
+from | Integer | Record index start |
+to | Integer | Record index end |
+count_by_subaccount | Integer | Count entries by subaccount |
+next | String Array | List of tokens to navigate to the next pages |
+
## SubaccountBalance
@@ -373,10 +386,10 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|subaccount_id|String|Filter by subaccount ID|Yes|
-|denom|String|Filter by denom|Yes|
+
+Parameter | Type | Description | Required |
---|
subaccount_id | String | ID of the subaccount to get the balances from | Yes |
+denom | String | Filter by token denom | Yes |
+
### Response Parameters
@@ -410,26 +423,29 @@ func main() {
}
```
+
+Parameter | Type | Description |
---|
balance | SubaccountBalance | Balance details |
+
-|Parameter|Type|Description|
-|----|----|----|
-|balance|SubaccountBalance|SubaccountBalance object|
+
**SubaccountBalance**
-|Parameter|Type|Description|
-|----|----|----|
-|denom|String|Coin denom on the chain|
-|deposit|SubaccountDeposit|SubaccountDeposit object|
-|subaccount_id|String|ID of the subaccount|
-|account_address|String|The Injective Chain address that owns the subaccount|
+
+Parameter | Type | Description |
---|
subaccount_id | String | Subaccount ID |
+account_address | String | Injective address of the account the subaccount belongs to |
+denom | String | Token denom |
+deposit | SubaccountDeposit | Deposit details |
+
+
+
**SubaccountDeposit**
-|Parameter|Type|Description|
-|----|----|----|
-|available_balance|String|The available balance for a denom (taking active orders into account)|
-|total_balance|String|The total balance for a denom (balance if all active orders were cancelled)|
+
+Parameter | Type | Description |
---|
total_balance | String | Total balance |
+available_balance | String | Available balance |
+
## SubaccountBalancesList
@@ -499,12 +515,10 @@ func main() {
```
-
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|subaccount_id|String|ID of subaccount to get balance info from|Yes|
-|denoms|String Array|Filter balances by denoms. If not set, the balances of all the denoms for the subaccount are provided|No|
-
+
+Parameter | Type | Description | Required |
---|
subaccount_id | String | ID of the subaccount to get the balances from | Yes |
+denoms | String | Filter balances by denoms. If not set, the balances of all the denoms for the subaccount are provided | No |
+
### Response Parameters
@@ -569,25 +583,30 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|balances|SubaccountBalance Array|Array of SubaccountBalance objects|
+
+Parameter | Type | Description |
---|
balances | SubaccountBalance Array | List of subaccount balances |
+
+
+
**SubaccountBalance**
-|Parameter|Type|Description|
-|----|----|----|
-|account_address|String|The Injective Chain address, owner of subaccount|
-|denom|String|Coin denom on the chain|
-|deposit|SubaccountDeposit|SubaccountDeposit object|
-|subaccount_id|String|ID of subaccount associated with returned balances|
+
+Parameter | Type | Description |
---|
subaccount_id | String | Subaccount ID |
+account_address | String | Injective address of the account the subaccount belongs to |
+denom | String | Token denom |
+deposit | SubaccountDeposit | Deposit details |
+
+
+
**SubaccountDeposit**
-|Parameter|Type|Description|
-|----|----|----|
-|available_balance|String|The available balance for a denom|
-|total_balance|String|The total balance for a denom|
+
+Parameter | Type | Description |
---|
total_balance | String | Total balance |
+available_balance | String | Available balance |
+
+
## SubaccountOrderSummary
@@ -668,12 +687,11 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|subaccount_id|String|ID of the subaccount we want to get the summary from|Yes|
-|market_id|String|Limit the order summary to a specific market|No|
-|order_direction|String|Filter by the direction of the orders. Valid options: "buy", "sell"|No|
-
+
+Parameter | Type | Description | Required |
---|
subaccount_id | String | ID of the subaccount to get the summary from | Yes |
+market_id | String | Limit the order summary to a specific market | No |
+order_direction | String | Filter by the direction of the orders. Valid options: buy, sell | No |
+
### Response Parameters
@@ -691,11 +709,10 @@ spot orders: 1
derivative orders: 7
```
-|Parameter|Type|Description|
-|----|----|----|
-|derivative_orders_total|Integer|Total count of subaccount's active derivative orders in a given market and direction|
-|spot_orders_total|Integer|Total count of subaccount's active spot orders in a given market and direction|
-
+
+Parameter | Type | Description |
---|
spot_orders_total | Integer | Total count of subaccount's spot orders in given market and direction |
+derivative_orders_total | Integer | Total count of subaccount's derivative orders in given market and direction |
+
## StreamSubaccountBalance
@@ -771,7 +788,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -803,13 +820,10 @@ func main() {
```
-| Parameter | Type | Description | Required |
-| ------------------ | ------------ | ----------------------------------------------------------------------------------------------------- | -------- |
-| subaccount_id | String | Filter by subaccount ID | Yes |
-| denoms | String Array | Filter balances by denoms. If not set, the balances of all the denoms for the subaccount are provided | No |
-| callback | Function | Function receiving one parameter (a stream event JSON dictionary) to process each new event | Yes |
-| on_end_callback | Function | Function with the logic to execute when the stream connection is interrupted | No |
-| on_status_callback | Function | Function receiving one parameter (the exception) with the logic to execute when an exception happens | No |
+
+Parameter | Type | Description | Required |
---|
subaccount_id | String | ID of the subaccount to get the balances from | Yes |
+denoms | String Array | Filter balances by denoms. If not set, the balances of all the denoms for the subaccount are provided | No |
+
### Response Parameters
@@ -868,26 +882,30 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|balance|SubaccountBalance|SubaccountBalance object|
-|timestamp|Integer|Operation timestamp in UNIX millis|
+
+Parameter | Type | Description |
---|
balance | SubaccountBalance | Subaccount balance |
+timestamp | Integer | Operation timestamp in Unix milliseconds |
+
+
+
**SubaccountBalance**
-|Parameter|Type|Description|
-|----|----|----|
-|denom|String|Coin denom on the chain|
-|deposit|SubaccountDeposit|SubaccountDeposit object|
-|subaccount_id|String|ID of the subaccount to get balance from|
-|account_address|String|The Injective Chain address that owns the subaccount|
+
+Parameter | Type | Description |
---|
subaccount_id | String | Subaccount ID |
+account_address | String | Injective address of the account the subaccount belongs to |
+denom | String | Token denom |
+deposit | SubaccountDeposit | Deposit details |
+
+
+
**SubaccountDeposit**
-|Parameter|Type|Description|
-|----|----|----|
-|available_balance|String|The available balance for a denom (taking active orders into account)|
-|total_balance|String|The total balance for a denom (balance if all active orders were cancelled)|
+
+Parameter | Type | Description |
---|
total_balance | String | Total balance |
+available_balance | String | Available balance |
+
## OrderStates
@@ -973,10 +991,10 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|spot_order_hashes|String Array|Array with the order hashes you want to fetch in spot markets|No|
-|derivative_order_hashes|String Array|Array with the order hashes you want to fetch in derivative markets|No|
+
+Parameter | Type | Description | Required |
---|
spot_order_hashes | String Array | Array with the order hashes you want to fetch in spot markets | No |
+derivative_order_hashes | String Array | Array with the order hashes you want to fetch in derivative markets | No |
+
### Response Parameters
@@ -1048,40 +1066,29 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|spot_order_states|OrderStateRecord Array|Array of OrderStateRecord objects|
-|derivative_order_states|OrderStateRecord Array|Array of OrderStateRecord objects|
-
-**SpotOrderStates**
-
-|Parameter|Type|Description|
-|----|----|----|
-|order_hash|String|Hash of the order|
-|subaccount_id|String|The subaccount ID that posted the order|
-|market_id|String|The market ID of the order|
-|order_type|String|The order type. Should be one of: ["buy", "sell", "stop_buy", "stop_sell", "take_buy", "take_sell", "buy_po", "sell_po"]. If execution_type (market or limit) is needed, use the OrdersHistory request in Spot/DerivativeExchangeRPC instead|
-|order_side|String|The order side. Should be one of: ["buy", "sell"]|
-|state|String|The order state. Should be one of: ["booked", "partial_filled", "filled", "canceled"]|
-|quantity_filled|String|The quantity that has been filled for the order|
-|quantity_remaining|String|The quantity that hasn't been filled for the order|
-|created_at|String|The UNIX timestamp of the order when it was first created|
-|updated_at|String|The UNIX timestamp of the order when it was last updated|
-
-**DerivativeOrderStates**
-
-|Parameter|Type|Description|
-|----|----|----|
-|order_hash|String|Hash of the order|
-|subaccount_id|String|The subaccount ID that posted the order|
-|market_id|String|The market ID of the order|
-|order_type|String|The order type. Should be one of: ["buy", "sell", "stop_buy", "stop_sell", "take_buy", "take_sell", "buy_po", "sell_po"]. If execution_type (market or limit) is needed, use the OrdersHistory request in Spot/DerivativeExchangeRPC instead|
-|order_side|String|The order side. Should be one of: ["buy", "sell"]|
-|state|String|The order state. Should be one of: ["booked", "partial_filled", "filled", "canceled"]|
-|quantity_filled|String|The quantity that has been filled for the order|
-|quantity_remaining|String|The quantity that hasn't been filled for the order|
-|created_at|String|The UNIX timestamp of the order when it was first created|
-|updated_at|String|The UNIX timestamp of the order when it was last updated|
+
+Parameter | Type | Description |
---|
spot_order_states | OrderStateRecord Array | List of the spot order state records |
+derivative_order_states | OrderStateRecord Array | List of the derivative order state records |
+
+
+
+
+**OrderStateRecord**
+
+
+Parameter | Type | Description |
---|
order_hash | String | Hash of the order |
+subaccount_id | String | The subaccountId that this order belongs to |
+market_id | String | The Market ID of the order |
+order_type | String | The type of the order |
+order_side | String | The side of the order |
+state | String | The order state. Should be one of: booked, partial_filled, filled, canceled |
+quantity_filled | String | The filled quantity of the order |
+quantity_remaining | String | The unfilled quantity of the order |
+created_at | Integer | Order committed timestamp in UNIX milliseconds |
+updated_at | Integer | Order updated timestamp in UNIX milliseconds |
+price | String | Order price |
+margin | String | Margin for derivative order |
+
## Portfolio
@@ -1150,9 +1157,9 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|account_address|String|The Injective Chain address|Yes|
+
+Parameter | Type | Description | Required |
---|
account_address | String | The Injective address | Yes |
+
### Response Parameters
@@ -1262,22 +1269,33 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|portfolio_value|String|The total value (in USD) of your portfolio including bank balance, subaccounts' balance, unrealized profit & loss as well as margin in open positions|
-|available_balance|String|The total available balance (in USD) in all subaccounts|
-|locked_balance|String|The amount of margin in open orders and positions (in USD)|
-|unrealized_pnl|String|The approximate unrealized profit and loss across all positions (based on mark prices, in USD)|
-|subaccounts|SubaccountPortfolio Array|List of all subaccounts' portfolios|
+
+Parameter | Type | Description |
---|
portfolio | AccountPortfolio | Portfolio details |
+
+
+
+
+**AccountPortfolio**
+
+
+Parameter | Type | Description |
---|
portfolio_value | String | The account's portfolio value in USD |
+available_balance | String | The account's available balance value in USD |
+locked_balance | String | The account's locked balance value in USD |
+unrealized_pnl | String | The account's total unrealized PnL value in USD |
+subaccounts | SubaccountPortfolio Array | List of all subaccounts' portfolio |
+
+
+
**SubaccountPortfolio**
-|Parameter|Type|Description|
-|----|----|----|
-|subaccount_id|String|The ID of this subaccount|
-|available_balance|String|The subaccount's available balance (in USD)|
-|locked_balance|String|The subaccount's locked balance (in USD)|
-|unrealized_pnl|String|The Subaccount's total unrealized PnL value (in USD)|
+
+Parameter | Type | Description |
---|
subaccount_id | String | The subaccount ID |
+available_balance | String | The subaccount's available balance value in USD |
+locked_balance | String | The subaccount's locked balance value in USD |
+unrealized_pnl | String | The subaccount's total unrealized PnL value in USD |
+
+
## Rewards
@@ -1354,10 +1372,10 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|account_address|String|The Injective Chain address to fetch rewards amount for|No|
-|epoch|Integer|The rewards distribution epoch number. Use -1 for the latest epoch|No|
+
+Parameter | Type | Description | Required |
---|
epoch | Integer | The distribution epoch sequence number. -1 for latest | No |
+account_address | String | Account address for the rewards distribution | No |
+
### Response Parameters
@@ -1397,21 +1415,25 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|rewards|Reward Array|List of trading rewards|
+
+Parameter | Type | Description |
---|
rewards | Reward Array | The trading rewards distributed |
+
+
+
**Reward**
-|Parameter|Type|Description|
-|----|----|----|
-|account_address|String|The Injective Chain address|
-|rewards|Coin Array|List of rewards by denom and amount|
-|distributed_at|Integer|Timestamp of the transfer in UNIX millis|
+
+Parameter | Type | Description |
---|
account_address | String | Account Injective address |
+rewards | Coin Array | Reward coins distributed |
+distributed_at | Integer | Rewards distribution timestamp in UNIX milliseconds |
+
+
+
**Coin**
-|Parameter|Type|Description|
-|----|----|----|
-|denom|String|Denom of the reward|
-|amount|String|Amount of denom in reward|
+
+Parameter | Type | Description |
---|
denom | String | Token denom |
+amount | String | Token amount |
+
diff --git a/source/includes/_auction.md b/source/includes/_auction.md
index c7534548..8f48b964 100644
--- a/source/includes/_auction.md
+++ b/source/includes/_auction.md
@@ -102,6 +102,8 @@ import (
"os"
"time"
+ "cosmossdk.io/math"
+
"github.com/InjectiveLabs/sdk-go/client"
"github.com/InjectiveLabs/sdk-go/client/common"
@@ -156,7 +158,7 @@ func main() {
round := uint64(9355)
bidAmount := sdktypes.Coin{
- Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ
+ Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ
}
msg := &auctiontypes.MsgBid{
@@ -165,7 +167,7 @@ func main() {
BidAmount: bidAmount,
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -186,11 +188,20 @@ func main() {
```
-|Parameter|Type|Description|Required|
-|----|----|----|----|
-|sender|String|The Injective Chain address|Yes|
-|round|String|The auction round|Yes|
-|bid_amount|String|The bid amount in INJ|Yes|
+
+Parameter | Type | Description | Required |
---|
sender | String | The sender Injective address | Yes |
+bid_amount | Coin | Bid amount in INJ tokens | Yes |
+round | Integer | The current auction round | Yes |
+
+
+
+
+**Coin**
+
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+amount | String | The amount of tokens | Yes |
+
### Response Parameters
> Response Example:
@@ -210,3 +221,74 @@ DEBU[0002] nonce incremented to 3509 fn=func1 src="client/ch
DEBU[0002] gas wanted: 152112 fn=func1 src="client/chain/chain.go:624"
gas fee: 0.000076056 INJ
```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
diff --git a/source/includes/_auctionsrpc.md b/source/includes/_auctionsrpc.md
index 20c70b1a..84340803 100644
--- a/source/includes/_auctionsrpc.md
+++ b/source/includes/_auctionsrpc.md
@@ -69,9 +69,9 @@ func main() {
```
-| Parameter | Type | Description | Required |
-| --------- | ------- | --------------------------------------- | -------- |
-| round | Integer | The auction round number. -1 for latest | Yes |
+
+Parameter | Type | Description | Required |
---|
round | Integer | The auction round number, -1 for latest | Yes |
+
### Response Parameters
@@ -141,37 +141,42 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|auction|Auction|Information about the auction|
-|bids|Bid Array|Bids submitted in the auction|
+
+Parameter | Type | Description |
---|
auction | Auction | Auction details |
+bids | Bid Array | Auction's bids |
+
+
+
**Auction**
-|Parameter|Type|Description|
-|----|----|----|
-|winner|String|The Injective Chain address with the highest bid|
-|basket|Coin Array|Coins in the basket|
-|winning_bid_amount|String|Amount of the highest bid (in inj)|
-|round|Integer|The auction round number|
-|end_timestamp|Integer|The auction's ending timestamp in UNIX millis|
-|updated_at|Integer|The timestamp of the last update in UNIX millis|
+
+Parameter | Type | Description |
---|
winner | String | Account Injective address |
+basket | Coin Array | Coins in the basket |
+winning_bid_amount | String | Amount of the highest bid (in INJ) |
+round | Integer | The auction round number |
+end_timestamp | Integer | Auction end timestamp in UNIX milliseconds |
+updated_at | Integer | The timestamp of the last update in UNIX milliseconds |
+
+
+
**Bid**
-|Parameter|Type|Description|
-|----|----|----|
-|bidder|String|The Injective Chain address of the bidder|
-|amount|String|The bid amount (in inj)|
-|timestamp|Integer|The timestamp at which the bid was submitted|
+
+Parameter | Type | Description |
---|
bidder | String | Bidder account Injective address |
+amount | String | The bid amount |
+timestamp | Integer | Bid timestamp in UNIX millis |
+
+
**Coin**
-|Parameter|Type|Description|
-|----|----|----|
-|denom|String|Denom of the coin|
-|amount|String|Quantity of the coin|
+
+Parameter | Type | Description |
---|
denom | String | Token denom |
+amount | String | Token amount |
+
## Auctions
@@ -238,6 +243,8 @@ func main() {
```
+No parameters
+
### Response Parameters
> Response Example:
@@ -350,27 +357,29 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|auctions|Auction Array|List of historical auctions|
+
+Parameter | Type | Description |
---|
auctions | Auction Array | List of auctions |
+
-**Auction**
+
-|Parameter|Type|Description|
-|----|----|----|
-|winner|String|The Injective Chain address with the highest bid|
-|basket|Coin Array|Coins in the basket|
-|winning_bid_amount|String|Amount of the highest bid (in inj)|
-|round|Integer|The auction round number|
-|end_timestamp|Integer|The auction's ending timestamp in UNIX millis|
-|updated_at|Integer|The timestamp of the last update in UNIX millis|
+
+Parameter | Type | Description |
---|
winner | String | Account Injective address |
+basket | Coin Array | Coins in the basket |
+winning_bid_amount | String | Amount of the highest bid (in INJ) |
+round | Integer | The auction round number |
+end_timestamp | Integer | Auction end timestamp in UNIX milliseconds |
+updated_at | Integer | The timestamp of the last update in UNIX milliseconds |
+
+
+
**Coin**
-|Parameter|Type|Description|
-|----|----|----|
-|denom|String|Denom of the coin|
-|amount|String|Quantity of the coin|
+
+Parameter | Type | Description |
---|
denom | String | Token denom |
+amount | String | Token amount |
+
## StreamBids
@@ -474,11 +483,7 @@ func main() {
```
-| Parameter | Type | Description | Required |
-| ------------------ | -------- | ---------------------------------------------------------------------------------------------------- | -------- |
-| callback | Function | Function receiving one parameter (a stream event JSON dictionary) to process each new event | Yes |
-| on_end_callback | Function | Function with the logic to execute when the stream connection is interrupted | No |
-| on_status_callback | Function | Function receiving one parameter (the exception) with the logic to execute when an exception happens | No |
+No parameters
### Response Parameters
@@ -513,9 +518,9 @@ func main() {
}
```
-|Parameter|Type|Description|
-|----|----|----|
-|bidder|String|The Injective Chain address of the bidder|
-|bid_amount|String|The bid amount (in inj)|
-|round|Integer|The auction round number|
-|timestamp|Integer|The timestamp at which the bid was submitted in UNIX millis|
+
+Parameter | Type | Description |
---|
bidder | String | The bidder Injective address |
+bid_amount | String | The bid amount (in INJ) |
+round | Integer | The auction round number |
+timestamp | Integer | Bid timestamp in UNIX milliseconds |
+
diff --git a/source/includes/_authz.md b/source/includes/_authz.md
index 40d75849..b0da503e 100644
--- a/source/includes/_authz.md
+++ b/source/includes/_authz.md
@@ -179,9 +179,9 @@ func main() {
grantee := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
expireIn := time.Now().AddDate(1, 0, 0) // years months days
- //GENERIC AUTHZ
- //msgtype := "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder"
- //msg := chainClient.BuildGenericAuthz(granter, grantee, msgtype, expireIn)
+ // GENERIC AUTHZ
+ // msgtype := "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder"
+ // msg := chainClient.BuildGenericAuthz(granter, grantee, msgtype, expireIn)
// TYPED AUTHZ
msg := chainClient.BuildExchangeAuthz(
@@ -193,7 +193,7 @@ func main() {
expireIn,
)
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -264,6 +264,77 @@ DEBU[0003] gas wanted: 117873 fn=func1 src="client/ch
gas fee: 0.0000589365 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgExec
@@ -513,7 +584,7 @@ func main() {
Msgs: []*codectypes.Any{msg0Any},
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -562,6 +633,77 @@ DEBU[0004] gas wanted: 133972 fn=func1 src="client/ch
gas fee: 0.000066986 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgRevoke
@@ -729,7 +871,7 @@ func main() {
MsgTypeUrl: msgType,
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -774,6 +916,77 @@ DEBU[0003] gas wanted: 103153 fn=func1 src="client/ch
gas fee: 0.0000515765 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## Grants
diff --git a/source/includes/_bank.md b/source/includes/_bank.md
index ff452aad..2e98d45f 100644
--- a/source/includes/_bank.md
+++ b/source/includes/_bank.md
@@ -107,6 +107,8 @@ import (
"os"
"time"
+ "cosmossdk.io/math"
+
"github.com/InjectiveLabs/sdk-go/client"
"github.com/InjectiveLabs/sdk-go/client/common"
@@ -164,11 +166,11 @@ func main() {
FromAddress: senderAddress.String(),
ToAddress: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r",
Amount: []sdktypes.Coin{{
- Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ
+ Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ
},
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
@@ -216,6 +218,77 @@ DEBU[0004] gas wanted: 119871 fn=func1 src="client/ch
gas fee: 0.0000599355 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgMultiSend
@@ -234,6 +307,8 @@ import (
"os"
"time"
+ "cosmossdk.io/math"
+
"github.com/InjectiveLabs/sdk-go/client"
"github.com/InjectiveLabs/sdk-go/client/common"
@@ -295,13 +370,13 @@ func main() {
{
Address: senderAddress.String(),
Coins: []sdktypes.Coin{{
- Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ
+ Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ
},
},
{
Address: senderAddress.String(),
Coins: []sdktypes.Coin{{
- Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: sdktypes.NewInt(1000000)}, // 1 USDT
+ Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: math.NewInt(1000000)}, // 1 USDT
},
},
},
@@ -309,19 +384,19 @@ func main() {
{
Address: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r",
Coins: []sdktypes.Coin{{
- Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ
+ Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ
},
},
{
Address: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r",
Coins: []sdktypes.Coin{{
- Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: sdktypes.NewInt(1000000)}, // 1 USDT
+ Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: math.NewInt(1000000)}, // 1 USDT
},
},
},
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
diff --git a/source/includes/_binaryoptions.md b/source/includes/_binaryoptions.md
index 39ec248f..32977d66 100644
--- a/source/includes/_binaryoptions.md
+++ b/source/includes/_binaryoptions.md
@@ -153,7 +153,9 @@ func main() {
status | MarketStatus | Status of the market |
min_price_tick_size | Decimal | Minimum tick size that the price required for orders in the market |
min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
-settlement_price | Decimal | The market's settlement price |
+settlement_price | Decimal | The market's settlement price |
+min_notional | Decimal | Minimum notional (in quote asset) required for orders in the market |
+admin_permissions | Integer | Level of admin permissions (the permission number is a result of adding up all individual permissions numbers) |
@@ -175,80 +177,17 @@ func main() {
11 | Provider |
+
-## MsgInstantBinaryOptionsMarketLaunch
-
-**IP rate limit group:** `chain`
-
-### Request Parameters
-> Request Example:
-
-
-
-```py
-import asyncio
-import os
-from decimal import Decimal
-
-import dotenv
-
-from pyinjective.async_client import AsyncClient
-from pyinjective.core.broadcaster import MsgBroadcasterWithPk
-from pyinjective.core.network import Network
-from pyinjective.wallet import PrivateKey
-
-
-async def main() -> None:
- dotenv.load_dotenv()
- configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY")
-
- # select network: local, testnet, mainnet
- network = Network.testnet()
-
- # initialize grpc client
- client = AsyncClient(network)
- composer = await client.composer()
- await client.sync_timeout_height()
-
- message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
- network=network,
- private_key=configured_private_key,
- )
-
- # load account
- priv_key = PrivateKey.from_hex(configured_private_key)
- pub_key = priv_key.to_public_key()
- address = pub_key.to_address()
- await client.fetch_account(address.to_acc_bech32())
-
- # prepare tx msg
- message = composer.msg_instant_binary_options_market_launch(
- sender=address.to_acc_bech32(),
- ticker="UFC-KHABIB-TKO-05/30/2023",
- oracle_symbol="UFC-KHABIB-TKO-05/30/2023",
- oracle_provider="UFC",
- oracle_type="Provider",
- oracle_scale_factor=6,
- maker_fee_rate=Decimal("0.0005"), # 0.05%
- taker_fee_rate=Decimal("0.0010"), # 0.10%
- expiration_timestamp=1680730982,
- settlement_timestamp=1690730982,
- admin=address.to_acc_bech32(),
- quote_denom="peggy0xdAC17F958D2ee523a2206206994597C13D831ec7",
- min_price_tick_size=Decimal("0.01"),
- min_quantity_tick_size=Decimal("0.01"),
- min_notional=Decimal("1"),
- )
-
- # broadcast the transaction
- result = await message_broadcaster.broadcast([message])
- print("---Transaction Response---")
- print(result)
-
+**AdminPermission**
-if __name__ == "__main__":
- asyncio.get_event_loop().run_until_complete(main())
-```
+
+Code | Name |
---|
1 | Ticker Permission |
+2 | Min Price Tick Size Permission |
+4 | Min Quantity Tick Size Permission |
+8 | Min Notional Permission |
+16 | Initial Margin Ratio Permission |
+32 | Maintenance Margin Ratio Permission |
@@ -262,12 +201,12 @@ import (
"fmt"
"os"
+ "cosmossdk.io/math"
+
exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types"
oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types"
exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange"
- "github.com/cosmos/cosmos-sdk/types"
-
"github.com/InjectiveLabs/sdk-go/client"
chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
"github.com/InjectiveLabs/sdk-go/client/common"
@@ -328,10 +267,10 @@ func main() {
}
quoteToken := marketsAssistant.AllTokens()["USDC"]
- minPriceTickSize := types.MustNewDecFromStr("0.01")
- minQuantityTickSize := types.MustNewDecFromStr("0.001")
+ minPriceTickSize := math.LegacyMustNewDecFromStr("0.01")
+ minQuantityTickSize := math.LegacyMustNewDecFromStr("0.001")
- chainMinPriceTickSize := minPriceTickSize.Mul(types.NewDecFromIntWithPrec(types.NewInt(1), int64(quoteToken.Decimals)))
+ chainMinPriceTickSize := minPriceTickSize.Mul(math.LegacyNewDecFromIntWithPrec(math.NewInt(1), int64(quoteToken.Decimals)))
chainMinQuantityTickSize := minQuantityTickSize
msg := &exchangetypes.MsgInstantBinaryOptionsMarketLaunch{
@@ -341,8 +280,8 @@ func main() {
OracleProvider: "UFC",
OracleType: oracletypes.OracleType_Provider,
OracleScaleFactor: 6,
- MakerFeeRate: types.MustNewDecFromStr("0.0005"),
- TakerFeeRate: types.MustNewDecFromStr("0.0010"),
+ MakerFeeRate: math.LegacyMustNewDecFromStr("0.0005"),
+ TakerFeeRate: math.LegacyMustNewDecFromStr("0.0010"),
ExpirationTimestamp: 1680730982,
SettlementTimestamp: 1690730982,
Admin: senderAddress.String(),
@@ -351,7 +290,7 @@ func main() {
MinQuantityTickSize: chainMinQuantityTickSize,
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
response, err := chainClient.AsyncBroadcastMsg(msg)
if err != nil {
@@ -378,7 +317,8 @@ func main() {
admin | String | The market's admin address | Yes |
quote_denom | String | Quote tocken denom | Yes |
min_price_tick_size | Decimal | Defines the minimum tick size of the order's price | Yes |
-min_quantity_tick_size | Decimal | Defines the minimum tick size of the order's quantity | Yes |
+min_quantity_tick_size | Decimal | Defines the minimum tick size of the order's quantity | Yes |
+min_notional | Decimal | Defines the minimum notional (in quote asset) required for orders in the market | Yes |
@@ -1754,7 +1694,7 @@ func main() {
fmt.Println("simulated derivative order hashes", MsgBatchUpdateOrdersResponse.DerivativeOrderHashes)
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
diff --git a/source/includes/_chainexchange.md b/source/includes/_chainexchange.md
index e4e01c4f..d8439dc3 100644
--- a/source/includes/_chainexchange.md
+++ b/source/includes/_chainexchange.md
@@ -1636,7 +1636,8 @@ func main() {
Parameter | Type | Description |
---|
price | Decimal | Order price |
quantity | Decimal | The amount of the order quantity remaining fillable |
-is_reduce_only | Boolean | True if the order is a reduce only order |
+is_reduce_only | Boolean | True if the order is a reduce only order |
+cid | String | The client order ID provided by the creator |
diff --git a/source/includes/_changelog.md b/source/includes/_changelog.md
index 642a2444..752120e2 100644
--- a/source/includes/_changelog.md
+++ b/source/includes/_changelog.md
@@ -1,13 +1,20 @@
# Change Log
-## 9999-99-99
+## 2024-07-30
+- Updated requests and responses messages with parameters added in chain upgrade to v1.13
- Updated the API documentation to include all queries and messages for the `tendermint` module
+- Updated the API documentation to include all queries and messages for the `IBC transfer` module
+- Updated the API documentation to include all queries and messages for the `IBC core channel` module
+- Updated the API documentation to include all queries and messages for the `IBC core client` module
+- Updated the API documentation to include all queries and messages for the `IBC core connection` module
+- Updated the API documentation to include all queries and messages for the `permissions` module
- Python SDK v1.6.0
- Added support for all queries from the `tendermint` module
- Added support for all queries from the `IBC transfer` module
- Added support for all queries from the `IBC core channel` module
- Added support for all queries from the `IBC core client` module
- Added support for all queries from the `IBC core connection` module
+ - Added support for all queries from the `permissions` module
## 2024-03-08
- Updated the API documentation to include all queries and messages for the `distribution` and `chain exchange` modules
diff --git a/source/includes/_derivatives.md b/source/includes/_derivatives.md
index dc345aa6..bd0f7da9 100644
--- a/source/includes/_derivatives.md
+++ b/source/includes/_derivatives.md
@@ -186,7 +186,7 @@ import (
"encoding/json"
"fmt"
- cosmostypes "github.com/cosmos/cosmos-sdk/types"
+ "cosmossdk.io/math"
"os"
@@ -243,7 +243,7 @@ func main() {
marketId := "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe"
limit := uint64(2)
- limitCumulativeNotional := cosmostypes.Dec{}
+ limitCumulativeNotional := math.LegacyDec{}
res, err := chainClient.FetchChainDerivativeOrderbook(ctx, marketId, limit, limitCumulativeNotional)
if err != nil {
@@ -465,7 +465,8 @@ func main() {
margin | Decimal | Order margin |
fillable | Decimal | The remaining fillable amount of the order |
is_buy | Boolean | True if the order is a buy order |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -625,7 +626,8 @@ func main() {
margin | Decimal | Order margin |
fillable | Decimal | The remaining fillable amount of the order |
is_buy | Boolean | True if the order is a buy order |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -791,7 +793,8 @@ func main() {
margin | Decimal | Order margin |
fillable | Decimal | The remaining fillable amount of the order |
is_buy | Boolean | True if the order is a buy order |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -954,7 +957,8 @@ func main() {
margin | Decimal | Order margin |
fillable | Decimal | The remaining fillable amount of the order |
is_buy | Boolean | True if the order is a buy order |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -1160,7 +1164,10 @@ func main() {
is_perpetual | Boolean | True if the market is a perpetual market. False if the market is an expiry futures market |
status | MarketStatus | Status of the market |
min_price_tick_size | Decimal | Minimum tick size that the price required for orders in the market |
-min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_notional | Decimal | Minimum notional (in quote asset) required for orders in the market |
+admin | String | Current market admin's address |
+admin_permissions | Integer | Level of admin permissions (the permission number is a result of adding up all individual permissions numbers) |
@@ -1237,41 +1244,17 @@ func main() {
settlement_price | Decimal | The settlement price |
+
-## DerivativeMarket
-
-Retrieves a derivative market by market ID
-
-**IP rate limit group:** `chain`
-
-### Request Parameters
-> Request Example:
-
-
-
-```py
-import asyncio
-
-from pyinjective.async_client import AsyncClient
-from pyinjective.core.network import Network
-
-
-async def main() -> None:
- # select network: local, testnet, mainnet
- network = Network.testnet()
-
- # initialize grpc client
- client = AsyncClient(network)
-
- derivative_market = await client.fetch_chain_derivative_market(
- market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6",
- )
- print(derivative_market)
-
+**AdminPermission**
-if __name__ == "__main__":
- asyncio.get_event_loop().run_until_complete(main())
-```
+
+Code | Name |
---|
1 | Ticker Permission |
+2 | Min Price Tick Size Permission |
+4 | Min Quantity Tick Size Permission |
+8 | Min Notional Permission |
+16 | Initial Margin Ratio Permission |
+32 | Maintenance Margin Ratio Permission |
@@ -1433,7 +1416,10 @@ func main() {
is_perpetual | Boolean | True if the market is a perpetual market. False if the market is an expiry futures market |
status | MarketStatus | Status of the market |
min_price_tick_size | Decimal | Minimum tick size that the price required for orders in the market |
-min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_notional | Decimal | Minimum notional (in quote asset) required for orders in the market |
+admin | String | Current market admin's address |
+admin_permissions | Integer | Level of admin permissions (the permission number is a result of adding up all individual permissions numbers) |
@@ -1510,41 +1496,17 @@ func main() {
settlement_price | Decimal | The settlement price |
+
-## DerivativeMarketAddress
-
-Retrieves a derivative market's corresponding address for fees that contribute to the market's insurance fund
-
-**IP rate limit group:** `chain`
-
-### Request Parameters
-> Request Example:
-
-
-
-```py
-import asyncio
-
-from pyinjective.async_client import AsyncClient
-from pyinjective.core.network import Network
-
-
-async def main() -> None:
- # select network: local, testnet, mainnet
- network = Network.testnet()
-
- # initialize grpc client
- client = AsyncClient(network)
-
- address = await client.fetch_derivative_market_address(
- market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6",
- )
- print(address)
-
+**AdminPermission**
-if __name__ == "__main__":
- asyncio.get_event_loop().run_until_complete(main())
-```
+
+Code | Name |
---|
1 | Ticker Permission |
+2 | Min Price Tick Size Permission |
+4 | Min Quantity Tick Size Permission |
+8 | Min Notional Permission |
+16 | Initial Margin Ratio Permission |
+32 | Maintenance Margin Ratio Permission |
@@ -2965,7 +2927,8 @@ func main() {
trigger_price | OracleType | Price to trigger the order |
is_buy | Boolean | True if the order is a buy order. False otherwise. |
is_limit | Boolean | True if the order is a limit order. False otherwise. |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -3169,7 +3132,8 @@ func main() {
initial_margin_ratio | Decimal | Defines the initial margin ratio for the perpetual market | Yes |
maintenance_margin_ratio | Decimal | Defines the maintenance margin ratio for the perpetual market | Yes |
min_price_tick_size | Decimal | Defines the minimum tick size of the order's price | Yes |
-min_quantity_tick_size | Decimal | Defines the minimum tick size of the order's quantity | Yes |
+min_quantity_tick_size | Decimal | Defines the minimum tick size of the order's quantity | Yes |
+min_notional | Decimal | Defines the minimum notional (in quote asset) required for orders in the market | Yes |
@@ -3473,7 +3437,8 @@ func main() {
initial_margin_ratio | Decimal | Defines the initial margin ratio for the perpetual market | Yes |
maintenance_margin_ratio | Decimal | Defines the maintenance margin ratio for the perpetual market | Yes |
min_price_tick_size | Decimal | Defines the minimum tick size of the order's price | Yes |
-min_quantity_tick_size | Decimal | Defines the minimum tick size of the order's quantity | Yes |
+min_quantity_tick_size | Decimal | Defines the minimum tick size of the order's quantity | Yes |
+min_notional | Decimal | Defines the minimum notional (in quote asset) required for orders in the market | Yes |
@@ -5014,7 +4979,7 @@ func main() {
fmt.Println("simulated derivative order hashes", MsgBatchUpdateOrdersResponse.DerivativeOrderHashes)
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
diff --git a/source/includes/_derivativesrpc.md b/source/includes/_derivativesrpc.md
index 9bbca5a2..00c0c937 100644
--- a/source/includes/_derivativesrpc.md
+++ b/source/includes/_derivativesrpc.md
@@ -49,7 +49,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -115,7 +115,8 @@ func main() {
"cumulativeFunding":"-156010.283874921534910863",
"cumulativePrice":"566.477789213654772072",
"lastTimestamp":"1701906508"
- }
+ },
+ "min_notional":"1000000"
}
}
```
@@ -157,7 +158,8 @@ func main() {
"cumulative_funding": "7246105747.050586213851272386",
"cumulative_price": "31.114148427047982579",
"last_timestamp": 1652793510
- }
+ },
+ "min_notional": "1000000"
}
}
```
@@ -190,6 +192,7 @@ func main() {
| maintenance_margin_ratio | String | The maintenance margin ratio of the derivative market |
| market_id | String | The market ID |
| quoteTokenMeta | TokenMeta | Token metadata for quote asset, only for Ethereum-based assets |
+| min_notional | String | Defines the minimum required notional for an order to be accepted |
**ExpiryFuturesMarketInfo**
@@ -279,7 +282,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("mainnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -353,7 +356,8 @@ func main() {
"cumulativeFunding": "56890491.178246679699729639",
"cumulativePrice": "7.082760891515203314",
"lastTimestamp": 1654245985
- }
+ },
+ "min_notional": "1000000",
},
{
"marketId": "0x00030df39180df04a873cb4aadc50d4135640af5c858ab637dbd4d31b147478c",
@@ -383,7 +387,8 @@ func main() {
"expiryFuturesMarketInfo": {
"expirationTimestamp": 1684600043,
"settlementPrice": "0"
- }
+ },
+ "min_notional": "0"
}
]
```
@@ -426,7 +431,8 @@ func main() {
"cumulative_funding": "48248742.484852568471323698",
"cumulative_price": "5.691379282523162906",
"last_timestamp": 1652775374
- }
+ },
+ "min_notional": "1000000"
},
{
"market_id": "0xfb5f14852bd01af901291dd2aa65e997b3a831f957124a7fe7aa40d218ff71ae",
@@ -463,7 +469,8 @@ func main() {
"cumulative_funding": "1099659.417190990913058692",
"cumulative_price": "-4.427475055338306767",
"last_timestamp": 1652775322
- }
+ },
+ "min_notional": "0",
}
]
}
@@ -497,6 +504,7 @@ func main() {
| maintenance_margin_ratio | String | The maintenance margin ratio of the derivative market |
| market_id | String | The market ID |
| quoteTokenMeta | TokenMeta | Token metadata for quote asset, only for Ethereum-based assets |
+| min_notional | String | Defines the minimum required notional for an order to be accepted |
**ExpiryFuturesMarketInfo**
@@ -607,7 +615,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -686,7 +694,8 @@ func main() {
"cumulativeFunding": "8239865636.851083559033030036",
"cumulativePrice": "7.15770685160786651",
"lastTimestamp": 1654246073
- }
+ },
+ "min_notional": "1000000"
},
"operationType": "update",
"timestamp": 1654246076000
@@ -730,7 +739,8 @@ func main() {
"cumulative_funding": "7356035675.459202347630388315",
"cumulative_price": "3.723976370878870887",
"last_timestamp": 1653038971
- }
+ },
+ "min_notional": "0"
},
"operation_type": "update",
"timestamp": 1653038974000
@@ -767,6 +777,7 @@ func main() {
| maintenance_margin_ratio | String | The maintenance margin ratio of the derivative market |
| market_id | String | The market ID |
| quoteTokenMeta | TokenMeta | Token metadata for quote asset, only for Ethereum-based assets |
+| min_notional | String | Defines the minimum required notional for an order to be accepted |
**ExpiryFuturesMarketInfo**
@@ -2190,7 +2201,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -4671,7 +4682,8 @@ if __name__ == "__main__":
"serviceProviderFee": "0.4",
"minPriceTickSize": "0.000000000000001",
"minQuantityTickSize": "1000000000000000",
- "settlementPrice": "1"
+ "settlementPrice": "1",
+ "min_notional": "0"
}
}
```
@@ -4705,6 +4717,7 @@ if __name__ == "__main__":
| min_price_tick_size | String | Defines the minimum required tick size for the order's price |
| min_quantity_tick_size | String | Defines the minimum required tick size for the order's quantity |
| settlement_price | String | Defines the settlement price of the market |
+| min_notional | String | Defines the minimum required notional for an order to be accepted |
**TokenMeta**
@@ -4788,7 +4801,8 @@ if __name__ == "__main__":
"serviceProviderFee":"0.4",
"minPriceTickSize":"0.000000000000001",
"minQuantityTickSize":"1000000000000000",
- "settlementPrice":"1"
+ "settlementPrice":"1",
+ "min_notional":"0",
}
],
"paging":{
@@ -4830,6 +4844,7 @@ if __name__ == "__main__":
| min_price_tick_size | String | Defines the minimum required tick size for the order's price |
| min_quantity_tick_size | String | Defines the minimum required tick size for the order's quantity |
| settlement_price | String | Defines the settlement price of the market |
+| min_notional | String | Defines the minimum required notional for an order to be accepted |
**TokenMeta**
diff --git a/source/includes/_ibccorechannel.md b/source/includes/_ibccorechannel.md
index 15862851..079ccfa5 100644
--- a/source/includes/_ibccorechannel.md
+++ b/source/includes/_ibccorechannel.md
@@ -162,7 +162,8 @@ func main() {
ordering | Order | Whether the channel is ordered or unordered |
counterparty | Counterparty | Counterparty channel end |
connection_hops | String Array | List of connection identifiers, in order, along which packets sent on this channel will travel |
-version | String | Opaque channel version, which is agreed upon during the handshake |
+version | String | Opaque channel version, which is agreed upon during the handshake |
+upgrade_sequence | Integer | Indicates the latest upgrade attempt performed by this channel. The value of 0 indicates the channel has never been upgraded |
@@ -429,7 +430,8 @@ func main() {
connection_hops | String Array | List of connection identifiers, in order, along which packets sent on this channel will travel |
version | String | Opaque channel version, which is agreed upon during the handshake |
port_id | String | Port identifier |
-channel_id | String | Channel identifier |
+channel_id | String | Channel identifier |
+upgrade_sequence | Integer | Indicates the latest upgrade attempt performed by this channel. The value of 0 indicates the channel has never been upgraded |
@@ -722,7 +724,8 @@ func main() {
connection_hops | String Array | List of connection identifiers, in order, along which packets sent on this channel will travel |
version | String | Opaque channel version, which is agreed upon during the handshake |
port_id | String | Port identifier |
-channel_id | String | Channel identifier |
+channel_id | String | Channel identifier |
+upgrade_sequence | Integer | Indicates the latest upgrade attempt performed by this channel. The value of 0 indicates the channel has never been upgraded |
@@ -999,7 +1002,8 @@ func main() {
connection_hops | String Array | List of connection identifiers, in order, along which packets sent on this channel will travel |
version | String | Opaque channel version, which is agreed upon during the handshake |
port_id | String | Port identifier |
-channel_id | String | Channel identifier |
+channel_id | String | Channel identifier |
+upgrade_sequence | Integer | Indicates the latest upgrade attempt performed by this channel. The value of 0 indicates the channel has never been upgraded |
diff --git a/source/includes/_insurance.md b/source/includes/_insurance.md
index 169bdf60..1f9442e4 100644
--- a/source/includes/_insurance.md
+++ b/source/includes/_insurance.md
@@ -123,6 +123,77 @@ gas wanted: 151648
gas fee: 0.000075824 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgUnderwrite
@@ -236,6 +307,77 @@ gas wanted: 142042
gas fee: 0.000071021 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgRequestRedemption
@@ -348,4 +490,75 @@ raw_log: "[]"
gas wanted: 110689
gas fee: 0.0000553445 INJ
-```
\ No newline at end of file
+```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
diff --git a/source/includes/_metarpc.md b/source/includes/_metarpc.md
index daccdd6f..ac03e197 100644
--- a/source/includes/_metarpc.md
+++ b/source/includes/_metarpc.md
@@ -48,7 +48,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -127,7 +127,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -240,7 +240,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -388,7 +388,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -407,7 +407,7 @@ func main() {
case <-ctx.Done():
return
default:
- res, err := (*stream).Recv()
+ res, err := stream.Recv()
if err != nil {
fmt.Println(err)
return
diff --git a/source/includes/_oracle.md b/source/includes/_oracle.md
index 0aa48131..05ecb8aa 100644
--- a/source/includes/_oracle.md
+++ b/source/includes/_oracle.md
@@ -105,15 +105,14 @@ package main
import (
"fmt"
"os"
- "time"
+ "cosmossdk.io/math"
"github.com/InjectiveLabs/sdk-go/client"
"github.com/InjectiveLabs/sdk-go/client/common"
oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types"
chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
rpchttp "github.com/cometbft/cometbft/rpc/client/http"
- cosmtypes "github.com/cosmos/cosmos-sdk/types"
)
func main() {
@@ -159,7 +158,7 @@ func main() {
panic(err)
}
- price := []cosmtypes.Dec{cosmtypes.MustNewDecFromStr("100")}
+ price := []math.LegacyDec{math.LegacyMustNewDecFromStr("100")}
base := []string{"BAYC"}
quote := []string{"WETH"}
@@ -170,23 +169,14 @@ func main() {
Quote: quote,
}
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
- err = chainClient.QueueBroadcastMsg(msg)
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ result, err := chainClient.SyncBroadcastMsg(msg)
if err != nil {
- fmt.Println(err)
- }
-
- time.Sleep(time.Second * 5)
-
- gasFee, err := chainClient.GetGasFee()
-
- if err != nil {
- fmt.Println(err)
- return
+ panic(err)
}
- fmt.Println("gas fee:", gasFee, "INJ")
+ fmt.Printf("Broadcast result: %s\n", result)
}
```
@@ -217,6 +207,77 @@ DEBU[0002] gas wanted: 113647 fn=func1 src="client/ch
gas fee: 0.0000568235 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgRelayProviderPrices
@@ -341,3 +402,74 @@ gas fee: 0.0000863755 INJ
```go
```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
diff --git a/source/includes/_permissions.md b/source/includes/_permissions.md
new file mode 100644
index 00000000..daa1e95a
--- /dev/null
+++ b/source/includes/_permissions.md
@@ -0,0 +1,2210 @@
+# - Permissions
+
+Permissions module provides an extra layer of configuration for all actions related to tokens: mint, transfer and burn.
+
+## AllNamespaces
+
+Defines a gRPC query method that returns the permissions module's created namespaces
+
+**IP rate limit group:** `chain`
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+
+from pyinjective.async_client import AsyncClient
+from pyinjective.core.network import Network
+
+
+async def main() -> None:
+ network = Network.testnet()
+ client = AsyncClient(network)
+
+ namespaces = await client.fetch_all_permissions_namespaces()
+ print(namespaces)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+
+ "os"
+
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ ctx := context.Background()
+
+ res, err := chainClient.FetchAllNamespaces(ctx)
+ if err != nil {
+ fmt.Println(err)
+ }
+
+ str, _ := json.MarshalIndent(res, "", " ")
+ fmt.Print(string(str))
+
+}
+```
+
+
+No parameters
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+
+```
+
+
+Parameter | Type | Description |
---|
namespaces | Namespace Array | List of namespaces |
+
+
+
+
+**Namespace**
+
+
+Parameter | Type | Description |
---|
denom | String | Token denom |
+wasm_hook | String | Address of the wasm contract that will provide the real destination address |
+mints_paused | Bool | Mint action status |
+sends_paused | Bool | Send action status |
+burns_paused | Bool | Burn action status |
+role_permissions | Role Array | List of roles |
+address_roles | AddressRoles Array | List of Injective addresses and their associated role |
+
+
+
+
+**Role**
+
+
+Parameter | Type | Description |
---|
role | String | Role name |
+permissions | Integer | Integer representing the bitwhise combination of all actions assigned to the role |
+
+
+
+
+**PermissionAction**
+
+
+Parameter | Type | Description |
---|
role | String | Role name |
+permissions | Integer | Integer representing the bitwhise combination of all actions assigned to the role |
+
+
+
+
+**AddressRoles**
+
+
+Parameter | Type | Description |
---|
address | String | Injective address |
+roles | String Array | List of roles assigned to the address |
+
+
+
+## NamespaceByDenom
+
+Defines a gRPC query method that returns the permissions module's namespace associated with a denom
+
+**IP rate limit group:** `chain`
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+
+from pyinjective.async_client import AsyncClient
+from pyinjective.core.network import Network
+
+
+async def main() -> None:
+ network = Network.testnet()
+ client = AsyncClient(network)
+
+ denom = "inj"
+ namespace = await client.fetch_permissions_namespace_by_denom(denom=denom, include_roles=True)
+ print(namespace)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "os"
+
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+
+ ctx := context.Background()
+
+ res, err := chainClient.FetchNamespaceByDenom(ctx, namespaceDenom, true)
+ if err != nil {
+ fmt.Println(err)
+ }
+
+ str, _ := json.MarshalIndent(res, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+include_roles | Bool | Option to request the roles in the response | No |
+
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+
+```
+
+
+Parameter | Type | Description |
---|
namespace | Namespace | The namespace information (if found) |
+
+
+
+
+**Namespace**
+
+
+Parameter | Type | Description |
---|
denom | String | Token denom |
+wasm_hook | String | Address of the wasm contract that will provide the real destination address |
+mints_paused | Bool | Mint action status |
+sends_paused | Bool | Send action status |
+burns_paused | Bool | Burn action status |
+role_permissions | Role Array | List of roles |
+address_roles | AddressRoles Array | List of Injective addresses and their associated role |
+
+
+
+
+**Role**
+
+
+Parameter | Type | Description |
---|
role | String | Role name |
+permissions | Integer | Integer representing the bitwhise combination of all actions assigned to the role |
+
+
+
+
+**PermissionAction**
+
+
+Parameter | Type | Description |
---|
role | String | Role name |
+permissions | Integer | Integer representing the bitwhise combination of all actions assigned to the role |
+
+
+
+
+**AddressRoles**
+
+
+Parameter | Type | Description |
---|
address | String | Injective address |
+roles | String Array | List of roles assigned to the address |
+
+
+
+## AddressRoles
+
+Defines a gRPC query method that returns a namespace's roles associated with the provided address
+
+**IP rate limit group:** `chain`
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+
+from pyinjective.async_client import AsyncClient
+from pyinjective.core.network import Network
+
+
+async def main() -> None:
+ network = Network.testnet()
+ client = AsyncClient(network)
+
+ denom = "inj"
+ address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr"
+ roles = await client.fetch_permissions_address_roles(denom=denom, address=address)
+ print(roles)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "os"
+
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+ address := senderAddress.String()
+
+ ctx := context.Background()
+
+ res, err := chainClient.FetchAddressRoles(ctx, namespaceDenom, address)
+ if err != nil {
+ fmt.Println(err)
+ }
+
+ str, _ := json.MarshalIndent(res, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+address | String | The Injective address to query the roles for | Yes |
+
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+
+```
+
+
+Parameter | Type | Description |
---|
roles | String Array | List of role names |
+
+
+
+## AddressesByRole
+
+Defines a query method that returns a namespace's roles associated with the provided address
+
+**IP rate limit group:** `chain`
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+
+from pyinjective.async_client import AsyncClient
+from pyinjective.core.network import Network
+
+
+async def main() -> None:
+ network = Network.testnet()
+ client = AsyncClient(network)
+
+ denom = "inj"
+ role = "roleName"
+ addresses = await client.fetch_permissions_addresses_by_role(denom=denom, role=role)
+ print(addresses)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "os"
+
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+ role := "blacklisted"
+
+ ctx := context.Background()
+
+ res, err := chainClient.FetchAddressesByRole(ctx, namespaceDenom, role)
+ if err != nil {
+ fmt.Println(err)
+ }
+
+ str, _ := json.MarshalIndent(res, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+role | String | The role name to query the addresses for | Yes |
+
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+
+```
+
+
+Parameter | Type | Description |
---|
addresses | String Array | List of Injective addresses |
+
+
+
+## VouchersForAddress
+
+Defines a query method that returns a map of vouchers that are held by permissions module for this address, keyed by the originator address
+
+**IP rate limit group:** `chain`
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+
+from pyinjective.async_client import AsyncClient
+from pyinjective.core.network import Network
+
+
+async def main() -> None:
+ network = Network.testnet()
+ client = AsyncClient(network)
+
+ address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr"
+ addresses = await client.fetch_permissions_vouchers_for_address(address=address)
+ print(addresses)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "os"
+
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ address := senderAddress.String()
+
+ ctx := context.Background()
+
+ res, err := chainClient.FetchVouchersForAddress(ctx, address)
+ if err != nil {
+ fmt.Println(err)
+ }
+
+ str, _ := json.MarshalIndent(res, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
address | String | The Injective address to query for | Yes |
+
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+
+```
+
+
+Parameter | Type | Description |
---|
vouchers | Coin Array | List of available vouchers for the address |
+
+
+
+
+**Coin**
+
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+amount | String | The amount of tokens | Yes |
+
+
+
+## CreateNamespace
+
+Message to create a new namespace
+
+**IP rate limit group:** `chain`
+
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+import os
+
+import dotenv
+
+from pyinjective.composer import Composer as ProtoMsgComposer
+from pyinjective.core.broadcaster import MsgBroadcasterWithPk
+from pyinjective.core.network import Network
+from pyinjective.wallet import PrivateKey
+
+
+async def main() -> None:
+ dotenv.load_dotenv()
+ private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY")
+
+ # select network: local, testnet, mainnet
+ network = Network.devnet()
+ composer = ProtoMsgComposer(network=network.string())
+
+ message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
+ network=network,
+ private_key=private_key_in_hexa,
+ )
+
+ priv_key = PrivateKey.from_hex(private_key_in_hexa)
+ pub_key = priv_key.to_public_key()
+ address = pub_key.to_address()
+
+ blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
+ denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+ role1 = composer.permissions_role(
+ role=composer.DEFAULT_PERMISSIONS_EVERYONE_ROLE,
+ permissions=composer.MINT_ACTION_PERMISSION
+ | composer.RECEIVE_ACTION_PERMISSION
+ | composer.BURN_ACTION_PERMISSION,
+ )
+ role2 = composer.permissions_role(role="blacklisted", permissions=composer.UNDEFINED_ACTION_PERMISSION)
+ address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"])
+
+ message = composer.msg_create_namespace(
+ sender=address.to_acc_bech32(),
+ denom=denom,
+ wasm_hook="",
+ mints_paused=False,
+ sends_paused=False,
+ burns_paused=False,
+ role_permissions=[role1, role2],
+ address_roles=[address_role1],
+ )
+
+ # broadcast the transaction
+ result = await message_broadcaster.broadcast([message])
+ print("---Transaction Response---")
+ print(result)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "os"
+
+ permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types"
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
+ namespace := permissionstypes.Namespace{
+ Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test",
+ RolePermissions: []*permissionstypes.Role{
+ {
+ Role: permissionstypes.EVERYONE,
+ Permissions: uint32(permissionstypes.Action_MINT | permissionstypes.Action_RECEIVE | permissionstypes.Action_BURN),
+ },
+ {
+ Role: "blacklisted",
+ Permissions: 0,
+ },
+ },
+ AddressRoles: []*permissionstypes.AddressRoles{
+ {
+ Address: blockedAddress,
+ Roles: []string{"blacklisted"},
+ },
+ },
+ }
+
+ msg := &permissionstypes.MsgCreateNamespace{
+ Sender: senderAddress.String(),
+ Namespace: namespace,
+ }
+
+ //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ response, err := chainClient.SyncBroadcastMsg(msg)
+
+ if err != nil {
+ panic(err)
+ }
+
+ str, _ := json.MarshalIndent(response, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
sender | String | The sender's Injective address | Yes |
+namespace | Namespace | The namespace information | Yes |
+
+
+
+
+**Namespace**
+
+
+Parameter | Type | Description |
---|
denom | String | Token denom |
+wasm_hook | String | Address of the wasm contract that will provide the real destination address |
+mints_paused | Bool | Mint action status |
+sends_paused | Bool | Send action status |
+burns_paused | Bool | Burn action status |
+role_permissions | Role Array | List of roles |
+address_roles | AddressRoles Array | List of Injective addresses and their associated role |
+
+
+
+
+**Role**
+
+
+Parameter | Type | Description |
---|
role | String | Role name |
+permissions | Integer | Integer representing the bitwhise combination of all actions assigned to the role |
+
+
+
+
+**PermissionAction**
+
+
+Parameter | Type | Description |
---|
role | String | Role name |
+permissions | Integer | Integer representing the bitwhise combination of all actions assigned to the role |
+
+
+
+
+**AddressRoles**
+
+
+Parameter | Type | Description |
---|
address | String | Injective address |
+roles | String Array | List of roles assigned to the address |
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
+
+## DeleteNamespace
+
+Message to delete a namespace
+
+**IP rate limit group:** `chain`
+
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+import os
+
+import dotenv
+
+from pyinjective.composer import Composer as ProtoMsgComposer
+from pyinjective.core.broadcaster import MsgBroadcasterWithPk
+from pyinjective.core.network import Network
+from pyinjective.wallet import PrivateKey
+
+
+async def main() -> None:
+ dotenv.load_dotenv()
+ private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY")
+
+ # select network: local, testnet, mainnet
+ network = Network.devnet()
+ composer = ProtoMsgComposer(network=network.string())
+
+ message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
+ network=network,
+ private_key=private_key_in_hexa,
+ )
+
+ priv_key = PrivateKey.from_hex(private_key_in_hexa)
+ pub_key = priv_key.to_public_key()
+ address = pub_key.to_address()
+
+ denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+ message = composer.msg_delete_namespace(
+ sender=address.to_acc_bech32(),
+ namespace_denom=denom,
+ )
+
+ # broadcast the transaction
+ result = await message_broadcaster.broadcast([message])
+ print("---Transaction Response---")
+ print(result)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "os"
+
+ permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types"
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+
+ msg := &permissionstypes.MsgDeleteNamespace{
+ Sender: senderAddress.String(),
+ NamespaceDenom: namespaceDenom,
+ }
+
+ //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ response, err := chainClient.SyncBroadcastMsg(msg)
+
+ if err != nil {
+ panic(err)
+ }
+
+ str, _ := json.MarshalIndent(response, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
sender | String | The sender's Injective address | Yes |
+namespace_denom | String | The token denom of the namespace to delete | Yes |
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
+
+## UpdateNamespace
+
+Message to update a namespace configuration
+
+**IP rate limit group:** `chain`
+
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+import os
+
+import dotenv
+
+from pyinjective.composer import Composer as ProtoMsgComposer
+from pyinjective.core.broadcaster import MsgBroadcasterWithPk
+from pyinjective.core.network import Network
+from pyinjective.wallet import PrivateKey
+
+
+async def main() -> None:
+ dotenv.load_dotenv()
+ private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY")
+
+ # select network: local, testnet, mainnet
+ network = Network.devnet()
+ composer = ProtoMsgComposer(network=network.string())
+
+ message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
+ network=network,
+ private_key=private_key_in_hexa,
+ )
+
+ priv_key = PrivateKey.from_hex(private_key_in_hexa)
+ pub_key = priv_key.to_public_key()
+ address = pub_key.to_address()
+
+ denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+
+ message = composer.msg_update_namespace(
+ sender=address.to_acc_bech32(),
+ namespace_denom=denom,
+ wasm_hook="inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m",
+ mints_paused=True,
+ sends_paused=True,
+ burns_paused=True,
+ )
+
+ # broadcast the transaction
+ result = await message_broadcaster.broadcast([message])
+ print("---Transaction Response---")
+ print(result)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "os"
+
+ permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types"
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+
+ msg := &permissionstypes.MsgUpdateNamespace{
+ Sender: senderAddress.String(),
+ NamespaceDenom: namespaceDenom,
+ WasmHook: &permissionstypes.MsgUpdateNamespace_MsgSetWasmHook{NewValue: "inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m"},
+ SendsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetSendsPaused{NewValue: true},
+ MintsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetMintsPaused{NewValue: true},
+ BurnsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetBurnsPaused{NewValue: true},
+ }
+
+ //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ response, err := chainClient.SyncBroadcastMsg(msg)
+
+ if err != nil {
+ panic(err)
+ }
+
+ str, _ := json.MarshalIndent(response, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
sender | String | The sender's Injective address | Yes |
+namespace_denom | String | The token denom of the namespace to update | Yes |
+wasm_hook | String | Address of the wasm contract that will provide the real destination address | Yes |
+mints_paused | Bool | Mint action status | Yes |
+sends_paused | Bool | Send action status | Yes |
+burns_paused | Bool | Burn action status | Yes |
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
+
+## UpdateNamespaceRoles
+
+Message to update a namespace roles
+
+**IP rate limit group:** `chain`
+
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+import os
+
+import dotenv
+
+from pyinjective.composer import Composer as ProtoMsgComposer
+from pyinjective.core.broadcaster import MsgBroadcasterWithPk
+from pyinjective.core.network import Network
+from pyinjective.wallet import PrivateKey
+
+
+async def main() -> None:
+ dotenv.load_dotenv()
+ private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY")
+
+ # select network: local, testnet, mainnet
+ network = Network.devnet()
+ composer = ProtoMsgComposer(network=network.string())
+
+ message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
+ network=network,
+ private_key=private_key_in_hexa,
+ )
+
+ priv_key = PrivateKey.from_hex(private_key_in_hexa)
+ pub_key = priv_key.to_public_key()
+ address = pub_key.to_address()
+
+ blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
+ denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+ role1 = composer.permissions_role(
+ role=composer.DEFAULT_PERMISSIONS_EVERYONE_ROLE,
+ permissions=composer.RECEIVE_ACTION_PERMISSION,
+ )
+ role2 = composer.permissions_role(role="blacklisted", permissions=composer.UNDEFINED_ACTION_PERMISSION)
+ address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"])
+
+ message = composer.msg_update_namespace_roles(
+ sender=address.to_acc_bech32(),
+ namespace_denom=denom,
+ role_permissions=[role1, role2],
+ address_roles=[address_role1],
+ )
+
+ # broadcast the transaction
+ result = await message_broadcaster.broadcast([message])
+ print("---Transaction Response---")
+ print(result)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "os"
+
+ permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types"
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+ blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
+
+ msg := &permissionstypes.MsgUpdateNamespaceRoles{
+ Sender: senderAddress.String(),
+ NamespaceDenom: namespaceDenom,
+ RolePermissions: []*permissionstypes.Role{
+ {
+ Role: permissionstypes.EVERYONE,
+ Permissions: uint32(permissionstypes.Action_RECEIVE),
+ },
+ {
+ Role: "blacklisted",
+ Permissions: 0,
+ },
+ },
+ AddressRoles: []*permissionstypes.AddressRoles{
+ {
+ Address: blockedAddress,
+ Roles: []string{"blacklisted"},
+ },
+ },
+ }
+
+ //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ response, err := chainClient.SyncBroadcastMsg(msg)
+
+ if err != nil {
+ panic(err)
+ }
+
+ str, _ := json.MarshalIndent(response, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
sender | String | The sender's Injective address | Yes |
+namespace_denom | String | The token denom of the namespace to update | Yes |
+role_permissions | Role Array | List of roles | Yes |
+address_roles | AddressRoles Array | List of Injective addresses and their associated role | Yes |
+
+
+
+
+**Role**
+
+
+Parameter | Type | Description |
---|
role | String | Role name |
+permissions | Integer | Integer representing the bitwhise combination of all actions assigned to the role |
+
+
+
+
+**PermissionAction**
+
+
+Parameter | Type | Description |
---|
role | String | Role name |
+permissions | Integer | Integer representing the bitwhise combination of all actions assigned to the role |
+
+
+
+
+**AddressRoles**
+
+
+Parameter | Type | Description |
---|
address | String | Injective address |
+roles | String Array | List of roles assigned to the address |
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
+
+## RevokeNamespaceRoles
+
+Message to revoke roles from addresses
+
+**IP rate limit group:** `chain`
+
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+import os
+
+import dotenv
+
+from pyinjective.composer import Composer as ProtoMsgComposer
+from pyinjective.core.broadcaster import MsgBroadcasterWithPk
+from pyinjective.core.network import Network
+from pyinjective.wallet import PrivateKey
+
+
+async def main() -> None:
+ dotenv.load_dotenv()
+ private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY")
+
+ # select network: local, testnet, mainnet
+ network = Network.devnet()
+ composer = ProtoMsgComposer(network=network.string())
+
+ message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
+ network=network,
+ private_key=private_key_in_hexa,
+ )
+
+ priv_key = PrivateKey.from_hex(private_key_in_hexa)
+ pub_key = priv_key.to_public_key()
+ address = pub_key.to_address()
+
+ blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
+ denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+ address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"])
+
+ message = composer.msg_revoke_namespace_roles(
+ sender=address.to_acc_bech32(),
+ namespace_denom=denom,
+ address_roles_to_revoke=[address_role1],
+ )
+
+ # broadcast the transaction
+ result = await message_broadcaster.broadcast([message])
+ print("---Transaction Response---")
+ print(result)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "os"
+
+ permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types"
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+ blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"
+
+ msg := &permissionstypes.MsgRevokeNamespaceRoles{
+ Sender: senderAddress.String(),
+ NamespaceDenom: namespaceDenom,
+ AddressRolesToRevoke: []*permissionstypes.AddressRoles{
+ {
+ Address: blockedAddress,
+ Roles: []string{"blacklisted"},
+ },
+ },
+ }
+
+ //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ response, err := chainClient.SyncBroadcastMsg(msg)
+
+ if err != nil {
+ panic(err)
+ }
+
+ str, _ := json.MarshalIndent(response, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
sender | String | The sender's Injective address | Yes |
+namespace_denom | String | The token denom of the namespace to update | Yes |
+address_roles_to_revoke | AddressRoles Array | List of Injective addresses and their associated role | Yes |
+
+
+
+
+**AddressRoles**
+
+
+Parameter | Type | Description |
---|
address | String | Injective address |
+roles | String Array | List of roles assigned to the address |
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
+
+## ClaimVoucher
+
+Message to claim existing vouchers for a particular address
+
+**IP rate limit group:** `chain`
+
+
+### Request Parameters
+> Request Example:
+
+
+
+```py
+import asyncio
+import os
+
+import dotenv
+
+from pyinjective.composer import Composer as ProtoMsgComposer
+from pyinjective.core.broadcaster import MsgBroadcasterWithPk
+from pyinjective.core.network import Network
+from pyinjective.wallet import PrivateKey
+
+
+async def main() -> None:
+ dotenv.load_dotenv()
+ private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY")
+
+ # select network: local, testnet, mainnet
+ network = Network.devnet()
+ composer = ProtoMsgComposer(network=network.string())
+
+ message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
+ network=network,
+ private_key=private_key_in_hexa,
+ )
+
+ priv_key = PrivateKey.from_hex(private_key_in_hexa)
+ pub_key = priv_key.to_public_key()
+ address = pub_key.to_address()
+
+ denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+
+ message = composer.msg_claim_voucher(
+ sender=address.to_acc_bech32(),
+ denom=denom,
+ )
+
+ # broadcast the transaction
+ result = await message_broadcaster.broadcast([message])
+ print("---Transaction Response---")
+ print(result)
+
+
+if __name__ == "__main__":
+ asyncio.get_event_loop().run_until_complete(main())
+```
+
+
+
+
+```go
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "os"
+
+ permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types"
+ "github.com/InjectiveLabs/sdk-go/client"
+ chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
+ "github.com/InjectiveLabs/sdk-go/client/common"
+ rpchttp "github.com/cometbft/cometbft/rpc/client/http"
+)
+
+func main() {
+ network := common.LoadNetwork("devnet", "lb")
+ tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
+ if err != nil {
+ panic(err)
+ }
+
+ senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
+ os.Getenv("HOME")+"/.injectived",
+ "injectived",
+ "file",
+ "inj-user",
+ "12345678",
+ "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided
+ false,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx, err := chainclient.NewClientContext(
+ network.ChainId,
+ senderAddress.String(),
+ cosmosKeyring,
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
+
+ chainClient, err := chainclient.NewChainClient(
+ clientCtx,
+ network,
+ common.OptionGasPrices(client.DefaultGasPriceWithDenom),
+ )
+
+ if err != nil {
+ panic(err)
+ }
+
+ denom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test"
+
+ msg := &permissionstypes.MsgClaimVoucher{
+ Sender: senderAddress.String(),
+ Denom: denom,
+ }
+
+ //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ response, err := chainClient.SyncBroadcastMsg(msg)
+
+ if err != nil {
+ panic(err)
+ }
+
+ str, _ := json.MarshalIndent(response, "", " ")
+ fmt.Print(string(str))
+}
+```
+
+
+
+Parameter | Type | Description | Required |
---|
sender | String | The sender's Injective address | Yes |
+denom | String | The token denom of the voucher to claim | Yes |
+
+
+### Response Parameters
+> Response Example:
+
+``` json
+```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
diff --git a/source/includes/_spot.md b/source/includes/_spot.md
index 51d498a3..f669117e 100644
--- a/source/includes/_spot.md
+++ b/source/includes/_spot.md
@@ -162,7 +162,10 @@ func main() {
market_id | String | The market ID |
status | MarketStatus | Status of the market |
min_price_tick_size | Decimal | Minimum tick size that the price required for orders in the market |
-min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_notional | Decimal | Minimum notional (in quote asset) required for orders in the market |
+admin | String | Current market admin's address |
+admin_permissions | Integer | Level of admin permissions (the permission number is a result of adding up all individual permissions numbers) |
@@ -177,41 +180,17 @@ func main() {
4 | Expired |
+
-## SpotMarket
-
-Retrieves a spot market by ticker
-
-**IP rate limit group:** `chain`
-
-### Request Parameters
-> Request Example:
-
-
-
-```py
-import asyncio
-
-from pyinjective.async_client import AsyncClient
-from pyinjective.core.network import Network
-
-
-async def main() -> None:
- # select network: local, testnet, mainnet
- network = Network.testnet()
-
- # initialize grpc client
- client = AsyncClient(network)
-
- spot_market = await client.fetch_chain_spot_market(
- market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe",
- )
- print(spot_market)
-
+**AdminPermission**
-if __name__ == "__main__":
- asyncio.get_event_loop().run_until_complete(main())
-```
+
+Code | Name |
---|
1 | Ticker Permission |
+2 | Min Price Tick Size Permission |
+4 | Min Quantity Tick Size Permission |
+8 | Min Notional Permission |
+16 | Initial Margin Ratio Permission |
+32 | Maintenance Margin Ratio Permission |
@@ -333,7 +312,10 @@ func main() {
market_id | String | The market ID |
status | MarketStatus | Status of the market |
min_price_tick_size | Decimal | Minimum tick size that the price required for orders in the market |
-min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_notional | Decimal | Minimum notional (in quote asset) required for orders in the market |
+admin | String | Current market admin's address |
+admin_permissions | Integer | Level of admin permissions (the permission number is a result of adding up all individual permissions numbers) |
@@ -348,43 +330,17 @@ func main() {
4 | Expired |
+
-## FullSpotMarkets
-
-Retrieves a list of spot markets with extra information
-
-**IP rate limit group:** `chain`
-
-### Request Parameters
-> Request Example:
-
-
-
-```py
-import asyncio
-
-from pyinjective.async_client import AsyncClient
-from pyinjective.core.network import Network
-
-
-async def main() -> None:
- # select network: local, testnet, mainnet
- network = Network.testnet()
-
- # initialize grpc client
- client = AsyncClient(network)
-
- spot_markets = await client.fetch_chain_full_spot_markets(
- status="Active",
- market_ids=["0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe"],
- with_mid_price_and_tob=True,
- )
- print(spot_markets)
-
+**AdminPermission**
-if __name__ == "__main__":
- asyncio.get_event_loop().run_until_complete(main())
-```
+
+Code | Name |
---|
1 | Ticker Permission |
+2 | Min Price Tick Size Permission |
+4 | Min Quantity Tick Size Permission |
+8 | Min Notional Permission |
+16 | Initial Margin Ratio Permission |
+32 | Maintenance Margin Ratio Permission |
@@ -528,7 +484,10 @@ func main() {
market_id | String | The market ID |
status | MarketStatus | Status of the market |
min_price_tick_size | Decimal | Minimum tick size that the price required for orders in the market |
-min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_notional | Decimal | Minimum notional (in quote asset) required for orders in the market |
+admin | String | Current market admin's address |
+admin_permissions | Integer | Level of admin permissions (the permission number is a result of adding up all individual permissions numbers) |
@@ -553,42 +512,17 @@ func main() {
best_sell_price | Decimal | Market's best sell price |
+
-## FullSpotMarket
-
-Retrieves a spot market with extra information
-
-**IP rate limit group:** `chain`
-
-### Request Parameters
-> Request Example:
-
-
-
-```py
-import asyncio
-
-from pyinjective.async_client import AsyncClient
-from pyinjective.core.network import Network
-
-
-async def main() -> None:
- # select network: local, testnet, mainnet
- network = Network.testnet()
-
- # initialize grpc client
- client = AsyncClient(network)
-
- spot_market = await client.fetch_chain_full_spot_market(
- market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe",
- with_mid_price_and_tob=True,
- )
- print(spot_market)
-
+**AdminPermission**
-if __name__ == "__main__":
- asyncio.get_event_loop().run_until_complete(main())
-```
+
+Code | Name |
---|
1 | Ticker Permission |
+2 | Min Price Tick Size Permission |
+4 | Min Quantity Tick Size Permission |
+8 | Min Notional Permission |
+16 | Initial Margin Ratio Permission |
+32 | Maintenance Margin Ratio Permission |
@@ -728,7 +662,10 @@ func main() {
market_id | String | The market ID |
status | MarketStatus | Status of the market |
min_price_tick_size | Decimal | Minimum tick size that the price required for orders in the market |
-min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_quantity_tick_size | Decimal | Minimum tick size of the quantity required for orders in the market |
+min_notional | Decimal | Minimum notional (in quote asset) required for orders in the market |
+admin | String | Current market admin's address |
+admin_permissions | Integer | Level of admin permissions (the permission number is a result of adding up all individual permissions numbers) |
@@ -753,46 +690,17 @@ func main() {
best_sell_price | Decimal | Market's best sell price |
+
-## SpotOrderbook
-
-Retrieves a spot market's orderbook
-
-**IP rate limit group:** `chain`
-
-### Request Parameters
-> Request Example:
-
-
-
-```py
-import asyncio
-
-from pyinjective.async_client import AsyncClient
-from pyinjective.client.model.pagination import PaginationOption
-from pyinjective.core.network import Network
-
-
-async def main() -> None:
- # select network: local, testnet, mainnet
- network = Network.testnet()
-
- # initialize grpc client
- client = AsyncClient(network)
-
- pagination = PaginationOption(limit=2)
-
- orderbook = await client.fetch_chain_spot_orderbook(
- market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe",
- order_side="Buy",
- pagination=pagination,
- )
- print(orderbook)
-
+**AdminPermission**
-if __name__ == "__main__":
- asyncio.get_event_loop().run_until_complete(main())
-```
+
+Code | Name |
---|
1 | Ticker Permission |
+2 | Min Price Tick Size Permission |
+4 | Min Quantity Tick Size Permission |
+8 | Min Notional Permission |
+16 | Initial Margin Ratio Permission |
+32 | Maintenance Margin Ratio Permission |
@@ -1119,7 +1027,8 @@ func main() {
quantity | Decimal | Order quantity |
fillable | Decimal | The remaining fillable amount of the order |
is_buy | Boolean | True if the order is a buy order |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -1326,7 +1235,8 @@ func main() {
quantity | Decimal | Order quantity |
fillable | Decimal | The remaining fillable amount of the order |
is_buy | Boolean | True if the order is a buy order |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -1497,7 +1407,8 @@ func main() {
quantity | Decimal | Order quantity |
fillable | Decimal | The remaining fillable amount of the order |
is_buy | Boolean | True if the order is a buy order |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -1659,7 +1570,8 @@ func main() {
quantity | Decimal | Order quantity |
fillable | Decimal | The remaining fillable amount of the order |
is_buy | Boolean | True if the order is a buy order |
-order_hash | String | The order hash |
+order_hash | String | The order hash |
+cid | String | The client order ID provided by the creator |
@@ -1978,7 +1890,8 @@ func main() {
base_denom | String | Base tocken denom | Yes |
quote_denom | String | Quote tocken denom | Yes |
min_price_tick_size | Decimal | Defines the minimum tick size of the order's price | Yes |
-min_quantity_tick_size | Decimal | Defines the minimum tick size of the order's quantity | Yes |
+min_quantity_tick_size | Decimal | Defines the minimum tick size of the order's quantity | Yes |
+min_notional | Decimal | Defines the minimum notional (in quote asset) required for orders in the market | Yes |
### Response Parameters
@@ -3471,7 +3384,7 @@ func main() {
fmt.Println("simulated derivative order hashes", MsgBatchUpdateOrdersResponse.DerivativeOrderHashes)
- //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
+ // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
err = chainClient.QueueBroadcastMsg(msg)
if err != nil {
diff --git a/source/includes/_spotrpc.md b/source/includes/_spotrpc.md
index b29e654e..871b1376 100644
--- a/source/includes/_spotrpc.md
+++ b/source/includes/_spotrpc.md
@@ -49,7 +49,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -105,7 +105,8 @@ func main() {
"takerFeeRate":"0.001",
"serviceProviderFee":"0.4",
"minPriceTickSize":"0.000000000000001",
- "minQuantityTickSize":"1000000000000000"
+ "minQuantityTickSize":"1000000000000000",
+ "minNotional": "1000000"
}
}
```
@@ -130,7 +131,8 @@ func main() {
"taker_fee_rate": "0.002",
"service_provider_fee": "0.4",
"min_price_tick_size": "0.000000000000001",
- "min_quantity_tick_size": "1000000000000000"
+ "min_quantity_tick_size": "1000000000000000",
+ "min_notional": "1000000"
}
}
```
@@ -155,6 +157,7 @@ func main() {
| quote_denom | String | Coin denom of the quote asset |
| taker_fee_rate | String | Defines the fee percentage takers pay (in the quote asset) when trading |
| ticker | String | A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote asset |
+| min_notional | String | Defines the minimum required notional for an order to be accepted |
**TokenMeta**
@@ -220,7 +223,7 @@ import (
)
func main() {
- //network := common.LoadNetwork("mainnet", "k8s")
+ // network := common.LoadNetwork("mainnet", "k8s")
network := common.LoadNetwork("testnet", "lb")
exchangeClient, err := exchangeclient.NewExchangeClient(network)
if err != nil {
@@ -287,7 +290,8 @@ func main() {
"takerFeeRate":"0.001",
"serviceProviderFee":"0.4",
"minPriceTickSize":"0.000000000000001",
- "minQuantityTickSize":"1000000000000000"
+ "minQuantityTickSize":"1000000000000000",
+ "minNotional":"1000000"
}
]
}
@@ -334,7 +338,8 @@ func main() {
"taker_fee_rate": "0.002",
"service_provider_fee": "0.4",
"min_price_tick_size": "0.000000000000001",
- "min_quantity_tick_size": "1000000000000000"
+ "min_quantity_tick_size": "1000000000000000",
+ "min_notional": "1000000"
}
]
}
@@ -360,6 +365,7 @@ func main() {
| quote_denom | String | Coin denom of the quote asset |
| taker_fee_rate | String | Defines the fee percentage takers pay (in the quote asset) when trading |
| ticker | String | A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote asset |
+| min_notional | String | Defines the minimum required notional for an order to be accepted |
**TokenMeta**
@@ -512,7 +518,8 @@ func main() {
"takerFeeRate":"0.002",
"serviceProviderRate":"0.4",
"minPriceTickSize":"0.000000000000001",
- "minQuantityTickSize":"1000000000000000"
+ "minQuantityTickSize":"1000000000000000",
+ "minNotional":"0"
},
"operationType":"update",
"timestamp":1632535055790
@@ -547,7 +554,8 @@ func main() {
"taker_fee_rate": "0.002",
"service_provider_fee": "0.4",
"min_price_tick_size": "0.000000000000001",
- "min_quantity_tick_size": "1000000000000000"
+ "min_quantity_tick_size": "1000000000000000",
+ "min_notional": "0",
},
"operation_type": "update",
"timestamp": 1632535055790
@@ -576,6 +584,7 @@ func main() {
| quote_denom | String | Coin denom of the quote asset |
| taker_fee_rate | String | Defines the fee percentage takers pay (in the quote asset) when trading |
| ticker | String | A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote asset |
+| min_notional | String | Defines the minimum required notional for an order to be accepted |
**TokenMeta**
diff --git a/source/includes/_tokenfactory.md b/source/includes/_tokenfactory.md
index 0f12d625..40c40f89 100644
--- a/source/includes/_tokenfactory.md
+++ b/source/includes/_tokenfactory.md
@@ -112,11 +112,10 @@ func main() {
```
-
-| Parameter | Type | Description | Required |
-| --------- | ------ | ---------------------------- | -------- |
-| creator | String | Address of the token creator | Yes |
-| sub_denom | String | Token subdenom | No |
+
+Parameter | Type | Description | Required |
---|
creator | String | The denom creator address | Yes |
+sub_denom | String | The token subdenom | No |
+
### Response Parameters
@@ -135,16 +134,17 @@ func main() {
```
-| Parameter | Type | Description |
-| ------------------ | ---------------------- | --------------------- |
-| authority_metadata | DenomAuthorityMetadata | Authority metadata |
+
+Parameter | Type | Description |
---|
authority_metadata | DenomAuthorityMetadata | The denom authority information |
+
-**DenomAuthorityMetadata**
+
-| Parameter | Type | Description |
-| --------- | ------ | --------------- |
-| admin | String | Admin's address |
+**DenomAuthorityMetadata**
+
+Parameter | Type | Description |
---|
admin | String | The denom admin |
+
## DenomsFromCreator
@@ -254,11 +254,9 @@ func main() {
```
-
-| Parameter | Type | Description | Required |
-| --------- | ------ | ---------------------------- | -------- |
-| creator | String | Address of the token creator | Yes |
-
+
+Parameter | Type | Description | Required |
---|
creator | String | The denom creator address | Yes |
+
### Response Parameters
> Response Example:
@@ -354,9 +352,9 @@ func main() {
```
-| Parameter | Type | Description |
-| --------- | ------------ | -------------------- |
-| denoms | String Array | List of token denoms |
+
+Parameter | Type | Description |
---|
denoms | String Array | List of denoms |
+
## TokenfactoryModuleState
@@ -464,10 +462,7 @@ func main() {
```
-
-| Parameter | Type | Description | Required |
-| --------- | ---- | ----------- | -------- |
-| - | - | - | - |
+No parameters
### Response Parameters
> Response Example:
@@ -555,44 +550,54 @@ func main() {
```
-| Parameter | Type | Description |
-| --------- | ------------ | ------------ |
-| state | GenesisState | Module state |
+
+Parameter | Type | Description |
---|
state | GenesisState | The state details |
+
+
+
**GenesisState**
-| Parameter | Type | Description |
-| -------------- | ------------------ | ----------------- |
-| params | Params | Module parameters |
-| factory_denoms | GenesisDenom Array | Factory tokens |
+
+Parameter | Type | Description |
---|
params | Params | Module parameters |
+factory_denoms | GenesisDenom Array | Module parameters |
+
+
+
**Params**
-| Parameter | Type | Description |
-| ------------------- | ---------- | ----------- |
-| denoms_creation_fee | Coin Array | Coins |
+
+Parameter | Type | Description |
---|
denoms_creation_fee | Coin Array | Fee required to create a denom |
+
+
+
**Coin**
-| Parameter | Type | Description |
-| --------- | ------ | ------------ |
-| denom | String | Token denom |
-| amount | String | Token amount |
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+amount | String | The amount of tokens | Yes |
+
+
+
**GenesisDenom**
-| Parameter | Type | Description |
-| ------------------ | ---------------------- | ------------------ |
-| denom | String | Token denom |
-| authority_metadata | DenomAuthorityMetadata | Authority metadata |
-| name | String | Token name |
-| symbol | String | Token symbol |
+
+Parameter | Type | Description |
---|
denom | String | Token denom |
+authority_metadata | DenomAuthorityMetadata | Token authority metadata |
+name | String | Token name |
+symbol | String | Token symbol |
+
+
+
**DenomAuthorityMetadata**
-| Parameter | Type | Description |
-| --------- | ------ | --------------- |
-| admin | String | Admin's address |
+
+Parameter | Type | Description |
---|
admin | String | The denom admin |
+
## CreateDenom
@@ -734,12 +739,13 @@ func main() {
```
-
-| Parameter | Type | Description | Required |
-| --------- | ------ | ------------------ | -------- |
-| subdenom | String | New token subdenom | Yes |
-| name | String | New token name | Yes |
-| symbol | String | New token symbol | Yes |
+
+Parameter | Type | Description | Required |
---|
sender | String | Sender Injective address | Yes |
+subdenom | String | New token subdenom | Yes |
+name | String | New token name | Yes |
+symbol | String | New token symbol | Yes |
+decimals | Integer | Number of decimals use to represent token amount on chain | Yes |
+
### Response Parameters
> Response Example:
@@ -750,6 +756,77 @@ func main() {
``` go
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgMint
@@ -892,18 +969,19 @@ func main() {
```
+
+Parameter | Type | Description | Required |
---|
sender | String | Sender Injective address | Yes |
+amount | Coin | Amount to mint | Yes |
+
-| Parameter | Type | Description | Required |
-| --------- | ------ | ---------------- | -------- |
-| sender | String | Sender address | Yes |
-| amount | Coin | Amount to mint | Yes |
+
**Coin**
-| Parameter | Type | Description |
-| --------- | ------ | ------------ |
-| denom | String | Token denom |
-| amount | String | Token amount |
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+amount | String | The amount of tokens | Yes |
+
### Response Parameters
> Response Example:
@@ -914,6 +992,77 @@ func main() {
``` go
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgBurn
@@ -1056,18 +1205,19 @@ func main() {
```
+
+Parameter | Type | Description | Required |
---|
sender | String | Sender Injective address | Yes |
+amount | Coin | Amount to burn | Yes |
+
-| Parameter | Type | Description | Required |
-| --------- | ------ | ---------------- | -------- |
-| sender | String | Sender address | Yes |
-| amount | Coin | Amount to burn | Yes |
+
**Coin**
-| Parameter | Type | Description |
-| --------- | ------ | ------------ |
-| denom | String | Token denom |
-| amount | String | Token amount |
+
+Parameter | Type | Description | Required |
---|
denom | String | The token denom | Yes |
+amount | String | The amount of tokens | Yes |
+
### Response Parameters
> Response Example:
@@ -1078,6 +1228,77 @@ func main() {
``` go
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgSetDenomMetadata
@@ -1257,32 +1478,36 @@ func main() {
```
+
+Parameter | Type | Description | Required |
---|
sender | String | Sender Injective address | Yes |
+metadata | Metadata | Token metadata | Yes |
+
-| Parameter | Type | Description | Required |
-| --------- | -------- | -------------- | -------- |
-| sender | String | Sender address | Yes |
-| metadata | Metadata | Token metadata | Yes |
+
**Metadata**
-| Parameter | Type | Description |
-| ----------- | --------------- | --------------------------------------------------------------------- |
-| description | String | Token description |
-| denom_units | DenomUnit Array | Token units |
-| base | String | Token denom |
-| display | String | Suggested denom that should be displayed in clients |
-| name | String | Token name |
-| symbol | String | Token symbol |
-| uri | String | URI to a document that contains additional information. Can be empty. |
-| uri_hash | String | SHA256 hash of the document pointed by URI. Can be empty. |
+
+Parameter | Type | Description |
---|
description | String | Token description |
+denom_units | DenomUnit Array | All token units |
+base | String | The base token denom |
+display | String | Suggested denom that should be displayed in clients |
+name | String | Token name |
+symbol | String | Token symbol |
+uri | String | URI to a document (on or off-chain) that contains additional information. Optional |
+uri_hash | String | URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional |
+decimals | Integer | Number of decimals use to represent token amount on chain |
+
+
+
**DenomUnit**
-| Parameter | Type | Description |
-| --------- | ------------ | ------------------------------------------------------------------------------------------------------------ |
-| denom | String | Name of the denom unit |
-| exponent | Int | Exponent (power of 10) that one must raise the base_denom to when translating the denom unit to chain format |
-| aliases | String Array | List of aliases for the denom |
+
+Parameter | Type | Description |
---|
denom | String | Name of the denom unit |
+exponent | Integer | Exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom) |
+aliases | String Array | List of aliases for the denom |
+
### Response Parameters
@@ -1294,6 +1519,77 @@ func main() {
``` go
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
## MsgChangeAdmin
@@ -1431,11 +1727,11 @@ func main() {
```
-| Parameter | Type | Description | Required |
-| ---------- | ------ | ----------------- | -------- |
-| sender | String | Sender address | Yes |
-| denom | String | Token denom | Yes |
-| new_admint | String | New admin address | Yes |
+
+Parameter | Type | Description | Required |
---|
sender | String | Sender Injective address | Yes |
+denom | String | Token denom | Yes |
+new_admin | String | New admin Injective address | Yes |
+
### Response Parameters
> Response Example:
@@ -1445,3 +1741,73 @@ func main() {
``` go
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
diff --git a/source/includes/_wasm.md b/source/includes/_wasm.md
index 91855481..8639ba0e 100644
--- a/source/includes/_wasm.md
+++ b/source/includes/_wasm.md
@@ -1835,6 +1835,78 @@ gas wanted: 217930
gas fee: 0.000108965 INJ
```
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
+
+
## MsgExecuteContract (second example)
This example shows how to interact with a contract to execute the `guardian_set_info` functionality using the `post_message` method in the contract.
The parameter sent to the `post_message` function has to be encoded in Base64 format.
@@ -1945,3 +2017,74 @@ raw_log: "[]"
gas wanted: 139666
gas fee: 0.000069833 INJ
```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
diff --git a/source/includes/_wasmx.md b/source/includes/_wasmx.md
index 83696099..02257ff0 100644
--- a/source/includes/_wasmx.md
+++ b/source/includes/_wasmx.md
@@ -215,3 +215,74 @@ func main() {
``` go
```
+
+
+Paramter | Type | Description |
---|
tx_response | TxResponse | Transaction details |
+
+
+
+
+**TxResponse**
+
+
+Parameter | Type | Description |
---|
height | Integer | The block height |
+tx_hash | String | Transaction hash |
+codespace | String | Namespace for the code |
+code | Integer | Response code (zero for success, non-zero for errors) |
+data | String | Bytes, if any |
+raw_log | String | The output of the application's logger (raw string) |
+logs | ABCIMessageLog Array | The output of the application's logger (typed) |
+info | String | Additional information |
+gas_wanted | Integer | Amount of gas requested for the transaction |
+gas_used | Integer | Amount of gas consumed by the transaction |
+tx | Any | The request transaction bytes |
+timestamp | String | Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time |
+events | Event Array | Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. |
+
+
+
+
+**ABCIMessageLog**
+
+
+Parameter | Type | Description |
---|
msg_index | Integer | The message index |
+log | String | The log message |
+events | StringEvent Array | Event objects that were emitted during the execution |
+
+
+
+
+**Event**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | EventAttribute Array | All event object details |
+
+
+
+
+**StringEvent**
+
+
+Parameter | Type | Description |
---|
type | String | Event type |
+attributes | Attribute Array | Event data |
+
+
+
+
+**EventAttribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+index | Boolean | If attribute is indexed |
+
+
+
+
+**Attribute**
+
+
+Parameter | Type | Description |
---|
key | String | Attribute key |
+value | String | Attribute value |
+
diff --git a/source/index.html.md b/source/index.html.md
index 4d145877..f8ff6f6d 100644
--- a/source/index.html.md
+++ b/source/index.html.md
@@ -42,6 +42,7 @@ includes:
- ibctransfer
- insurance
- oracle
+ - permissions
- staking
- tendermint
- tokenfactory
diff --git a/source/json_tables/chain/auction/msgBid.json b/source/json_tables/chain/auction/msgBid.json
new file mode 100644
index 00000000..d89783e8
--- /dev/null
+++ b/source/json_tables/chain/auction/msgBid.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "The sender Injective address", "Required": "Yes"},
+ {"Parameter": "bid_amount", "Type": "Coin", "Description": "Bid amount in INJ tokens", "Required": "Yes"},
+ {"Parameter": "round", "Type": "Integer", "Description": "The current auction round", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/authInfo.json b/source/json_tables/chain/authInfo.json
new file mode 100644
index 00000000..b5577500
--- /dev/null
+++ b/source/json_tables/chain/authInfo.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "signer_infos", "Type": "SignerInfo Array", "Description": "Defines the signing modes for the required signers. The number and order of elements must match the required signers from TxBody's messages. The first element is the primary signer and the one which pays the fee"},
+ {"Parameter": "fee", "Type": "Fee", "Description": "Fee is the fee and gas limit for the transaction. The first signer is the primary signer and the one which pays the fee. The fee can be calculated based on the cost of evaluating the body and doing signature verification of the signers. This can be estimated via simulation"},
+ {"Parameter": "tip", "Type": "Tip", "Description": "Tip is the optional tip used for transactions fees paid in another denom (this field is ignored if the chain didn't enable tips, i.e. didn't add the `TipDecorator` in its posthandler)"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/bank/denomUnit.json b/source/json_tables/chain/bank/denomUnit.json
new file mode 100644
index 00000000..fc4e6ce3
--- /dev/null
+++ b/source/json_tables/chain/bank/denomUnit.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "Name of the denom unit"},
+ {"Parameter": "exponent", "Type": "Integer", "Description": "Exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom)"},
+ {"Parameter": "aliases", "Type": "String Array", "Description": "List of aliases for the denom"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/bank/metadata.json b/source/json_tables/chain/bank/metadata.json
new file mode 100644
index 00000000..ec41e249
--- /dev/null
+++ b/source/json_tables/chain/bank/metadata.json
@@ -0,0 +1,11 @@
+[
+ {"Parameter": "description", "Type": "String", "Description": "Token description"},
+ {"Parameter": "denom_units", "Type": "DenomUnit Array", "Description": "All token units"},
+ {"Parameter": "base", "Type": "String", "Description": "The base token denom"},
+ {"Parameter": "display", "Type": "String", "Description": "Suggested denom that should be displayed in clients"},
+ {"Parameter": "name", "Type": "String", "Description": "Token name"},
+ {"Parameter": "symbol", "Type": "String", "Description": "Token symbol"},
+ {"Parameter": "uri", "Type": "String", "Description": "URI to a document (on or off-chain) that contains additional information. Optional"},
+ {"Parameter": "uri_hash", "Type": "String", "Description": "URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional"},
+ {"Parameter": "decimals", "Type": "Integer", "Description": "Number of decimals use to represent token amount on chain"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/adminPermission.json b/source/json_tables/chain/exchange/adminPermission.json
new file mode 100644
index 00000000..8d05d3e9
--- /dev/null
+++ b/source/json_tables/chain/exchange/adminPermission.json
@@ -0,0 +1,8 @@
+[
+ {"Code": "1", "Name": "Ticker Permission"},
+ {"Code": "2", "Name": "Min Price Tick Size Permission"},
+ {"Code": "4", "Name": "Min Quantity Tick Size Permission"},
+ {"Code": "8", "Name": "Min Notional Permission"},
+ {"Code": "16", "Name": "Initial Margin Ratio Permission"},
+ {"Code": "32", "Name": "Maintenance Margin Ratio Permission"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/binaryOptionsMarket.json b/source/json_tables/chain/exchange/binaryOptionsMarket.json
index 91d3bab7..869cc28f 100644
--- a/source/json_tables/chain/exchange/binaryOptionsMarket.json
+++ b/source/json_tables/chain/exchange/binaryOptionsMarket.json
@@ -15,5 +15,7 @@
{"Parameter": "status", "Type": "MarketStatus", "Description": "Status of the market"},
{"Parameter": "min_price_tick_size", "Type": "Decimal", "Description": "Minimum tick size that the price required for orders in the market"},
{"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Minimum tick size of the quantity required for orders in the market"},
- {"Parameter": "settlement_price", "Type": "Decimal", "Description": "The market's settlement price"}
+ {"Parameter": "settlement_price", "Type": "Decimal", "Description": "The market's settlement price"},
+ {"Parameter": "min_notional", "Type": "Decimal", "Description": "Minimum notional (in quote asset) required for orders in the market"},
+ {"Parameter": "admin_permissions", "Type": "Integer", "Description": "Level of admin permissions (the permission number is a result of adding up all individual permissions numbers)"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/derivativeMarket.json b/source/json_tables/chain/exchange/derivativeMarket.json
index 00ceca21..f93b9671 100644
--- a/source/json_tables/chain/exchange/derivativeMarket.json
+++ b/source/json_tables/chain/exchange/derivativeMarket.json
@@ -14,5 +14,8 @@
{"Parameter": "is_perpetual", "Type": "Boolean", "Description": "True if the market is a perpetual market. False if the market is an expiry futures market"},
{"Parameter": "status", "Type": "MarketStatus", "Description": "Status of the market"},
{"Parameter": "min_price_tick_size", "Type": "Decimal", "Description": "Minimum tick size that the price required for orders in the market"},
- {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Minimum tick size of the quantity required for orders in the market"}
+ {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Minimum tick size of the quantity required for orders in the market"},
+ {"Parameter": "min_notional", "Type": "Decimal", "Description": "Minimum notional (in quote asset) required for orders in the market"},
+ {"Parameter": "admin", "Type": "String", "Description": "Current market admin's address"},
+ {"Parameter": "admin_permissions", "Type": "Integer", "Description": "Level of admin permissions (the permission number is a result of adding up all individual permissions numbers)"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/msgInstantBinaryOptionsMarketLaunch.json b/source/json_tables/chain/exchange/msgInstantBinaryOptionsMarketLaunch.json
index 319ba1c7..cebb88d3 100644
--- a/source/json_tables/chain/exchange/msgInstantBinaryOptionsMarketLaunch.json
+++ b/source/json_tables/chain/exchange/msgInstantBinaryOptionsMarketLaunch.json
@@ -12,5 +12,6 @@
{"Parameter": "admin", "Type": "String", "Description": "The market's admin address", "Required": "Yes"},
{"Parameter": "quote_denom", "Type": "String", "Description": "Quote tocken denom", "Required": "Yes"},
{"Parameter": "min_price_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's price", "Required": "Yes"},
- {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's quantity", "Required": "Yes"}
+ {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's quantity", "Required": "Yes"},
+ {"Parameter": "min_notional", "Type": "Decimal", "Description": "Defines the minimum notional (in quote asset) required for orders in the market", "Required": "Yes"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/msgInstantExpiryFuturesMarketLaunch.json b/source/json_tables/chain/exchange/msgInstantExpiryFuturesMarketLaunch.json
index f1ed758e..2d8b8b09 100644
--- a/source/json_tables/chain/exchange/msgInstantExpiryFuturesMarketLaunch.json
+++ b/source/json_tables/chain/exchange/msgInstantExpiryFuturesMarketLaunch.json
@@ -12,6 +12,6 @@
{"Parameter": "initial_margin_ratio", "Type": "Decimal", "Description": "Defines the initial margin ratio for the perpetual market", "Required": "Yes"},
{"Parameter": "maintenance_margin_ratio", "Type": "Decimal", "Description": "Defines the maintenance margin ratio for the perpetual market", "Required": "Yes"},
{"Parameter": "min_price_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's price", "Required": "Yes"},
- {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's quantity", "Required": "Yes"}
-
+ {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's quantity", "Required": "Yes"},
+ {"Parameter": "min_notional", "Type": "Decimal", "Description": "Defines the minimum notional (in quote asset) required for orders in the market", "Required": "Yes"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/msgInstantPerpetualMarketLaunch.json b/source/json_tables/chain/exchange/msgInstantPerpetualMarketLaunch.json
index 68727a4e..daf4e305 100644
--- a/source/json_tables/chain/exchange/msgInstantPerpetualMarketLaunch.json
+++ b/source/json_tables/chain/exchange/msgInstantPerpetualMarketLaunch.json
@@ -11,6 +11,6 @@
{"Parameter": "initial_margin_ratio", "Type": "Decimal", "Description": "Defines the initial margin ratio for the perpetual market", "Required": "Yes"},
{"Parameter": "maintenance_margin_ratio", "Type": "Decimal", "Description": "Defines the maintenance margin ratio for the perpetual market", "Required": "Yes"},
{"Parameter": "min_price_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's price", "Required": "Yes"},
- {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's quantity", "Required": "Yes"}
-
+ {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's quantity", "Required": "Yes"},
+ {"Parameter": "min_notional", "Type": "Decimal", "Description": "Defines the minimum notional (in quote asset) required for orders in the market", "Required": "Yes"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/msgInstantSpotMarketLaunch.json b/source/json_tables/chain/exchange/msgInstantSpotMarketLaunch.json
index 0a622df5..c2a14109 100644
--- a/source/json_tables/chain/exchange/msgInstantSpotMarketLaunch.json
+++ b/source/json_tables/chain/exchange/msgInstantSpotMarketLaunch.json
@@ -4,6 +4,6 @@
{"Parameter": "base_denom", "Type": "String", "Description": "Base tocken denom", "Required": "Yes"},
{"Parameter": "quote_denom", "Type": "String", "Description": "Quote tocken denom", "Required": "Yes"},
{"Parameter": "min_price_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's price", "Required": "Yes"},
- {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's quantity", "Required": "Yes"}
-
+ {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Defines the minimum tick size of the order's quantity", "Required": "Yes"},
+ {"Parameter": "min_notional", "Type": "Decimal", "Description": "Defines the minimum notional (in quote asset) required for orders in the market", "Required": "Yes"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/spotMarket.json b/source/json_tables/chain/exchange/spotMarket.json
index 9239a873..86cd9695 100644
--- a/source/json_tables/chain/exchange/spotMarket.json
+++ b/source/json_tables/chain/exchange/spotMarket.json
@@ -8,5 +8,8 @@
{"Parameter": "market_id", "Type": "String", "Description": "The market ID"},
{"Parameter": "status", "Type": "MarketStatus", "Description": "Status of the market"},
{"Parameter": "min_price_tick_size", "Type": "Decimal", "Description": "Minimum tick size that the price required for orders in the market"},
- {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Minimum tick size of the quantity required for orders in the market"}
+ {"Parameter": "min_quantity_tick_size", "Type": "Decimal", "Description": "Minimum tick size of the quantity required for orders in the market"},
+ {"Parameter": "min_notional", "Type": "Decimal", "Description": "Minimum notional (in quote asset) required for orders in the market"},
+ {"Parameter": "admin", "Type": "String", "Description": "Current market admin's address"},
+ {"Parameter": "admin_permissions", "Type": "Integer", "Description": "Level of admin permissions (the permission number is a result of adding up all individual permissions numbers)"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/subaccountOrder.json b/source/json_tables/chain/exchange/subaccountOrder.json
index 4d4410b2..4b795a28 100644
--- a/source/json_tables/chain/exchange/subaccountOrder.json
+++ b/source/json_tables/chain/exchange/subaccountOrder.json
@@ -1,5 +1,6 @@
[
{"Parameter": "price", "Type": "Decimal", "Description": "Order price"},
{"Parameter": "quantity", "Type": "Decimal", "Description": "The amount of the order quantity remaining fillable"},
- {"Parameter": "is_reduce_only", "Type": "Boolean", "Description": "True if the order is a reduce only order"}
+ {"Parameter": "is_reduce_only", "Type": "Boolean", "Description": "True if the order is a reduce only order"},
+ {"Parameter": "cid", "Type": "String", "Description": "The client order ID provided by the creator"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/trimmedDerivativeConditionalOrder.json b/source/json_tables/chain/exchange/trimmedDerivativeConditionalOrder.json
index 69a39dd0..13c9393f 100644
--- a/source/json_tables/chain/exchange/trimmedDerivativeConditionalOrder.json
+++ b/source/json_tables/chain/exchange/trimmedDerivativeConditionalOrder.json
@@ -5,5 +5,6 @@
{"Parameter": "trigger_price", "Type": "OracleType", "Description": "Price to trigger the order"},
{"Parameter": "is_buy", "Type": "Boolean", "Description": "True if the order is a buy order. False otherwise."},
{"Parameter": "is_limit", "Type": "Boolean", "Description": "True if the order is a limit order. False otherwise."},
- {"Parameter": "order_hash", "Type": "String", "Description": "The order hash"}
+ {"Parameter": "order_hash", "Type": "String", "Description": "The order hash"},
+ {"Parameter": "cid", "Type": "String", "Description": "The client order ID provided by the creator"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/trimmedDerivativeLimitOrder.json b/source/json_tables/chain/exchange/trimmedDerivativeLimitOrder.json
index cd829093..5554b5d8 100644
--- a/source/json_tables/chain/exchange/trimmedDerivativeLimitOrder.json
+++ b/source/json_tables/chain/exchange/trimmedDerivativeLimitOrder.json
@@ -4,5 +4,6 @@
{"Parameter": "margin", "Type": "Decimal", "Description": "Order margin"},
{"Parameter": "fillable", "Type": "Decimal", "Description": "The remaining fillable amount of the order"},
{"Parameter": "is_buy", "Type": "Boolean", "Description": "True if the order is a buy order"},
- {"Parameter": "order_hash", "Type": "String", "Description": "The order hash"}
+ {"Parameter": "order_hash", "Type": "String", "Description": "The order hash"},
+ {"Parameter": "cid", "Type": "String", "Description": "The client order ID provided by the creator"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/exchange/trimmedSpotLimitOrder.json b/source/json_tables/chain/exchange/trimmedSpotLimitOrder.json
index b7ffa731..63f4e12b 100644
--- a/source/json_tables/chain/exchange/trimmedSpotLimitOrder.json
+++ b/source/json_tables/chain/exchange/trimmedSpotLimitOrder.json
@@ -3,5 +3,6 @@
{"Parameter": "quantity", "Type": "Decimal", "Description": "Order quantity"},
{"Parameter": "fillable", "Type": "Decimal", "Description": "The remaining fillable amount of the order"},
{"Parameter": "is_buy", "Type": "Boolean", "Description": "True if the order is a buy order"},
- {"Parameter": "order_hash", "Type": "String", "Description": "The order hash"}
+ {"Parameter": "order_hash", "Type": "String", "Description": "The order hash"},
+ {"Parameter": "cid", "Type": "String", "Description": "The client order ID provided by the creator"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/fee.json b/source/json_tables/chain/fee.json
new file mode 100644
index 00000000..a6001f89
--- /dev/null
+++ b/source/json_tables/chain/fee.json
@@ -0,0 +1,6 @@
+[
+ {"Parameter": "amount", "Type": "Coin Array", "Description": "Amount of coins to be paid as a fee"},
+ {"Parameter": "gas_limit", "Type": "Integer", "Description": "Maximum gas that can be used in transaction processing before an out of gas error occurs"},
+ {"Parameter": "payer", "Type": "String", "Description": "If unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. The payer must be a tx signer (and thus have signed this field in AuthInfo). Setting this field does *not* change the ordering of required signers for the transaction"},
+ {"Parameter": "granter", "Type": "String", "Description": "If set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does not support fee grants, this will fail"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/ibc/core/channel/channel.json b/source/json_tables/chain/ibc/core/channel/channel.json
index a8181b4d..3302a2c8 100644
--- a/source/json_tables/chain/ibc/core/channel/channel.json
+++ b/source/json_tables/chain/ibc/core/channel/channel.json
@@ -3,5 +3,6 @@
{"Parameter": "ordering", "Type": "Order", "Description": "Whether the channel is ordered or unordered"},
{"Parameter": "counterparty", "Type": "Counterparty", "Description": "Counterparty channel end"},
{"Parameter": "connection_hops", "Type": "String Array", "Description": "List of connection identifiers, in order, along which packets sent on this channel will travel"},
- {"Parameter": "version", "Type": "String", "Description": "Opaque channel version, which is agreed upon during the handshake"}
+ {"Parameter": "version", "Type": "String", "Description": "Opaque channel version, which is agreed upon during the handshake"},
+ {"Parameter": "upgrade_sequence", "Type": "Integer", "Description": "Indicates the latest upgrade attempt performed by this channel. The value of 0 indicates the channel has never been upgraded"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/ibc/core/channel/identifiedChannel.json b/source/json_tables/chain/ibc/core/channel/identifiedChannel.json
index ef3c9bb8..07830c14 100644
--- a/source/json_tables/chain/ibc/core/channel/identifiedChannel.json
+++ b/source/json_tables/chain/ibc/core/channel/identifiedChannel.json
@@ -5,5 +5,6 @@
{"Parameter": "connection_hops", "Type": "String Array", "Description": "List of connection identifiers, in order, along which packets sent on this channel will travel"},
{"Parameter": "version", "Type": "String", "Description": "Opaque channel version, which is agreed upon during the handshake"},
{"Parameter": "port_id", "Type": "String", "Description": "Port identifier"},
- {"Parameter": "channel_id", "Type": "String", "Description": "Channel identifier"}
+ {"Parameter": "channel_id", "Type": "String", "Description": "Channel identifier"},
+ {"Parameter": "upgrade_sequence", "Type": "Integer", "Description": "Indicates the latest upgrade attempt performed by this channel. The value of 0 indicates the channel has never been upgraded"}
]
\ No newline at end of file
diff --git a/source/json_tables/chain/modeInfo.json b/source/json_tables/chain/modeInfo.json
new file mode 100644
index 00000000..72784fe7
--- /dev/null
+++ b/source/json_tables/chain/modeInfo.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "sum", "Type": "Signing mode", "Description": "Types that are valid to be assigned to Sum: *ModeInfo_Single_, *ModeInfo_Multi_"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/peggy/msgSendToEth.json b/source/json_tables/chain/peggy/msgSendToEth.json
new file mode 100644
index 00000000..a6c70fe1
--- /dev/null
+++ b/source/json_tables/chain/peggy/msgSendToEth.json
@@ -0,0 +1,6 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "The sender's address", "Required": "Yes"},
+ {"Parameter": "eth_dest", "Type": "String", "Description": "Destination Ethereum address", "Required": "Yes"},
+ {"Parameter": "amount", "Type": "Coin", "Description": "The coin to send across the bridge (note the restriction that this is a single coin, not a set of coins)", "Required": "Yes"},
+ {"Parameter": "bridge_fee", "Type": "Coin", "Description": "The fee paid for the bridge, distinct from the fee paid to the chain to actually send this message in the first place. So a successful send has two layers of fees for the user", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/peggy/sendToInjective.json b/source/json_tables/chain/peggy/sendToInjective.json
new file mode 100644
index 00000000..755c88ea
--- /dev/null
+++ b/source/json_tables/chain/peggy/sendToInjective.json
@@ -0,0 +1,12 @@
+[
+ {"Parameter": "ethereum_endpoint", "Type": "String", "Description": "The ethereum endpoint, you can get one from providers like Infura and Alchemy", "Required": "Yes"},
+ {"Parameter": "private_key", "Type": "String", "Description": "Private key of the account to be used to sign the transaction", "Required": "Yes"},
+ {"Parameter": "token_contract", "Type": "String", "Description": "The token contract, you can find the contract for the token you want to transfer on etherscan", "Required": "Yes"},
+ {"Parameter": "receiver", "Type": "String", "Description": "The Injective Chain address to receive the funds", "Required": "Yes"},
+ {"Parameter": "amount", "Type": "Float", "Description": "The amount to transfer", "Required": "Yes"},
+ {"Parameter": "maxFeePerGas", "Type": "Integer", "Description": "The maxFeePerGas in Gwei", "Required": "Yes"},
+ {"Parameter": "maxPriorityFeePerGas", "Type": "Integer", "Description": "The maxPriorityFeePerGas in Gwei", "Required": "Yes"},
+ {"Parameter": "peggo_abi", "Type": "String", "Description": "Peggo contract ABI|", "Required": "Yes"},
+ {"Parameter": "data", "Type": "String", "Description": "The body of the message to send to Injective chain to do the deposit", "Required": "Yes"},
+ {"Parameter": "decimals", "Type": "Integer", "Description": "Number of decimals in Injective chain of the token being transferred (default: 18)", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/addressRoles.json b/source/json_tables/chain/permissions/addressRoles.json
new file mode 100644
index 00000000..d679269b
--- /dev/null
+++ b/source/json_tables/chain/permissions/addressRoles.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "address", "Type": "String", "Description": "Injective address"},
+ {"Parameter": "roles", "Type": "String Array", "Description": "List of roles assigned to the address"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/msgClaimVoucher.json b/source/json_tables/chain/permissions/msgClaimVoucher.json
new file mode 100644
index 00000000..edf844a9
--- /dev/null
+++ b/source/json_tables/chain/permissions/msgClaimVoucher.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "The sender's Injective address", "Required": "Yes"},
+ {"Parameter": "denom", "Type": "String", "Description": "The token denom of the voucher to claim", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/msgCreateNamespace.json b/source/json_tables/chain/permissions/msgCreateNamespace.json
new file mode 100644
index 00000000..9950b070
--- /dev/null
+++ b/source/json_tables/chain/permissions/msgCreateNamespace.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "The sender's Injective address", "Required": "Yes"},
+ {"Parameter": "namespace", "Type": "Namespace", "Description": "The namespace information", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/msgDeleteNamespace.json b/source/json_tables/chain/permissions/msgDeleteNamespace.json
new file mode 100644
index 00000000..ddf18e38
--- /dev/null
+++ b/source/json_tables/chain/permissions/msgDeleteNamespace.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "The sender's Injective address", "Required": "Yes"},
+ {"Parameter": "namespace_denom", "Type": "String", "Description": "The token denom of the namespace to delete", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/msgRevokeNamespaceRoles.json b/source/json_tables/chain/permissions/msgRevokeNamespaceRoles.json
new file mode 100644
index 00000000..593254d6
--- /dev/null
+++ b/source/json_tables/chain/permissions/msgRevokeNamespaceRoles.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "The sender's Injective address", "Required": "Yes"},
+ {"Parameter": "namespace_denom", "Type": "String", "Description": "The token denom of the namespace to update", "Required": "Yes"},
+ {"Parameter": "address_roles_to_revoke", "Type": "AddressRoles Array", "Description": "List of Injective addresses and their associated role", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/msgUpdateNamespace.json b/source/json_tables/chain/permissions/msgUpdateNamespace.json
new file mode 100644
index 00000000..76ad1703
--- /dev/null
+++ b/source/json_tables/chain/permissions/msgUpdateNamespace.json
@@ -0,0 +1,8 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "The sender's Injective address", "Required": "Yes"},
+ {"Parameter": "namespace_denom", "Type": "String", "Description": "The token denom of the namespace to update", "Required": "Yes"},
+ {"Parameter": "wasm_hook", "Type": "String", "Description": "Address of the wasm contract that will provide the real destination address", "Required": "Yes"},
+ {"Parameter": "mints_paused", "Type": "Bool", "Description": "Mint action status", "Required": "Yes"},
+ {"Parameter": "sends_paused", "Type": "Bool", "Description": "Send action status", "Required": "Yes"},
+ {"Parameter": "burns_paused", "Type": "Bool", "Description": "Burn action status", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/msgUpdateNamespaceRoles.json b/source/json_tables/chain/permissions/msgUpdateNamespaceRoles.json
new file mode 100644
index 00000000..544b7258
--- /dev/null
+++ b/source/json_tables/chain/permissions/msgUpdateNamespaceRoles.json
@@ -0,0 +1,6 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "The sender's Injective address", "Required": "Yes"},
+ {"Parameter": "namespace_denom", "Type": "String", "Description": "The token denom of the namespace to update", "Required": "Yes"},
+ {"Parameter": "role_permissions", "Type": "Role Array", "Description": "List of roles", "Required": "Yes"},
+ {"Parameter": "address_roles", "Type": "AddressRoles Array", "Description": "List of Injective addresses and their associated role", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/namespace.json b/source/json_tables/chain/permissions/namespace.json
new file mode 100644
index 00000000..c8449de0
--- /dev/null
+++ b/source/json_tables/chain/permissions/namespace.json
@@ -0,0 +1,9 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "Token denom"},
+ {"Parameter": "wasm_hook", "Type": "String", "Description": "Address of the wasm contract that will provide the real destination address"},
+ {"Parameter": "mints_paused", "Type": "Bool", "Description": "Mint action status"},
+ {"Parameter": "sends_paused", "Type": "Bool", "Description": "Send action status"},
+ {"Parameter": "burns_paused", "Type": "Bool", "Description": "Burn action status"},
+ {"Parameter": "role_permissions", "Type": "Role Array", "Description": "List of roles"},
+ {"Parameter": "address_roles", "Type": "AddressRoles Array", "Description": "List of Injective addresses and their associated role"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/permissionAction.json b/source/json_tables/chain/permissions/permissionAction.json
new file mode 100644
index 00000000..41e9a101
--- /dev/null
+++ b/source/json_tables/chain/permissions/permissionAction.json
@@ -0,0 +1,6 @@
+[
+ {"Code": "0", "Name": "UNSPECIFIED"},
+ {"Code": "1", "Name": "MINT"},
+ {"Code": "2", "Name": "RECEIVE"},
+ {"Code": "4", "Name": "BURN"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryAddressRolesRequest.json b/source/json_tables/chain/permissions/queryAddressRolesRequest.json
new file mode 100644
index 00000000..87e48583
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryAddressRolesRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "The token denom", "Required": "Yes"},
+ {"Parameter": "address", "Type": "String", "Description": "The Injective address to query the roles for", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryAddressRolesResponse.json b/source/json_tables/chain/permissions/queryAddressRolesResponse.json
new file mode 100644
index 00000000..fafa0a79
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryAddressRolesResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "roles", "Type": "String Array", "Description": "List of role names"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryAddressesByRoleRequest.json b/source/json_tables/chain/permissions/queryAddressesByRoleRequest.json
new file mode 100644
index 00000000..7a55ef1d
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryAddressesByRoleRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "The token denom", "Required": "Yes"},
+ {"Parameter": "role", "Type": "String", "Description": "The role name to query the addresses for", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryAddressesByRoleResponse.json b/source/json_tables/chain/permissions/queryAddressesByRoleResponse.json
new file mode 100644
index 00000000..92a13833
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryAddressesByRoleResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "addresses", "Type": "String Array", "Description": "List of Injective addresses"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryAllNamespacesResponse.json b/source/json_tables/chain/permissions/queryAllNamespacesResponse.json
new file mode 100644
index 00000000..c65644f1
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryAllNamespacesResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "namespaces", "Type": "Namespace Array", "Description": "List of namespaces"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryNamespaceByDenomRequest.json b/source/json_tables/chain/permissions/queryNamespaceByDenomRequest.json
new file mode 100644
index 00000000..59e8e7e5
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryNamespaceByDenomRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "The token denom", "Required": "Yes"},
+ {"Parameter": "include_roles", "Type": "Bool", "Description": "Option to request the roles in the response", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryNamespaceByDenomResponse.json b/source/json_tables/chain/permissions/queryNamespaceByDenomResponse.json
new file mode 100644
index 00000000..786bfc3d
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryNamespaceByDenomResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "namespace", "Type": "Namespace", "Description": "The namespace information (if found)"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryVouchersForAddressRequest.json b/source/json_tables/chain/permissions/queryVouchersForAddressRequest.json
new file mode 100644
index 00000000..114e5eeb
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryVouchersForAddressRequest.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "address", "Type": "String", "Description": "The Injective address to query for", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/queryVouchersForAddressResponse.json b/source/json_tables/chain/permissions/queryVouchersForAddressResponse.json
new file mode 100644
index 00000000..80dccf64
--- /dev/null
+++ b/source/json_tables/chain/permissions/queryVouchersForAddressResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "vouchers", "Type": "Coin Array", "Description": "List of available vouchers for the address"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/permissions/role.json b/source/json_tables/chain/permissions/role.json
new file mode 100644
index 00000000..5ad7d97b
--- /dev/null
+++ b/source/json_tables/chain/permissions/role.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "role", "Type": "String", "Description": "Role name"},
+ {"Parameter": "permissions", "Type": "Integer", "Description": "Integer representing the bitwhise combination of all actions assigned to the role"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/signerInfo.json b/source/json_tables/chain/signerInfo.json
new file mode 100644
index 00000000..be0ef17d
--- /dev/null
+++ b/source/json_tables/chain/signerInfo.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "public_key", "Type": "Any", "Description": "Public key of the signer. It is optional for accounts that already exist in state. If unset, the verifier can use the required signer address for this position and lookup the public key"},
+ {"Parameter": "mode_info", "Type": "ModeInfo", "Description": "Describes the signing mode of the signer and is a nested structure to support nested multisig pubkey's"},
+ {"Parameter": "sequence", "Type": "Integer", "Description": "The sequence of the account, which describes the number of committed transactions signed by a given address. It is used to prevent replay attacks"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tip.json b/source/json_tables/chain/tip.json
new file mode 100644
index 00000000..01423b07
--- /dev/null
+++ b/source/json_tables/chain/tip.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "amount", "Type": "Coin Array", "Description": "Amount of coins to be paid as a tip"},
+ {"Parameter": "tipper", "Type": "String", "Description": "Address of the account paying for the tip"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/denomAuthorityMetadata.json b/source/json_tables/chain/tokenfactory/denomAuthorityMetadata.json
new file mode 100644
index 00000000..37907670
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/denomAuthorityMetadata.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "admin", "Type": "String", "Description": "The denom admin"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/genesisDenom.json b/source/json_tables/chain/tokenfactory/genesisDenom.json
new file mode 100644
index 00000000..0614bdaf
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/genesisDenom.json
@@ -0,0 +1,6 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "Token denom"},
+ {"Parameter": "authority_metadata", "Type": "DenomAuthorityMetadata", "Description": "Token authority metadata"},
+ {"Parameter": "name", "Type": "String", "Description": "Token name"},
+ {"Parameter": "symbol", "Type": "String", "Description": "Token symbol"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/genesisState.json b/source/json_tables/chain/tokenfactory/genesisState.json
new file mode 100644
index 00000000..d265e98a
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/genesisState.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "params", "Type": "Params", "Description": "Module parameters"},
+ {"Parameter": "factory_denoms", "Type": "GenesisDenom Array", "Description": "Module parameters"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/msgBurn.json b/source/json_tables/chain/tokenfactory/msgBurn.json
new file mode 100644
index 00000000..b08cbe04
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/msgBurn.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "Sender Injective address", "Required": "Yes"},
+ {"Parameter": "amount", "Type": "Coin", "Description": "Amount to burn", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/msgChangeAdmin.json b/source/json_tables/chain/tokenfactory/msgChangeAdmin.json
new file mode 100644
index 00000000..84f65cc7
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/msgChangeAdmin.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "Sender Injective address", "Required": "Yes"},
+ {"Parameter": "denom", "Type": "String", "Description": "Token denom", "Required": "Yes"},
+ {"Parameter": "new_admin", "Type": "String", "Description": "New admin Injective address", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/msgCreateDenom.json b/source/json_tables/chain/tokenfactory/msgCreateDenom.json
new file mode 100644
index 00000000..6aec8bc9
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/msgCreateDenom.json
@@ -0,0 +1,7 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "Sender Injective address", "Required": "Yes"},
+ {"Parameter": "subdenom", "Type": "String", "Description": "New token subdenom", "Required": "Yes"},
+ {"Parameter": "name", "Type": "String", "Description": "New token name", "Required": "Yes"},
+ {"Parameter": "symbol", "Type": "String", "Description": "New token symbol", "Required": "Yes"},
+ {"Parameter": "decimals", "Type": "Integer", "Description": "Number of decimals use to represent token amount on chain", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/msgMint.json b/source/json_tables/chain/tokenfactory/msgMint.json
new file mode 100644
index 00000000..18d3e9ef
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/msgMint.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "Sender Injective address", "Required": "Yes"},
+ {"Parameter": "amount", "Type": "Coin", "Description": "Amount to mint", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/msgSetDenomMetadata.json b/source/json_tables/chain/tokenfactory/msgSetDenomMetadata.json
new file mode 100644
index 00000000..2c3e0d65
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/msgSetDenomMetadata.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "sender", "Type": "String", "Description": "Sender Injective address", "Required": "Yes"},
+ {"Parameter": "metadata", "Type": "Metadata", "Description": "Token metadata", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/params.json b/source/json_tables/chain/tokenfactory/params.json
new file mode 100644
index 00000000..ec67ba36
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/params.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "denoms_creation_fee", "Type": "Coin Array", "Description": "Fee required to create a denom"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/queryDenomAuthorityMetadataRequest.json b/source/json_tables/chain/tokenfactory/queryDenomAuthorityMetadataRequest.json
new file mode 100644
index 00000000..b2e985ad
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/queryDenomAuthorityMetadataRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "creator", "Type": "String", "Description": "The denom creator address", "Required": "Yes"},
+ {"Parameter": "sub_denom", "Type": "String", "Description": "The token subdenom", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/queryDenomAuthorityMetadataResponse.json b/source/json_tables/chain/tokenfactory/queryDenomAuthorityMetadataResponse.json
new file mode 100644
index 00000000..2d78532b
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/queryDenomAuthorityMetadataResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "authority_metadata", "Type": "DenomAuthorityMetadata", "Description": "The denom authority information"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/queryDenomsFromCreatorRequest.json b/source/json_tables/chain/tokenfactory/queryDenomsFromCreatorRequest.json
new file mode 100644
index 00000000..96161934
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/queryDenomsFromCreatorRequest.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "creator", "Type": "String", "Description": "The denom creator address", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/queryDenomsFromCreatorResponse.json b/source/json_tables/chain/tokenfactory/queryDenomsFromCreatorResponse.json
new file mode 100644
index 00000000..7bcf7f75
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/queryDenomsFromCreatorResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "denoms", "Type": "String Array", "Description": "List of denoms"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tokenfactory/queryModuleStateResponse.json b/source/json_tables/chain/tokenfactory/queryModuleStateResponse.json
new file mode 100644
index 00000000..1f06a4da
--- /dev/null
+++ b/source/json_tables/chain/tokenfactory/queryModuleStateResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "state", "Type": "GenesisState", "Description": "The state details"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tx.json b/source/json_tables/chain/tx.json
new file mode 100644
index 00000000..d5e53ae9
--- /dev/null
+++ b/source/json_tables/chain/tx.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "body", "Type": "TxBody", "Description": "Body is the processable content of the transaction"},
+ {"Parameter": "auth_info", "Type": "AuthInfo", "Description": "Authorization related content of the transaction (specifically signers, signer modes and fee)"},
+ {"Parameter": "signatures", "Type": "Bytes Array Array", "Description": "List of signatures that matches the length and order of AuthInfo's signer_infos to allow connecting signature meta information like public key and signing mode by position"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tx/getTxRequest.json b/source/json_tables/chain/tx/getTxRequest.json
new file mode 100644
index 00000000..f85ef1ac
--- /dev/null
+++ b/source/json_tables/chain/tx/getTxRequest.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "hash", "Type": "String", "Description": "The TX hash to query, encoded as a hex string", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/tx/getTxResponse.json b/source/json_tables/chain/tx/getTxResponse.json
new file mode 100644
index 00000000..fea9fa89
--- /dev/null
+++ b/source/json_tables/chain/tx/getTxResponse.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "tx", "Type": "Tx", "Description": "Transaction details"},
+ {"Parameter": "tx_resposne", "Type": "TxResponse", "Description": "Transaction details"}
+]
\ No newline at end of file
diff --git a/source/json_tables/chain/txBody.json b/source/json_tables/chain/txBody.json
new file mode 100644
index 00000000..5622a8e5
--- /dev/null
+++ b/source/json_tables/chain/txBody.json
@@ -0,0 +1,7 @@
+[
+ {"Parameter": "messages", "Type": "Any Array", "Description": "List of messages to be executed. The required signers of those messages define the number and order of elements in AuthInfo's signer_infos and Tx's signatures. Each required signer address is added to the list only the first time it occurs. By convention, the first required signer (usually from the first message) is referred to as the primary signer and pays the fee for the whole transaction"},
+ {"Parameter": "memo", "Type": "String", "Description": "Memo is any arbitrary note/comment to be added to the transaction"},
+ {"Parameter": "timeout_height", "Type": "Integer", "Description": "The block height after which this transaction will not be processed by the chain"},
+ {"Parameter": "extension_options", "Type": "Any Array", "Description": "These are arbitrary options that can be added by chains when the default options are not sufficient. If any of these are present and can't be handled, the transaction will be rejected"},
+ {"Parameter": "non_critical_extension_options", "Type": "Any Array", "Description": "These are arbitrary options that can be added by chains when the default options are not sufficient. If any of these are present and can't be handled, they will be ignored"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/accountPortfolio.json b/source/json_tables/indexer/accounts/accountPortfolio.json
new file mode 100644
index 00000000..f05d7e09
--- /dev/null
+++ b/source/json_tables/indexer/accounts/accountPortfolio.json
@@ -0,0 +1,7 @@
+[
+ {"Parameter": "portfolio_value", "Type": "String", "Description": "The account's portfolio value in USD"},
+ {"Parameter": "available_balance", "Type": "String", "Description": "The account's available balance value in USD"},
+ {"Parameter": "locked_balance", "Type": "String", "Description": "The account's locked balance value in USD"},
+ {"Parameter": "unrealized_pnl", "Type": "String", "Description": "The account's total unrealized PnL value in USD"},
+ {"Parameter": "subaccounts", "Type": "SubaccountPortfolio Array", "Description": "List of all subaccounts' portfolio"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/coin.json b/source/json_tables/indexer/accounts/coin.json
new file mode 100644
index 00000000..c3c1b092
--- /dev/null
+++ b/source/json_tables/indexer/accounts/coin.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "Token denom"},
+ {"Parameter": "amount", "Type": "String", "Description": "Token amount"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/cosmosCoin.json b/source/json_tables/indexer/accounts/cosmosCoin.json
new file mode 100644
index 00000000..c3c1b092
--- /dev/null
+++ b/source/json_tables/indexer/accounts/cosmosCoin.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "Token denom"},
+ {"Parameter": "amount", "Type": "String", "Description": "Token amount"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/orderStateRecord.json b/source/json_tables/indexer/accounts/orderStateRecord.json
new file mode 100644
index 00000000..2d2fc376
--- /dev/null
+++ b/source/json_tables/indexer/accounts/orderStateRecord.json
@@ -0,0 +1,14 @@
+[
+ {"Parameter": "order_hash", "Type": "String", "Description": "Hash of the order"},
+ {"Parameter": "subaccount_id", "Type": "String", "Description": "The subaccountId that this order belongs to"},
+ {"Parameter": "market_id", "Type": "String", "Description": "The Market ID of the order"},
+ {"Parameter": "order_type", "Type": "String", "Description": "The type of the order"},
+ {"Parameter": "order_side", "Type": "String", "Description": "The side of the order"},
+ {"Parameter": "state", "Type": "String", "Description": "The order state. Should be one of: booked, partial_filled, filled, canceled"},
+ {"Parameter": "quantity_filled", "Type": "String", "Description": "The filled quantity of the order"},
+ {"Parameter": "quantity_remaining", "Type": "String", "Description": "The unfilled quantity of the order"},
+ {"Parameter": "created_at", "Type": "Integer", "Description": "Order committed timestamp in UNIX milliseconds"},
+ {"Parameter": "updated_at", "Type": "Integer", "Description": "Order updated timestamp in UNIX milliseconds"},
+ {"Parameter": "price", "Type": "String", "Description": "Order price"},
+ {"Parameter": "margin", "Type": "String", "Description": "Margin for derivative order"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/orderStatesRequest.json b/source/json_tables/indexer/accounts/orderStatesRequest.json
new file mode 100644
index 00000000..d731c601
--- /dev/null
+++ b/source/json_tables/indexer/accounts/orderStatesRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "spot_order_hashes", "Type": "String Array", "Description": "Array with the order hashes you want to fetch in spot markets", "Required": "No"},
+ {"Parameter": "derivative_order_hashes", "Type": "String Array", "Description": "Array with the order hashes you want to fetch in derivative markets", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/orderStatesResponse.json b/source/json_tables/indexer/accounts/orderStatesResponse.json
new file mode 100644
index 00000000..f361707e
--- /dev/null
+++ b/source/json_tables/indexer/accounts/orderStatesResponse.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "spot_order_states", "Type": "OrderStateRecord Array", "Description": "List of the spot order state records"},
+ {"Parameter": "derivative_order_states", "Type": "OrderStateRecord Array", "Description": "List of the derivative order state records"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/paging.json b/source/json_tables/indexer/accounts/paging.json
new file mode 100644
index 00000000..77184c5b
--- /dev/null
+++ b/source/json_tables/indexer/accounts/paging.json
@@ -0,0 +1,7 @@
+[
+ {"Parameter": "total", "Type": "Integer", "Description": "Total number of available records"},
+ {"Parameter": "from", "Type": "Integer", "Description": "Record index start"},
+ {"Parameter": "to", "Type": "Integer", "Description": "Record index end"},
+ {"Parameter": "count_by_subaccount", "Type": "Integer", "Description": "Count entries by subaccount"},
+ {"Parameter": "next", "Type": "String Array", "Description": "List of tokens to navigate to the next pages"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/portfolioRequest.json b/source/json_tables/indexer/accounts/portfolioRequest.json
new file mode 100644
index 00000000..451946df
--- /dev/null
+++ b/source/json_tables/indexer/accounts/portfolioRequest.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "account_address", "Type": "String", "Description": "The Injective address", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/portfolioResponse.json b/source/json_tables/indexer/accounts/portfolioResponse.json
new file mode 100644
index 00000000..a7a791b7
--- /dev/null
+++ b/source/json_tables/indexer/accounts/portfolioResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "portfolio", "Type": "AccountPortfolio", "Description": "Portfolio details"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/reward.json b/source/json_tables/indexer/accounts/reward.json
new file mode 100644
index 00000000..e5dfb436
--- /dev/null
+++ b/source/json_tables/indexer/accounts/reward.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "account_address", "Type": "String", "Description": "Account Injective address"},
+ {"Parameter": "rewards", "Type": "Coin Array", "Description": "Reward coins distributed"},
+ {"Parameter": "distributed_at", "Type": "Integer", "Description": "Rewards distribution timestamp in UNIX milliseconds"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/rewardsRequest.json b/source/json_tables/indexer/accounts/rewardsRequest.json
new file mode 100644
index 00000000..dd9497ab
--- /dev/null
+++ b/source/json_tables/indexer/accounts/rewardsRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "epoch", "Type": "Integer", "Description": "The distribution epoch sequence number. -1 for latest", "Required": "No"},
+ {"Parameter": "account_address", "Type": "String", "Description": "Account address for the rewards distribution", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/rewardsResponse.json b/source/json_tables/indexer/accounts/rewardsResponse.json
new file mode 100644
index 00000000..da9efa90
--- /dev/null
+++ b/source/json_tables/indexer/accounts/rewardsResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "rewards", "Type": "Reward Array", "Description": "The trading rewards distributed"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/streamSubaccountBalanceRequest.json b/source/json_tables/indexer/accounts/streamSubaccountBalanceRequest.json
new file mode 100644
index 00000000..7b9f3c6e
--- /dev/null
+++ b/source/json_tables/indexer/accounts/streamSubaccountBalanceRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "subaccount_id", "Type": "String", "Description": "ID of the subaccount to get the balances from", "Required": "Yes"},
+ {"Parameter": "denoms", "Type": "String Array", "Description": "Filter balances by denoms. If not set, the balances of all the denoms for the subaccount are provided", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/streamSubaccountBalanceResponse.json b/source/json_tables/indexer/accounts/streamSubaccountBalanceResponse.json
new file mode 100644
index 00000000..3411d421
--- /dev/null
+++ b/source/json_tables/indexer/accounts/streamSubaccountBalanceResponse.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "balance", "Type": "SubaccountBalance", "Description": "Subaccount balance"},
+ {"Parameter": "timestamp", "Type": "Integer", "Description": "Operation timestamp in Unix milliseconds"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountBalance.json b/source/json_tables/indexer/accounts/subaccountBalance.json
new file mode 100644
index 00000000..d64a9a83
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountBalance.json
@@ -0,0 +1,6 @@
+[
+ {"Parameter": "subaccount_id", "Type": "String", "Description": "Subaccount ID"},
+ {"Parameter": "account_address", "Type": "String", "Description": "Injective address of the account the subaccount belongs to"},
+ {"Parameter": "denom", "Type": "String", "Description": "Token denom"},
+ {"Parameter": "deposit", "Type": "SubaccountDeposit", "Description": "Deposit details"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountBalanceEndpointRequest.json b/source/json_tables/indexer/accounts/subaccountBalanceEndpointRequest.json
new file mode 100644
index 00000000..9c190d72
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountBalanceEndpointRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "subaccount_id", "Type": "String", "Description": "ID of the subaccount to get the balances from", "Required": "Yes"},
+ {"Parameter": "denom", "Type": "String", "Description": "Filter by token denom", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountBalanceEndpointResponse.json b/source/json_tables/indexer/accounts/subaccountBalanceEndpointResponse.json
new file mode 100644
index 00000000..c7ed4da7
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountBalanceEndpointResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "balance", "Type": "SubaccountBalance", "Description": "Balance details"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountBalanceTransfer.json b/source/json_tables/indexer/accounts/subaccountBalanceTransfer.json
new file mode 100644
index 00000000..d9458923
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountBalanceTransfer.json
@@ -0,0 +1,9 @@
+[
+ {"Parameter": "transfer_type", "Type": "String", "Description": "Type of subaccount balance transfer"},
+ {"Parameter": "src_subaccount_id", "Type": "String", "Description": "Subaccount ID of the sending side"},
+ {"Parameter": "src_account_address", "Type": "String", "Description": "Account address of the sending side"},
+ {"Parameter": "dst_subaccount_id", "Type": "String", "Description": "Subaccount ID of the receiving side"},
+ {"Parameter": "dst_account_address", "Type": "String", "Description": "Account address of the receiving side"},
+ {"Parameter": "amount", "Type": "CosmosCoin", "Description": "Transfer amount"},
+ {"Parameter": "executed_at", "Type": "Integer", "Description": "Transfer timestamp (in milliseconds)"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountBalancesListRequest.json b/source/json_tables/indexer/accounts/subaccountBalancesListRequest.json
new file mode 100644
index 00000000..314b7cf0
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountBalancesListRequest.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "subaccount_id", "Type": "String", "Description": "ID of the subaccount to get the balances from", "Required": "Yes"},
+ {"Parameter": "denoms", "Type": "String", "Description": "Filter balances by denoms. If not set, the balances of all the denoms for the subaccount are provided", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountBalancesListResponse.json b/source/json_tables/indexer/accounts/subaccountBalancesListResponse.json
new file mode 100644
index 00000000..72670880
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountBalancesListResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "balances", "Type": "SubaccountBalance Array", "Description": "List of subaccount balances"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountDeposit.json b/source/json_tables/indexer/accounts/subaccountDeposit.json
new file mode 100644
index 00000000..ffd2949a
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountDeposit.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "total_balance", "Type": "String", "Description": "Total balance"},
+ {"Parameter": "available_balance", "Type": "String", "Description": "Available balance"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountHistoryRequest.json b/source/json_tables/indexer/accounts/subaccountHistoryRequest.json
new file mode 100644
index 00000000..257727d9
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountHistoryRequest.json
@@ -0,0 +1,8 @@
+[
+ {"Parameter": "subaccount_id", "Type": "String", "Description": "ID of the subaccount to get the history from", "Required": "Yes"},
+ {"Parameter": "denom", "Type": "String", "Description": "Filter by token denom", "Required": "No"},
+ {"Parameter": "transfer_types", "Type": "String Array", "Description": "Filter by transfer types. Valid options: internal, external, withdraw, deposit", "Required": "No"},
+ {"Parameter": "skip", "Type": "Integer", "Description": "Skip the first N items from the result", "Required": "No"},
+ {"Parameter": "limit", "Type": "Integer", "Description": "Maximum number of items to be returned", "Required": "No"},
+ {"Parameter": "end_time", "Type": "Integer", "Description": "Upper bound (inclusive) of account transfer history executed_at unix timestamp", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountHistoryResponse.json b/source/json_tables/indexer/accounts/subaccountHistoryResponse.json
new file mode 100644
index 00000000..5bf086d3
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountHistoryResponse.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "transfers", "Type": "SubaccountBalanceTransfer Array", "Description": "Transfers list"},
+ {"Parameter": "paging", "Type": "Paging", "Description": "Pagination details"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountOrderSummaryRequest.json b/source/json_tables/indexer/accounts/subaccountOrderSummaryRequest.json
new file mode 100644
index 00000000..671a6983
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountOrderSummaryRequest.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "subaccount_id", "Type": "String", "Description": "ID of the subaccount to get the summary from", "Required": "Yes"},
+ {"Parameter": "market_id", "Type": "String", "Description": "Limit the order summary to a specific market", "Required": "No"},
+ {"Parameter": "order_direction", "Type": "String", "Description": "Filter by the direction of the orders. Valid options: buy, sell", "Required": "No"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountOrderSummaryResponse.json b/source/json_tables/indexer/accounts/subaccountOrderSummaryResponse.json
new file mode 100644
index 00000000..5a84c7f0
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountOrderSummaryResponse.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "spot_orders_total", "Type": "Integer", "Description": "Total count of subaccount's spot orders in given market and direction"},
+ {"Parameter": "derivative_orders_total", "Type": "Integer", "Description": "Total count of subaccount's derivative orders in given market and direction"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountPortfolio.json b/source/json_tables/indexer/accounts/subaccountPortfolio.json
new file mode 100644
index 00000000..d6b14e64
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountPortfolio.json
@@ -0,0 +1,6 @@
+[
+ {"Parameter": "subaccount_id", "Type": "String", "Description": "The subaccount ID"},
+ {"Parameter": "available_balance", "Type": "String", "Description": "The subaccount's available balance value in USD"},
+ {"Parameter": "locked_balance", "Type": "String", "Description": "The subaccount's locked balance value in USD"},
+ {"Parameter": "unrealized_pnl", "Type": "String", "Description": "The subaccount's total unrealized PnL value in USD"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountsListRequest.json b/source/json_tables/indexer/accounts/subaccountsListRequest.json
new file mode 100644
index 00000000..42c7d999
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountsListRequest.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "account_address", "Type": "String", "Description": "Injective address of the account to query for subaccounts", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/accounts/subaccountsListResponse.json b/source/json_tables/indexer/accounts/subaccountsListResponse.json
new file mode 100644
index 00000000..751e7ce6
--- /dev/null
+++ b/source/json_tables/indexer/accounts/subaccountsListResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "subaccounts", "Type": "String Array", "Description": "Subaccounts list"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/auction/auction.json b/source/json_tables/indexer/auction/auction.json
new file mode 100644
index 00000000..85b66c25
--- /dev/null
+++ b/source/json_tables/indexer/auction/auction.json
@@ -0,0 +1,8 @@
+[
+ {"Parameter": "winner", "Type": "String", "Description": "Account Injective address"},
+ {"Parameter": "basket", "Type": "Coin Array", "Description": "Coins in the basket"},
+ {"Parameter": "winning_bid_amount", "Type": "String", "Description": "Amount of the highest bid (in INJ)"},
+ {"Parameter": "round", "Type": "Integer", "Description": "The auction round number"},
+ {"Parameter": "end_timestamp", "Type": "Integer", "Description": "Auction end timestamp in UNIX milliseconds"},
+ {"Parameter": "updated_at", "Type": "Integer", "Description": "The timestamp of the last update in UNIX milliseconds"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/auction/auctionEndpointRequest.json b/source/json_tables/indexer/auction/auctionEndpointRequest.json
new file mode 100644
index 00000000..87daf76e
--- /dev/null
+++ b/source/json_tables/indexer/auction/auctionEndpointRequest.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "round", "Type": "Integer", "Description": "The auction round number, -1 for latest", "Required": "Yes"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/auction/auctionEndpointResponse.json b/source/json_tables/indexer/auction/auctionEndpointResponse.json
new file mode 100644
index 00000000..30291f40
--- /dev/null
+++ b/source/json_tables/indexer/auction/auctionEndpointResponse.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "auction", "Type": "Auction", "Description": "Auction details"},
+ {"Parameter": "bids", "Type": "Bid Array", "Description": "Auction's bids"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/auction/auctionsResponse.json b/source/json_tables/indexer/auction/auctionsResponse.json
new file mode 100644
index 00000000..10438b80
--- /dev/null
+++ b/source/json_tables/indexer/auction/auctionsResponse.json
@@ -0,0 +1,3 @@
+[
+ {"Parameter": "auctions", "Type": "Auction Array", "Description": "List of auctions"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/auction/bid.json b/source/json_tables/indexer/auction/bid.json
new file mode 100644
index 00000000..66ed371b
--- /dev/null
+++ b/source/json_tables/indexer/auction/bid.json
@@ -0,0 +1,5 @@
+[
+ {"Parameter": "bidder", "Type": "String", "Description": "Bidder account Injective address"},
+ {"Parameter": "amount", "Type": "String", "Description": "The bid amount"},
+ {"Parameter": "timestamp", "Type": "Integer", "Description": "Bid timestamp in UNIX millis"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/auction/coin.json b/source/json_tables/indexer/auction/coin.json
new file mode 100644
index 00000000..c3c1b092
--- /dev/null
+++ b/source/json_tables/indexer/auction/coin.json
@@ -0,0 +1,4 @@
+[
+ {"Parameter": "denom", "Type": "String", "Description": "Token denom"},
+ {"Parameter": "amount", "Type": "String", "Description": "Token amount"}
+]
\ No newline at end of file
diff --git a/source/json_tables/indexer/auction/streamBidsResponse.json b/source/json_tables/indexer/auction/streamBidsResponse.json
new file mode 100644
index 00000000..a40dee80
--- /dev/null
+++ b/source/json_tables/indexer/auction/streamBidsResponse.json
@@ -0,0 +1,6 @@
+[
+ {"Parameter": "bidder", "Type": "String", "Description": "The bidder Injective address"},
+ {"Parameter": "bid_amount", "Type": "String", "Description": "The bid amount (in INJ)"},
+ {"Parameter": "round", "Type": "Integer", "Description": "The auction round number"},
+ {"Parameter": "timestamp", "Type": "Integer", "Description": "Bid timestamp in UNIX milliseconds"}
+]
\ No newline at end of file